Compare commits

..
87 changed files with 8010 additions and 7208 deletions
+1 -1
View File
@@ -1 +1 @@
4.12.1
4.12.0
@@ -1,101 +0,0 @@
class Platform::Api::V1::EmailChannelMigrationsController < PlatformController
before_action :set_account
before_action :validate_account_permissible
before_action :validate_feature_flag
before_action :validate_params
def create
results = migrate_email_channels
render json: { results: results }, status: :ok
end
private
def set_account
@account = Account.find(params[:account_id])
end
def validate_account_permissible
return if @platform_app.platform_app_permissibles.find_by(permissible: @account)
render json: { error: 'Non permissible resource' }, status: :unauthorized
end
def validate_feature_flag
return if ActiveModel::Type::Boolean.new.cast(ENV.fetch('EMAIL_CHANNEL_MIGRATION', false))
render json: { error: 'Email channel migration is not enabled' }, status: :forbidden
end
def validate_params
return render json: { error: 'Missing migrations parameter' }, status: :unprocessable_entity if migration_params.blank?
return unless migration_params.size > MAX_MIGRATIONS
return render json: { error: "Too many migrations (max #{MAX_MIGRATIONS})" },
status: :unprocessable_entity
end
def migrate_email_channels
migration_params.map { |entry| migrate_single(entry) }
end
MAX_MIGRATIONS = 25
SUPPORTED_PROVIDERS = %w[google microsoft].freeze
def migrate_single(entry)
validate_provider!(entry[:provider])
ActiveRecord::Base.transaction do
channel = create_channel(entry)
inbox = create_inbox(channel, entry)
{ email: entry[:email], inbox_id: inbox.id, channel_id: channel.id, status: 'success' }
end
rescue StandardError => e
{ email: entry[:email], status: 'error', message: e.message }
end
def create_channel(entry)
Channel::Email.create!(
account_id: @account.id,
email: entry[:email],
provider: entry[:provider],
provider_config: entry[:provider_config]&.to_h,
imap_enabled: entry.fetch(:imap_enabled, true),
imap_address: entry[:imap_address] || default_imap_address(entry[:provider]),
imap_port: entry[:imap_port] || 993,
imap_login: entry[:imap_login] || entry[:email],
imap_enable_ssl: entry.fetch(:imap_enable_ssl, true)
)
end
def create_inbox(channel, entry)
@account.inboxes.create!(
name: entry[:inbox_name] || "Migrated #{entry[:provider]&.capitalize}: #{entry[:email]}",
channel: channel
)
end
def validate_provider!(provider)
return if SUPPORTED_PROVIDERS.include?(provider)
raise ArgumentError, "Unsupported provider '#{provider}'. Must be one of: #{SUPPORTED_PROVIDERS.join(', ')}"
end
def default_imap_address(provider)
case provider
when 'google' then 'imap.gmail.com'
when 'microsoft' then 'outlook.office365.com'
else ''
end
end
def migration_params
params.permit(migrations: [
:email, :provider, :inbox_name,
:imap_enabled, :imap_address, :imap_port, :imap_login, :imap_enable_ssl,
{ provider_config: {} }
])[:migrations]
end
end
@@ -0,0 +1,216 @@
import { ref } from 'vue';
import { mount } from '@vue/test-utils';
import VoiceCallBubble from './VoiceCall.vue';
import { MESSAGE_TYPES, VOICE_CALL_STATUS } from '../constants';
let messageContext;
let joinCallMock;
let endCallMock;
let conversationsById;
let activeCall;
let hasActiveCall;
let isJoining;
vi.mock('../provider.js', () => ({
useMessageContext: () => messageContext,
}));
vi.mock('dashboard/composables/useCallSession', () => ({
useCallSession: () => ({
activeCall,
hasActiveCall,
isJoining,
joinCall: joinCallMock,
endCall: endCallMock,
}),
}));
vi.mock('vuex', () => ({
useStore: () => ({
getters: {
getConversationById: id => conversationsById[id] || null,
},
}),
}));
vi.mock('vue-i18n', () => ({
useI18n: () => ({
t: (key, params = {}) => {
const translations = {
'CONVERSATION.VOICE_CALL.CALL_IN_PROGRESS': 'Call in progress',
'CONVERSATION.VOICE_CALL.AGENT_ANSWERED': `${params.agentName} answered`,
'CONVERSATION.VOICE_CALL.YOU_ANSWERED': 'You answered',
'CONVERSATION.VOICE_CALL.THEY_ANSWERED': 'They answered',
'CONVERSATION.VOICE_CALL.NOT_ANSWERED_YET': 'Not answered yet',
'CONVERSATION.VOICE_CALL.CALL_ENDED': 'Call ended',
'CONVERSATION.VOICE_CALL.NO_ANSWER': 'No answer',
'CONVERSATION.VOICE_CALL.JOIN_CALL': 'Join call',
'CONVERSATION.VOICE_CALL.REJOIN_CALL': 'Rejoin call',
};
return translations[key] || key;
},
}),
}));
const mountComponent = () =>
mount(VoiceCallBubble, {
global: {
stubs: {
BaseBubble: {
template: '<div><slot /></div>',
},
Icon: true,
AudioChip: {
props: ['attachment'],
template:
'<div data-test-id="audio-chip">{{ attachment.dataUrl }}</div>',
},
},
mocks: {
$t: key => key,
},
},
});
describe('VoiceCall.vue', () => {
beforeEach(() => {
joinCallMock = vi.fn().mockResolvedValue({ conferenceSid: 'CF123' });
endCallMock = vi.fn().mockResolvedValue();
conversationsById = {
12: {
id: 12,
inbox_id: 3,
meta: {
assignee: null,
},
},
};
activeCall = ref(null);
hasActiveCall = ref(false);
isJoining = ref(false);
messageContext = {
contentAttributes: ref({
data: {
status: VOICE_CALL_STATUS.IN_PROGRESS,
call_sid: 'CALL123',
meta: {},
},
}),
attachments: ref([]),
conversationId: ref(12),
currentUserId: ref(1),
inboxId: ref(3),
messageType: ref(MESSAGE_TYPES.INCOMING),
};
});
it('shows the answering agent name when another agent answers the call', () => {
messageContext.contentAttributes.value.data.meta.joinedBy = {
id: 2,
name: 'Ben',
};
const wrapper = mountComponent();
expect(wrapper.text()).toContain('Ben answered');
});
it('shows "You answered" when the current user answered the call', () => {
messageContext.contentAttributes.value.data.meta.joinedBy = {
id: 1,
name: 'John',
};
const wrapper = mountComponent();
expect(wrapper.text()).toContain('You answered');
});
it('shows the formatted duration when a call has ended', () => {
messageContext.contentAttributes.value.data.status =
VOICE_CALL_STATUS.COMPLETED;
messageContext.contentAttributes.value.data.meta.duration = 133;
const wrapper = mountComponent();
expect(wrapper.text()).toContain('Call ended');
expect(wrapper.text()).toContain('02:13');
});
it('renders the recording attachment on the voice call message', () => {
messageContext.attachments.value = [
{
id: 1,
fileType: 'audio',
dataUrl: 'https://example.com/recording.mp3',
},
];
const wrapper = mountComponent();
expect(wrapper.find('[data-test-id="audio-chip"]').exists()).toBe(true);
expect(wrapper.text()).toContain('https://example.com/recording.mp3');
});
it('shows a rejoin action for an in-progress call when not already connected', async () => {
const wrapper = mountComponent();
await wrapper.find('[data-test-id="voice-call-join"]').trigger('click');
expect(joinCallMock).toHaveBeenCalledWith({
conversationId: 12,
inboxId: 3,
callSid: 'CALL123',
});
expect(wrapper.text()).toContain('Rejoin call');
});
it('joins the call after refresh when the payload is camel-cased', async () => {
messageContext.contentAttributes.value.data = {
status: VOICE_CALL_STATUS.IN_PROGRESS,
callSid: 'CALL456',
meta: {},
};
const wrapper = mountComponent();
await wrapper.find('[data-test-id="voice-call-join"]').trigger('click');
expect(joinCallMock).toHaveBeenCalledWith({
conversationId: 12,
inboxId: 3,
callSid: 'CALL456',
});
expect(wrapper.text()).toContain('Rejoin call');
});
it('hides the rejoin action when the agent is already on the same call', async () => {
activeCall.value = {
callSid: 'CALL123',
conversationId: 12,
};
hasActiveCall.value = true;
const wrapper = mountComponent();
const joinButton = wrapper.find('[data-test-id="voice-call-join"]');
await joinButton.trigger('click');
expect(joinButton.attributes('disabled')).toBeDefined();
expect(joinCallMock).not.toHaveBeenCalled();
expect(wrapper.text()).not.toContain('Join call');
expect(wrapper.text()).not.toContain('Rejoin call');
});
it('does not expose a join action when another agent is assigned', () => {
conversationsById[12].meta.assignee = { id: 99, name: 'Ben' };
const wrapper = mountComponent();
const joinButton = wrapper.find('[data-test-id="voice-call-join"]');
expect(joinButton.attributes('disabled')).toBeDefined();
expect(wrapper.text()).not.toContain('Join call');
expect(wrapper.text()).not.toContain('Rejoin call');
});
});
@@ -1,20 +1,19 @@
<script setup>
import { computed } from 'vue';
import { useStore } from 'vuex';
import { useI18n } from 'vue-i18n';
import { useMessageContext } from '../provider.js';
import { MESSAGE_TYPES, VOICE_CALL_STATUS } from '../constants';
import {
ATTACHMENT_TYPES,
MESSAGE_TYPES,
VOICE_CALL_STATUS,
} from '../constants';
import { formatDuration } from 'shared/helpers/timeHelper';
import Icon from 'dashboard/components-next/icon/Icon.vue';
import BaseBubble from 'next/message/bubbles/Base.vue';
const LABEL_MAP = {
[VOICE_CALL_STATUS.IN_PROGRESS]: 'CONVERSATION.VOICE_CALL.CALL_IN_PROGRESS',
[VOICE_CALL_STATUS.COMPLETED]: 'CONVERSATION.VOICE_CALL.CALL_ENDED',
};
const SUBTEXT_MAP = {
[VOICE_CALL_STATUS.RINGING]: 'CONVERSATION.VOICE_CALL.NOT_ANSWERED_YET',
[VOICE_CALL_STATUS.COMPLETED]: 'CONVERSATION.VOICE_CALL.CALL_ENDED',
};
import AudioChip from 'next/message/chips/Audio.vue';
import { useCallSession } from 'dashboard/composables/useCallSession';
const ICON_MAP = {
[VOICE_CALL_STATUS.IN_PROGRESS]: 'i-ph-phone-call',
@@ -30,38 +29,114 @@ const BG_COLOR_MAP = {
[VOICE_CALL_STATUS.FAILED]: 'bg-n-ruby-9',
};
const { contentAttributes, messageType } = useMessageContext();
const { t } = useI18n();
const store = useStore();
const { activeCall, hasActiveCall, isJoining, joinCall, endCall } =
useCallSession({
manageSessionState: false,
});
const {
attachments,
contentAttributes,
conversationId,
currentUserId,
inboxId,
messageType,
} = useMessageContext();
const JOINABLE_STATUSES = [
VOICE_CALL_STATUS.RINGING,
VOICE_CALL_STATUS.IN_PROGRESS,
];
const data = computed(() => contentAttributes.value?.data);
const status = computed(() => data.value?.status?.toString());
const callSid = computed(() => {
return (data.value?.callSid || data.value?.call_sid || '').toString();
});
const joinedBy = computed(() => {
return data.value?.meta?.joinedBy || data.value?.meta?.joined_by;
});
const callDuration = computed(() => {
return data.value?.meta?.duration;
});
const recordingAttachment = computed(() => {
return attachments.value?.find(
attachment => attachment.fileType === ATTACHMENT_TYPES.AUDIO
);
});
const conversation = computed(() => {
return store.getters.getConversationById?.(conversationId.value) || null;
});
const activeConversation = computed(() => {
const activeConversationId = activeCall.value?.conversationId;
if (!activeConversationId) return null;
return store.getters.getConversationById?.(activeConversationId) || null;
});
const assigneeId = computed(() => {
return (
conversation.value?.meta?.assignee?.id || conversation.value?.assignee_id
);
});
const isOutbound = computed(() => messageType.value === MESSAGE_TYPES.OUTGOING);
const isFailed = computed(() =>
[VOICE_CALL_STATUS.NO_ANSWER, VOICE_CALL_STATUS.FAILED].includes(status.value)
);
const labelKey = computed(() => {
if (LABEL_MAP[status.value]) return LABEL_MAP[status.value];
if (status.value === VOICE_CALL_STATUS.RINGING) {
return isOutbound.value
? 'CONVERSATION.VOICE_CALL.OUTGOING_CALL'
: 'CONVERSATION.VOICE_CALL.INCOMING_CALL';
}
return isFailed.value
? 'CONVERSATION.VOICE_CALL.MISSED_CALL'
: 'CONVERSATION.VOICE_CALL.INCOMING_CALL';
const didCurrentUserAnswer = computed(() => {
return joinedBy.value?.id === currentUserId.value;
});
const subtextKey = computed(() => {
if (SUBTEXT_MAP[status.value]) return SUBTEXT_MAP[status.value];
const label = computed(() => {
if (status.value === VOICE_CALL_STATUS.IN_PROGRESS) {
return isOutbound.value
? 'CONVERSATION.VOICE_CALL.THEY_ANSWERED'
: 'CONVERSATION.VOICE_CALL.YOU_ANSWERED';
return t('CONVERSATION.VOICE_CALL.CALL_IN_PROGRESS');
}
if (status.value === VOICE_CALL_STATUS.COMPLETED) {
return t('CONVERSATION.VOICE_CALL.CALL_ENDED');
}
if (status.value === VOICE_CALL_STATUS.RINGING) {
return isOutbound.value
? t('CONVERSATION.VOICE_CALL.OUTGOING_CALL')
: t('CONVERSATION.VOICE_CALL.INCOMING_CALL');
}
return isFailed.value
? 'CONVERSATION.VOICE_CALL.NO_ANSWER'
: 'CONVERSATION.VOICE_CALL.NOT_ANSWERED_YET';
? t('CONVERSATION.VOICE_CALL.MISSED_CALL')
: t('CONVERSATION.VOICE_CALL.INCOMING_CALL');
});
const subtext = computed(() => {
if (status.value === VOICE_CALL_STATUS.RINGING) {
return t('CONVERSATION.VOICE_CALL.NOT_ANSWERED_YET');
}
if (status.value === VOICE_CALL_STATUS.COMPLETED) {
return (
formatDuration(callDuration.value) ||
t('CONVERSATION.VOICE_CALL.CALL_ENDED')
);
}
if (status.value === VOICE_CALL_STATUS.IN_PROGRESS) {
if (didCurrentUserAnswer.value) {
return t('CONVERSATION.VOICE_CALL.YOU_ANSWERED');
}
if (joinedBy.value?.name) {
return t('CONVERSATION.VOICE_CALL.AGENT_ANSWERED', {
agentName: joinedBy.value.name,
});
}
return t('CONVERSATION.VOICE_CALL.THEY_ANSWERED');
}
return isFailed.value
? t('CONVERSATION.VOICE_CALL.NO_ANSWER')
: t('CONVERSATION.VOICE_CALL.NOT_ANSWERED_YET');
});
const iconName = computed(() => {
@@ -70,12 +145,66 @@ const iconName = computed(() => {
});
const bgColor = computed(() => BG_COLOR_MAP[status.value] || 'bg-n-teal-9');
const resolvedInboxId = computed(() => {
return inboxId.value || conversation.value?.inbox_id || null;
});
const isCurrentActiveCall = computed(() => {
return activeCall.value?.callSid === callSid.value;
});
const canJoinCall = computed(() => {
return (
JOINABLE_STATUSES.includes(status.value) &&
!!conversationId.value &&
!!resolvedInboxId.value &&
!!callSid.value &&
(!assigneeId.value || assigneeId.value === currentUserId.value) &&
!isCurrentActiveCall.value
);
});
const joinCallText = computed(() => {
return status.value === VOICE_CALL_STATUS.IN_PROGRESS
? t('CONVERSATION.VOICE_CALL.REJOIN_CALL')
: t('CONVERSATION.VOICE_CALL.JOIN_CALL');
});
const handleJoinCall = async () => {
if (!canJoinCall.value || isJoining.value) return;
if (hasActiveCall.value) {
if (activeCall.value?.callSid === callSid.value) return;
const activeInboxId = activeConversation.value?.inbox_id;
if (activeCall.value?.conversationId && activeInboxId) {
await endCall({
conversationId: activeCall.value.conversationId,
inboxId: activeInboxId,
});
}
}
await joinCall({
conversationId: conversationId.value,
inboxId: resolvedInboxId.value,
callSid: callSid.value,
});
};
</script>
<template>
<BaseBubble class="p-0 border-none" hide-meta>
<div class="flex overflow-hidden flex-col w-full max-w-xs">
<div class="flex gap-3 items-center p-3 w-full">
<div class="flex overflow-hidden flex-col w-full max-w-sm">
<button
class="flex gap-3 items-center p-3 w-full text-left border-none bg-transparent"
:class="{
'cursor-pointer transition-colors hover:bg-n-alpha-1 active:bg-n-alpha-2':
canJoinCall,
'cursor-default': !canJoinCall,
}"
:disabled="!canJoinCall || isJoining"
data-test-id="voice-call-join"
type="button"
@click="handleJoinCall"
>
<div
class="flex justify-center items-center rounded-full size-10 shrink-0"
:class="bgColor"
@@ -92,12 +221,21 @@ const bgColor = computed(() => BG_COLOR_MAP[status.value] || 'bg-n-teal-9');
<div class="flex overflow-hidden flex-col flex-grow">
<span class="text-sm font-medium truncate text-n-slate-12">
{{ $t(labelKey) }}
{{ label }}
</span>
<span class="text-xs text-n-slate-11">
{{ $t(subtextKey) }}
{{ subtext }}
</span>
<span
v-if="canJoinCall"
class="mt-1 text-xs font-medium text-n-teal-10"
>
{{ joinCallText }}
</span>
</div>
</button>
<div v-if="recordingAttachment" class="px-3 pb-3">
<AudioChip class="text-n-slate-12" :attachment="recordingAttachment" />
</div>
</div>
</BaseBubble>
@@ -0,0 +1,79 @@
import { createPinia, setActivePinia } from 'pinia';
import { useAlert } from 'dashboard/composables';
import VoiceAPI from 'dashboard/api/channel/voice/voiceAPIClient';
import TwilioVoiceClient from 'dashboard/api/channel/voice/twilioVoiceClient';
import { useCallSession } from '../useCallSession';
vi.mock('vue', async importOriginal => {
const actual = await importOriginal();
return {
...actual,
onMounted: vi.fn(),
onUnmounted: vi.fn(),
};
});
vi.mock('dashboard/composables', () => ({
useAlert: vi.fn(),
}));
vi.mock('dashboard/api/channel/voice/voiceAPIClient', () => ({
default: {
joinConference: vi.fn(),
leaveConference: vi.fn(),
},
}));
vi.mock('dashboard/api/channel/voice/twilioVoiceClient', () => ({
default: {
addEventListener: vi.fn(),
removeEventListener: vi.fn(),
initializeDevice: vi.fn(),
joinClientCall: vi.fn(),
endClientCall: vi.fn(),
},
}));
vi.mock('vue-i18n', () => ({
useI18n: () => ({
t: vi.fn(key => key),
}),
}));
describe('useCallSession', () => {
let consoleErrorSpy;
beforeEach(() => {
setActivePinia(createPinia());
vi.clearAllMocks();
consoleErrorSpy = vi.spyOn(console, 'error').mockImplementation(() => {});
});
afterEach(() => {
consoleErrorSpy.mockRestore();
});
it('shows the backend conflict message when another agent already claimed the call', async () => {
TwilioVoiceClient.initializeDevice.mockResolvedValue({ device: true });
VoiceAPI.joinConference.mockRejectedValue({
response: {
data: {
error: 'Jane Agent is already handling the call.',
},
},
});
const { joinCall } = useCallSession();
const result = await joinCall({
conversationId: 42,
inboxId: 1,
callSid: 'CALL123',
});
expect(result).toBeNull();
expect(useAlert).toHaveBeenCalledWith(
'Jane Agent is already handling the call.'
);
expect(TwilioVoiceClient.joinClientCall).not.toHaveBeenCalled();
});
});
@@ -1,51 +1,62 @@
import { computed, ref, watch, onUnmounted, onMounted } from 'vue';
import { useI18n } from 'vue-i18n';
import VoiceAPI from 'dashboard/api/channel/voice/voiceAPIClient';
import TwilioVoiceClient from 'dashboard/api/channel/voice/twilioVoiceClient';
import { useAlert } from 'dashboard/composables';
import { useCallsStore } from 'dashboard/stores/calls';
import Timer from 'dashboard/helper/Timer';
import { formatDuration } from 'shared/helpers/timeHelper';
export function useCallSession() {
export function useCallSession({ manageSessionState = true } = {}) {
const callsStore = useCallsStore();
const { t } = useI18n();
const isJoining = ref(false);
const callDuration = ref(0);
const durationTimer = new Timer(elapsed => {
callDuration.value = elapsed;
});
const handleCallDisconnected = () => callsStore.clearActiveCall();
const activeCall = computed(() => callsStore.activeCall);
const incomingCalls = computed(() => callsStore.incomingCalls);
const hasActiveCall = computed(() => callsStore.hasActiveCall);
watch(
hasActiveCall,
active => {
if (active) {
durationTimer.start();
} else {
durationTimer.stop();
callDuration.value = 0;
}
},
{ immediate: true }
);
onMounted(() => {
TwilioVoiceClient.addEventListener('call:disconnected', () =>
callsStore.clearActiveCall()
if (manageSessionState) {
watch(
hasActiveCall,
active => {
if (active) {
durationTimer.start();
} else {
durationTimer.stop();
callDuration.value = 0;
}
},
{ immediate: true }
);
});
onUnmounted(() => {
durationTimer.stop();
TwilioVoiceClient.removeEventListener('call:disconnected', () =>
callsStore.clearActiveCall()
);
});
onMounted(() => {
TwilioVoiceClient.addEventListener(
'call:disconnected',
handleCallDisconnected
);
});
onUnmounted(() => {
durationTimer.stop();
TwilioVoiceClient.removeEventListener(
'call:disconnected',
handleCallDisconnected
);
});
}
const endCall = async ({ conversationId, inboxId }) => {
await VoiceAPI.leaveConference(inboxId, conversationId);
TwilioVoiceClient.endClientCall();
durationTimer.stop();
if (manageSessionState) {
durationTimer.stop();
}
callsStore.clearActiveCall();
};
@@ -69,10 +80,13 @@ export function useCallSession() {
});
callsStore.setCallActive(callSid);
durationTimer.start();
if (manageSessionState) {
durationTimer.start();
}
return { conferenceSid: joinResponse?.conference_sid };
} catch (error) {
useAlert(error.response?.data?.error || t('CONTACT_PANEL.CALL_FAILED'));
// eslint-disable-next-line no-console
console.error('Failed to join call:', error);
return null;
@@ -91,9 +105,7 @@ export function useCallSession() {
};
const formattedCallDuration = computed(() => {
const minutes = Math.floor(callDuration.value / 60);
const seconds = callDuration.value % 60;
return `${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;
return formatDuration(callDuration.value);
});
return {
@@ -166,8 +166,6 @@ const TOD_TO_MERIDIEM = {
evening: 'pm',
night: 'pm',
};
const CJK_CHAR_RE =
/[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}]/u;
// ─── Translation Cache ──────────────────────────────────────────────────────
@@ -280,13 +278,8 @@ const escapeRegex = s => s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
const substituteLocalTokens = (text, pairs) => {
let r = text;
pairs.forEach(([local, en]) => {
if (CJK_CHAR_RE.test(local)) {
const re = new RegExp(escapeRegex(local), 'g');
r = r.replace(re, ` ${en} `);
} else {
const re = new RegExp(`(?<=^|\\s)${escapeRegex(local)}(?=\\s|$)`, 'g');
r = r.replace(re, en);
}
const re = new RegExp(`(?<=^|\\s)${escapeRegex(local)}(?=\\s|$)`, 'g');
r = r.replace(re, en);
});
return r;
};
@@ -82,9 +82,6 @@ const ORDINAL_RE = `(\\d{1,2}(?:st|nd|rd|th)?|${ORDINAL_WORDS})`;
const HALF_UNIT_RE = /^(?:in\s+)?half\s+(?:an?\s+)?(hour|day|week|month|year)$/;
const RELATIVE_DURATION_RE = new RegExp(`^(?:in\\s+)?${NUM_RE}\\s+${UNIT_RE}$`);
const RELATIVE_DURATION_AFTER_RE = new RegExp(
`^(?:in\\s+)?${NUM_RE}\\s+${UNIT_RE}\\s+after$`
);
const DURATION_FROM_NOW_RE = new RegExp(
`^${NUM_RE}\\s+${UNIT_RE}\\s+from\\s+now$`
);
@@ -92,9 +89,6 @@ const RELATIVE_DAY_ONLY_RE = new RegExp(`^(${RELATIVE_DAYS})$`);
const RELATIVE_DAY_TOD_RE = new RegExp(
`^(${RELATIVE_DAYS})\\s+(?:at\\s+)?(${TIME_OF_DAY_NAMES})$`
);
const RELATIVE_DAY_MERIDIEM_RE = new RegExp(
`^(${RELATIVE_DAYS})\\s+(?:at\\s+)?(am|pm)$`
);
const RELATIVE_DAY_TOD_TIME_RE = new RegExp(
`^(${RELATIVE_DAYS})\\s+(?:at\\s+)?(${TIME_OF_DAY_NAMES})\\s+(\\d{1,2}(?::\\d{2})?)$`
);
@@ -251,7 +245,6 @@ const matchDuration = (text, now) => {
return (
parseDuration(text.match(DURATION_FROM_NOW_RE), now) ||
parseDuration(text.match(RELATIVE_DURATION_AFTER_RE), now) ||
parseDuration(text.match(RELATIVE_DURATION_RE), now)
);
};
@@ -310,13 +303,6 @@ const matchRelativeDay = (text, now) => {
);
}
const dayMeridiemMatch = text.match(RELATIVE_DAY_MERIDIEM_RE);
if (dayMeridiemMatch) {
const [, dayKey, meridiem] = dayMeridiemMatch;
const hours = meridiem === 'am' ? 9 : 14;
return applyTimeWithRollover(RELATIVE_DAY_MAP[dayKey], hours, 0, now);
}
const dayAtTimeMatch = text.match(RELATIVE_DAY_AT_TIME_RE);
if (dayAtTimeMatch) {
const [, dayKey, timeRaw] = dayAtTimeMatch;
@@ -1626,24 +1626,6 @@ describe('generateDateSuggestions — localized input regressions', () => {
},
};
const zhTWSnoozeTranslations = {
UNITS: {
HOUR: '小時',
HOURS: '小時',
DAY: '天',
DAYS: '天',
},
HALF: '半',
RELATIVE: {
TOMORROW: '明天',
},
MERIDIEM: {
AM: '上午',
PM: '下午',
},
AFTER: '後',
};
describe('P1: short non-English tokens must NOT produce spurious half-duration suggestions', () => {
it('Arabic "غد" does not produce half-duration suggestions', () => {
const results = generateDateSuggestions('غد', now, {
@@ -1739,37 +1721,6 @@ describe('generateDateSuggestions — localized input regressions', () => {
expect(results[0].date.getHours()).toBe(6);
});
});
describe('zh_TW compact CJK inputs', () => {
const options = {
translations: zhTWSnoozeTranslations,
locale: 'zh-TW',
};
it('parses "2小時後" (2 hours from now) without spaces', () => {
const results = generateDateSuggestions('2小時後', now, options);
expect(results.length).toBeGreaterThan(0);
expect(results[0].date.getDate()).toBe(16);
expect(results[0].date.getHours()).toBe(12);
expect(results[0].date.getMinutes()).toBe(0);
});
it('parses "半天" (half day) without spaces', () => {
const results = generateDateSuggestions('半天', now, options);
expect(results.length).toBeGreaterThan(0);
expect(results[0].date.getDate()).toBe(16);
expect(results[0].date.getHours()).toBe(22);
expect(results[0].date.getMinutes()).toBe(0);
});
it('parses "明天 上午" (tomorrow AM) into tomorrow 9am', () => {
const results = generateDateSuggestions('明天 上午', now, options);
expect(results.length).toBeGreaterThan(0);
expect(results[0].date.getDate()).toBe(17);
expect(results[0].date.getHours()).toBe(9);
expect(results[0].date.getMinutes()).toBe(0);
});
});
});
describe('no-space duration suggestions', () => {
@@ -0,0 +1,116 @@
import { createPinia, setActivePinia } from 'pinia';
import { CONTENT_TYPES } from 'dashboard/components-next/message/constants';
import { useCallsStore } from 'dashboard/stores/calls';
import {
handleVoiceCallCreated,
handleVoiceCallUpdated,
syncConversationCallVisibility,
} from '../voice';
vi.mock('dashboard/api/channel/voice/twilioVoiceClient', () => ({
default: {
endClientCall: vi.fn(),
},
}));
const buildVoiceMessage = overrides => ({
content_type: CONTENT_TYPES.VOICE_CALL,
content_attributes: {
data: {
call_sid: 'CALL123',
status: 'ringing',
call_direction: 'inbound',
},
},
conversation_id: 42,
conversation: {
assignee_id: null,
},
sender: {
id: 7,
},
...overrides,
});
describe('voice helper', () => {
const commit = vi.fn();
beforeEach(() => {
setActivePinia(createPinia());
vi.clearAllMocks();
});
it('shows inbound calls to everyone when the conversation is unassigned', () => {
const callsStore = useCallsStore();
handleVoiceCallCreated(buildVoiceMessage(), 1);
expect(callsStore.calls).toEqual([
expect.objectContaining({
callSid: 'CALL123',
conversationId: 42,
}),
]);
});
it('hides inbound calls when they are assigned to another agent', () => {
const callsStore = useCallsStore();
handleVoiceCallCreated(
buildVoiceMessage({
conversation: {
assignee_id: 9,
},
}),
1
);
expect(callsStore.calls).toEqual([]);
});
it('removes a visible call when an update shows it is assigned to another agent', () => {
const callsStore = useCallsStore();
callsStore.addCall({
callSid: 'CALL123',
conversationId: 42,
callDirection: 'inbound',
senderId: 7,
});
handleVoiceCallUpdated(
commit,
buildVoiceMessage({
conversation: {
assignee_id: 9,
},
}),
1
);
expect(callsStore.calls).toEqual([]);
});
it('removes the call widget when the conversation assignment changes to another agent', () => {
const callsStore = useCallsStore();
callsStore.addCall({
callSid: 'CALL123',
conversationId: 42,
callDirection: 'inbound',
senderId: 7,
});
syncConversationCallVisibility(
{
id: 42,
meta: {
assignee: {
id: 9,
},
},
},
1
);
expect(callsStore.calls).toEqual([]);
});
});
+61 -7
View File
@@ -22,6 +22,26 @@ const shouldSkipCall = (callDirection, senderId, currentUserId) => {
return callDirection === 'outbound' && senderId !== currentUserId;
};
const extractAssigneeId = conversation => {
return conversation?.assignee_id || conversation?.meta?.assignee?.id || null;
};
const isAssignedToAnotherAgent = (assigneeId, currentUserId) => {
return !!assigneeId && assigneeId !== currentUserId;
};
const shouldShowCall = ({
callDirection,
senderId,
assigneeId,
currentUserId,
}) => {
return (
!shouldSkipCall(callDirection, senderId, currentUserId) &&
!isAssignedToAnotherAgent(assigneeId, currentUserId)
);
};
function extractCallData(message) {
const contentData = message?.content_attributes?.data || {};
return {
@@ -29,6 +49,7 @@ function extractCallData(message) {
status: contentData.status,
callDirection: contentData.call_direction,
conversationId: message?.conversation_id,
assigneeId: extractAssigneeId(message?.conversation),
senderId: message?.sender?.id,
};
}
@@ -36,10 +57,19 @@ function extractCallData(message) {
export function handleVoiceCallCreated(message, currentUserId) {
if (!isVoiceCallMessage(message)) return;
const { callSid, callDirection, conversationId, senderId } =
const { callSid, callDirection, conversationId, assigneeId, senderId } =
extractCallData(message);
if (shouldSkipCall(callDirection, senderId, currentUserId)) return;
if (
!shouldShowCall({
callDirection,
senderId,
assigneeId,
currentUserId,
})
) {
return;
}
const callsStore = useCallsStore();
callsStore.addCall({
@@ -53,8 +83,14 @@ export function handleVoiceCallCreated(message, currentUserId) {
export function handleVoiceCallUpdated(commit, message, currentUserId) {
if (!isVoiceCallMessage(message)) return;
const { callSid, status, callDirection, conversationId, senderId } =
extractCallData(message);
const {
callSid,
status,
callDirection,
conversationId,
assigneeId,
senderId,
} = extractCallData(message);
const callsStore = useCallsStore();
@@ -64,9 +100,19 @@ export function handleVoiceCallUpdated(commit, message, currentUserId) {
commit(types.UPDATE_CONVERSATION_CALL_STATUS, callInfo);
commit(types.UPDATE_MESSAGE_CALL_STATUS, callInfo);
const isNewCall =
status === 'ringing' &&
!shouldSkipCall(callDirection, senderId, currentUserId);
if (
!shouldShowCall({
callDirection,
senderId,
assigneeId,
currentUserId,
})
) {
callsStore.removeCallsForConversation(conversationId);
return;
}
const isNewCall = status === 'ringing';
if (isNewCall) {
callsStore.addCall({
@@ -77,3 +123,11 @@ export function handleVoiceCallUpdated(commit, message, currentUserId) {
});
}
}
export function syncConversationCallVisibility(conversation, currentUserId) {
const assigneeId = extractAssigneeId(conversation);
if (!isAssignedToAnotherAgent(assigneeId, currentUserId)) return;
const callsStore = useCallsStore();
callsStore.removeCallsForConversation(conversation.id);
}
@@ -128,7 +128,7 @@
"TITLE": "Twilio SMS/WhatsApp ቻናል",
"DESC": "Միացրեք Twilio-ն և սկսեք աջակցել Ձեր հաճախորդներին SMS կամ WhatsApp միջոցով։",
"ACCOUNT_SID": {
"LABEL": "አካውንት SID",
"LABEL": "Account SID",
"PLACEHOLDER": "እባክዎ የTwilio መለያ መለያዎን ያስገቡ",
"ERROR": "ይህ መስክ አስፈላጊ ነው"
},
@@ -169,7 +169,7 @@
"ERROR": "እባክዎ በ`+` ምልክት የሚጀምር እና ቦታ ያልያዘ ትክክለኛ የስልክ ቁጥር ያቀርቡ።."
},
"API_CALLBACK": {
"TITLE": "ካልባክ URL",
"TITLE": "Callback URL",
"SUBTITLE": "Twilio-ում պետք է կարգավորեք հաղորդագրության պատասխան URL-ը՝ օգտագործելով այստեղ նշված հասցեն։"
},
"SUBMIT_BUTTON": "የTwilio ቻናል ይፍጠሩ",
@@ -450,11 +450,11 @@
"DESCRIPTION": "ቀጥታ የሚነጋገር ቪጅት ይፍጠሩ"
},
"FACEBOOK": {
"TITLE": "ፌስቡክ",
"TITLE": "Facebook",
"DESCRIPTION": "የFacebook ገጽዎን ያገናኙ"
},
"WHATSAPP": {
"TITLE": "ዋትስአፕ",
"TITLE": "WhatsApp",
"DESCRIPTION": "በWhatsApp ላይ ደንበኞችዎን ድጋፍ ያድርጉ"
},
"EMAIL": {
@@ -470,15 +470,15 @@
"DESCRIPTION": "በAPI ቻናል ለራስዎ ተለዋዋጭ ቻናል ይፍጠሩ"
},
"TELEGRAM": {
"TITLE": "ቴሌግራም",
"TITLE": "Telegram",
"DESCRIPTION": "በBot ቶክን የTelegram ቻናል ያቀናብሩ"
},
"LINE": {
"TITLE": "ላይን",
"TITLE": "Line",
"DESCRIPTION": "የLine ቻናልዎን ያካተቱ"
},
"INSTAGRAM": {
"TITLE": "ኢንስታግራም",
"TITLE": "Instagram",
"DESCRIPTION": "የInstagram አካውንትዎን ያገናኙ"
},
"TIKTOK": {
@@ -628,7 +628,7 @@
"WIDGET_BUILDER": "የዊጅት አሰራር መሣሪያ",
"BOT_CONFIGURATION": "የቦት ቅንብሮች",
"ACCOUNT_HEALTH": "የመለያ ጤና",
"CSAT": "የደንበኞች ደህንነት ግምገማ (CSAT)"
"CSAT": "CSAT"
},
"CHANNEL_PREFERENCES": "የቻናል ቅድሚያዎች",
"WIDGET_FEATURES": "የዊጅት ባህሪያት",
@@ -710,7 +710,7 @@
"MESSENGER_SUB_HEAD": "ይህን አዝራር በbody ታግ ውስጥ ያቀርቡ",
"ALLOWED_DOMAINS": {
"TITLE": "የተፈቀዱ ድር ስፍራዎች",
"DESCRIPTION": "የቻት ዊጅትዎን ማን እንደሚጨምር ድር ጣቢያዎችን ያገዙ። ለደህንነት፣ ብቻ የእርስዎን እና የሚታመኑትን ድር ጣቢያዎች ያክሉ። አንድ ወይም ከዚያ በላይ ድር ጣቢያዎችን በኮማ በመለያየት ያክሉ። ሁሉንም ድር ጣቢያዎች ለመፍቀድ ቦታውን ባዶ ተው (ለምርት አይመከርም)።.",
"DESCRIPTION": "Restrict which websites can embed your chat widget. For security, only add domains you own and trust. Add one or more domains separated by commas. Leave blank to allow all domains (not recommended for production).",
"PLACEHOLDER": "example.com, www.example.com, app.example.com"
},
"ALLOW_MOBILE_WEBVIEW": {
@@ -1138,12 +1138,12 @@
"TWITTER_PROFILE": "Twitter",
"TWILIO_SMS": "Twilio SMS",
"WHATSAPP": "WhatsApp",
"SMS": "ኤስኤምኤስ",
"SMS": "SMS",
"EMAIL": "ኢሜል",
"TELEGRAM": "ቴሌግራም",
"LINE": "ላይን",
"TELEGRAM": "Telegram",
"LINE": "Line",
"API": "API ቻናል",
"INSTAGRAM": "ኢንስታግራም",
"INSTAGRAM": "Instagram",
"TIKTOK": "TikTok",
"VOICE": "ድምጽ"
}
@@ -1,39 +1,39 @@
{
"REPORT": {
"HEADER": "Conversations",
"LOADING_CHART": "ገበታ ውሂብ በማስጫን ላይ...",
"NO_ENOUGH_DATA": "ሪፖርት ለማመንጨት በቂ ውሂብ ነጥቦች አልደረሰንም፣ እባክዎ በኋላ ደግመው ይሞክሩ።",
"LOADING_CHART": "Loading chart data...",
"NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.",
"DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports",
"DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.",
"SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.",
"METRICS": {
"CONVERSATIONS": {
"NAME": "ውይይቶች",
"DESC": "( ጠቅላላ )"
"NAME": "Conversations",
"DESC": "( Total )"
},
"INCOMING_MESSAGES": {
"NAME": "Messages received",
"DESC": "( ጠቅላላ )"
"DESC": "( Total )"
},
"OUTGOING_MESSAGES": {
"NAME": "Messages sent",
"DESC": "( ጠቅላላ )"
"DESC": "( Total )"
},
"FIRST_RESPONSE_TIME": {
"NAME": "First Response Time",
"DESC": "( አማካይ )",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "First Response Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_TIME": {
"NAME": "የመፍትሄ ጊዜ",
"DESC": "( አማካይ )",
"NAME": "Resolution Time",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "Resolution Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_COUNT": {
"NAME": "የመፍትሄ ብዛት",
"DESC": "( ጠቅላላ )"
"NAME": "Resolution Count",
"DESC": "( Total )"
},
"BOT_RESOLUTION_COUNT": {
"NAME": "Resolution Count",
@@ -61,8 +61,8 @@
"CUSTOM_DATE_RANGE": "Custom date range"
},
"CUSTOM_DATE_RANGE": {
"CONFIRM": "አተግባር ላይ አውርድ",
"PLACEHOLDER": "የቀን ክልል ይምረጡ"
"CONFIRM": "Apply",
"PLACEHOLDER": "Select date range"
},
"GROUP_BY_FILTER_DROPDOWN_LABEL": "Group By",
"DURATION_FILTER_LABEL": "Duration",
@@ -127,12 +127,12 @@
}
},
"AGENT_REPORTS": {
"HEADER": "የወኪሎች እይታ",
"HEADER": "Agents Overview",
"DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.",
"LOADING_CHART": "የቅርጸ ቁምፊ ውሂብ በመጫን ላይ...",
"NO_ENOUGH_DATA": "ሪፖርት ለማቅረብ በቂ ውሂብ አልደረሰንም፣ እባክዎ በኋላ ደግመው ይሞክሩ።.",
"DOWNLOAD_AGENT_REPORTS": "የAgent ሪፖርቶችን አውርድ",
"FILTER_DROPDOWN_LABEL": "Agent ይምረጡ",
"LOADING_CHART": "Loading chart data...",
"NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.",
"DOWNLOAD_AGENT_REPORTS": "Download agent reports",
"FILTER_DROPDOWN_LABEL": "Select Agent",
"FILTERS": {
"INPUT_PLACEHOLDER": {
"AGENTS": "Search agents"
@@ -140,20 +140,20 @@
},
"METRICS": {
"CONVERSATIONS": {
"NAME": "ውይይቶች",
"DESC": "( ጠቅላላ )"
"NAME": "Conversations",
"DESC": "( Total )"
},
"INCOMING_MESSAGES": {
"NAME": "የመጣ መልእክቶች",
"DESC": "( ጠቅላላ )"
"NAME": "Incoming Messages",
"DESC": "( Total )"
},
"OUTGOING_MESSAGES": {
"NAME": "የሚያልኩ መልእክቶች",
"DESC": "( ጠቅላላ )"
"NAME": "Outgoing Messages",
"DESC": "( Total )"
},
"FIRST_RESPONSE_TIME": {
"NAME": "First Response Time",
"DESC": "( አማካይ )",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "First Response Time is {metricValue} (based on {conversationCount} conversations)"
},
@@ -424,7 +424,7 @@
}
},
"CSAT_REPORTS": {
"HEADER": "CSAT ሪፖርቶች",
"HEADER": "CSAT Reports",
"NO_RECORDS": "No responses yet",
"NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.",
"DOWNLOAD": "Download CSAT Reports",
@@ -454,10 +454,10 @@
},
"TABLE": {
"HEADER": {
"CONTACT_NAME": "እውቂያ",
"CONTACT_NAME": "Contact",
"AGENT_NAME": "Agent",
"RATING": "እምነት ደረጃ",
"FEEDBACK_TEXT": "አስተያየት አስተያየት",
"RATING": "Rating",
"FEEDBACK_TEXT": "Feedback comment",
"CONVERSATION": "Conversation",
"CUSTOMER": "Customer",
"RESPONSE": "Response",
@@ -469,16 +469,16 @@
"NO_FEEDBACK": "No feedback provided",
"METRIC": {
"TOTAL_RESPONSES": {
"LABEL": "ጠቅላላ ምላሾች",
"TOOLTIP": "የተሰበሰበው ምላሾች ጠቅላላ ብዛት"
"LABEL": "Total responses",
"TOOLTIP": "Total number of responses collected"
},
"SATISFACTION_SCORE": {
"LABEL": "የደስታ ነጥብ",
"TOOLTIP": "አጠቃላይ የአዎንታዊ ምላሾች ብዛት / አጠቃላይ የምላሾች ብዛት * 100"
"LABEL": "Satisfaction score",
"TOOLTIP": "Total number of positive responses / Total number of responses * 100"
},
"RESPONSE_RATE": {
"LABEL": "የምላሽ ተመን",
"TOOLTIP": "አጠቃላይ የምላሾች ብዛት / አጠቃላይ የተላኩ የCSAT እቅድ መልእክቶች ብዛት * 100"
"LABEL": "Response rate",
"TOOLTIP": "Total number of responses / Total number of CSAT survey messages sent * 100"
},
"RATING_DISTRIBUTION": "Rating distribution"
},
@@ -302,75 +302,75 @@
},
"ACTIONS": {
"CONTACT_CREATION": {
"ADD_CONTACT": "যোগাযোগ যুক্ত করুন",
"EXPORT_CONTACT": "যোগাযোগসমূহ রপ্তানি করুন",
"IMPORT_CONTACT": "কন্টাক্ট আমদানি করুন",
"SAVE_CONTACT": "যোগাযোগ সংরক্ষণ করুন",
"EMAIL_ADDRESS_DUPLICATE": "এই ইমেইল ঠিকানাটি অন্য একটি যোগাযোগের জন্য ব্যবহৃত হচ্ছে।",
"PHONE_NUMBER_DUPLICATE": "এই ফোন নম্বরটি অন্য একটি যোগাযোগের জন্য ব্যবহৃত হচ্ছে।",
"SUCCESS_MESSAGE": "যোগাযোগ সফলভাবে সংরক্ষণ করা হয়েছে",
"ERROR_MESSAGE": "যোগাযোগ সংরক্ষণ করা যায়নি। অনুগ্রহ করে পরে আবার চেষ্টা করুন।"
"ADD_CONTACT": "Add contact",
"EXPORT_CONTACT": "Export contacts",
"IMPORT_CONTACT": "Import contacts",
"SAVE_CONTACT": "Save contact",
"EMAIL_ADDRESS_DUPLICATE": "This email address is in use for another contact.",
"PHONE_NUMBER_DUPLICATE": "This phone number is in use for another contact.",
"SUCCESS_MESSAGE": "Contact saved successfully",
"ERROR_MESSAGE": "Unable to save contact. Please try again later."
},
"BLOCK_SUCCESS_MESSAGE": "This contact is blocked successfully",
"BLOCK_ERROR_MESSAGE": "Unable to block contact. Please try again later.",
"UNBLOCK_SUCCESS_MESSAGE": "This contact is unblocked successfully",
"UNBLOCK_ERROR_MESSAGE": "Unable to unblock contact. Please try again later.",
"IMPORT_CONTACT": {
"TITLE": "কন্টাক্ট আমদানি করুন",
"DESCRIPTION": "CSV ফাইলের মাধ্যমে কন্টাক্ট আমদানি করুন.",
"DOWNLOAD_LABEL": "একটি নমুনা CSV ডাউনলোড করুন.",
"LABEL": "CSV ফাইল:",
"CHOOSE_FILE": "ফাইল নির্বাচন করুন",
"CHANGE": "পরিবর্তন করুন",
"CANCEL": "বাতিল করুন",
"IMPORT": "আমদানি করুন",
"SUCCESS_MESSAGE": "আমদানি সম্পন্ন হলে আপনাকে ইমেইলে জানানো হবে.",
"ERROR_MESSAGE": "একটি সমস্যা হয়েছে, অনুগ্রহ করে আবার চেষ্টা করুন"
"TITLE": "Import contacts",
"DESCRIPTION": "Import contacts through a CSV file.",
"DOWNLOAD_LABEL": "Download a sample csv.",
"LABEL": "CSV File:",
"CHOOSE_FILE": "Choose file",
"CHANGE": "Change",
"CANCEL": "Cancel",
"IMPORT": "Import",
"SUCCESS_MESSAGE": "You will be notified via email when the import is complete.",
"ERROR_MESSAGE": "There was an error, please try again"
},
"EXPORT_CONTACT": {
"TITLE": "যোগাযোগসমূহ রপ্তানি করুন",
"DESCRIPTION": "আপনার পরিচিতিগুলোর বিস্তারিত তথ্যসহ দ্রুত একটি csv ফাইল রপ্তানি করুন",
"CONFIRM": "রপ্তানি করুন",
"SUCCESS_MESSAGE": "রপ্তানি চলছে. ডাউনলোডের জন্য ফাইল প্রস্তুত হলে আপনাকে ইমেইলে জানানো হবে.",
"ERROR_MESSAGE": "একটি ত্রুটি হয়েছে, অনুগ্রহ করে আবার চেষ্টা করুন"
"TITLE": "Export contacts",
"DESCRIPTION": "Quickly export a csv file with comprehensive details of your contacts",
"CONFIRM": "Export",
"SUCCESS_MESSAGE": "Export is in progress. You will be notified on email when the export file is ready to download.",
"ERROR_MESSAGE": "There was an error, please try again"
},
"SORT_BY": {
"LABEL": "সাজান",
"LABEL": "Sort by",
"OPTIONS": {
"NAME": "নাম",
"EMAIL": "ইমেইল",
"PHONE_NUMBER": "ফোন নম্বর",
"COMPANY": "কোম্পানি",
"COUNTRY": "দেশ",
"CITY": "শহর",
"LAST_ACTIVITY": "সর্বশেষ কার্যকলাপ",
"CREATED_AT": "তৈরি হয়েছে"
"NAME": "Name",
"EMAIL": "Email",
"PHONE_NUMBER": "Phone number",
"COMPANY": "Company",
"COUNTRY": "Country",
"CITY": "City",
"LAST_ACTIVITY": "Last activity",
"CREATED_AT": "Created at"
}
},
"ORDER": {
"LABEL": "অর্ডারিং",
"LABEL": "Ordering",
"OPTIONS": {
"ASCENDING": "আরোহী",
"DESCENDING": "নিম্নক্রমে"
"ASCENDING": "Ascending",
"DESCENDING": "Descending"
}
},
"FILTERS": {
"CREATE_SEGMENT": {
"TITLE": "আপনি কি এই ফিল্টারটি সংরক্ষণ করতে চান?",
"CONFIRM": "ফিল্টার সংরক্ষণ করুন",
"LABEL": "নাম",
"PLACEHOLDER": "ফিল্টারের নাম লিখুন",
"ERROR": "একটি বৈধ নাম লিখুন",
"SUCCESS_MESSAGE": "ফিল্টার সফলভাবে সংরক্ষণ করা হয়েছে",
"ERROR_MESSAGE": "ফিল্টার সংরক্ষণ করা যায়নি। অনুগ্রহ করে পরে আবার চেষ্টা করুন।."
"TITLE": "Do you want to save this filter?",
"CONFIRM": "Save filter",
"LABEL": "Name",
"PLACEHOLDER": "Enter the name of the filter",
"ERROR": "Enter a valid name",
"SUCCESS_MESSAGE": "Filter saved successfully",
"ERROR_MESSAGE": "Unable to save filter. Please try again later."
},
"DELETE_SEGMENT": {
"TITLE": "মুছে ফেলার নিশ্চয়তা দিন",
"DESCRIPTION": "আপনি কি নিশ্চিত যে আপনি এই ফিল্টারটি মুছে ফেলতে চান?",
"CONFIRM": "হ্যাঁ, মুছে ফেলুন",
"CANCEL": "না, বাতিল করুন",
"SUCCESS_MESSAGE": "ফিল্টার সফলভাবে মুছে ফেলা হয়েছে",
"ERROR_MESSAGE": "ফিল্টার মুছে ফেলা যায়নি। অনুগ্রহ করে পরে আবার চেষ্টা করুন।."
"TITLE": "Confirm Deletion",
"DESCRIPTION": "Are you sure you want to delete this filter?",
"CONFIRM": "Yes, Delete",
"CANCEL": "No, Cancel",
"SUCCESS_MESSAGE": "Filter deleted successfully",
"ERROR_MESSAGE": "Unable to delete filter. Please try again later."
}
}
}
@@ -379,33 +379,33 @@
"SHOWING": "Showing {startItem} - {endItem} of {totalItems} contacts"
},
"FILTER": {
"NAME": "নাম",
"EMAIL": "ইমেইল",
"PHONE_NUMBER": "ফোন নম্বর",
"IDENTIFIER": "আইডেন্টিফায়ার",
"COUNTRY": "দেশ",
"CITY": "শহর",
"CREATED_AT": "তৈরি হয়েছে",
"LAST_ACTIVITY": "সর্বশেষ কার্যকলাপ",
"REFERER_LINK": "রেফারার লিঙ্ক",
"BLOCKED": "ব্লক করা হয়েছে",
"BLOCKED_TRUE": "সত্য",
"BLOCKED_FALSE": "ফলস",
"NAME": "Name",
"EMAIL": "Email",
"PHONE_NUMBER": "Phone number",
"IDENTIFIER": "Identifier",
"COUNTRY": "Country",
"CITY": "City",
"CREATED_AT": "Created at",
"LAST_ACTIVITY": "Last activity",
"REFERER_LINK": "Referer link",
"BLOCKED": "Blocked",
"BLOCKED_TRUE": "True",
"BLOCKED_FALSE": "False",
"BUTTONS": {
"CLEAR_FILTERS": "ফিল্টার মুছুন",
"UPDATE_SEGMENT": "সেগমেন্ট আপডেট করুন",
"APPLY_FILTERS": "ফিল্টারগুলি প্রয়োগ করুন",
"ADD_FILTER": "ফিল্টার যোগ করুন"
"CLEAR_FILTERS": "Clear filters",
"UPDATE_SEGMENT": "Update segment",
"APPLY_FILTERS": "Apply filters",
"ADD_FILTER": "Add filter"
},
"TITLE": "যোগাযোগ ফিল্টার করুন",
"EDIT_SEGMENT": "সেগমেন্ট সম্পাদনা করুন",
"TITLE": "Filter contacts",
"EDIT_SEGMENT": "Edit segment",
"SEGMENT": {
"LABEL": "সেগমেন্টের নাম",
"INPUT_PLACEHOLDER": "সেগমেন্টের নাম লিখুন"
"LABEL": "Segment name",
"INPUT_PLACEHOLDER": "Enter the name of the segment"
},
"ACTIVE_FILTERS": {
"MORE_FILTERS": "+ {count} টি আরও ফিল্টার",
"CLEAR_FILTERS": "ফিল্টারগুলি মুছে ফেলুন"
"MORE_FILTERS": "+ {count} more filters",
"CLEAR_FILTERS": "Clear filters"
}
},
"CARD": {
@@ -422,11 +422,11 @@
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "ইমেইল ঠিকানা লিখুন",
"DUPLICATE": "এই ইমেইল ঠিকানাটি অন্য একটি যোগাযোগের জন্য ব্যবহৃত হচ্ছে।."
"DUPLICATE": "This email address is in use for another contact."
},
"PHONE_NUMBER": {
"PLACEHOLDER": "ফোন নম্বর লিখুন",
"DUPLICATE": "এই ফোন নম্বরটি অন্য একটি যোগাযোগের জন্য ব্যবহৃত হচ্ছে।."
"DUPLICATE": "This phone number is in use for another contact."
},
"CITY": {
"PLACEHOLDER": "শহরের নাম লিখুন"
@@ -441,9 +441,9 @@
"PLACEHOLDER": "কোম্পানির নাম লিখুন"
}
},
"UPDATE_BUTTON": "যোগাযোগ আপডেট করুন",
"SUCCESS_MESSAGE": "যোগাযোগ সফলভাবে আপডেট হয়েছে",
"ERROR_MESSAGE": "যোগাযোগ আপডেট করা যাচ্ছে না। অনুগ্রহ করে পরে আবার চেষ্টা করুন।."
"UPDATE_BUTTON": "Update contact",
"SUCCESS_MESSAGE": "Contact updated successfully",
"ERROR_MESSAGE": "Unable to update contact. Please try again later."
},
"SOCIAL_MEDIA": {
"TITLE": "সামাজিক লিঙ্ক সম্পাদনা করুন",
@@ -477,34 +477,34 @@
}
},
"DETAILS": {
"CREATED_AT": "তৈরি হয়েছে {date}",
"LAST_ACTIVITY": "সর্বশেষ সক্রিয় {date}",
"DELETE_CONTACT_DESCRIPTION": "এই যোগাযোগ স্থায়ীভাবে মুছে ফেলুন। এই ক্রিয়াটি অপরিবর্তনীয়।",
"DELETE_CONTACT": "যোগাযোগ মুছুন",
"CREATED_AT": "Created {date}",
"LAST_ACTIVITY": "Last active {date}",
"DELETE_CONTACT_DESCRIPTION": "Permanently delete this contact. This action is irreversible",
"DELETE_CONTACT": "Delete contact",
"DELETE_DIALOG": {
"TITLE": "মুছে ফেলার নিশ্চিতকরণ",
"DESCRIPTION": "আপনি কি নিশ্চিত যে আপনি এই যোগাযোগটি মুছে ফেলতে চান?",
"CONFIRM": "হ্যাঁ, মুছে ফেলুন",
"TITLE": "Confirm Deletion",
"DESCRIPTION": "Are you sure you want to delete this contact?",
"CONFIRM": "Yes, Delete",
"API": {
"SUCCESS_MESSAGE": "যোগাযোগ সফলভাবে মুছে ফেলা হয়েছে",
"ERROR_MESSAGE": "যোগাযোগ মুছে ফেলা যায়নি। অনুগ্রহ করে পরে আবার চেষ্টা করুন।"
"SUCCESS_MESSAGE": "Contact deleted successfully",
"ERROR_MESSAGE": "Could not delete contact. Please try again later."
}
},
"AVATAR": {
"UPLOAD": {
"ERROR_MESSAGE": "অবতার আপলোড করা যায়নি। অনুগ্রহ করে পরে আবার চেষ্টা করুন।",
"SUCCESS_MESSAGE": "অবতার সফলভাবে আপলোড হয়েছে"
"ERROR_MESSAGE": "Could not upload avatar. Please try again later.",
"SUCCESS_MESSAGE": "Avatar uploaded successfully"
},
"DELETE": {
"SUCCESS_MESSAGE": "অবতার সফলভাবে মুছে ফেলা হয়েছে",
"ERROR_MESSAGE": "অবতার মুছে ফেলা যায়নি। অনুগ্রহ করে পরে আবার চেষ্টা করুন।"
"SUCCESS_MESSAGE": "Avatar deleted successfully",
"ERROR_MESSAGE": "Could not delete avatar. Please try again later."
}
}
},
"SIDEBAR": {
"TABS": {
"ATTRIBUTES": "বৈশিষ্ট্যসমূহ",
"HISTORY": "ইতিহাস",
"ATTRIBUTES": "Attributes",
"HISTORY": "History",
"NOTES": "Notes",
"MERGE": "Merge"
},
@@ -570,11 +570,11 @@
}
},
"EMPTY_STATE": {
"TITLE": "এই অ্যাকাউন্টে কোনো যোগাযোগ পাওয়া যায়নি",
"SUBTITLE": "নিচের বোতামে ক্লিক করে নতুন কন্টাক্ট যোগ করা শুরু করুন",
"BUTTON_LABEL": "কন্টাক্ট যোগ করুন",
"SEARCH_EMPTY_STATE_TITLE": "আপনার অনুসন্ধানের সাথে কোনো কন্টাক্ট মেলে নি 🔍",
"LIST_EMPTY_STATE_TITLE": "এই ভিউতে কোনো কন্টাক্ট নেই 📋",
"TITLE": "No contacts found in this account",
"SUBTITLE": "Start adding new contacts by clicking on the button below",
"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 🌙"
},
"LOAD_MORE": "Load more"
@@ -1,319 +1,319 @@
{
"CONVERSATION": {
"SELECT_A_CONVERSATION": "বাম পাশ থেকে একটি কনভার্সেশন নির্বাচন করুন",
"CSAT_REPLY_MESSAGE": "অনুগ্রহ করে কথোপকথনের মূল্যায়ন করুন",
"404": "দুঃখিত, আমরা কনভার্সেশনটি খুঁজে পাচ্ছি না। আবার চেষ্টা করুন",
"SWITCH_VIEW_LAYOUT": "লেআউট পরিবর্তন করুন",
"DASHBOARD_APP_TAB_MESSAGES": "বার্তা",
"UNVERIFIED_SESSION": "এই ব্যবহারকারীর পরিচয় যাচাই করা হয়নি",
"NO_MESSAGE_1": "ওহ! আপনার ইনবক্সে কোনো গ্রাহকের বার্তা নেই।",
"NO_MESSAGE_2": " আপনার পেজে বার্তা পাঠাতে!",
"NO_INBOX_1": "হ্যালো! আপনি এখনো কোনো ইনবক্স যোগ করেননি।",
"NO_INBOX_2": " শুরু করতে",
"NO_INBOX_AGENT": "ওহ! আপনি কোনো ইনবক্সের সদস্য নন। অনুগ্রহ করে আপনার অ্যাডমিনের সাথে যোগাযোগ করুন।",
"SEARCH_MESSAGES": "কথোপকথনে বার্তা অনুসন্ধান করুন",
"VIEW_ORIGINAL": "মূল দেখুন",
"VIEW_TRANSLATED": "অনুবাদ দেখুন",
"SELECT_A_CONVERSATION": "Please select a conversation from left pane",
"CSAT_REPLY_MESSAGE": "Please rate the conversation",
"404": "Sorry, we cannot find the conversation. Please try again",
"SWITCH_VIEW_LAYOUT": "Switch the layout",
"DASHBOARD_APP_TAB_MESSAGES": "Messages",
"UNVERIFIED_SESSION": "The identity of this user is not verified",
"NO_MESSAGE_1": "Uh oh! Looks like there are no messages from customers in your inbox.",
"NO_MESSAGE_2": " to send a message to your page!",
"NO_INBOX_1": "Hola! Looks like you haven't added any inboxes yet.",
"NO_INBOX_2": " to get started",
"NO_INBOX_AGENT": "Uh Oh! Looks like you are not part of any inbox. Please contact your administrator",
"SEARCH_MESSAGES": "Search for messages in conversations",
"VIEW_ORIGINAL": "View original",
"VIEW_TRANSLATED": "View translated",
"EMPTY_STATE": {
"CMD_BAR": "কমান্ড মেনু খুলতে",
"KEYBOARD_SHORTCUTS": "কীবোর্ড শর্টকাট দেখতে"
"CMD_BAR": "to open command menu",
"KEYBOARD_SHORTCUTS": "to view keyboard shortcuts"
},
"SEARCH": {
"TITLE": "বার্তা অনুসন্ধান",
"RESULT_TITLE": "অনুসন্ধান ফলাফল",
"LOADING_MESSAGE": "ডেটা বিশ্লেষণ হচ্ছে...",
"PLACEHOLDER": "বার্তা খুঁজতে যেকোনো লেখা টাইপ করুন",
"NO_MATCHING_RESULTS": "কোন ফলাফল পাওয়া যায়নি।"
"TITLE": "Search messages",
"RESULT_TITLE": "Search Results",
"LOADING_MESSAGE": "Crunching data...",
"PLACEHOLDER": "Type any text to search messages",
"NO_MATCHING_RESULTS": "No results found."
},
"UNREAD_MESSAGES": "অপঠিত বার্তা",
"UNREAD_MESSAGE": "অপঠিত বার্তা",
"CLICK_HERE": "এখানে ক্লিক করুন",
"LOADING_INBOXES": "ইনবক্স লোড হচ্ছে",
"LOADING_CONVERSATIONS": "কথোপকথন লোড হচ্ছে",
"CANNOT_REPLY": "আপনি উত্তর দিতে পারবেন না কারণ",
"24_HOURS_WINDOW": "২৪ ঘণ্টার মেসেজ সীমাবদ্ধতা",
"48_HOURS_WINDOW": "৪৮ ঘণ্টার মেসেজ সীমাবদ্ধতা",
"UNREAD_MESSAGES": "Unread Messages",
"UNREAD_MESSAGE": "Unread Message",
"CLICK_HERE": "Click here",
"LOADING_INBOXES": "Loading inboxes",
"LOADING_CONVERSATIONS": "Loading Conversations",
"CANNOT_REPLY": "You cannot reply due to",
"24_HOURS_WINDOW": "24 hour message window restriction",
"48_HOURS_WINDOW": "48 hour message window restriction",
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "এই কথোপকথনটি আপনার কাছে বরাদ্দ নয়। আপনি কি এটি নিজের কাছে বরাদ্দ করতে চান?",
"ASSIGN_TO_ME": "নিজের কাছে বরাদ্দ করুন",
"BOT_HANDOFF_MESSAGE": "আপনি এমন একটি কথোপকথনে উত্তর দিচ্ছেন যা বর্তমানে সহকারী বা বট দ্বারা পরিচালিত হচ্ছে।",
"BOT_HANDOFF_ACTION": "ওপেন করুন এবং নিজের কাছে অ্যাসাইন করুন",
"BOT_HANDOFF_REOPEN_ACTION": "কথোপকথন ওপেন করুন",
"BOT_HANDOFF_SUCCESS": "কথোপকথনটি আপনার কাছে হস্তান্তর করা হয়েছে",
"BOT_HANDOFF_ERROR": "কথোপকথনটি নেওয়া যায়নি। আবার চেষ্টা করুন।",
"TWILIO_WHATSAPP_CAN_REPLY": "আপনি শুধুমাত্র টেমপ্লেট বার্তা ব্যবহার করে এই আলাপে উত্তর দিতে পারবেন কারণ",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "২৪ ঘণ্টার বার্তা সীমাবদ্ধতা",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "এই Instagram অ্যাকাউন্টটি নতুন Instagram চ্যানেল ইনবক্সে স্থানান্তরিত হয়েছে। সব নতুন বার্তা সেখানে দেখা যাবে। আপনি আর এই কথোপকথন থেকে বার্তা পাঠাতে পারবেন না।",
"REPLYING_TO": "আপনি যাকে উত্তর দিচ্ছেন:",
"REMOVE_SELECTION": "নির্বাচন সরান",
"DOWNLOAD": "ডাউনলোড",
"UNKNOWN_FILE_TYPE": "অজানা ফাইল",
"SAVE_CONTACT": "যোগাযোগ সংরক্ষণ করুন",
"NO_CONTENT": "দেখানোর জন্য কোনো বিষয়বস্তু নেই",
"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.",
"REPLYING_TO": "You are replying to:",
"REMOVE_SELECTION": "Remove Selection",
"DOWNLOAD": "Download",
"UNKNOWN_FILE_TYPE": "Unknown File",
"SAVE_CONTACT": "Save Contact",
"NO_CONTENT": "No content to display",
"SHARED_ATTACHMENT": {
"CONTACT": "{sender} has shared a contact",
"LOCATION": "{sender} has shared a location",
"FILE": "{sender} has shared a file",
"MEETING": "{sender} has started a meeting"
},
"UPLOADING_ATTACHMENTS": "সংযুক্তি আপলোড হচ্ছে...",
"REPLIED_TO_STORY": "আপনার স্টোরিতে উত্তর দিয়েছে",
"UPLOADING_ATTACHMENTS": "Uploading attachments...",
"REPLIED_TO_STORY": "Replied to your story",
"UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.",
"UNSUPPORTED_MESSAGE_FACEBOOK": "এই বার্তাটি সমর্থিত নয়। আপনি Facebook Messenger অ্যাপে এই বার্তাটি দেখতে পারেন।",
"UNSUPPORTED_MESSAGE_INSTAGRAM": "এই বার্তাটি সমর্থিত নয়। আপনি Instagram অ্যাপে এই বার্তাটি দেখতে পারেন।",
"UNSUPPORTED_MESSAGE_TIKTOK": "এই বার্তাটি সমর্থিত নয়। TikTok অ্যাপে এই বার্তাটি দেখতে পারেন।",
"SUCCESS_DELETE_MESSAGE": "বার্তা সফলভাবে মুছে ফেলা হয়েছে",
"FAIL_DELETE_MESSSAGE": "বার্তা মুছে ফেলা যায়নি! আবার চেষ্টা করুন",
"NO_RESPONSE": "কোনো উত্তর নেই",
"RESPONSE": "উত্তর",
"RATING_TITLE": "রেটিং",
"FEEDBACK_TITLE": "মতামত",
"REPLY_MESSAGE_NOT_FOUND": "বার্তাটি পাওয়া যায়নি",
"UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.",
"UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.",
"UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.",
"SUCCESS_DELETE_MESSAGE": "Message deleted successfully",
"FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again",
"NO_RESPONSE": "No response",
"RESPONSE": "Response",
"RATING_TITLE": "Rating",
"FEEDBACK_TITLE": "Feedback",
"REPLY_MESSAGE_NOT_FOUND": "Message not available",
"CARD": {
"SHOW_LABELS": "লেবেল দেখান",
"HIDE_LABELS": "লেবেল লুকান"
"SHOW_LABELS": "Show labels",
"HIDE_LABELS": "Hide labels"
},
"VOICE_CALL": {
"INCOMING_CALL": "ইনকামিং কল",
"OUTGOING_CALL": "আউটগোয়িং কল",
"CALL_IN_PROGRESS": "কল চলছে",
"NO_ANSWER": "উত্তর নেই",
"MISSED_CALL": "মিসড কল",
"CALL_ENDED": "কল শেষ হয়েছে",
"NOT_ANSWERED_YET": "এখনও উত্তর পাওয়া যায়নি",
"THEY_ANSWERED": "তারা উত্তর দিয়েছে",
"YOU_ANSWERED": "আপনি উত্তর দিয়েছেন"
"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": "সমাধান করুন",
"REOPEN_ACTION": "পুনরায় খুলুন",
"OPEN_ACTION": "খুলুন",
"MORE_ACTIONS": "আরও অপশন",
"OPEN": "আরও",
"CLOSE": "বন্ধ করুন",
"DETAILS": "বিস্তারিত",
"SNOOZED_UNTIL": "স্নুজ করা হয়েছে পর্যন্ত",
"SNOOZED_UNTIL_TOMORROW": "আগামীকাল পর্যন্ত স্থগিত",
"SNOOZED_UNTIL_NEXT_WEEK": "পরবর্তী সপ্তাহ পর্যন্ত স্থগিত",
"SNOOZED_UNTIL_NEXT_REPLY": "পরবর্তী উত্তর পর্যন্ত স্থগিত",
"RESOLVE_ACTION": "Resolve",
"REOPEN_ACTION": "Reopen",
"OPEN_ACTION": "Open",
"MORE_ACTIONS": "More actions",
"OPEN": "More",
"CLOSE": "Close",
"DETAILS": "details",
"SNOOZED_UNTIL": "Snoozed until",
"SNOOZED_UNTIL_TOMORROW": "Snoozed until tomorrow",
"SNOOZED_UNTIL_NEXT_WEEK": "Snoozed until next week",
"SNOOZED_UNTIL_NEXT_REPLY": "Snoozed until next reply",
"SLA_STATUS": {
"FRT": "FRT {status}",
"NRT": "NRT {status}",
"RT": "RT {status}",
"MISSED": "মিস হয়েছে",
"DUE": "বাকি"
"MISSED": "missed",
"DUE": "due"
}
},
"RESOLVE_DROPDOWN": {
"MARK_PENDING": "পেন্ডিং হিসেবে চিহ্নিত করুন",
"SNOOZE_UNTIL": "স্নুজ",
"MARK_PENDING": "Mark as pending",
"SNOOZE_UNTIL": "Snooze",
"SNOOZE": {
"TITLE": "স্নুজ করুন যতক্ষণ না",
"NEXT_REPLY": "পরবর্তী উত্তর",
"TOMORROW": "আগামীকাল",
"NEXT_WEEK": "পরবর্তী সপ্তাহ"
"TITLE": "Snooze until",
"NEXT_REPLY": "Next reply",
"TOMORROW": "Tomorrow",
"NEXT_WEEK": "Next week"
}
},
"MENTION": {
"AGENTS": "এজেন্টরা",
"TEAMS": "টিমসমূহ"
"AGENTS": "Agents",
"TEAMS": "Teams"
},
"CUSTOM_SNOOZE": {
"TITLE": "স্নুজ করা হবে পর্যন্ত",
"APPLY": "স্নুজ",
"CANCEL": "বাতিল"
"TITLE": "Snooze until",
"APPLY": "Snooze",
"CANCEL": "Cancel"
},
"PRIORITY": {
"TITLE": "অগ্রাধিকার",
"TITLE": "Priority",
"OPTIONS": {
"NONE": "কিছুই না",
"URGENT": "জরুরি",
"HIGH": "উচ্চ",
"MEDIUM": "মাঝারি",
"LOW": "নিম্ন"
"NONE": "None",
"URGENT": "Urgent",
"HIGH": "High",
"MEDIUM": "Medium",
"LOW": "Low"
},
"CHANGE_PRIORITY": {
"SELECT_PLACEHOLDER": "কিছুই না",
"INPUT_PLACEHOLDER": "অগ্রাধিকার নির্বাচন করুন",
"NO_RESULTS": "কোন ফলাফল পাওয়া যায়নি",
"SELECT_PLACEHOLDER": "None",
"INPUT_PLACEHOLDER": "Select priority",
"NO_RESULTS": "No results found",
"SUCCESSFUL": "Changed priority of conversation id {conversationId} to {priority}",
"FAILED": "প্রাধান্য পরিবর্তন করা যায়নি। আবার চেষ্টা করুন।"
"FAILED": "Couldn't change priority. Please try again."
}
},
"DELETE_CONVERSATION": {
"TITLE": "Delete conversation #{conversationId}",
"DESCRIPTION": "আপনি কি নিশ্চিতভাবে এই কথোপকথনটি মুছে ফেলতে চান?",
"CONFIRM": "মুছে ফেলুন"
"DESCRIPTION": "Are you sure you want to delete this conversation?",
"CONFIRM": "Delete"
},
"CARD_CONTEXT_MENU": {
"PENDING": "বিচারাধীন হিসেবে চিহ্নিত করুন",
"RESOLVED": "সমাধান হয়েছে হিসেবে চিহ্নিত করুন",
"MARK_AS_UNREAD": "অপঠিত হিসেবে চিহ্নিত করুন",
"MARK_AS_READ": "পড়া হয়েছে হিসেবে চিহ্নিত করুন",
"REOPEN": "আলোচনা পুনরায় খুলুন",
"PENDING": "Mark as pending",
"RESOLVED": "Mark as resolved",
"MARK_AS_UNREAD": "Mark as unread",
"MARK_AS_READ": "Mark as read",
"REOPEN": "Reopen conversation",
"SNOOZE": {
"TITLE": "স্নুজ",
"NEXT_REPLY": "পরবর্তী উত্তর পর্যন্ত",
"TOMORROW": "আগামীকাল পর্যন্ত",
"NEXT_WEEK": "পরবর্তী সপ্তাহ পর্যন্ত"
"TITLE": "Snooze",
"NEXT_REPLY": "Until next reply",
"TOMORROW": "Until tomorrow",
"NEXT_WEEK": "Until next week"
},
"ASSIGN_AGENT": "এজেন্ট নির্ধারণ করুন",
"ASSIGN_LABEL": "লেবেল নির্ধারণ করুন",
"AGENTS_LOADING": "এজেন্ট লোড হচ্ছে...",
"ASSIGN_TEAM": "টিম নির্ধারণ করুন",
"DELETE": "কথোপকথন মুছে ফেলুন",
"OPEN_IN_NEW_TAB": "নতুন ট্যাবে খুলুন",
"COPY_LINK": "কথোপকথনের লিংক কপি করুন",
"COPY_LINK_SUCCESS": "কথোপকথনের লিংক ক্লিপবোর্ডে কপি হয়েছে",
"ASSIGN_AGENT": "Assign agent",
"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",
"API": {
"AGENT_ASSIGNMENT": {
"SUCCESFUL": "Conversation id {conversationId} assigned to \"{agentName}\"",
"FAILED": "এজেন্ট নির্ধারণ করা যায়নি। আবার চেষ্টা করুন।"
"FAILED": "Couldn't assign agent. Please try again."
},
"LABEL_ASSIGNMENT": {
"SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}",
"FAILED": "লেবেল নির্ধারণ করা যায়নি। আবার চেষ্টা করুন।"
"FAILED": "Couldn't assign label. Please try again."
},
"LABEL_REMOVAL": {
"SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}",
"FAILED": "লেবেল সরানো যায়নি। অনুগ্রহ করে আবার চেষ্টা করুন।"
"FAILED": "Couldn't remove label. Please try again."
},
"TEAM_ASSIGNMENT": {
"SUCCESFUL": "Assigned team \"{team}\" to conversation id {conversationId}",
"FAILED": "টিম নির্ধারণ করা যায়নি। আবার চেষ্টা করুন।"
"FAILED": "Couldn't assign team. Please try again."
}
}
},
"FOOTER": {
"MESSAGE_SIGN_TOOLTIP": "বার্তার স্বাক্ষর",
"ENABLE_SIGN_TOOLTIP": "স্বাক্ষর চালু করুন",
"DISABLE_SIGN_TOOLTIP": "স্বাক্ষর বন্ধ করুন",
"MSG_INPUT": "নতুন লাইনের জন্য Shift + Enter চাপুন। Canned Response বাছাই করতে '/' দিয়ে শুরু করুন।",
"PRIVATE_MSG_INPUT": "নতুন লাইনের জন্য Shift + Enter চাপুন। এটি শুধু এজেন্টদের জন্য দৃশ্যমান হবে",
"MESSAGING_RESTRICTED": "আপনি এই কথোপকথনে উত্তর দিতে পারবেন না",
"MESSAGING_RESTRICTED_WHATSAPP": "২৪ ঘণ্টার বার্তা সীমাবদ্ধতার কারণে শুধু টেমপ্লেট বার্তা দিয়ে উত্তর দিতে পারবেন",
"MESSAGING_RESTRICTED_API": "বার্তা উইন্ডো সীমাবদ্ধতার কারণে শুধু টেমপ্লেট বার্তা দিয়ে উত্তর দিতে পারবেন",
"MESSAGE_SIGNATURE_NOT_CONFIGURED": "বার্তার স্বাক্ষর কনফিগার করা হয়নি, প্রোফাইল সেটিংসে কনফিগার করুন।",
"COPILOT_MSG_INPUT": "Copilot-কে আরও নির্দেশ দিন বা অন্য কিছু জিজ্ঞাসা করুন... ফলো-আপ পাঠাতে এন্টার চাপুন",
"CLICK_HERE": "আপডেট করতে এখানে ক্লিক করুন",
"WHATSAPP_TEMPLATES": "Whatsapp টেমপ্লেট"
"MESSAGE_SIGN_TOOLTIP": "Message signature",
"ENABLE_SIGN_TOOLTIP": "Enable signature",
"DISABLE_SIGN_TOOLTIP": "Disable signature",
"MSG_INPUT": "Shift + enter for new line. Start with '/' to select a Canned Response.",
"PRIVATE_MSG_INPUT": "Shift + enter for new line. This will be visible only to Agents",
"MESSAGING_RESTRICTED": "You cannot reply to this conversation",
"MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction",
"MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction",
"MESSAGE_SIGNATURE_NOT_CONFIGURED": "Message signature is not configured, please configure it in profile settings.",
"COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up",
"CLICK_HERE": "Click here to update",
"WHATSAPP_TEMPLATES": "Whatsapp Templates"
},
"REPLYBOX": {
"REPLY": "উত্তর দিন",
"PRIVATE_NOTE": "ব্যক্তিগত নোট",
"SEND": "পাঠান",
"CREATE": "নোট যোগ করুন",
"INSERT_READ_MORE": "আরও পড়ুন",
"DISMISS_REPLY": "উত্তর বাতিল করুন",
"REPLYING_TO": "উত্তর দিচ্ছেন:",
"TIP_EMOJI_ICON": "ইমোজি সিলেক্টর দেখান",
"TIP_ATTACH_ICON": "ফাইল সংযুক্ত করুন",
"TIP_AUDIORECORDER_ICON": "অডিও রেকর্ড করুন",
"TIP_AUDIORECORDER_PERMISSION": "অডিও অ্যাক্সেসের অনুমতি দিন",
"TIP_AUDIORECORDER_ERROR": "অডিও খোলা যায়নি",
"DRAG_DROP": "সংযুক্ত করতে এখানে ড্র্যাগ ও ড্রপ করুন",
"START_AUDIO_RECORDING": "অডিও রেকর্ডিং শুরু করুন",
"STOP_AUDIO_RECORDING": "অডিও রেকর্ডিং বন্ধ করুন",
"COPILOT_THINKING": "Copilot ভাবছে",
"REPLY": "Reply",
"PRIVATE_NOTE": "Private Note",
"SEND": "Send",
"CREATE": "Add Note",
"INSERT_READ_MORE": "Read more",
"DISMISS_REPLY": "Dismiss reply",
"REPLYING_TO": "Replying to:",
"TIP_EMOJI_ICON": "Show emoji selector",
"TIP_ATTACH_ICON": "Attach files",
"TIP_AUDIORECORDER_ICON": "Record audio",
"TIP_AUDIORECORDER_PERMISSION": "Allow access to audio",
"TIP_AUDIORECORDER_ERROR": "Could not open the audio",
"DRAG_DROP": "Drag and drop here to attach",
"START_AUDIO_RECORDING": "Start audio recording",
"STOP_AUDIO_RECORDING": "Stop audio recording",
"COPILOT_THINKING": "Copilot is thinking",
"EMAIL_HEAD": {
"TO": "TO",
"ADD_BCC": "বিসিসি যোগ করুন",
"ADD_BCC": "Add bcc",
"CC": {
"LABEL": "CC",
"PLACEHOLDER": "কমা দিয়ে আলাদা ইমেইল",
"ERROR": "সঠিক ইমেইল ঠিকানা দিন"
"PLACEHOLDER": "Emails separated by commas",
"ERROR": "Please enter valid email addresses"
},
"BCC": {
"LABEL": "BCC",
"PLACEHOLDER": "কমা দিয়ে আলাদা ইমেইল",
"ERROR": "বৈধ ইমেইল ঠিকানা দিন"
"PLACEHOLDER": "Emails separated by commas",
"ERROR": "Please enter valid email addresses"
}
},
"UNDEFINED_VARIABLES": {
"TITLE": "অনির্ধারিত ভেরিয়েবল",
"TITLE": "Undefined variables",
"MESSAGE": "You have {undefinedVariablesCount} undefined variables in your message: {undefinedVariables}. Would you like to send the message anyway?",
"CONFIRM": {
"YES": "পাঠান",
"CANCEL": "বাতিল"
"YES": "Send",
"CANCEL": "Cancel"
}
},
"QUOTED_REPLY": {
"ENABLE_TOOLTIP": "উদ্ধৃত ইমেইল থ্রেড যুক্ত করুন",
"DISABLE_TOOLTIP": "উদ্ধৃত ইমেইল থ্রেড যুক্ত করবেন না",
"REMOVE_PREVIEW": "উদ্ধৃত ইমেইল থ্রেড সরান",
"COLLAPSE": "প্রিভিউ সংকুচিত করুন",
"EXPAND": "প্রিভিউ বড় করুন"
"ENABLE_TOOLTIP": "Include quoted email thread",
"DISABLE_TOOLTIP": "Don't include quoted email thread",
"REMOVE_PREVIEW": "Remove quoted email thread",
"COLLAPSE": "Collapse preview",
"EXPAND": "Expand preview"
}
},
"VISIBLE_TO_AGENTS": "ব্যক্তিগত নোট: শুধু আপনি ও আপনার টিম দেখতে পারবেন",
"CHANGE_STATUS": "কথোপকথনের অবস্থা পরিবর্তিত হয়েছে",
"CHANGE_STATUS_FAILED": "কনভার্সেশনের স্ট্যাটাস পরিবর্তন ব্যর্থ হয়েছে",
"CHANGE_AGENT": "কথোপকথনের দায়িত্বপ্রাপ্ত ব্যক্তি পরিবর্তিত হয়েছে",
"CHANGE_AGENT_FAILED": "অ্যাসাইনি পরিবর্তন ব্যর্থ হয়েছে",
"ASSIGN_LABEL_SUCCESFUL": "লেবেল সফলভাবে নির্ধারণ হয়েছে",
"ASSIGN_LABEL_FAILED": "লেবেল নির্ধারণ ব্যর্থ হয়েছে",
"CHANGE_TEAM": "আলাপের টিম পরিবর্তন হয়েছে",
"SUCCESS_DELETE_CONVERSATION": "কথোপকথন সফলভাবে মুছে ফেলা হয়েছে",
"FAIL_DELETE_CONVERSATION": "কথোপকথন মুছে ফেলা যায়নি! আবার চেষ্টা করুন",
"VISIBLE_TO_AGENTS": "Private Note: Only visible to you and your team",
"CHANGE_STATUS": "Conversation status changed",
"CHANGE_STATUS_FAILED": "Conversation status change failed",
"CHANGE_AGENT": "Conversation Assignee changed",
"CHANGE_AGENT_FAILED": "Assignee change failed",
"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",
"FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit",
"FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation",
"MESSAGE_ERROR": "বার্তাটি পাঠানো যায়নি, পরে আবার চেষ্টা করুন",
"SENT_BY": "প্রেরক:",
"MESSAGE_ERROR": "Unable to send this message, please try again later",
"SENT_BY": "Sent by:",
"BOT": "Bot",
"NATIVE_APP": "নেটিভ অ্যাপ",
"NATIVE_APP_ADVISORY": "এই বার্তাটি নেটিভ অ্যাপ থেকে পাঠানো হয়েছে। বার্তা উইন্ডো বজায় রাখতে Chatwoot থেকে উত্তর দিন।",
"SEND_FAILED": "বার্তা পাঠানো যায়নি! আবার চেষ্টা করুন",
"TRY_AGAIN": "পুনরায় চেষ্টা করুন",
"NATIVE_APP": "Native app",
"NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.",
"SEND_FAILED": "Couldn't send message! Try again",
"TRY_AGAIN": "retry",
"ASSIGNMENT": {
"SELECT_AGENT": "এজেন্ট নির্বাচন করুন",
"REMOVE": "সরান",
"ASSIGN": "নিয়োগ করুন"
"SELECT_AGENT": "Select Agent",
"REMOVE": "Remove",
"ASSIGN": "Assign"
},
"CONTEXT_MENU": {
"COPY": "কপি করুন",
"REPLY_TO": "এই বার্তায় উত্তর দিন",
"DELETE": "মুছুন",
"CREATE_A_CANNED_RESPONSE": "ক্যানড রেসপন্সে যোগ করুন",
"TRANSLATE": "অনুবাদ করুন",
"COPY_PERMALINK": "বার্তার লিঙ্ক কপি করুন",
"LINK_COPIED": "বার্তার URL ক্লিপবোর্ডে কপি হয়েছে",
"COPY": "Copy",
"REPLY_TO": "Reply to this message",
"DELETE": "Delete",
"CREATE_A_CANNED_RESPONSE": "Add to canned responses",
"TRANSLATE": "Translate",
"COPY_PERMALINK": "Copy link to the message",
"LINK_COPIED": "Message URL copied to the clipboard",
"DELETE_CONFIRMATION": {
"TITLE": "আপনি কি নিশ্চিত এই বার্তাটি মুছে ফেলতে চান?",
"MESSAGE": "এই কাজটি পূর্বাবস্থায় ফেরানো যাবে না",
"DELETE": "মুছে ফেলুন",
"CANCEL": "বাতিল করুন"
"TITLE": "Are you sure you want to delete this message?",
"MESSAGE": "You cannot undo this action",
"DELETE": "Delete",
"CANCEL": "Cancel"
}
},
"SIDEBAR": {
"CONTACT": "যোগাযোগ",
"CONTACT": "Contact",
"COPILOT": "Copilot"
},
"VOICE_WIDGET": {
"INCOMING_CALL": "আসন্ন কল",
"OUTGOING_CALL": "প্রেরিত কল",
"CALL_IN_PROGRESS": "কল চলছে",
"NOT_ANSWERED_YET": "এখনও উত্তর পাওয়া যায়নি",
"HANDLED_IN_ANOTHER_TAB": "অন্য ট্যাবে পরিচালিত হচ্ছে",
"REJECT_CALL": "প্রত্যাখ্যান করুন",
"JOIN_CALL": "কলে যোগ দিন",
"END_CALL": "কল শেষ করুন"
"INCOMING_CALL": "Incoming call",
"OUTGOING_CALL": "Outgoing call",
"CALL_IN_PROGRESS": "Call in progress",
"NOT_ANSWERED_YET": "Not answered yet",
"HANDLED_IN_ANOTHER_TAB": "Being handled in another tab",
"REJECT_CALL": "Reject",
"JOIN_CALL": "Join call",
"END_CALL": "End call"
}
},
"EMAIL_TRANSCRIPT": {
"TITLE": "কথোপকথনের ট্রান্সক্রিপ্ট পাঠান",
"DESC": "নির্দিষ্ট ইমেইল ঠিকানায় কথোপকথনের ট্রান্সক্রিপ্ট পাঠান",
"SUBMIT": "জমা দিন",
"CANCEL": "বাতিল করুন",
"SEND_EMAIL_SUCCESS": "চ্যাট ট্রান্সক্রিপ্ট সফলভাবে পাঠানো হয়েছে",
"SEND_EMAIL_ERROR": "একটি ত্রুটি হয়েছে, অনুগ্রহ করে আবার চেষ্টা করুন",
"SEND_EMAIL_PAYMENT_REQUIRED": "আপনার বর্তমান প্ল্যানে ইমেইল ট্রান্সক্রিপ্ট সুবিধা নেই। এই ফিচারটি ব্যবহার করতে প্ল্যান আপগ্রেড করুন।",
"TITLE": "Send conversation transcript",
"DESC": "Send a copy of the conversation transcript to the specified email address",
"SUBMIT": "Submit",
"CANCEL": "Cancel",
"SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully",
"SEND_EMAIL_ERROR": "There was an error, please try again",
"SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.",
"FORM": {
"SEND_TO_CONTACT": "গ্রাহককে ট্রান্সক্রিপ্ট পাঠান",
"SEND_TO_AGENT": "নিয়োজিত এজেন্টকে ট্রান্সক্রিপ্ট পাঠান",
"SEND_TO_OTHER_EMAIL_ADDRESS": "অন্য ইমেইল ঠিকানায় ট্রান্সক্রিপ্ট পাঠান",
"SEND_TO_CONTACT": "Send the transcript to the customer",
"SEND_TO_AGENT": "Send the transcript to the assigned agent",
"SEND_TO_OTHER_EMAIL_ADDRESS": "Send the transcript to another email address",
"EMAIL": {
"PLACEHOLDER": "ইমেইল ঠিকানা লিখুন",
"ERROR": "একটি বৈধ ইমেইল ঠিকানা লিখুন"
"PLACEHOLDER": "Enter an email address",
"ERROR": "Please enter a valid email address"
}
}
},
@@ -323,120 +323,120 @@
"GREETING_MORNING": "👋 Good morning, {name}. Welcome to {installationName}.",
"GREETING_AFTERNOON": "👋 Good afternoon, {name}. Welcome to {installationName}.",
"GREETING_EVENING": "👋 Good evening, {name}. Welcome to {installationName}.",
"READ_LATEST_UPDATES": "আমাদের সর্বশেষ আপডেট পড়ুন",
"READ_LATEST_UPDATES": "Read our latest updates",
"ALL_CONVERSATION": {
"TITLE": "আপনার সব কথোপকথন এক জায়গায়",
"DESCRIPTION": "একটি ড্যাশবোর্ডে আপনার গ্রাহকদের সব কথোপকথন দেখুন। আপনি চ্যানেল, লেবেল ও স্ট্যাটাস অনুযায়ী ফিল্টার করতে পারবেন।",
"NEW_LINK": "ইনবক্স তৈরি করতে এখানে ক্লিক করুন"
"TITLE": "All your conversations in one place",
"DESCRIPTION": "View all the conversations from your customers in one single dashboard. You can filter the conversations by the incoming channel, label and status.",
"NEW_LINK": "Click here to create an inbox"
},
"TEAM_MEMBERS": {
"TITLE": "আপনার টিম সদস্যদের আমন্ত্রণ জানান",
"DESCRIPTION": "আপনি যখন গ্রাহকের সাথে কথা বলার জন্য প্রস্তুতি নিচ্ছেন, তখন সহায়তার জন্য আপনার টিমমেটদের যুক্ত করুন। এজেন্ট তালিকায় তাদের ইমেইল ঠিকানা যোগ করে আমন্ত্রণ জানাতে পারেন।",
"NEW_LINK": "টিম সদস্য আমন্ত্রণ জানাতে এখানে ক্লিক করুন"
"TITLE": "Invite your team members",
"DESCRIPTION": "Since you are getting ready to talk to your customer, bring in your teammates to assist you. You can invite your teammates by adding their email addresses to the agent list.",
"NEW_LINK": "Click here to invite a team member"
},
"LABELS": {
"TITLE": "লেবেল দিয়ে কথোপকথন সাজান",
"DESCRIPTION": "লেবেল ব্যবহার করে সহজেই কথোপকথন শ্রেণিবদ্ধ করুন। যেমন #support-enquiry, #billing-question ইত্যাদি লেবেল তৈরি করুন, পরে কথোপকথনে ব্যবহার করতে পারবেন।",
"NEW_LINK": "ট্যাগ তৈরি করতে এখানে ক্লিক করুন"
"TITLE": "Organize conversations with labels",
"DESCRIPTION": "Labels provide an easier way to categorize your conversation. Create some labels like #support-enquiry, #billing-question etc., so that you can use them in a conversation later.",
"NEW_LINK": "Click here to create tags"
},
"CANNED_RESPONSES": {
"TITLE": "ক্যানড রেসপন্স তৈরি করুন",
"DESCRIPTION": "আগে থেকে লেখা দ্রুত উত্তর টেমপ্লেট দিয়ে সহজেই কথোপকথনে উত্তর দিন। এজেন্টরা '/' চিহ্ন ও শর্টকোড লিখে দ্রুত উত্তর যোগ করতে পারেন।",
"NEW_LINK": "ক্যানড রেসপন্স তৈরি করতে এখানে ক্লিক করুন"
"TITLE": "Create canned responses",
"DESCRIPTION": "Pre-written quick reply templates help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a response.",
"NEW_LINK": "Click here to create a canned response"
}
},
"CONVERSATION_SIDEBAR": {
"ASSIGNEE_LABEL": "নিযুক্ত এজেন্ট",
"SELF_ASSIGN": "নিজেকে নির্ধারণ করুন",
"TEAM_LABEL": "নিযুক্ত টিম",
"ASSIGNEE_LABEL": "Assigned Agent",
"SELF_ASSIGN": "Assign to me",
"TEAM_LABEL": "Assigned Team",
"SELECT": {
"PLACEHOLDER": "কিছুই না"
"PLACEHOLDER": "None"
},
"ACCORDION": {
"CONTACT_DETAILS": "যোগাযোগের বিবরণ",
"CONVERSATION_ACTIONS": "আলোচনার কার্যক্রম",
"CONVERSATION_LABELS": "আলোচনার লেবেল",
"CONVERSATION_INFO": "আলোচনার তথ্য",
"CONTACT_NOTES": "যোগাযোগ নোট",
"CONTACT_ATTRIBUTES": "যোগাযোগের বৈশিষ্ট্য",
"PREVIOUS_CONVERSATION": "পূর্বের আলোচনা",
"MACROS": "ম্যাক্রো",
"LINEAR_ISSUES": "সংযুক্ত Linear সমস্যা",
"SHOPIFY_ORDERS": "Shopify অর্ডার"
"CONTACT_DETAILS": "Contact Details",
"CONVERSATION_ACTIONS": "Conversation Actions",
"CONVERSATION_LABELS": "Conversation Labels",
"CONVERSATION_INFO": "Conversation Information",
"CONTACT_NOTES": "Contact Notes",
"CONTACT_ATTRIBUTES": "Contact Attributes",
"PREVIOUS_CONVERSATION": "Previous Conversations",
"MACROS": "Macros",
"LINEAR_ISSUES": "Linked Linear Issues",
"SHOPIFY_ORDERS": "Shopify Orders"
},
"SHOPIFY": {
"ORDER_ID": "Order #{id}",
"ERROR": "অর্ডার লোড করতে সমস্যা হয়েছে",
"NO_SHOPIFY_ORDERS": "কোনো অর্ডার পাওয়া যায়নি",
"ERROR": "Error loading orders",
"NO_SHOPIFY_ORDERS": "No orders found",
"FINANCIAL_STATUS": {
"PENDING": "অপেক্ষমাণ",
"AUTHORIZED": "অনুমোদিত",
"PARTIALLY_PAID": "আংশিক পরিশোধিত",
"PAID": "পরিশোধিত",
"PARTIALLY_REFUNDED": "আংশিক ফেরত",
"REFUNDED": "ফেরত",
"VOIDED": "বাতিল"
"PENDING": "Pending",
"AUTHORIZED": "Authorized",
"PARTIALLY_PAID": "Partially Paid",
"PAID": "Paid",
"PARTIALLY_REFUNDED": "Partially Refunded",
"REFUNDED": "Refunded",
"VOIDED": "Voided"
},
"FULFILLMENT_STATUS": {
"FULFILLED": "সম্পন্ন",
"PARTIALLY_FULFILLED": "আংশিক সম্পন্ন",
"UNFULFILLED": "অসম্পন্ন"
"FULFILLED": "Fulfilled",
"PARTIALLY_FULFILLED": "Partially Fulfilled",
"UNFULFILLED": "Unfulfilled"
}
}
},
"CONVERSATION_CUSTOM_ATTRIBUTES": {
"ADD_BUTTON_TEXT": "অ্যাট্রিবিউট তৈরি করুন",
"NO_RECORDS_FOUND": "কোনো অ্যাট্রিবিউট পাওয়া যায়নি",
"ADD_BUTTON_TEXT": "Create attribute",
"NO_RECORDS_FOUND": "No attributes found",
"UPDATE": {
"SUCCESS": "অ্যাট্রিবিউট সফলভাবে আপডেট হয়েছে",
"ERROR": "অ্যাট্রিবিউট আপডেট করা যায়নি। পরে আবার চেষ্টা করুন"
"SUCCESS": "Attribute updated successfully",
"ERROR": "Unable to update attribute. Please try again later"
},
"ADD": {
"TITLE": "যোগ করুন",
"SUCCESS": "অ্যাট্রিবিউট সফলভাবে যোগ হয়েছে",
"ERROR": "অ্যাট্রিবিউট যোগ করা যায়নি। পরে আবার চেষ্টা করুন"
"TITLE": "Add",
"SUCCESS": "Attribute added successfully",
"ERROR": "Unable to add attribute. Please try again later"
},
"DELETE": {
"SUCCESS": "অ্যাট্রিবিউট সফলভাবে মুছে ফেলা হয়েছে",
"ERROR": "অ্যাট্রিবিউট মুছে ফেলা যায়নি। পরে আবার চেষ্টা করুন"
"SUCCESS": "Attribute deleted successfully",
"ERROR": "Unable to delete attribute. Please try again later"
},
"ATTRIBUTE_SELECT": {
"TITLE": "অ্যাট্রিবিউট যোগ করুন",
"PLACEHOLDER": "অ্যাট্রিবিউট অনুসন্ধান করুন",
"NO_RESULT": "কোনো অ্যাট্রিবিউট পাওয়া যায়নি"
"TITLE": "Add attributes",
"PLACEHOLDER": "Search attributes",
"NO_RESULT": "No attributes found"
}
},
"EMAIL_HEADER": {
"FROM": "প্রেরক",
"TO": "প্রাপক",
"BCC": "বিসিসি",
"CC": "সিসি",
"SUBJECT": "বিষয়",
"EXPAND": "ইমেইল প্রসারিত করুন"
"FROM": "From",
"TO": "To",
"BCC": "Bcc",
"CC": "Cc",
"SUBJECT": "Subject",
"EXPAND": "Expand email"
},
"CONVERSATION_PARTICIPANTS": {
"SIDEBAR_MENU_TITLE": "অংশগ্রহণকারী",
"SIDEBAR_TITLE": "আলোচনার অংশগ্রহণকারীরা",
"NO_RECORDS_FOUND": "কোনো ফলাফল পাওয়া যায়নি",
"ADD_PARTICIPANTS": "অংশগ্রহণকারী নির্বাচন করুন",
"SIDEBAR_MENU_TITLE": "Participating",
"SIDEBAR_TITLE": "Conversation participants",
"NO_RECORDS_FOUND": "No results found",
"ADD_PARTICIPANTS": "Select participants",
"REMANING_PARTICIPANTS_TEXT": "+{count} others",
"REMANING_PARTICIPANT_TEXT": "+{count} other",
"TOTAL_PARTICIPANTS_TEXT": "{count} people are participating.",
"TOTAL_PARTICIPANT_TEXT": "{count} person is participating.",
"NO_PARTICIPANTS_TEXT": "No one is participating!.",
"WATCH_CONVERSATION": "আলাপচারিতায় যোগ দিন",
"YOU_ARE_WATCHING": "আপনি অংশগ্রহণ করছেন",
"WATCH_CONVERSATION": "Join conversation",
"YOU_ARE_WATCHING": "You are participating",
"API": {
"ERROR_MESSAGE": "আপডেট করা যায়নি, আবার চেষ্টা করুন!",
"SUCCESS_MESSAGE": "অংশগ্রহণকারীরা আপডেট হয়েছে!"
"ERROR_MESSAGE": "Could not update, try again!",
"SUCCESS_MESSAGE": "Participants updated!"
}
},
"TRANSLATE_MODAL": {
"TITLE": "অনুবাদিত বিষয়বস্তু দেখুন",
"TITLE": "View translated content",
"DESC": "You can view the translated content in each langauge.",
"ORIGINAL_CONTENT": "মূল বিষয়বস্তু",
"TRANSLATED_CONTENT": "অনুবাদিত বিষয়বস্তু",
"NO_TRANSLATIONS_AVAILABLE": "এই বিষয়বস্তুর জন্য কোনো অনুবাদ নেই"
"ORIGINAL_CONTENT": "Original Content",
"TRANSLATED_CONTENT": "Translated Content",
"NO_TRANSLATIONS_AVAILABLE": "No translations are available for this content"
},
"TYPING": {
"ONE": "{user} is typing",
@@ -444,9 +444,9 @@
"MULTIPLE": "{user} and {count} others are typing"
},
"COPILOT": {
"TRY_THESE_PROMPTS": "এই পরামর্শগুলো চেষ্টা করুন"
"TRY_THESE_PROMPTS": "Try these prompts"
},
"GALLERY_VIEW": {
"ERROR_DOWNLOADING": "সংযুক্তি ডাউনলোড করা যাচ্ছে না। আবার চেষ্টা করুন"
"ERROR_DOWNLOADING": "Unable to download attachment. Please try again"
}
}
@@ -126,7 +126,7 @@
},
"HELP_TEXT": {
"TITLE": "Slack ইন্টিগ্রেশন কীভাবে ব্যবহার করবেন?",
"BODY": "এই ইন্টিগ্রেশনের মাধ্যমে, আপনার সমস্ত ইনকামিং কথোপকথন আপনার Slack ওয়ার্কস্পেসের ***{selectedChannelName}*** চ্যানেলে সিঙ্ক হবে। আপনি এই চ্যানেল থেকেই আপনার গ্রাহকদের সব কথোপকথন পরিচালনা করতে পারবেন এবং কোনো মেসেজ মিস করবেন না।\n\nএই ইন্টিগ্রেশনের প্রধান বৈশিষ্ট্যগুলো:\n\n**Slack থেকেই কথোপকথনে উত্তর দিন:** ***{selectedChannelName}*** Slack চ্যানেলে কোনো কথোপকথনে উত্তর দিতে, শুধু আপনার মেসেজ লিখে থ্রেড হিসেবে পাঠান। এতে Chatwoot-এর মাধ্যমে গ্রাহককে উত্তর পাঠানো হবে। এটি খুব সহজ!\n\n**প্রাইভেট নোট তৈরি করুন:** উত্তর না দিয়ে যদি প্রাইভেট নোট যোগ করতে চান, তাহলে আপনার মেসেজটি ***`note:`*** দিয়ে শুরু করুন। এতে আপনার মেসেজটি প্রাইভেট থাকবে এবং গ্রাহক দেখতে পারবে না।\n\n**এজেন্ট প্রোফাইল যুক্ত করুন:** Slack-এ উত্তরদাতা যদি একই ইমেইলে Chatwoot-এ এজেন্ট প্রোফাইল থাকে, তাহলে উত্তরগুলো স্বয়ংক্রিয়ভাবে সেই এজেন্ট প্রোফাইলের সাথে যুক্ত হবে। এতে সহজেই জানা যাবে কে কখন কী বলেছেন। অন্যদিকে, যদি উত্তরদাতার কোনো এজেন্ট প্রোফাইল না থাকে, তাহলে উত্তরগুলো গ্রাহকের কাছে বট প্রোফাইল থেকে যাবে।.",
"BODY": "With this integration, all of your incoming conversations will be synced to the ***{selectedChannelName}*** channel in your Slack workspace. You can manage all your customer conversations right within the channel and never miss a message.\n\nHere are the main features of the integration:\n\n**Respond to conversations from within Slack:** To respond to a conversation in the ***{selectedChannelName}*** Slack channel, simply type out your message and send it as a thread. This will create a response back to the customer through Chatwoot. It's that simple!\n\n **Create private notes:** If you want to create private notes instead of replies, start your message with ***`note:`***. This ensures that your message is kept private and won't be visible to the customer.\n\n**Associate an agent profile:** If the person who replied on Slack has an agent profile in Chatwoot under the same email, the replies will be associated with that agent profile automatically. This means you can easily track who said what and when. On the other hand, when the replier doesn't have an associated agent profile, the replies will appear from the bot profile to the customer.",
"SELECTED": "নির্বাচিত"
},
"SELECT_CHANNEL": {
File diff suppressed because it is too large Load Diff
@@ -81,8 +81,11 @@
"MISSED_CALL": "Missed call",
"CALL_ENDED": "Call ended",
"NOT_ANSWERED_YET": "Not answered yet",
"AGENT_ANSWERED": "{agentName} answered",
"THEY_ANSWERED": "They answered",
"YOU_ANSWERED": "You answered"
"YOU_ANSWERED": "You answered",
"JOIN_CALL": "Join call",
"REJOIN_CALL": "Rejoin call"
},
"HEADER": {
"RESOLVE_ACTION": "Resolve",
@@ -3,18 +3,18 @@
"SHOPIFY": {
"HEADER": "Shopify",
"DELETE": {
"TITLE": "Kustuta Shopify integratsioon",
"MESSAGE": "Kas oled kindel, et soovid Shopify integratsiooni kustutada?"
"TITLE": "Delete Shopify Integration",
"MESSAGE": "Are you sure you want to delete the Shopify integration?"
},
"STORE_URL": {
"TITLE": "Ühenda Shopify pood",
"LABEL": "Poekeskkonna URL",
"TITLE": "Connect Shopify Store",
"LABEL": "Store URL",
"PLACEHOLDER": "your-store.myshopify.com",
"HELP": "Sisesta oma Shopify poe myshopify.com URL",
"CANCEL": "Tühista",
"SUBMIT": "Ühenda pood"
"HELP": "Enter your Shopify store's myshopify.com URL",
"CANCEL": "Cancel",
"SUBMIT": "Connect Store"
},
"ERROR": "Shopifyga ühendamisel tekkis viga. Palun proovi uuesti või võta ühendust klienditoega, kui probleem püsib."
"ERROR": "There was an error connecting to Shopify. Please try again or contact support if the issue persists."
},
"HEADER": "Integratsioonid",
"DESCRIPTION": "Chatwoot integreerub mitmete tööriistade ja teenustega, et parandada teie meeskonna efektiivsust. Uuri allolevat nimekirja, et seadistada oma lemmikrakendused.",
@@ -56,8 +56,8 @@
"WEBWIDGET_TRIGGERED": "Kasutaja avas reaalajas vestluse vidina",
"CONTACT_CREATED": "Kontakt loodud",
"CONTACT_UPDATED": "Kontakt uuendatud",
"CONVERSATION_TYPING_ON": "Vestluses kirjutamise alustamine",
"CONVERSATION_TYPING_OFF": "Vestluses kirjutamise lõpetamine"
"CONVERSATION_TYPING_ON": "Conversation Typing On",
"CONVERSATION_TYPING_OFF": "Conversation Typing Off"
}
},
"NAME": {
@@ -72,7 +72,7 @@
"EDIT_SUBMIT": "Uuenda webhooki",
"ADD_SUBMIT": "Loo webhook"
},
"TITLE": "Veebikonks",
"TITLE": "Webhook",
"CONFIGURE": "Seadista",
"HEADER": "Webhooki sätted",
"HEADER_BTN_TXT": "Lisa uus webhook",
@@ -126,7 +126,7 @@
},
"HELP_TEXT": {
"TITLE": "Kuidas kasutada Slack integratsiooni?",
"BODY": "Selle integratsiooni abil sünkroonitakse kõik teie saabuvad vestlused Slacki tööruumi kanali ***{selectedChannelName}*** alla. Saate hallata kõiki kliendivestlusi otse selles kanalis ega jää kunagi sõnumist ilma.\n\nPeamised integratsiooni funktsioonid on järgmised:\n\n**Vastake vestlustele otse Slackis:** Vestlusele vastamiseks kanalis ***{selectedChannelName}*** tippige lihtsalt oma sõnum ja saatke see lõimena. See saadab vastuse kliendile Chatwooti kaudu. Nii lihtne see ongi!\n\n**Looge privaatmärkmeid:** Kui soovite vastuste asemel luua privaatseid märkmeid, alustage oma sõnumit ***`note:`***-ga. See tagab, et teie sõnum jääb privaatseks ega ole kliendi jaoks nähtav.\n\n**Seostage agendi profiil:** Kui Slackis vastanud isikul on Chatwootis sama e-posti aadressiga agendi profiil, seostatakse vastused automaatselt selle profiiliga. Nii saate hõlpsasti jälgida, kes mida ja millal ütles. Kui vastajal puudub seotud agendi profiil, kuvatakse vastused kliendile boti profiililt.",
"BODY": "With this integration, all of your incoming conversations will be synced to the ***{selectedChannelName}*** channel in your Slack workspace. You can manage all your customer conversations right within the channel and never miss a message.\n\nHere are the main features of the integration:\n\n**Respond to conversations from within Slack:** To respond to a conversation in the ***{selectedChannelName}*** Slack channel, simply type out your message and send it as a thread. This will create a response back to the customer through Chatwoot. It's that simple!\n\n **Create private notes:** If you want to create private notes instead of replies, start your message with ***`note:`***. This ensures that your message is kept private and won't be visible to the customer.\n\n**Associate an agent profile:** If the person who replied on Slack has an agent profile in Chatwoot under the same email, the replies will be associated with that agent profile automatically. This means you can easily track who said what and when. On the other hand, when the replier doesn't have an associated agent profile, the replies will appear from the bot profile to the customer.",
"SELECTED": "valitud"
},
"SELECT_CHANNEL": {
@@ -364,7 +364,7 @@
"SUCCESS": "Probleem edukalt lahti ühendatud",
"ERROR": "Probleemi lahtiühendamisel tekkis viga, palun proovi uuesti"
},
"NO_LINKED_ISSUES": "Seotud probleeme ei leitud",
"NO_LINKED_ISSUES": "No linked issues found",
"DELETE": {
"TITLE": "Kas olete kindel, et soovite integratsiooni kustutada?",
"MESSAGE": "Kas olete kindel, et soovite integratsiooni kustutada?",
@@ -372,19 +372,19 @@
"CANCEL": "Tühista"
},
"CTA": {
"TITLE": "Ühenda Lineariga",
"AGENT_DESCRIPTION": "Linear töökeskkond pole ühendatud. Palu administraatoril töökeskkond ühendada, et seda integratsiooni kasutada.",
"DESCRIPTION": "Linear töökeskkond pole ühendatud. Ühenda oma töökeskkond selle integratsiooni kasutamiseks, vajutades allolevat nuppu.",
"BUTTON_TEXT": "Ühenda Linear workspace"
"TITLE": "Connect to Linear",
"AGENT_DESCRIPTION": "Linear workspace is not connected. Request your administrator to connect a workspace to use this integration.",
"DESCRIPTION": "Linear workspace is not connected. Click the button below to connect your workspace to use this integration.",
"BUTTON_TEXT": "Connect Linear workspace"
}
},
"NOTION": {
"HEADER": "Notion",
"DELETE": {
"TITLE": "Kas oled kindel, et soovid Notioni integratsiooni kustutada?",
"MESSAGE": "Integratsiooni kustutamine eemaldab juurdepääsu sinu Notioni workspace'ile ja peatab kõik seotud funktsioonid.",
"CONFIRM": "Jah, kustuta",
"CANCEL": "Tühista"
"TITLE": "Are you sure you want to delete the Notion integration?",
"MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.",
"CONFIRM": "Yes, delete",
"CANCEL": "Cancel"
}
}
},
@@ -398,48 +398,48 @@
"EMPTY_LIST": "No assistants found, please create one to get started"
},
"COPILOT": {
"TITLE": "Kaaslane",
"TRY_THESE_PROMPTS": "Proovi neid soovitusi",
"PANEL_TITLE": "Alusta Copilotiga",
"KICK_OFF_MESSAGE": "Vajad kiiret kokkuvõtet, soovid vaadata varasemaid vestlusi või koostada paremat vastust? Copilot aitab sul asju kiiremini teha.",
"TITLE": "Copilot",
"TRY_THESE_PROMPTS": "Try these prompts",
"PANEL_TITLE": "Get started with Copilot",
"KICK_OFF_MESSAGE": "Need a quick summary, want to check past conversations, or draft a better reply? Copilot’s here to speed things up.",
"SEND_MESSAGE": "Saada sõnum...",
"EMPTY_MESSAGE": "Vastus ei õnnestunud genereerida. Palun proovi uuesti.",
"EMPTY_MESSAGE": "There was an error generating the response. Please try again.",
"LOADER": "Captain mõtleb",
"YOU": "Sina",
"USE": "Kasuta seda",
"RESET": "Lähtesta",
"SHOW_STEPS": "Näita samme",
"SHOW_STEPS": "Show steps",
"SELECT_ASSISTANT": "Vali assistent",
"PROMPTS": {
"SUMMARIZE": {
"LABEL": "Kokkuvõte vestlusest",
"CONTENT": "Võta kokku kliendi ja klienditoe vahel arutatud peamised punktid, sealhulgas kliendi mured, küsimused ning klienditoe pakutud lahendused või vastused."
"LABEL": "Summarize this conversation",
"CONTENT": "Summarize the key points discussed between the customer and the support agent, including the customer's concerns, questions, and the solutions or responses provided by the support agent"
},
"SUGGEST": {
"LABEL": "Paku vastust",
"CONTENT": "Analüüsi kliendi päringut ja koostage vastus, mis lahendab tema mured või küsimused. Veendu, et vastus oleks selge, lühike ja abistav."
"LABEL": "Suggest an answer",
"CONTENT": "Analyze the customer's inquiry, and draft a response that effectively addresses their concerns or questions. Ensure the reply is clear, concise, and provides helpful information."
},
"RATE": {
"LABEL": "Hinda vestlust",
"CONTENT": "Vaata vestlust üle, et hinnata, kui hästi see vastab kliendi vajadustele. Anna hinnang viiepallisüsteemis, arvestades tooni, selgust ja tulemuslikkust."
"LABEL": "Rate this conversation",
"CONTENT": "Review the conversation to see how well it meets the customer's needs. Share a rating out of 5 based on tone, clarity, and effectiveness."
},
"HIGH_PRIORITY": {
"LABEL": "Kõrge prioriteediga vestlused",
"CONTENT": "Koosta kokkuvõte kõigist kõrge prioriteediga avatud vestlustest. Lisa vestluse ID, kliendi nimi (kui on), viimase sõnumi sisu ja määratud agent. Vajadusel grupeerida staatuse järgi."
"LABEL": "High priority conversations",
"CONTENT": "Give me a summary of all high priority open conversations. Include the conversation ID, customer name (if available), last message content, and assigned agent. Group by status if relevant."
},
"LIST_CONTACTS": {
"LABEL": "Kuva kontaktid",
"CONTENT": "Näita mulle 10 parima kontakti nimekirja. Lisa nimi, e-post või telefoninumber (kui on), viimane nähtud aeg, sildid (kui on)."
"LABEL": "List contacts",
"CONTENT": "Show me the list of top 10 contacts. Include name, email or phone number (if available), last seen time, tags (if any)."
}
}
},
"PLAYGROUND": {
"USER": "Sina",
"ASSISTANT": "Assistent",
"MESSAGE_PLACEHOLDER": "Sisesta oma sõnum...",
"HEADER": "Mänguväljak",
"DESCRIPTION": "Kasuta seda mänguväljakut, et saata assistendile sõnumeid ja kontrollida, kas ta vastab täpselt, kiiresti ja soovitud tooniga.",
"CREDIT_NOTE": "Siin saadetud sõnumid arvestatakse Captaini krediitide hulka."
"USER": "You",
"ASSISTANT": "Assistant",
"MESSAGE_PLACEHOLDER": "Type your message...",
"HEADER": "Playground",
"DESCRIPTION": "Use this playground to send messages to your assistant and check if it responds accurately, quickly, and in the tone you expect.",
"CREDIT_NOTE": "Messages sent here will count toward your Captain credits."
},
"PAYWALL": {
"TITLE": "Uuenda, et kasutada Captain AI-d",
@@ -464,7 +464,7 @@
},
"ASSISTANTS": {
"HEADER": "Abilised",
"NO_ASSISTANTS_AVAILABLE": "Sinu kontol pole ühtegi assistenti saadaval.",
"NO_ASSISTANTS_AVAILABLE": "There are no assistants available in your account.",
"ADD_NEW": "Loo uus abiline",
"DELETE": {
"TITLE": "Kas oled kindel, et soovid abilise kustutada?",
@@ -480,48 +480,48 @@
"ERROR_MESSAGE": "Abilise loomisel tekkis viga, palun proovi uuesti."
},
"FORM": {
"UPDATE": "Uuenda",
"UPDATE": "Update",
"SECTIONS": {
"BASIC_INFO": "Põhiandmed",
"SYSTEM_MESSAGES": "Süsteemisõnumid",
"INSTRUCTIONS": "Juhised",
"FEATURES": "Funktsioonid",
"TOOLS": "Tööriistad "
"BASIC_INFO": "Basic Information",
"SYSTEM_MESSAGES": "System Messages",
"INSTRUCTIONS": "Instructions",
"FEATURES": "Features",
"TOOLS": "Tools "
},
"NAME": {
"LABEL": "Nimi",
"PLACEHOLDER": "Sisesta assistendi nimi",
"ERROR": "Nimi on kohustuslik"
"LABEL": "Name",
"PLACEHOLDER": "Enter assistant name",
"ERROR": "The name is required"
},
"TEMPERATURE": {
"LABEL": "Vastuse loovus",
"DESCRIPTION": "Reguleeri, kui loomingulised või piiratud peaksid assistendi vastused olema. Madalam väärtus annab täpsemaid ja ennustatavamaid vastuseid, kõrgem väärtus võimaldab loomingulisemaid ja mitmekesisemaid tulemusi."
"LABEL": "Response Temperature",
"DESCRIPTION": "Adjust how creative or restrictive the assistant's responses should be. Lower values produce more focused and deterministic responses, while higher values allow for more creative and varied outputs."
},
"DESCRIPTION": {
"LABEL": "Kirjeldus",
"PLACEHOLDER": "Sisesta assistendi kirjeldus",
"ERROR": "Kirjeldus on kohustuslik"
"LABEL": "Description",
"PLACEHOLDER": "Enter assistant description",
"ERROR": "The description is required"
},
"PRODUCT_NAME": {
"LABEL": "Toote nimi",
"PLACEHOLDER": "Sisesta toote nimi",
"ERROR": "Tootenimi on kohustuslik"
"PLACEHOLDER": "Enter product name",
"ERROR": "The product name is required"
},
"WELCOME_MESSAGE": {
"LABEL": "Tervitussõnum",
"PLACEHOLDER": "Sisesta tervitussõnum"
"LABEL": "Welcome Message",
"PLACEHOLDER": "Enter welcome message"
},
"HANDOFF_MESSAGE": {
"LABEL": "Üleandmise sõnum",
"PLACEHOLDER": "Sisesta üleandmise sõnum"
"LABEL": "Handoff Message",
"PLACEHOLDER": "Enter handoff message"
},
"RESOLUTION_MESSAGE": {
"LABEL": "Lahenduse sõnum",
"PLACEHOLDER": "Sisesta lahenduse sõnum"
"LABEL": "Resolution Message",
"PLACEHOLDER": "Enter resolution message"
},
"INSTRUCTIONS": {
"LABEL": "Juhised",
"PLACEHOLDER": "Sisesta assistendile juhised"
"LABEL": "Instructions",
"PLACEHOLDER": "Enter instructions for the assistant"
},
"FEATURES": {
"TITLE": "Funktsioonid",
@@ -535,29 +535,29 @@
"TITLE": "Uuenda abilist",
"SUCCESS_MESSAGE": "Abiline on edukalt uuendatud",
"ERROR_MESSAGE": "Abilise uuendamisel tekkis viga, palun proovi uuesti.",
"NOT_FOUND": "Assistenti ei leitud. Palun proovi uuesti."
"NOT_FOUND": "Could not find the assistant. Please try again."
},
"SETTINGS": {
"HEADER": "Settings",
"BASIC_SETTINGS": {
"TITLE": "Põhiseaded",
"DESCRIPTION": "Kohanda, mida assistent ütleb vestluse lõpetamisel või inimesele suunamisel."
"TITLE": "Basic settings",
"DESCRIPTION": "Customize what the assistant says when ending a conversation or transferring to a human."
},
"SYSTEM_SETTINGS": {
"TITLE": "Süsteemiseaded",
"DESCRIPTION": "Kohanda, mida assistent ütleb vestluse lõpetamisel või inimesele suunamisel."
"TITLE": "System settings",
"DESCRIPTION": "Customize what the assistant says when ending a conversation or transferring to a human."
},
"CONTROL_ITEMS": {
"TITLE": "Lõbusad valikud",
"DESCRIPTION": "Lisa assistendile rohkem kontrolli. (Visuaalsem, nagu lugu: Päringu piirang → stsenaariumid → väljund) Suunab kasutajat neid tegelikult kasutama.",
"TITLE": "The Fun Stuff",
"DESCRIPTION": "Add more control to the assistant. (a bit more visual like a story : Query guardrail → scenarios → output) Nudges user to actually utilise these.",
"OPTIONS": {
"GUARDRAILS": {
"TITLE": "Piirangud",
"DESCRIPTION": "Hoiab fookust—assistent vastab ainult soovitud küsimustele, kõik muu on välistatud."
"TITLE": "Guardrails",
"DESCRIPTION": "Keeps things on track—only the kinds of questions you want your assistant to answer, nothing off-limits or off-topic."
},
"RESPONSE_GUIDELINES": {
"TITLE": "Vastamisjuhised",
"DESCRIPTION": "Assistentide vastuste stiil ja ülesehitus—selge ja sõbralik? Lühike ja konkreetne? Põhjalik ja ametlik?"
"TITLE": "Response guidelines",
"DESCRIPTION": "The vibe and structure of your assistant’s replies—clear and friendly? Short and snappy? Detailed and formal?"
}
}
},
@@ -581,52 +581,52 @@
}
},
"GUARDRAILS": {
"TITLE": "Piirangud",
"DESCRIPTION": "Hoiab fookust – assistent vastab ainult soovitud küsimustele, mitte kõrvalistele ega keelatud teemadele.",
"TITLE": "Guardrails",
"DESCRIPTION": "Keeps things on track—only the kinds of questions you want your assistant to answer, nothing off-limits or off-topic.",
"BULK_ACTION": {
"SELECTED": "{count} item selected | {count} items selected",
"SELECT_ALL": "Select all ({count})",
"UNSELECT_ALL": "Unselect all ({count})",
"BULK_DELETE_BUTTON": "Kustuta"
"BULK_DELETE_BUTTON": "Delete"
},
"ADD": {
"SUGGESTED": {
"TITLE": "Näidispiirangud",
"ADD": "Lisa kõik",
"ADD_SINGLE": "Lisa see",
"SAVE": "Lisa ja salvesta (↵)",
"PLACEHOLDER": "Sisesta veel üks piirang..."
"TITLE": "Example guardrails",
"ADD": "Add all",
"ADD_SINGLE": "Add this",
"SAVE": "Add and save (↵)",
"PLACEHOLDER": "Type in another guardrail..."
},
"NEW": {
"TITLE": "Lisa piirang",
"CREATE": "Loo",
"CANCEL": "Tühista",
"PLACEHOLDER": "Sisesta veel üks piirang...",
"TEST_ALL": "Testi kõiki"
"TITLE": "Add a guardrail",
"CREATE": "Create",
"CANCEL": "Cancel",
"PLACEHOLDER": "Type in another guardrail...",
"TEST_ALL": "Test all"
}
},
"LIST": {
"SEARCH_PLACEHOLDER": "Otsi..."
"SEARCH_PLACEHOLDER": "Search..."
},
"EMPTY_MESSAGE": "Piiranguid ei leitud. Alustamiseks loo või lisa näiteid.",
"EMPTY_MESSAGE": "No guardrails found. Create or add examples to begin.",
"SEARCH_EMPTY_MESSAGE": "No guardrails found for this search.",
"API": {
"ADD": {
"SUCCESS": "Piirangud lisatud edukalt",
"ERROR": "Piirangute lisamisel tekkis viga, proovi uuesti."
"SUCCESS": "Guardrails added successfully",
"ERROR": "There was an error adding guardrails, please try again."
},
"UPDATE": {
"SUCCESS": "Reeglid on edukalt uuendatud",
"ERROR": "Reeglite uuendamisel tekkis viga, palun proovi uuesti."
"SUCCESS": "Guardrails updated successfully",
"ERROR": "There was an error updating guardrails, please try again."
},
"DELETE": {
"SUCCESS": "Reeglid on edukalt kustutatud",
"ERROR": "Reeglite kustutamisel tekkis viga, palun proovi uuesti."
"SUCCESS": "Guardrails deleted successfully",
"ERROR": "There was an error deleting guardrails, please try again."
}
}
},
"RESPONSE_GUIDELINES": {
"TITLE": "Vastamise juhised",
"TITLE": "Response Guidelines",
"DESCRIPTION": "The vibe and structure of your assistant’s replies—clear and friendly? Short and snappy? Detailed and formal?",
"BULK_ACTION": {
"SELECTED": "{count} item selected | {count} items selected",
@@ -788,7 +788,7 @@
"SUBTITLE": "Dokumente kasutab teie assistent KKK-de genereerimiseks. Saate dokumente importida, et pakkuda assistendile konteksti.",
"FEATURE_SPOTLIGHT": {
"TITLE": "Captain Document",
"NOTE": "Dokument Captainis on abimehe teadmiste allikas. Ühendades oma abikeskuse või juhendid, saab Captain sisu analüüsida ja pakkuda täpseid vastuseid kliendipäringutele."
"NOTE": "A document in Captain serves as a knowledge resource for the assistant. By connecting your help center or guides, Captain can analyze the content and provide accurate responses for customer inquiries."
}
}
},
@@ -982,8 +982,8 @@
"SUBTITLE": "KKK-d aitavad teie assistendil pakkuda klientide küsimustele kiireid ja täpseid vastuseid. Neid saab automaatselt teie sisu põhjal genereerida või käsitsi lisada.",
"CLEAR_SEARCH": "Clear active filters",
"FEATURE_SPOTLIGHT": {
"TITLE": "Captain KKK",
"NOTE": "Captain KKK tuvastab levinud kliendiküsimused—nii need, mis puuduvad teadmistebaasist kui ka korduma kippuvad—ja loob asjakohased KKK-d toe parandamiseks. Saad iga ettepaneku üle vaadata ja otsustada, kas see kinnitada või tagasi lükata."
"TITLE": "Captain FAQ",
"NOTE": "Captain FAQs detects common customer questions—whether missing from your knowledge base or frequently asked—and generates relevant FAQs to improve support. You can review each suggestion and decide whether to approve or reject it."
}
}
},
@@ -4,7 +4,7 @@
"TITLE": "Profiili seaded",
"BTN_TEXT": "Uuenda profiili",
"DELETE_AVATAR": "Kustuta avatar",
"AVATAR_DELETE_SUCCESS": "Avatar on edukalt kustutatud",
"AVATAR_DELETE_SUCCESS": "Avatar has been deleted successfully",
"AVATAR_DELETE_FAILED": "Avatari kustutamisel tekkis viga, palun proovi uuesti",
"UPDATE_SUCCESS": "Teie profiil on edukalt uuendatud",
"PASSWORD_UPDATE_SUCCESS": "Teie parool on edukalt muudetud",
@@ -18,7 +18,7 @@
"UPDATE_IMAGE": "Uuenda pilti",
"PROFILE_SECTION": {
"TITLE": "Profiil",
"NOTE": "Sinu e-posti aadress on sinu identiteet ja seda kasutatakse sisselogimiseks."
"NOTE": "Your email address is your identity and is used to log in."
},
"SEND_MESSAGE": {
"TITLE": "Kiirklahv sõnumite saatmiseks",
@@ -27,17 +27,17 @@
"CARD": {
"ENTER_KEY": {
"HEADING": "Sisesta (↵)",
"CONTENT": "Saada sõnum Enter-klahviga, mitte saatmisnuppu vajutades."
"CONTENT": "Send messages by pressing Enter key instead of clicking the send button."
},
"CMD_ENTER_KEY": {
"HEADING": "Cmd/Ctrl + Enter (⌘ + ↵)",
"CONTENT": "Sõnumite saatmine Cmd/Ctrl + Enter klahviga, mitte saatmisnuppu vajutades."
"CONTENT": "Send messages by pressing Cmd/Ctrl + enter key instead of clicking the send button."
}
}
},
"INTERFACE_SECTION": {
"TITLE": "Liides",
"NOTE": "Kohanda Chatwoot juhtpaneeli välimust ja kasutuskogemust.",
"NOTE": "Customize the look and feel of your Chatwoot dashboard.",
"FONT_SIZE": {
"TITLE": "Fondi suurus",
"NOTE": "Reguleeri teksti suurust kogu armatuurlaual vastavalt oma eelistustele.",
@@ -77,7 +77,7 @@
},
"PASSWORD_SECTION": {
"TITLE": "Parool",
"NOTE": "Parooli uuendamine logib sind välja kõigis seadmetes.",
"NOTE": "Updating your password would reset your logins in multiple devices.",
"BTN_TEXT": "Muuda parooli"
},
"SECURITY_SECTION": {
@@ -86,8 +86,8 @@
"MFA_BUTTON": "Manage Two-Factor Authentication"
},
"ACCESS_TOKEN": {
"TITLE": "Juurdepääsu token",
"NOTE": "Seda tokenit saab kasutada API-põhise integratsiooni loomisel.",
"TITLE": "Access Token",
"NOTE": "This token can be used if you are building an API based integration",
"COPY": "Kopeeri",
"RESET": "Lähtesta",
"CONFIRM_RESET": "Oled kindel?",
@@ -128,29 +128,29 @@
},
"CONDITIONS": {
"TITLE": "Hoiatusseisundid:",
"CONDITION_ONE": "Helimärguanded ainult siis, kui brauseri aken pole aktiivne",
"CONDITION_ONE": "Send audio alerts only if the browser window is not active",
"CONDITION_TWO": "Saada teavitusi iga 30 sekundi järel, kuni kõik määratud vestlused on loetud"
},
"SOUND_PERMISSION_ERROR": "Automaatsel mängimisel on sinu brauseris keelatud. Et kuulda teavitusi automaatselt, luba heliõigused brauseri seadetes või suhtle lehega.",
"READ_MORE": "Loe rohkem"
},
"EMAIL_NOTIFICATIONS_SECTION": {
"TITLE": "E-posti teavitused",
"NOTE": "Muuda siin oma e-posti teavituste eelistusi",
"CONVERSATION_ASSIGNMENT": "Saada e-posti teavitus, kui mulle määratakse vestlus",
"CONVERSATION_CREATION": "Saada e-posti teavitus, kui luuakse uus vestlus",
"CONVERSATION_MENTION": "Saada e-kirjaga teavitus, kui sind vestluses mainitakse",
"ASSIGNED_CONVERSATION_NEW_MESSAGE": "Saada e-kirjaga teavitus, kui määratud vestlusesse lisatakse uus sõnum",
"PARTICIPATING_CONVERSATION_NEW_MESSAGE": "Saada e-posti teavitus, kui osalevas vestluses luuakse uus sõnum",
"SLA_MISSED_FIRST_RESPONSE": "Saada e-kiri, kui vestlusel jääb esimese vastuse SLA täitmata",
"SLA_MISSED_NEXT_RESPONSE": "Saada e-kiri, kui vestlusel jääb järgmise vastuse SLA täitmata",
"SLA_MISSED_RESOLUTION": "Saada e-kiri, kui vestlusel jääb lahenduse SLA täitmata"
"TITLE": "Email Notifications",
"NOTE": "Update your email notification preferences here",
"CONVERSATION_ASSIGNMENT": "Send email notifications when a conversation is assigned to me",
"CONVERSATION_CREATION": "Send email notifications when a new conversation is created",
"CONVERSATION_MENTION": "Send email notifications when you are mentioned in a conversation",
"ASSIGNED_CONVERSATION_NEW_MESSAGE": "Send email notifications when a new message is created in an assigned conversation",
"PARTICIPATING_CONVERSATION_NEW_MESSAGE": "Send email notifications when a new message is created in a participating conversation",
"SLA_MISSED_FIRST_RESPONSE": "Send email notifications when a conversation misses first response SLA",
"SLA_MISSED_NEXT_RESPONSE": "Send email notifications when a conversation misses next response SLA",
"SLA_MISSED_RESOLUTION": "Send email notifications when a conversation misses resolution SLA"
},
"NOTIFICATIONS": {
"TITLE": "Teavituste eelistused",
"TYPE_TITLE": "Teavituse tüüp",
"TITLE": "Notification preferences",
"TYPE_TITLE": "Notification type",
"EMAIL": "E-post",
"PUSH": "Push-teavitus",
"PUSH": "Push notification",
"TYPES": {
"CONVERSATION_CREATED": "Luuakse uus vestlus",
"CONVERSATION_ASSIGNED": "Vestlus määratakse sulle",
@@ -161,25 +161,25 @@
"SLA_MISSED_NEXT_RESPONSE": "Vestlus ei vasta järgmisele SLA vastusele",
"SLA_MISSED_RESOLUTION": "Vestlus ei vasta lahenduse SLA nõuetele"
},
"BROWSER_PERMISSION": "Luba brauseri tõuketeavitused, et neid vastu võtta"
"BROWSER_PERMISSION": "Enable push notifications for your browser so you’re able to receive them"
},
"API": {
"UPDATE_SUCCESS": "Teavituste eelistused on edukalt uuendatud",
"UPDATE_SUCCESS": "Your notification preferences are updated successfully",
"UPDATE_ERROR": "Eelistuste uuendamisel tekkis viga, palun proovige uuesti"
},
"PUSH_NOTIFICATIONS_SECTION": {
"TITLE": "Push-teavitused",
"NOTE": "Muuda siin oma tõukemärguannete eelistusi",
"CONVERSATION_ASSIGNMENT": "Saada tõukemärguanne, kui vestlus määratakse mulle",
"CONVERSATION_CREATION": "Saada tõukemärguanne, kui luuakse uus vestlus",
"CONVERSATION_MENTION": "Saada tõuketeavitusi, kui sind vestluses mainitakse",
"ASSIGNED_CONVERSATION_NEW_MESSAGE": "Saada tõukemärguanne, kui määratud vestlusesse lisatakse uus sõnum",
"PARTICIPATING_CONVERSATION_NEW_MESSAGE": "Saada push-teavitus, kui osalevas vestluses luuakse uus sõnum",
"HAS_ENABLED_PUSH": "Tõukemärguanded on selles brauseris lubatud.",
"REQUEST_PUSH": "Luba tõukemärguanded",
"SLA_MISSED_FIRST_RESPONSE": "Saada push-teavitus, kui vestlusel jääb esimese vastuse SLA täitmata",
"SLA_MISSED_NEXT_RESPONSE": "Saada push-teavitus, kui vestlusel jääb järgmise vastuse SLA täitmata",
"SLA_MISSED_RESOLUTION": "Saada push-teavitus, kui vestlusel jääb lahenduse SLA täitmata"
"TITLE": "Push Notifications",
"NOTE": "Update your push notification preferences here",
"CONVERSATION_ASSIGNMENT": "Send push notifications when a conversation is assigned to me",
"CONVERSATION_CREATION": "Send push notifications when a new conversation is created",
"CONVERSATION_MENTION": "Send push notifications when you are mentioned in a conversation",
"ASSIGNED_CONVERSATION_NEW_MESSAGE": "Send push notifications when a new message is created in an assigned conversation",
"PARTICIPATING_CONVERSATION_NEW_MESSAGE": "Send push notifications when a new message is created in a participating conversation",
"HAS_ENABLED_PUSH": "You have enabled push for this browser.",
"REQUEST_PUSH": "Enable push notifications",
"SLA_MISSED_FIRST_RESPONSE": "Send push notifications when a conversation misses first response SLA",
"SLA_MISSED_NEXT_RESPONSE": "Send push notifications when a conversation misses next response SLA",
"SLA_MISSED_RESOLUTION": "Send push notifications when a conversation misses resolution SLA"
},
"PROFILE_IMAGE": {
"LABEL": "Profiilipilt"
@@ -237,7 +237,7 @@
"YEAR_IN_REVIEW": "Aasta ülevaade",
"KEYBOARD_SHORTCUTS": "Klaviatuuri otseteed",
"APPEARANCE": "Muuda välimust",
"SUPER_ADMIN_CONSOLE": "SuperAdmini konsool",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Loe dokumentatsiooni",
"CHANGELOG": "Muudatuste logi",
"LOGOUT": "Logi välja"
@@ -263,7 +263,7 @@
"COMPONENTS": {
"CODE": {
"BUTTON_TEXT": "Kopeeri",
"CODEPEN": "Ava CodePenis",
"CODEPEN": "Open in CodePen",
"COPY_SUCCESSFUL": "Kopeeritud lõikelauale"
},
"SHOW_MORE_BLOCK": {
@@ -321,10 +321,10 @@
"CAPTAIN_SETTINGS": "Seaded",
"HOME": "Avaleht",
"AGENTS": "Agendid",
"AGENT_BOTS": "Botid",
"AUDIT_LOGS": "Auditilogid",
"AGENT_BOTS": "Bots",
"AUDIT_LOGS": "Audit Logs",
"INBOXES": "Postkastid",
"NOTIFICATIONS": "Teavitused",
"NOTIFICATIONS": "Notifications",
"CANNED_RESPONSES": "Eelmääratud vastused",
"INTEGRATIONS": "Integratsioonid",
"PROFILE_SETTINGS": "Profiili seaded",
@@ -337,7 +337,7 @@
"TEAMS": "Meeskonnad",
"BILLING": "Arveldamine",
"CUSTOM_VIEWS_FOLDER": "Kaustad",
"CUSTOM_VIEWS_SEGMENTS": "Segmendid",
"CUSTOM_VIEWS_SEGMENTS": "Segments",
"ALL_CONTACTS": "Kõik kontaktid",
"TAGGED_WITH": "Sildistatud",
"NEW_LABEL": "Uus silt",
@@ -438,7 +438,7 @@
"TITLE": "Praegune plaan",
"PLAN_NOTE": "Oled hetkel tellinud **{plan}** plaani **{quantity}** litsentsiga",
"SEAT_COUNT": "Istmete arv",
"RENEWS_ON": "Uueneb kuupäeval"
"RENEWS_ON": "Renews on"
},
"VIEW_PRICING": "Vaata hindu",
"MANAGE_SUBSCRIPTION": {
@@ -448,7 +448,7 @@
},
"CAPTAIN": {
"TITLE": "Kapten",
"DESCRIPTION": "Halda Captain AI kasutust ja krediite.",
"DESCRIPTION": "Manage usage and credits for Captain AI.",
"BUTTON_TXT": "Osta rohkem krediite",
"DOCUMENTS": "Dokumendid",
"RESPONSES": "Responses",
@@ -610,7 +610,7 @@
}
},
"CREATE_ACCOUNT": {
"NO_ACCOUNT_WARNING": "Oih! Ühtegi Chatwoot kontot ei leitud. Jätkamiseks loo uus konto.",
"NO_ACCOUNT_WARNING": "Uh oh! We could not find any Chatwoot accounts. Please create a new account to continue.",
"NEW_ACCOUNT": "Uus konto",
"SELECTOR_SUBTITLE": "Loo uus konto",
"API": {
@@ -1,61 +1,61 @@
{
"CONTACT_PANEL": {
"NOT_AVAILABLE": "Առկա չէ",
"EMAIL_ADDRESS": "Էլեկտրոնային հասցե",
"PHONE_NUMBER": "Հեռախոսահամար",
"IDENTIFIER": "Համակարգիչ",
"COPY_SUCCESSFUL": "Հաջողությամբ պատճենվեց սեղմատախտակում",
"COMPANY": "Ընկերություն",
"LOCATION": "Տեղանք",
"NOT_AVAILABLE": "Not Available",
"EMAIL_ADDRESS": "Email Address",
"PHONE_NUMBER": "Phone number",
"IDENTIFIER": "Identifier",
"COPY_SUCCESSFUL": "Copied to clipboard successfully",
"COMPANY": "Company",
"LOCATION": "Location",
"BROWSER_LANGUAGE": "Browser Language",
"CONVERSATION_TITLE": "Հաղորդակցության մանրամասներ",
"CONVERSATION_TITLE": "Conversation Details",
"VIEW_PROFILE": "View Profile",
"BROWSER": "Browser",
"OS": "Operating System",
"INITIATED_FROM": "Սկսվել է՝",
"INITIATED_AT": "Սկսվել է՝",
"IP_ADDRESS": "IP հասցե",
"CREATED_AT_LABEL": "Ստեղծվել է",
"NEW_MESSAGE": "Նոր հաղորդագրություն",
"CALL": "Զանգ",
"CALL_INITIATED": "Զանգը սկսվում է…",
"CALL_FAILED": "Չհաջողվեց սկսել զանգը։ Խնդրում ենք փորձել կրկին։",
"INITIATED_FROM": "Initiated from",
"INITIATED_AT": "Initiated at",
"IP_ADDRESS": "IP Address",
"CREATED_AT_LABEL": "Created",
"NEW_MESSAGE": "New message",
"CALL": "Call",
"CALL_INITIATED": "Calling the contact…",
"CALL_FAILED": "Unable to start the call. Please try again.",
"VOICE_INBOX_PICKER": {
"TITLE": "Ընտրեք ձայնային մուտքագրման արկղը"
"TITLE": "Choose a voice inbox"
},
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "There are no previous conversations associated to this contact.",
"TITLE": "Նախորդ զրույցներ"
"TITLE": "Previous Conversations"
},
"LABELS": {
"CONTACT": {
"TITLE": "Կապի պիտակներ",
"ERROR": "Չհաջողվեց թարմացնել պիտակները"
"TITLE": "Contact Labels",
"ERROR": "Couldn't update labels"
},
"CONVERSATION": {
"TITLE": "Հաղորդակցության պիտակներ",
"ADD_BUTTON": "Ավելացնել պիտակներ"
"TITLE": "Conversation Labels",
"ADD_BUTTON": "Add Labels"
},
"LABEL_SELECT": {
"TITLE": "Ավելացնել պիտակներ",
"PLACEHOLDER": "Որոնել պիտակներ",
"NO_RESULT": "Պիտակներ չեն գտնվել",
"CREATE_LABEL": "Ստեղծել նոր պիտակ"
"TITLE": "Add Labels",
"PLACEHOLDER": "Search labels",
"NO_RESULT": "No labels found",
"CREATE_LABEL": "Create new label"
}
},
"MERGE_CONTACT": "Միավորել կապը",
"CONTACT_ACTIONS": "Կապի գործողություններ",
"MERGE_CONTACT": "Merge contact",
"CONTACT_ACTIONS": "Contact actions",
"MUTE_CONTACT": "Block Contact",
"UNMUTE_CONTACT": "Unblock Contact",
"MUTED_SUCCESS": "Այս շփումը հաջողությամբ արգելափակվեց։ Դուք այլևս ծանուցումներ չեք ստանա ապագա զրույցների մասին։",
"MUTED_SUCCESS": "This contact is blocked successfully. You will not be notified of any future conversations.",
"UNMUTED_SUCCESS": "This contact is unblocked successfully.",
"SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "Խմբագրել",
"EDIT_LABEL": "Edit",
"SIDEBAR_SECTIONS": {
"CUSTOM_ATTRIBUTES": "Հատուկ հատկություններ",
"CONTACT_LABELS": "Կապի պիտակներ",
"PREVIOUS_CONVERSATIONS": "Նախորդ զրույցներ",
"NO_RECORDS_FOUND": "Հայտնաբերված հատկություններ չկան"
"CUSTOM_ATTRIBUTES": "Custom Attributes",
"CONTACT_LABELS": "Contact Labels",
"PREVIOUS_CONVERSATIONS": "Previous Conversations",
"NO_RECORDS_FOUND": "No attributes found"
}
},
"EDIT_CONTACT": {
@@ -64,67 +64,67 @@
"DESC": "Edit contact details"
},
"DELETE_CONTACT": {
"BUTTON_LABEL": "Ջնջել կապը",
"TITLE": "Ջնջել կապը",
"DESC": "Ջնջել կապի մանրամասները",
"BUTTON_LABEL": "Delete Contact",
"TITLE": "Delete contact",
"DESC": "Delete contact details",
"CONFIRM": {
"TITLE": "Հաստատել ջնջումը",
"MESSAGE": "Վստա՞հ եք, որ ցանկանում եք ջնջել ",
"YES": "Այո, Ջնջել",
"NO": "Ոչ, Պահպանել"
"TITLE": "Confirm Deletion",
"MESSAGE": "Are you sure to delete ",
"YES": "Yes, Delete",
"NO": "No, Keep"
},
"API": {
"SUCCESS_MESSAGE": "Կապը հաջողությամբ ջնջվեց",
"ERROR_MESSAGE": "Չհաջողվեց ջնջել կապը։ Խնդրում ենք փորձել ավելի ուշ։"
"SUCCESS_MESSAGE": "Contact deleted successfully",
"ERROR_MESSAGE": "Could not delete contact. Please try again later."
}
},
"CONTACT_FORM": {
"FORM": {
"SUBMIT": "Ուղարկել",
"CANCEL": "Չեղարկել",
"SUBMIT": "Submit",
"CANCEL": "Cancel",
"AVATAR": {
"LABEL": "Contact Avatar"
},
"NAME": {
"PLACEHOLDER": "Enter the full name of the contact",
"LABEL": "Ամբողջական անուն"
"LABEL": "Full Name"
},
"BIO": {
"PLACEHOLDER": "Enter the bio of the contact",
"LABEL": "Կենսագրություն"
"LABEL": "Bio"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Մուտքագրեք շփման էլ. փոստի հասցեն",
"LABEL": "Էլեկտրոնային հասցե",
"DUPLICATE": "Այս էլ. փոստի հասցեն օգտագործվում է մեկ այլ շփման համար։",
"ERROR": "Խնդրում ենք մուտքագրել վավեր էլ. հասցե։"
"PLACEHOLDER": "Enter the email address of the contact",
"LABEL": "Email Address",
"DUPLICATE": "This email address is in use for another contact.",
"ERROR": "Please enter a valid email address."
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Enter the phone number of the contact",
"LABEL": "Հեռախոսահամար",
"LABEL": "Phone Number",
"HELP": "Phone number should be of E.164 format eg: +1415555555 [+][country code][area code][local phone number]",
"ERROR": "Հեռախոսահամարը պետք է լինի դատարկ կամ E.164 ձևաչափով",
"ERROR": "Phone number should be either empty or of E.164 format",
"DIAL_CODE_ERROR": "Please select a dial code from the list",
"DUPLICATE": "This phone number is in use for another contact."
},
"LOCATION": {
"PLACEHOLDER": "Enter the location of the contact",
"LABEL": "Տեղանք"
"LABEL": "Location"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Մուտքագրեք ընկերության անունը",
"LABEL": "Ընկերության անուն"
"PLACEHOLDER": "Enter the company name",
"LABEL": "Company Name"
},
"COUNTRY": {
"PLACEHOLDER": "Մուտքագրեք երկրի անունը",
"LABEL": "Երկրի անուն",
"SELECT_PLACEHOLDER": "Ընտրել",
"REMOVE": "Հեռացնել",
"SELECT_COUNTRY": "Ընտրեք երկիրը"
"PLACEHOLDER": "Enter the country name",
"LABEL": "Country Name",
"SELECT_PLACEHOLDER": "Select",
"REMOVE": "Remove",
"SELECT_COUNTRY": "Select Country"
},
"CITY": {
"PLACEHOLDER": "Մուտքագրեք քաղաքի անունը",
"LABEL": "Քաղաքի անուն"
"PLACEHOLDER": "Enter the city name",
"LABEL": "City Name"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
@@ -151,42 +151,42 @@
"ERROR_MESSAGE": "Could not delete the contact avatar. Please try again later."
}
},
"SUCCESS_MESSAGE": "Կապը հաջողությամբ պահպանվեց",
"ERROR_MESSAGE": "Սխալ է տեղի ունեցել, խնդրում ենք կրկին փորձել"
"SUCCESS_MESSAGE": "Contact saved successfully",
"ERROR_MESSAGE": "There was an error, please try again"
},
"NEW_CONVERSATION": {
"BUTTON_LABEL": "Սկսել զրույցը",
"TITLE": "Նոր զրույց",
"DESC": "Սկսեք նոր զրույց՝ ուղարկելով նոր հաղորդագրություն։",
"BUTTON_LABEL": "Start conversation",
"TITLE": "New conversation",
"DESC": "Start a new conversation by sending a new message.",
"NO_INBOX": "Couldn't find an inbox to initiate a new conversation with this contact.",
"FORM": {
"TO": {
"LABEL": "Ուղղությամբ"
"LABEL": "To"
},
"INBOX": {
"LABEL": "Inbox",
"PLACEHOLDER": "Ընտրեք աղբյուրի փոստարկղը",
"ERROR": "Ընտրեք մուտքուղի"
"PLACEHOLDER": "Choose source inbox",
"ERROR": "Select an inbox"
},
"SUBJECT": {
"LABEL": "Թեմա",
"PLACEHOLDER": "Թեմա",
"ERROR": "Թեման չի կարող դատարկ լինել"
"LABEL": "Subject",
"PLACEHOLDER": "Subject",
"ERROR": "Subject can't be empty"
},
"MESSAGE": {
"LABEL": "Հաղորդագրություն",
"PLACEHOLDER": "Գրեք ձեր հաղորդագրությունը այստեղ",
"ERROR": "Հաղորդագրությունը չի կարող դատարկ լինել"
"LABEL": "Message",
"PLACEHOLDER": "Write your message here",
"ERROR": "Message can't be empty"
},
"ATTACHMENTS": {
"SELECT": "Choose files",
"HELP_TEXT": "Drag and drop files here or choose files to attach"
},
"SUBMIT": "Ուղարկել հաղորդագրություն",
"CANCEL": "Չեղարկել",
"SUCCESS_MESSAGE": "Հաղորդագրությունը ուղարկվեց։",
"GO_TO_CONVERSATION": "Դիտել",
"ERROR_MESSAGE": "Չհաջողվեց ուղարկել։ Փորձեք կրկին"
"SUBMIT": "Send message",
"CANCEL": "Cancel",
"SUCCESS_MESSAGE": "Message sent!",
"GO_TO_CONVERSATION": "View",
"ERROR_MESSAGE": "Couldn't send! try again"
}
},
"CONTACTS_PAGE": {
@@ -197,61 +197,61 @@
}
},
"CUSTOM_ATTRIBUTES": {
"BUTTON": "Ավելացնել հարմարեցված հատկություն",
"COPY_SUCCESSFUL": "Հաջողությամբ պատճենվեց տուփում",
"SHOW_MORE": "Ցույց տալ բոլոր հատկությունները",
"SHOW_LESS": "Ցույց տալ քիչ հատկություններ",
"BUTTON": "Add custom attribute",
"COPY_SUCCESSFUL": "Copied to clipboard successfully",
"SHOW_MORE": "Show all attributes",
"SHOW_LESS": "Show less attributes",
"ACTIONS": {
"COPY": "Պատճենել հատկությունը",
"DELETE": "Ջնջել հատկությունը",
"EDIT": "Խմբագրել հատկությունը"
"COPY": "Copy attribute",
"DELETE": "Delete attribute",
"EDIT": "Edit attribute"
},
"ADD": {
"TITLE": "Ստեղծել հարմարեցված հատկություն",
"TITLE": "Create custom attribute",
"DESC": "Add custom information to this contact."
},
"FORM": {
"CREATE": "Ավելացնել հատկանիշ",
"CANCEL": "Չեղարկել",
"CREATE": "Add attribute",
"CANCEL": "Cancel",
"NAME": {
"LABEL": "Հատուկ հատկանիշի անուն",
"LABEL": "Custom attribute name",
"PLACEHOLDER": "Eg: shopify id",
"ERROR": "Անվավեր հարմարեցված հատկության անուն"
"ERROR": "Invalid custom attribute name"
},
"VALUE": {
"LABEL": "Հատկության արժեք",
"PLACEHOLDER": "Օրինակ՝ 11901 "
"LABEL": "Attribute value",
"PLACEHOLDER": "Eg: 11901 "
},
"ADD": {
"TITLE": "Ստեղծել նոր հատկություն ",
"SUCCESS": "Հատկությունը հաջողությամբ ավելացվեց",
"ERROR": "Հատկությունը ավելացնել հնարավոր չէ։ Խնդրում ենք փորձել ավելի ուշ"
"TITLE": "Create new attribute ",
"SUCCESS": "Attribute added successfully",
"ERROR": "Unable to add attribute. Please try again later"
},
"UPDATE": {
"SUCCESS": "Հատկությունը հաջողությամբ թարմացվեց",
"ERROR": "Հատկությունը թարմացնել հնարավոր չէ։ Խնդրում ենք փորձել ավելի ուշ"
"SUCCESS": "Attribute updated successfully",
"ERROR": "Unable to update attribute. Please try again later"
},
"DELETE": {
"SUCCESS": "Հատկությունը հաջողությամբ ջնջվեց",
"ERROR": "Չհաջողվեց ջնջել հատկությունը։ Խնդրում ենք փորձել ավելի ուշ"
"SUCCESS": "Attribute deleted successfully",
"ERROR": "Unable to delete attribute. Please try again later"
},
"ATTRIBUTE_SELECT": {
"TITLE": "Ավելացնել հատկություններ",
"PLACEHOLDER": "Որոնել հատկություններ",
"NO_RESULT": "Հատկություններ չեն գտնվել"
"TITLE": "Add attributes",
"PLACEHOLDER": "Search attributes",
"NO_RESULT": "No attributes found"
},
"ATTRIBUTE_TYPE": {
"LIST": {
"PLACEHOLDER": "Ընտրել արժեքը",
"PLACEHOLDER": "Select value",
"SEARCH_INPUT_PLACEHOLDER": "Search value",
"NO_RESULT": "Արդյունք չի գտնվել"
"NO_RESULT": "No result found"
}
}
},
"VALIDATIONS": {
"REQUIRED": "Պահանջվում է վավեր արժեք",
"INVALID_URL": "Անվավեր URL",
"INVALID_INPUT": "Անվավեր մուտք"
"REQUIRED": "Valid value is required",
"INVALID_URL": "Invalid URL",
"INVALID_INPUT": "Invalid Input"
}
},
"MERGE_CONTACTS": {
@@ -259,46 +259,46 @@
"DESCRIPTION": "Merge contacts to combine two profiles into one, including all attributes and conversations. In case of conflict, the Primary contact’ s attributes will take precedence.",
"PRIMARY": {
"TITLE": "Primary contact",
"HELP_LABEL": "Ջնջվելու է"
"HELP_LABEL": "To be deleted"
},
"PARENT": {
"TITLE": "Contact to merge",
"PLACEHOLDER": "Search for a contact",
"HELP_LABEL": "Պահպանվելու է"
"HELP_LABEL": "To be kept"
},
"SUMMARY": {
"TITLE": "Ամփոփում",
"TITLE": "Summary",
"DELETE_WARNING": "Contact of <strong>{primaryContactName}</strong> will be deleted.",
"ATTRIBUTE_WARNING": "<strong>{primaryContactName}</strong> շփման մանրամասները կպատճենվեն <strong>{parentContactName}</strong> շփման մեջ։"
"ATTRIBUTE_WARNING": "Contact details of <strong>{primaryContactName}</strong> will be copied to <strong>{parentContactName}</strong>."
},
"SEARCH": {
"ERROR_MESSAGE": "Ինչ-որ բան սխալ է տեղի ունեցել։ Խնդրում ենք փորձել ավելի ուշ։"
"ERROR_MESSAGE": "Something went wrong. Please try again later."
},
"FORM": {
"SUBMIT": " Merge contacts",
"CANCEL": "Չեղարկել",
"CANCEL": "Cancel",
"CHILD_CONTACT": {
"ERROR": "Ընտրեք ենթաշփման միաձուլելու համար"
"ERROR": "Select a child contact to merge"
},
"SUCCESS_MESSAGE": "Contact merged successfully",
"ERROR_MESSAGE": "Could not merge contacts, try again!"
},
"DROPDOWN_ITEM": {
"ID": "(ՀՎԱՏԱՐԱՐՈՒԹՅՈՒՆ՝ {identifier})"
"ID": "(ID: {identifier})"
}
},
"CONTACTS_LAYOUT": {
"HEADER": {
"TITLE": "Կապեր",
"TITLE": "Contacts",
"SEARCH_TITLE": "Search contacts",
"ACTIVE_TITLE": "Active contacts",
"SEARCH_PLACEHOLDER": "Որոնել...",
"MESSAGE_BUTTON": "Հաղորդագրություն",
"SEND_MESSAGE": "Ուղարկել հաղորդագրություն",
"SEARCH_PLACEHOLDER": "Search...",
"MESSAGE_BUTTON": "Message",
"SEND_MESSAGE": "Send message",
"BLOCK_CONTACT": "Block contact",
"UNBLOCK_CONTACT": "Unblock contact",
"BREADCRUMB": {
"CONTACTS": "Կապեր"
"CONTACTS": "Contacts"
},
"ACTIONS": {
"CONTACT_CREATION": {
@@ -306,9 +306,9 @@
"EXPORT_CONTACT": "Export contacts",
"IMPORT_CONTACT": "Import contacts",
"SAVE_CONTACT": "Save contact",
"EMAIL_ADDRESS_DUPLICATE": "Այս էլ. փոստի հասցեն օգտագործվում է մեկ այլ շփման համար։",
"EMAIL_ADDRESS_DUPLICATE": "This email address is in use for another contact.",
"PHONE_NUMBER_DUPLICATE": "This phone number is in use for another contact.",
"SUCCESS_MESSAGE": "Կապը հաջողությամբ պահպանվեց",
"SUCCESS_MESSAGE": "Contact saved successfully",
"ERROR_MESSAGE": "Unable to save contact. Please try again later."
},
"BLOCK_SUCCESS_MESSAGE": "This contact is blocked successfully",
@@ -318,57 +318,57 @@
"IMPORT_CONTACT": {
"TITLE": "Import contacts",
"DESCRIPTION": "Import contacts through a CSV file.",
"DOWNLOAD_LABEL": "Ներբեռնեք օրինակային csv նմուշ։",
"LABEL": "CSV ֆայլ:",
"DOWNLOAD_LABEL": "Download a sample csv.",
"LABEL": "CSV File:",
"CHOOSE_FILE": "Choose file",
"CHANGE": "Փոխել",
"CANCEL": "Չեղարկել",
"IMPORT": "Ներմուծել",
"SUCCESS_MESSAGE": "Ներմուծման ավարտի մասին կստանաք էլեկտրոնային նամակ։",
"ERROR_MESSAGE": "Սխալ է տեղի ունեցել, խնդրում ենք փորձել կրկին"
"CHANGE": "Change",
"CANCEL": "Cancel",
"IMPORT": "Import",
"SUCCESS_MESSAGE": "You will be notified via email when the import is complete.",
"ERROR_MESSAGE": "There was an error, please try again"
},
"EXPORT_CONTACT": {
"TITLE": "Export contacts",
"DESCRIPTION": "Արագ արտահանեք շփումների մանրամասնություններով csv ֆայլ",
"CONFIRM": "Արտահանել",
"DESCRIPTION": "Quickly export a csv file with comprehensive details of your contacts",
"CONFIRM": "Export",
"SUCCESS_MESSAGE": "Export is in progress, You will be notified via email when export file is ready to dowanlod.",
"ERROR_MESSAGE": "Սխալ է տեղի ունեցել, խնդրում ենք կրկին փորձել"
"ERROR_MESSAGE": "There was an error, please try again"
},
"SORT_BY": {
"LABEL": "Տեսակավորել ըստ",
"LABEL": "Sort by",
"OPTIONS": {
"NAME": "Անուն",
"EMAIL": "Էլեկտրոնային հասցե",
"PHONE_NUMBER": "Հեռախոսահամար",
"COMPANY": "Ընկերություն",
"COUNTRY": "Երկիր",
"CITY": "Քաղաք",
"LAST_ACTIVITY": "Վերջին ակտիվություն",
"CREATED_AT": "Ստեղծվել է"
"NAME": "Name",
"EMAIL": "Email",
"PHONE_NUMBER": "Phone number",
"COMPANY": "Company",
"COUNTRY": "Country",
"CITY": "City",
"LAST_ACTIVITY": "Last activity",
"CREATED_AT": "Created at"
}
},
"ORDER": {
"LABEL": "Տեսակավորում",
"LABEL": "Ordering",
"OPTIONS": {
"ASCENDING": "Աճման կարգով",
"DESCENDING": "Նվազման կարգով"
"ASCENDING": "Ascending",
"DESCENDING": "Descending"
}
},
"FILTERS": {
"CREATE_SEGMENT": {
"TITLE": "Ցանկանու՞մ եք պահպանել այս ֆիլտրը:",
"CONFIRM": "Պահպանել զտիչը",
"LABEL": "Անուն",
"TITLE": "Do you want to save this filter?",
"CONFIRM": "Save filter",
"LABEL": "Name",
"PLACEHOLDER": "Enter the name of the filter",
"ERROR": "Մուտքագրեք վավեր անուն",
"ERROR": "Enter a valid name",
"SUCCESS_MESSAGE": "Filter saved successfully",
"ERROR_MESSAGE": "Unable to save filter. Please try again later."
},
"DELETE_SEGMENT": {
"TITLE": "Հաստատել ջնջումը",
"TITLE": "Confirm Deletion",
"DESCRIPTION": "Are you sure you want to delete this filter?",
"CONFIRM": "Այո, ջնջել",
"CANCEL": "Ոչ, չեղարկել",
"CONFIRM": "Yes, Delete",
"CANCEL": "No, Cancel",
"SUCCESS_MESSAGE": "Filter deleted successfully",
"ERROR_MESSAGE": "Unable to delete filter. Please try again later."
}
@@ -379,66 +379,66 @@
"SHOWING": "Showing {startItem} - {endItem} of {totalItems} contacts"
},
"FILTER": {
"NAME": "Անուն",
"EMAIL": "Էլեկտրոնային հասցե",
"PHONE_NUMBER": "Հեռախոսահամար",
"IDENTIFIER": "Նույնացուցիչ",
"COUNTRY": "Երկիր",
"CITY": "Քաղաք",
"CREATED_AT": "Ստեղծվել է",
"LAST_ACTIVITY": "Վերջին ակտիվություն",
"REFERER_LINK": "Հղման հասցե",
"BLOCKED": "Արգելափակված",
"BLOCKED_TRUE": "Այո",
"BLOCKED_FALSE": "Ոչ",
"NAME": "Name",
"EMAIL": "Email",
"PHONE_NUMBER": "Phone number",
"IDENTIFIER": "Identifier",
"COUNTRY": "Country",
"CITY": "City",
"CREATED_AT": "Created at",
"LAST_ACTIVITY": "Last activity",
"REFERER_LINK": "Referer link",
"BLOCKED": "Blocked",
"BLOCKED_TRUE": "True",
"BLOCKED_FALSE": "False",
"BUTTONS": {
"CLEAR_FILTERS": "Մաքրել զտիչները",
"UPDATE_SEGMENT": "Թարմացնել հատվածը",
"APPLY_FILTERS": "Կիրառել զտիչները",
"ADD_FILTER": "Ավելացնել դիտակետ"
"CLEAR_FILTERS": "Clear filters",
"UPDATE_SEGMENT": "Update segment",
"APPLY_FILTERS": "Apply filters",
"ADD_FILTER": "Add filter"
},
"TITLE": "Զտել շփումները",
"EDIT_SEGMENT": "Խմբագրել հատվածը",
"TITLE": "Filter contacts",
"EDIT_SEGMENT": "Edit segment",
"SEGMENT": {
"LABEL": "Հատվածի անունը",
"INPUT_PLACEHOLDER": "Մուտքագրեք հատվածի անունը"
"LABEL": "Segment name",
"INPUT_PLACEHOLDER": "Enter the name of the segment"
},
"ACTIVE_FILTERS": {
"MORE_FILTERS": "+ {count} more filters",
"CLEAR_FILTERS": "Մաքրել զտիչները"
"CLEAR_FILTERS": "Clear filters"
}
},
"CARD": {
"OF": "of",
"VIEW_DETAILS": "Դիտել մանրամասները",
"VIEW_DETAILS": "View details",
"EDIT_DETAILS_FORM": {
"TITLE": "Edit contact details",
"FORM": {
"FIRST_NAME": {
"PLACEHOLDER": "Մուտքագրեք անունը"
"PLACEHOLDER": "Enter the first name"
},
"LAST_NAME": {
"PLACEHOLDER": "Մուտքագրեք ազգանունը"
"PLACEHOLDER": "Enter the last name"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Մուտքագրեք էլեկտրոնային հասցեն",
"DUPLICATE": "Այս էլ. փոստի հասցեն օգտագործվում է մեկ այլ շփման համար։"
"PLACEHOLDER": "Enter the email address",
"DUPLICATE": "This email address is in use for another contact."
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Մուտքագրեք հեռախոսահամարը",
"PLACEHOLDER": "Enter the phone number",
"DUPLICATE": "This phone number is in use for another contact."
},
"CITY": {
"PLACEHOLDER": "Մուտքագրեք քաղաքի անունը"
"PLACEHOLDER": "Enter the city name"
},
"COUNTRY": {
"PLACEHOLDER": "Ընտրեք երկիրը"
"PLACEHOLDER": "Select country"
},
"BIO": {
"PLACEHOLDER": "Մուտքագրեք կենսագրությունը"
"PLACEHOLDER": "Enter the bio"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Մուտքագրեք ընկերության անունը"
"PLACEHOLDER": "Enter the company name"
}
},
"UPDATE_BUTTON": "Update contact",
@@ -446,7 +446,7 @@
"ERROR_MESSAGE": "Unable to update contact. Please try again later."
},
"SOCIAL_MEDIA": {
"TITLE": "Խմբագրել սոցիալական հղումները",
"TITLE": "Edit social links",
"FORM": {
"FACEBOOK": {
"PLACEHOLDER": "Add Facebook"
@@ -472,22 +472,22 @@
}
},
"DELETE_CONTACT": {
"MESSAGE": "Այս գործողությունը մշտական է և անշրջելի։",
"BUTTON": "Ջնջել հիմա"
"MESSAGE": "This action is permanent and irreversible.",
"BUTTON": "Delete now"
}
},
"DETAILS": {
"CREATED_AT": "Ստեղծվել է {date}",
"CREATED_AT": "Created {date}",
"LAST_ACTIVITY": "Last active {date}",
"DELETE_CONTACT_DESCRIPTION": "Մշտապես ջնջեք այս շփումը։ Այս գործողությունը անշրջելի է",
"DELETE_CONTACT": "Ջնջել կապը",
"DELETE_CONTACT_DESCRIPTION": "Permanently delete this contact. This action is irreversible",
"DELETE_CONTACT": "Delete contact",
"DELETE_DIALOG": {
"TITLE": "Հաստատել ջնջումը",
"TITLE": "Confirm Deletion",
"DESCRIPTION": "Are you sure you want to delete this contact?",
"CONFIRM": "Այո, ջնջել",
"CONFIRM": "Yes, Delete",
"API": {
"SUCCESS_MESSAGE": "Կապը հաջողությամբ ջնջվեց",
"ERROR_MESSAGE": "Չհաջողվեց ջնջել կապը։ Խնդրում ենք փորձել ավելի ուշ։"
"SUCCESS_MESSAGE": "Contact deleted successfully",
"ERROR_MESSAGE": "Could not delete contact. Please try again later."
}
},
"AVATAR": {
@@ -496,163 +496,163 @@
"SUCCESS_MESSAGE": "Avatar uploaded successfully"
},
"DELETE": {
"SUCCESS_MESSAGE": "Պատկերը հաջողությամբ ջնջվեց",
"ERROR_MESSAGE": "Չհաջողվեց ջնջել պատկերը։ Խնդրում ենք փորձել ավելի ուշ։"
"SUCCESS_MESSAGE": "Avatar deleted successfully",
"ERROR_MESSAGE": "Could not delete avatar. Please try again later."
}
}
},
"SIDEBAR": {
"TABS": {
"ATTRIBUTES": "Գործոններ",
"HISTORY": "Պատմություն",
"NOTES": "Նշումներ",
"MERGE": "Միավորել"
"ATTRIBUTES": "Attributes",
"HISTORY": "History",
"NOTES": "Notes",
"MERGE": "Merge"
},
"HISTORY": {
"EMPTY_STATE": "There are no previous conversations associated to this contact"
},
"ATTRIBUTES": {
"SEARCH_PLACEHOLDER": "Որոնել հատկանիշներ",
"UNUSED_ATTRIBUTES": "{count} Օգտագործված հատկանիշ | {count} Չօգտագործված հատկանիշներ",
"SEARCH_PLACEHOLDER": "Search for attributes",
"UNUSED_ATTRIBUTES": "{count} Used attribute | {count} Unused attributes",
"EMPTY_STATE": "There are no contact custom attributes available in this account. You can create a custom attribute in settings.",
"YES": "Այո",
"NO": "Ոչ",
"YES": "Yes",
"NO": "No",
"TRIGGER": {
"SELECT": "Ընտրեք արժեքը",
"INPUT": "Մուտքագրեք արժեքը"
"SELECT": "Select value",
"INPUT": "Enter value"
},
"VALIDATIONS": {
"INVALID_NUMBER": "Անվավեր թիվ",
"REQUIRED": "Պահանջվում է վավեր արժեք",
"INVALID_INPUT": "Անվավեր մուտքագրում",
"INVALID_URL": "Անվավեր URL",
"INVALID_DATE": "Անվավեր ամսաթիվ"
"INVALID_NUMBER": "Invalid number",
"REQUIRED": "Valid value is required",
"INVALID_INPUT": "Invalid input",
"INVALID_URL": "Invalid URL",
"INVALID_DATE": "Invalid date"
},
"NO_ATTRIBUTES": "Հատկություններ չեն գտնվել",
"NO_ATTRIBUTES": "No attributes found",
"API": {
"SUCCESS_MESSAGE": "Հատկությունը հաջողությամբ թարմացվեց",
"DELETE_SUCCESS_MESSAGE": "Գույքը հաջողությամբ ջնջվեց",
"UPDATE_ERROR": "Չհաջողվեց թարմացնել գույքը։ Խնդրում ենք փորձել ավելի ուշ",
"DELETE_ERROR": "Չհաջողվեց ջնջել գույքը։ Խնդրում ենք փորձել ավելի ուշ"
"SUCCESS_MESSAGE": "Attribute updated successfully",
"DELETE_SUCCESS_MESSAGE": "Attribute deleted successfully",
"UPDATE_ERROR": "Unable to update attribute. Please try again later",
"DELETE_ERROR": "Unable to delete attribute. Please try again later"
}
},
"MERGE": {
"TITLE": "Միավորել կապը",
"DESCRIPTION": "Միացրեք երկու պրոֆիլ մեկում՝ ներառյալ բոլոր հատկանիշներն ու զրույցները։ Կոնֆլիկտի դեպքում առաջնային շփման հատկանիշներն ունեն առավելություն։",
"TITLE": "Merge contact",
"DESCRIPTION": "Combine two profiles into one, including all attributes and conversations. In case of conflict, the primary contact’s attributes will take precedence.",
"PRIMARY": "Primary contact",
"PRIMARY_HELP_LABEL": "Պահպանվելու է",
"PRIMARY_REQUIRED_ERROR": "Խնդրում ենք ընտրել մի շփում միաձուլելու համար, նախքան շարունակելը",
"PARENT": "Միաձուլվելու է",
"PARENT_HELP_LABEL": "Ջնջվելու է",
"EMPTY_STATE": "Կապեր չեն գտնվել",
"PLACEHOLDER": "Որոնել հիմնական կապը",
"SEARCH_PLACEHOLDER": "Որոնել կապ",
"PRIMARY_HELP_LABEL": "To be saved",
"PRIMARY_REQUIRED_ERROR": "Please select a contact to merge with before proceeding",
"PARENT": "To be merged",
"PARENT_HELP_LABEL": "To be deleted",
"EMPTY_STATE": "No contacts found",
"PLACEHOLDER": "Search for primary contact",
"SEARCH_PLACEHOLDER": "Search for a contact",
"SEARCH_ERROR_MESSAGE": "Could not search for contacts. Please try again later.",
"SUCCESS_MESSAGE": "Contact merged successfully",
"ERROR_MESSAGE": "Could not merge contacts, try again!",
"IS_SEARCHING": "Որոնվում է...",
"IS_SEARCHING": "Searching...",
"BUTTONS": {
"CANCEL": "Չեղարկել",
"CONFIRM": "Միավորել կապը"
"CANCEL": "Cancel",
"CONFIRM": "Merge contact"
}
},
"NOTES": {
"PLACEHOLDER": "Ավելացնել նշում",
"WROTE": "գրել է",
"YOU": "Դուք",
"SAVE": "Պահպանել նշումը",
"PLACEHOLDER": "Add a note",
"WROTE": "wrote",
"YOU": "You",
"SAVE": "Save note",
"ADD_NOTE": "Add contact note",
"EXPAND": "Բացել",
"COLLAPSE": "Փակել",
"EXPAND": "Expand",
"COLLAPSE": "Collapse",
"NO_NOTES": "No notes, you can add notes from the contact details page.",
"EMPTY_STATE": "Այս շփման հետ կապված նշումներ չկան։ Կարող եք ավելացնել նշում՝ վերևի տուփում գրելով։",
"CONVERSATION_EMPTY_STATE": "Նշումներ դեռ չկան։ Օգտագործեք «Ավելացնել նշում» կոճակը՝ նոր նշում ստեղծելու համար։"
"EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.",
"CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one."
}
},
"EMPTY_STATE": {
"TITLE": "No contacts found in this account",
"SUBTITLE": "Start adding new contacts by clicking on the button below",
"BUTTON_LABEL": "Add contact",
"SEARCH_EMPTY_STATE_TITLE": "Ձեր որոնմանը համապատասխան շփումներ չկան 🔍",
"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 🌙"
},
"LOAD_MORE": "Բեռնել ավելին"
"LOAD_MORE": "Load more"
},
"CONTACTS_BULK_ACTIONS": {
"ASSIGN_LABELS": "Նշումներ նշանակել",
"ASSIGN_LABELS_SUCCESS": "Նշումները հաջողությամբ նշանակվեցին։",
"ASSIGN_LABELS_FAILED": "Հնարավոր չեղավ նշանակել պիտակները",
"ASSIGN_LABELS": "Assign Labels",
"ASSIGN_LABELS_SUCCESS": "Labels assigned successfully.",
"ASSIGN_LABELS_FAILED": "Failed to assign labels",
"DESCRIPTION": "Select the labels you want to add to the selected contacts.",
"NO_LABELS_FOUND": "Դեռ պիտակներ չկան։",
"SELECTED_COUNT": "{count} ընտրված",
"CLEAR_SELECTION": "Մաքրել ընտրությունը",
"SELECT_ALL": "Ընտրել բոլորը ({count})",
"DELETE_CONTACTS": "Ջնջել",
"DELETE_SUCCESS": "Կապերը հաջողությամբ ջնջվեցին։",
"DELETE_FAILED": "Չհաջողվեց ջնջել կապերը։",
"NO_LABELS_FOUND": "No labels available yet.",
"SELECTED_COUNT": "{count} selected",
"CLEAR_SELECTION": "Clear selection",
"SELECT_ALL": "Select all ({count})",
"DELETE_CONTACTS": "Delete",
"DELETE_SUCCESS": "Contacts deleted successfully.",
"DELETE_FAILED": "Failed to delete contacts.",
"DELETE_DIALOG": {
"TITLE": "Ջնջել ընտրված կապերը",
"TITLE": "Delete selected contacts",
"SINGULAR_TITLE": "Delete selected contact",
"DESCRIPTION": "Սա մշտապես կջնջի ընտրված {count} շփումները։ Այս գործողությունը անշրջելի է։",
"SINGULAR_DESCRIPTION": "Սա մշտապես կջնջի ընտրված շփումը։ Այս գործողությունը անշրջելի է։",
"DESCRIPTION": "This will permanently delete {count} selected contacts. This action cannot be undone.",
"SINGULAR_DESCRIPTION": "This will permanently delete the selected contact. This action cannot be undone.",
"CONFIRM_MULTIPLE": "Delete contacts",
"CONFIRM_SINGLE": "Ջնջել կապը"
"CONFIRM_SINGLE": "Delete contact"
}
},
"COMPOSE_NEW_CONVERSATION": {
"CONTACT_SEARCH": {
"ERROR_MESSAGE": "Որոնումը հնարավոր չեղավ ավարտել։ Խնդրում ենք փորձել կրկին։"
"ERROR_MESSAGE": "We couldn’t complete the search. Please try again."
},
"FORM": {
"GO_TO_CONVERSATION": "Դիտել",
"SUCCESS_MESSAGE": "Հաղորդագրությունը հաջողությամբ ուղարկվեց։",
"ERROR_MESSAGE": "Խոսակցություն ստեղծելիս սխալ է տեղի ունեցել։ Խնդրում ենք փորձել ավելի ուշ։",
"GO_TO_CONVERSATION": "View",
"SUCCESS_MESSAGE": "The message was sent successfully!",
"ERROR_MESSAGE": "An error occurred while creating the conversation. Please try again later.",
"NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.",
"CONTACT_SELECTOR": {
"LABEL": "Ուղղված՝:",
"TAG_INPUT_PLACEHOLDER": "Մուտքագրեք առնվազն 2 տառ՝ որոնելու համար անունով, էլեկտրոնային հասցեով կամ հեռախոսահամարով",
"CONTACT_CREATING": "Կապ ստեղծվում է..."
"LABEL": "To:",
"TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number",
"CONTACT_CREATING": "Creating contact..."
},
"INBOX_SELECTOR": {
"LABEL": "Միջոցով:",
"BUTTON": "Ցույց տալ մուտքերը"
"LABEL": "Via:",
"BUTTON": "Show inboxes"
},
"EMAIL_OPTIONS": {
"SUBJECT_LABEL": "Թեմա՝:",
"SUBJECT_LABEL": "Subject :",
"SUBJECT_PLACEHOLDER": "Enter your email subject here",
"CC_LABEL": "Cc:",
"CC_PLACEHOLDER": "Մուտքագրեք առնվազն 2 տառ՝ որոնելու համար էլեկտրոնային հասցեով",
"CC_PLACEHOLDER": "Enter at least 2 characters to search by email",
"BCC_LABEL": "Bcc:",
"BCC_PLACEHOLDER": "Մուտքագրեք առնվազն 2 տառ՝ որոնելու համար էլեկտրոնային հասցեով",
"BCC_BUTTON": "Թաքնված հղում"
"BCC_PLACEHOLDER": "Enter at least 2 characters to search by email",
"BCC_BUTTON": "Bcc"
},
"MESSAGE_EDITOR": {
"PLACEHOLDER": "Գրեք ձեր հաղորդագրությունը այստեղ..."
"PLACEHOLDER": "Write your message here..."
},
"WHATSAPP_OPTIONS": {
"LABEL": "Ընտրել ձևանմուշը",
"SEARCH_PLACEHOLDER": "Որոնել ձևանմուշներ",
"EMPTY_STATE": "Ձևանմուշներ չեն գտնվել",
"LABEL": "Select template",
"SEARCH_PLACEHOLDER": "Search templates",
"EMPTY_STATE": "No templates found",
"TEMPLATE_PARSER": {
"TEMPLATE_NAME": "WhatsApp template: {templateName}",
"VARIABLES": "Փոփոխականներ",
"BACK": "Վերադառնալ",
"SEND_MESSAGE": "Ուղարկել հաղորդագրություն"
"VARIABLES": "Variables",
"BACK": "Go back",
"SEND_MESSAGE": "Send message"
}
},
"TWILIO_OPTIONS": {
"LABEL": "Ընտրեք ձևանմուշը",
"SEARCH_PLACEHOLDER": "Որոնեք ձևանմուշները",
"EMPTY_STATE": "Ձևանմուշներ չեն գտնվել",
"LABEL": "Select template",
"SEARCH_PLACEHOLDER": "Search templates",
"EMPTY_STATE": "No templates found",
"TEMPLATE_PARSER": {
"BACK": "Վերադառնալ",
"SEND_MESSAGE": "Ուղարկել հաղորդագրություն"
"BACK": "Go back",
"SEND_MESSAGE": "Send message"
}
},
"ACTION_BUTTONS": {
"DISCARD": "Բաց թողնել",
"SEND": "Ուղարկել ({keyCode})"
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
}
}
}
@@ -1,34 +1,34 @@
{
"INBOX_MGMT": {
"HEADER": "Զամբյուղներ",
"DESCRIPTION": "Անցումը այն հաղորդակցության ձևն է, որը ձեր հաճախորդը ընտրում է ձեզ հետ շփվելու համար։ Ներարկղը այն վայրն է, որտեղ դուք կառավարում եք կոնկրետ անցման հաղորդակցությունները։ Այն կարող է ներառել հաղորդակցություններ տարբեր աղբյուրներից, ինչպիսիք են էլ. փոստը, ուղիղ զրույցը և սոցիալական մեդիան։",
"LEARN_MORE": "Իմացեք ավելին մուտքայինների մասին",
"COUNT": "{n} մուտք | {n} մուտքեր",
"SEARCH_PLACEHOLDER": "Փնտրել մուտքեր...",
"NO_RESULTS": "Ձեր որոնմանը համապատասխանող մուտքեր չեն գտնվել",
"RECONNECTION_REQUIRED": "Ձեր մուտքի արկղը անջատված է։ Դուք նոր հաղորդագրություններ չեք ստանա, մինչև այն կրկին թույլտվեք։",
"CLICK_TO_RECONNECT": "Սեղմեք այստեղ՝ կրկին միանալու համար։",
"WHATSAPP_REGISTRATION_INCOMPLETE": "Ձեր WhatsApp Business գրանցումը ավարտված չէ։ Խնդրում ենք ստուգել ձեր ցուցադրման անունի կարգավիճակը Meta Business Manager-ում, նախքան կրկին միանալը։",
"COMPLETE_REGISTRATION": "Ավարտել գրանցումը",
"DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.",
"LEARN_MORE": "Learn more about inboxes",
"COUNT": "{n} inbox | {n} inboxes",
"SEARCH_PLACEHOLDER": "Search inboxes...",
"NO_RESULTS": "No inboxes found matching your search",
"RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.",
"CLICK_TO_RECONNECT": "Click here to reconnect.",
"WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.",
"COMPLETE_REGISTRATION": "Complete Registration",
"LIST": {
"404": "Այս հաշվի հետ կապված զամբյուղներ չկան։"
},
"CREATE_FLOW": {
"CHANNEL": {
"TITLE": "Ընտրեք ալիքը",
"BODY": "Ընտրեք այն պրովայդերին, որի հետ ցանկանում եք ինտեգրվել Chatwoot-ին։"
"TITLE": "Choose Channel",
"BODY": "Choose the provider you want to integrate with Chatwoot."
},
"INBOX": {
"TITLE": "Ստեղծել մուտքի արկղ",
"BODY": "Հավաստագրեք ձեր հաշիվը և ստեղծեք մուտքի արկղ։"
"TITLE": "Create Inbox",
"BODY": "Authenticate your account and create an inbox."
},
"AGENT": {
"TITLE": "Ավելացնել գործակալներ",
"BODY": "Ավելացրեք գործակալներ ստեղծված մուտքի արկղին։"
"TITLE": "Add Agents",
"BODY": "Add agents to the created inbox."
},
"FINISH": {
"TITLE": "Ահա և վերջը։",
"BODY": "Դուք պատրաստ եք սկսել։"
"TITLE": "Voilà!",
"BODY": "You are all set to go!"
}
},
"ADD": {
@@ -49,23 +49,23 @@
"ADD_NAME": "Ավելացրեք անուն ձեր զամբյուղին",
"PICK_NAME": "Ընտրեք անուն ձեր մուտքի համար",
"PICK_A_VALUE": "Ընտրեք արժեք",
"CREATE_INBOX": "Ստեղծել Նամակների Պատուհան"
"CREATE_INBOX": "Create Inbox"
},
"INSTAGRAM": {
"CONTINUE_WITH_INSTAGRAM": "Շարունակել Instagram-ով",
"CONNECT_YOUR_INSTAGRAM_PROFILE": "Միացրեք ձեր Instagram պրոֆիլը",
"HELP": "Ձեր Instagram պրոֆիլը որպես ալիք ավելացնելու համար անհրաժեշտ է հաստատել ձեր Instagram պրոֆիլը՝ սեղմելով «Շարունակել Instagram-ով» կոճակը ",
"ERROR_MESSAGE": "Instagram-ին միանալու ընթացքում սխալ է տեղի ունեցել, խնդրում ենք փորձել կրկին",
"ERROR_AUTH": "Instagram-ին միանալու ընթացքում սխալ է տեղի ունեցել, խնդրում ենք փորձել կրկին",
"NEW_INBOX_SUGGESTION": "Այս Instagram հաշիվը նախկինում կապված էր այլ մուտքի արկղի հետ և այժմ տեղափոխվել է այստեղ։ Բոլոր նոր հաղորդագրությունները կցուցադրվեն այստեղ։ Հին մուտքի արկղը այլևս չի կարողանա ուղարկել կամ ստանալ հաղորդագրություններ այս հաշվի համար։",
"DUPLICATE_INBOX_BANNER": "Այս Instagram հաշիվը տեղափոխվել է նոր Instagram ալիքի մուտքի արկղ։ Դուք այլևս չեք կարողանա ուղարկել կամ ստանալ Instagram հաղորդագրություններ այս մուտքի արկղից։"
"CONTINUE_WITH_INSTAGRAM": "Continue with Instagram",
"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",
"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."
},
"TIKTOK": {
"CONTINUE_WITH_TIKTOK": "Շարունակել TikTok-ով",
"CONNECT_YOUR_TIKTOK_PROFILE": "Կապեք ձեր TikTok պրոֆիլը",
"HELP": "Ձեր TikTok պրոֆիլը որպես ալիք ավելացնելու համար անհրաժեշտ է հաստատել ձեր TikTok պրոֆիլը՝ սեղմելով «Շարունակել TikTok-ով» կոճակը։ ",
"ERROR_MESSAGE": "TikTok-ին միանալու ընթացքում սխալ է տեղի ունեցել, խնդրում ենք փորձել կրկին",
"ERROR_AUTH": "TikTok-ին միանալու ընթացքում սխալ է տեղի ունեցել, խնդրում ենք փորձել կրկին"
"CONTINUE_WITH_TIKTOK": "Continue with TikTok",
"CONNECT_YOUR_TIKTOK_PROFILE": "Connect your TikTok Profile",
"HELP": "To add your TikTok profile as a channel, you need to authenticate your TikTok Profile by clicking on 'Continue with TikTok' ",
"ERROR_MESSAGE": "There was an error connecting to TikTok, please try again",
"ERROR_AUTH": "There was an error connecting to TikTok, please try again"
},
"TWITTER": {
"HELP": "Ձեր Twitter պրոֆիլը որպես ալիք ավելացնելու համար անհրաժեշտ է հաստատել ձեր Twitter պրոֆիլը՝ սեղմելով «Մուտք Twitter-ով» կոճակը։ ",
@@ -236,14 +236,14 @@
"LABEL": "API մատակարար",
"WHATSAPP_EMBEDDED": "WhatsApp Business",
"TWILIO": "Twilio",
"WHATSAPP_CLOUD": "WhatsApp ամպ",
"WHATSAPP_CLOUD_DESC": "Արագ կարգավորում Meta-ի միջոցով",
"TWILIO_DESC": "Կապ հաստատեք Twilio հավատարմագրերով",
"WHATSAPP_CLOUD": "WhatsApp Cloud",
"WHATSAPP_CLOUD_DESC": "Quick setup through Meta",
"TWILIO_DESC": "Connect via Twilio credentials",
"360_DIALOG": "360Dialog"
},
"SELECT_PROVIDER": {
"TITLE": "Ընտրեք ձեր API մատակարարին",
"DESCRIPTION": "Ընտրեք ձեր WhatsApp մատակարարին։ Կարող եք անմիջապես կապ հաստատել Meta-ի միջոցով, որը չի պահանջում կարգավորում, կամ կապ հաստատել Twilio-ի միջոցով՝ օգտագործելով ձեր հաշվի հավատարմագրերը։"
"TITLE": "Select your API provider",
"DESCRIPTION": "Choose your WhatsApp provider. You can connect directly through Meta which requires no setup, or connect through Twilio using your account credentials."
},
"INBOX_NAME": {
"LABEL": "Նամակների արկղի անուն",
@@ -284,76 +284,76 @@
},
"SUBMIT_BUTTON": "Ստեղծել WhatsApp ալիք",
"EMBEDDED_SIGNUP": {
"TITLE": "Արագ կարգավորում Meta-ով",
"DESC": "Օգտագործեք WhatsApp Embedded Signup հոսքը նոր համարները արագ կապելու համար։ Դուք կուղղորդվեք Meta՝ ձեր WhatsApp Business հաշիվ մուտք գործելու համար։ Վարչական մուտքի առկայությունը կօգնի կարգավորումը դարձնել հարթ և հեշտ։",
"TITLE": "Quick setup with Meta",
"DESC": "Use the WhatsApp Embedded Signup flow to quickly connect new numbers. You will be redirected to Meta to log into your WhatsApp Business account. Having admin access will help make the setup smooth and easy.",
"BENEFITS": {
"TITLE": "Էմբեդացված գրանցման առավելությունները:",
"EASY_SETUP": "Չի պահանջվում ձեռքով կարգավորում",
"SECURE_AUTH": "Ապահով OAuth-հիմնված վավերացում",
"AUTO_CONFIG": "Ավտոմատ webhook-ի և հեռախոսահամարի կարգավորում"
"TITLE": "Benefits of Embedded Signup:",
"EASY_SETUP": "No manual configuration required",
"SECURE_AUTH": "Secure OAuth based authentication",
"AUTO_CONFIG": "Automatic webhook and phone number configuration"
},
"LEARN_MORE": {
"TEXT": "Ներկայացված գրանցման, գների և սահմանափակումների մասին ավելին իմանալու համար այցելեք {link}։",
"LINK_TEXT": "այս հղումը"
"TEXT": "To learn more about integrated signup, pricing, and limitations, visit {link}.",
"LINK_TEXT": "this link"
},
"SUBMIT_BUTTON": "Կապ հաստատել WhatsApp Business-ի հետ",
"AUTH_PROCESSING": "Վավերացում Meta-ի հետ",
"WAITING_FOR_BUSINESS_INFO": "Խնդրում ենք լրացնել բիզնեսի կարգավորումը Meta պատուհանում...",
"PROCESSING": "Ձեր WhatsApp Business հաշվի կարգավորումը",
"LOADING_SDK": "Բեռնում է Facebook SDK-ն...",
"CANCELLED": "WhatsApp գրանցումը չեղարկվեց",
"SUCCESS_TITLE": "WhatsApp Business հաշիվը միացված է։",
"WAITING_FOR_AUTH": "Սպասում ենք հաստատմանը...",
"INVALID_BUSINESS_DATA": "Facebook-ից ստացված բիզնեսի տվյալները անվավեր են։ Խնդրում ենք փորձել կրկին։",
"SIGNUP_ERROR": "Գրանցման սխալ է տեղի ունեցել",
"AUTH_NOT_COMPLETED": "Հաստատումը չի ավարտվել։ Խնդրում ենք սկսել գործընթացը նորից։",
"SUCCESS_FALLBACK": "WhatsApp Business հաշիվը հաջողությամբ կարգավորվել է",
"MANUAL_FALLBACK": "Եթե ձեր համարը արդեն միացված է WhatsApp Business Platform (API)-ին, կամ եթե դուք տեխնոլոգիական մատակարար եք, որը միացնում է իր սեփական համարը, խնդրում ենք օգտագործել {link} ընթացքը",
"MANUAL_LINK_TEXT": "ձեռնարկային կարգավորման ընթացք"
"SUBMIT_BUTTON": "Connect with WhatsApp Business",
"AUTH_PROCESSING": "Authenticating with Meta",
"WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...",
"PROCESSING": "Setting up your WhatsApp Business Account",
"LOADING_SDK": "Loading Facebook SDK...",
"CANCELLED": "WhatsApp Signup was cancelled",
"SUCCESS_TITLE": "WhatsApp Business Account Connected!",
"WAITING_FOR_AUTH": "Waiting for authentication...",
"INVALID_BUSINESS_DATA": "Invalid business data received from Facebook. Please try again.",
"SIGNUP_ERROR": "Signup error occurred",
"AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.",
"SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured",
"MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow",
"MANUAL_LINK_TEXT": "manual setup flow"
},
"API": {
"ERROR_MESSAGE": "Չհաջողվեց պահպանել WhatsApp ալիքը"
}
},
"VOICE": {
"TITLE": "Ձայնային ալիք",
"DESC": "Միացրեք Twilio Voice-ը և սկսեք աջակցել ձեր հաճախորդներին հեռախոսազանգերի միջոցով։",
"TITLE": "Voice Channel",
"DESC": "Integrate Twilio Voice and start supporting your customers via phone calls.",
"PHONE_NUMBER": {
"LABEL": "Հեռախոսահամար",
"PLACEHOLDER": "Մուտքագրեք ձեր հեռախոսահամարը (օրինակ՝ +1234567890)",
"ERROR": "Խնդրում ենք տրամադրել վավեր հեռախոսահամար E.164 ձևաչափով (օրինակ՝ +1234567890)"
"LABEL": "Phone Number",
"PLACEHOLDER": "Enter your phone number (e.g. +1234567890)",
"ERROR": "Please provide a valid phone number in E.164 format (e.g. +1234567890)"
},
"TWILIO": {
"ACCOUNT_SID": {
"LABEL": "Հաշվի SID",
"PLACEHOLDER": "Մուտքագրեք ձեր Twilio Հաշվի SID-ը",
"REQUIRED": "Պահանջվում է հաշվի SID"
"LABEL": "Account SID",
"PLACEHOLDER": "Enter your Twilio Account SID",
"REQUIRED": "Account SID is required"
},
"AUTH_TOKEN": {
"LABEL": "Հավաստագրի նշան",
"PLACEHOLDER": "Մուտքագրեք ձեր Twilio հավաստագրի նշանը",
"REQUIRED": "Պահանջվում է հավաստագրի նշան"
"LABEL": "Auth Token",
"PLACEHOLDER": "Enter your Twilio Auth Token",
"REQUIRED": "Auth Token is required"
},
"API_KEY_SID": {
"LABEL": "API բանալի SID",
"PLACEHOLDER": "Մուտքագրեք ձեր Twilio API Key SID-ը",
"REQUIRED": "Պահանջվում է API Key SID-ը"
"LABEL": "API Key SID",
"PLACEHOLDER": "Enter your Twilio API Key SID",
"REQUIRED": "API Key SID is required"
},
"API_KEY_SECRET": {
"LABEL": "API Key գաղտնիք",
"PLACEHOLDER": "Մուտքագրեք ձեր Twilio API Key գաղտնիքը",
"REQUIRED": "Պահանջվում է API Key գաղտնիքը"
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
}
},
"CONFIGURATION": {
"TWILIO_VOICE_URL_TITLE": "Twilio ձայնային URL",
"TWILIO_VOICE_URL_SUBTITLE": "Կարգավորեք այս URL-ը որպես Ձայնային URL ձեր Twilio հեռախոսահամարին և TwiML հավելվածին։",
"TWILIO_STATUS_URL_TITLE": "Twilio կարգավիճակի Callback URL",
"TWILIO_STATUS_URL_SUBTITLE": "Կարգավորեք այս URL-ը որպես կարգավիճակի Callback URL ձեր Twilio հեռախոսահամարին։"
"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": "Ստեղծել ձայնային ալիք",
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "Չհաջողվեց ստեղծել ձայնային ալիքը"
"ERROR_MESSAGE": "We were not able to create the voice channel"
}
},
"API_CHANNEL": {
@@ -376,7 +376,7 @@
},
"EMAIL_CHANNEL": {
"TITLE": "Էլփոստի ալիք",
"DESC": "Միացրեք ձեր էլփոստի մուտքի արկղը։",
"DESC": "Integrate your email inbox.",
"CHANNEL_NAME": {
"LABEL": "Ալիքի անուն",
"PLACEHOLDER": "Խնդրում ենք մուտքագրել ալիքի անունը",
@@ -392,10 +392,10 @@
"ERROR_MESSAGE": "Չհաջողվեց պահպանել էլփոստի ալիքը"
},
"FINISH_MESSAGE": "Start forwarding your emails to the following email address.",
"FINISH_MESSAGE_NO_FORWARDING": "Ձեր էլփոստի մուտքի արկղը հաջողությամբ ստեղծվել է։ Պետք է կարգավորեք SMTP և IMAP հավատարմագրերը՝ էլփոստեր ուղարկելու և ստանալու համար։ Այս կարգավորումներ չլինելու դեպքում էլփոստերը չեն մշակվի։",
"FORWARDING_ADDRESS_LABEL": "Էլ. փոստերը փոխանցել այս հասցեին:",
"CONFIGURE_SMTP_IMAP_LINK": "Սեղմեք այստեղ",
"CONFIGURE_SMTP_IMAP_TEXT": " ՝ IMAP և SMTP կարգավորումները սահմանելու համար"
"FINISH_MESSAGE_NO_FORWARDING": "Your email inbox has been created successfully! You need to configure SMTP and IMAP credentials to send and receive emails. Without these settings, no emails will be processed.",
"FORWARDING_ADDRESS_LABEL": "Forward emails to this address:",
"CONFIGURE_SMTP_IMAP_LINK": "Click here",
"CONFIGURE_SMTP_IMAP_TEXT": " to configure IMAP and SMTP settings"
},
"LINE_CHANNEL": {
"TITLE": "LINE ալիք",
@@ -442,59 +442,59 @@
"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.",
"TITLE_NEXT": "Ավարտեք կարգավորումը",
"TITLE_FINISH": "Ահա և վերջը։",
"TITLE_NEXT": "Complete the setup",
"TITLE_FINISH": "Voilà!",
"CHANNEL": {
"WEBSITE": {
"TITLE": "Կայք",
"DESCRIPTION": "Ստեղծեք կենդանի զրույցի վիջեթ"
"TITLE": "Website",
"DESCRIPTION": "Create a live-chat widget"
},
"FACEBOOK": {
"TITLE": "Facebook",
"DESCRIPTION": "Կապեք ձեր Facebook էջը"
"DESCRIPTION": "Connect your Facebook page"
},
"WHATSAPP": {
"TITLE": "WhatsApp",
"DESCRIPTION": "Աջակցեք ձեր հաճախորդներին WhatsApp-ում"
"DESCRIPTION": "Support your customers on WhatsApp"
},
"EMAIL": {
"TITLE": "Էլ. փոստ",
"DESCRIPTION": "Կապվեք Gmail-ի, Outlook-ի կամ այլ մատակարարների հետ"
"TITLE": "Email",
"DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
},
"SMS": {
"TITLE": "SMS",
"DESCRIPTION": "Միացրեք SMS ալիքը Twilio կամ bandwidth-ի հետ"
"DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
},
"API": {
"TITLE": "API",
"DESCRIPTION": "Ստեղծեք հարմարեցված ալիք մեր API-ով"
"DESCRIPTION": "Make a custom channel using our API"
},
"TELEGRAM": {
"TITLE": "Telegram",
"DESCRIPTION": "Կարգավորեք Telegram ալիքը՝ օգտագործելով Bot token"
"DESCRIPTION": "Configure Telegram channel using Bot token"
},
"LINE": {
"TITLE": "Line",
"DESCRIPTION": "Միացրեք ձեր Line ալիքը"
"DESCRIPTION": "Integrate your Line channel"
},
"INSTAGRAM": {
"TITLE": "Instagram",
"DESCRIPTION": "Միացրեք ձեր Instagram հաշիվը"
"DESCRIPTION": "Connect your instagram account"
},
"TIKTOK": {
"TITLE": "TikTok",
"DESCRIPTION": "Կապեք ձեր TikTok հաշիվը"
"DESCRIPTION": "Connect your TikTok account"
},
"VOICE": {
"TITLE": "Ձայն",
"DESCRIPTION": "Միացրեք Twilio Voice-ին"
"TITLE": "Voice",
"DESCRIPTION": "Integrate with Twilio Voice"
}
}
},
"AGENTS": {
"TITLE": "Գործակալներ",
"DESC": "Այստեղ կարող եք ավելացնել գործակալներ՝ ձեր նոր ստեղծված զամբյուղը կառավարելու համար։ Միայն այս ընտրված գործակալները կունենան հասանելիություն ձեր զամբյուղին։ Գործակալները, որոնք չեն պատկանում այս զամբյուղին, չեն կարող տեսնել կամ պատասխանել հաղորդագրություններին այս զամբյուղում մուտք գործելիս։ <br> <b>PS․</b> Որպես ադմինիստրատոր, եթե ձեզ անհրաժեշտ է հասանելիություն բոլոր զամբյուղներին, պետք է ինքներդ ձեզ ավելացնեք որպես գործակալ բոլոր այն զամբյուղներին, որոնք դուք ստեղծում եք։",
"VALIDATION_ERROR": "Ավելացրեք առնվազն մեկ գործակալ ձեր նոր Նամակապանակում",
"VALIDATION_ERROR": "Add at least one agent to your new Inbox",
"PICK_AGENTS": "Ընտրեք գործակալներ այս ինբոքսի համար"
},
"DETAILS": {
@@ -513,20 +513,20 @@
"TITLE": "Microsoft էլփոստ",
"DESCRIPTION": "Սկսելու համար սեղմեք «Մուտք Microsoft-ով» կոճակը։ Դուք կուղղորդվեք էլփոստի մուտքի էջ։ Երբ ընդունեք պահանջվող թույլտվությունները, կվերադառնաք մուտքի ստեղծման քայլին։",
"EMAIL_PLACEHOLDER": "Մուտքագրեք էլփոստի հասցեն",
"SIGN_IN": "Մուտք գործեք Microsoft-ով",
"SIGN_IN": "Sign in with Microsoft",
"ERROR_MESSAGE": "Microsoft-ով կապվելու ժամանակ սխալ է տեղի ունեցել, խնդրում ենք փորձել կրկին"
},
"GOOGLE": {
"TITLE": "Google էլփոստ",
"DESCRIPTION": "Սկսելու համար սեղմեք Մուտք գործել Google-ով կոճակը։ Դուք կուղղորդվեք էլփոստի մուտքի էջ։ Երբ ընդունեք պահանջվող թույլտվությունները, կվերադառնաք մուտքի արկղի ստեղծման քայլին։",
"SIGN_IN": "Մուտք գործեք Google-ով",
"EMAIL_PLACEHOLDER": "Մուտքագրեք էլ. փոստի հասցեն",
"ERROR_MESSAGE": "Google-ի հետ կապվելու ընթացքում սխալ է տեղի ունեցել, խնդրում ենք փորձել կրկին"
"TITLE": "Google Email",
"DESCRIPTION": "Click on the Sign in with Google button to get started. You will redirected to the email sign in page. Once you accept the requested permissions, you would be redirected back to the inbox creation step.",
"SIGN_IN": "Sign in with Google",
"EMAIL_PLACEHOLDER": "Enter email address",
"ERROR_MESSAGE": "There was an error connecting to Google, please try again"
}
},
"DETAILS": {
"LOADING_FB": "Ձեզ հաստատում ենք Facebook-ով...",
"ERROR_FB_LOADING": "Սխալ Facebook SDK-ի բեռնման ժամանակ։ Խնդրում ենք անջատել ցանկացած գովազդարգելիչ և փորձել այլ զննարկիչից։",
"ERROR_FB_LOADING": "Error loading Facebook SDK. Please disable any ad-blockers and try again from a different browser.",
"ERROR_FB_AUTH": "Ինչ-որ բան սխալ է, խնդրում ենք թարմացնել էջը...",
"ERROR_FB_UNAUTHORIZED": "Դուք իրավունք չունեք կատարել այս գործողությունը։ ",
"ERROR_FB_UNAUTHORIZED_HELP": "Խնդրում ենք համոզվել, որ դուք լիակատար վերահսկողությամբ մուտք ունեք Facebook էջին։ Կարդացեք ավելին Facebook դերերի մասին <a href=\" https://www.facebook.com/help/187316341316631\">այստեղ</a>։",
@@ -544,9 +544,9 @@
"BUTTON_TEXT": "Տանեք ինձ այնտեղ",
"MORE_SETTINGS": "Ավելին կարգավորումներ",
"WEBSITE_SUCCESS": "Դուք հաջողությամբ ավարտել եք վեբկայքի ալիքի ստեղծումը։ Պատճենեք ստորև ներկայացված կոդը և տեղադրեք ձեր վեբկայքում։ Հաջորդ անգամ, երբ հաճախորդը օգտագործի ուղիղ զրույցը, զրույցը ավտոմատ կհայտնվի ձեր զամբյուղում։",
"WHATSAPP_QR_INSTRUCTION": "Սկանավորեք վերևի QR կոդը՝ արագ փորձարկելու ձեր WhatsApp մուտքը",
"MESSENGER_QR_INSTRUCTION": "Սկանավորեք վերևի QR կոդը՝ արագ փորձարկելու ձեր Facebook Messenger մուտքը",
"TELEGRAM_QR_INSTRUCTION": "Սկանավորեք վերևի QR կոդը՝ արագ փորձարկելու ձեր Telegram մուտքը"
"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": "Դիտել",
@@ -566,7 +566,7 @@
},
"SENDER_NAME_SECTION": {
"TITLE": "Ուղարկողի անուն",
"SUB_TEXT": "Ընտրեք այն անունը, որը կցուցադրվի ձեր հաճախորդին, երբ նրանք ստանան էլ. փոստ ձեր գործակալներից։",
"SUB_TEXT": "Select the name shown to your customer when they receive emails from your agents.",
"FOR_EG": "Օրինակ՝",
"FRIENDLY": {
"TITLE": "Ընկերական",
@@ -578,7 +578,7 @@
"SUBTITLE": "Օգտագործեք միայն կարգավորված բիզնեսի անունը որպես ուղարկողի անուն էլփոստի վերնագրում։"
},
"BUSINESS_NAME": {
"BUTTON_TEXT": "Կարգավորեք ձեր բիզնեսի անունը",
"BUTTON_TEXT": "Configure your business name",
"PLACEHOLDER": "Մուտքագրեք ձեր բիզնեսի անունը",
"SAVE_BUTTON_TEXT": "Պահպանել"
}
@@ -592,10 +592,10 @@
"DISABLED": "Անջատված"
},
"LOCK_TO_SINGLE_CONVERSATION": {
"ENABLED": "Վերաբացել նույն զրույցը",
"DISABLED": "Ստեղծել նոր զրույցներ",
"ENABLED_DESCRIPTION": "Երբ կոնտակտը կրկին հաղորդագրություն է ուղարկում, նախորդ զրույցը կվերաբացվի։",
"DISABLED_DESCRIPTION": "Նոր զրույց կստեղծվի յուրաքանչյուր անգամ նախորդը լուծվելուց հետո։"
"ENABLED": "Reopen same conversation",
"DISABLED": "Create new conversations",
"ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.",
"DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved."
},
"ENABLE_HMAC": {
"LABEL": "Միացնել"
@@ -627,74 +627,74 @@
"BUSINESS_HOURS": "Բիզնեսի ժամեր",
"WIDGET_BUILDER": "Վիջեթի կառուցող",
"BOT_CONFIGURATION": "Բոտի կարգավորումներ",
"ACCOUNT_HEALTH": "Հաշվի առողջություն",
"ACCOUNT_HEALTH": "Account Health",
"CSAT": "CSAT"
},
"CHANNEL_PREFERENCES": "Անվճարների նախապատվություններ",
"WIDGET_FEATURES": "Վիջեթի հնարավորություններ",
"CHANNEL_PREFERENCES": "Channel Preferences",
"WIDGET_FEATURES": "Widget features",
"ACCOUNT_HEALTH": {
"TITLE": "Կառավարեք ձեր WhatsApp հաշիվը",
"DESCRIPTION": "Դիտարկեք ձեր WhatsApp հաշվի կարգավիճակը, հաղորդագրությունների սահմանները և որակը։ Թարմացրեք կարգավորումները կամ լուծեք խնդիրները, եթե անհրաժեշտ է",
"GO_TO_SETTINGS": "Գնալ Meta Business Manager",
"NO_DATA": "Առողջության տվյալները հասանելի չեն",
"TITLE": "Manage your WhatsApp account",
"DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed",
"GO_TO_SETTINGS": "Go to Meta Business Manager",
"NO_DATA": "Health data is not available",
"FIELDS": {
"DISPLAY_PHONE_NUMBER": {
"LABEL": "Ցուցադրել հեռախոսահամարը",
"TOOLTIP": "Հեռախոսահամարը, որը ցուցադրվում է հաճախորդներին"
"LABEL": "Display phone number",
"TOOLTIP": "Phone number displayed to customers"
},
"VERIFIED_NAME": {
"LABEL": "Բիզնեսի անուն",
"TOOLTIP": "Բիզնեսի անունը հաստատված է WhatsApp-ով"
"LABEL": "Business name",
"TOOLTIP": "Business name verified by WhatsApp"
},
"DISPLAY_NAME_STATUS": {
"LABEL": "Ցուցադրման անվան կարգավիճակ",
"TOOLTIP": "Ձեր բիզնեսի անվան հաստատման կարգավիճակը"
"LABEL": "Display name status",
"TOOLTIP": "Status of your business name verification"
},
"QUALITY_RATING": {
"LABEL": "Որակի գնահատական",
"TOOLTIP": "Ձեր հաշվի WhatsApp որակի գնահատականը"
"LABEL": "Quality rating",
"TOOLTIP": "WhatsApp quality rating for your account"
},
"MESSAGING_LIMIT_TIER": {
"LABEL": "Հաղորդագրությունների սահմանաչափի մակարդակ",
"TOOLTIP": "Ձեր հաշվի օրական հաղորդագրությունների սահմանաչափ"
"LABEL": "Messaging limit tier",
"TOOLTIP": "Daily messaging limit for your account"
},
"ACCOUNT_MODE": {
"LABEL": "Հաշվի ռեժիմ",
"TOOLTIP": "Ձեր WhatsApp հաշվի ընթացիկ գործառնական ռեժիմը"
"LABEL": "Account mode",
"TOOLTIP": "Current operating mode of your WhatsApp account"
}
},
"VALUES": {
"TIERS": {
"TIER_250": "250 հաճախորդ 24h-ում",
"TIER_1000": "1K հաճախորդ 24h-ում",
"TIER_1K": "1K հաճախորդ 24h-ում",
"TIER_10K": "10K հաճախորդ 24h-ում",
"TIER_100K": "100K հաճախորդ 24h-ում",
"TIER_UNLIMITED": "Անսահմանափակ հաճախորդ 24h-ում",
"UNKNOWN": "Գնահատականը հասանելի չէ"
"TIER_250": "250 customers per 24h",
"TIER_1000": "1K customers per 24h",
"TIER_1K": "1K customers per 24h",
"TIER_10K": "10K customers per 24h",
"TIER_100K": "100K customers per 24h",
"TIER_UNLIMITED": "Unlimited customers per 24h",
"UNKNOWN": "Rating not available"
},
"STATUSES": {
"APPROVED": "Հաստատված",
"PENDING_REVIEW": "Սպասում է վերանայմանը",
"AVAILABLE_WITHOUT_REVIEW": "Հասանելի առանց վերանայման",
"REJECTED": "Մերժված",
"DECLINED": "Մերժվել է",
"NON_EXISTS": "Չկա"
"APPROVED": "Approved",
"PENDING_REVIEW": "Pending Review",
"AVAILABLE_WITHOUT_REVIEW": "Available Without Review",
"REJECTED": "Rejected",
"DECLINED": "Declined",
"NON_EXISTS": "Non exists"
},
"MODES": {
"SANDBOX": "Փորձարկման միջավայր",
"LIVE": "Ուղիղ ռեժիմ"
"SANDBOX": "Sandbox",
"LIVE": "Live"
}
},
"WEBHOOK": {
"TITLE": "Webhook-ի կարգավորում",
"DESCRIPTION": "Webhook URL-ը անհրաժեշտ է ձեր WhatsApp Business հաշվի համար՝ հաճախորդներից հաղորդագրություններ ստանալու համար",
"ACTION_REQUIRED": "Webhook-ը կարգավորված չէ",
"REGISTER_BUTTON": "Գրանցել Webhook",
"REGISTER_SUCCESS": "Webhook-ը հաջողությամբ գրանցվեց",
"REGISTER_ERROR": "Webhook-ի գրանցումը ձախողվեց։ Խնդրում ենք փորձել կրկին։",
"CONFIGURED_SUCCESS": "Webhook-ը հաջողությամբ կարգավորվեց",
"URL_MISMATCH": "Webhook URL-ի անհամապատասխանություն"
"TITLE": "Webhook Configuration",
"DESCRIPTION": "Webhook URL is required for your WhatsApp Business Account to receive messages from customers",
"ACTION_REQUIRED": "Webhook not configured",
"REGISTER_BUTTON": "Register Webhook",
"REGISTER_SUCCESS": "Webhook registered successfully",
"REGISTER_ERROR": "Failed to register webhook. Please try again.",
"CONFIGURED_SUCCESS": "Webhook configured successfully",
"URL_MISMATCH": "Webhook URL mismatch"
}
},
"SETTINGS": "Կարգավորումներ",
@@ -709,21 +709,21 @@
"MESSENGER_HEADING": "Հաղորդագրիչի սցենար",
"MESSENGER_SUB_HEAD": "Տեղադրեք այս կոճակը ձեր body թեգի ներսում",
"ALLOWED_DOMAINS": {
"TITLE": "Թույլատրված տիրույթներ",
"DESCRIPTION": "Սահմանափակեք, թե որ կայքերն են կարողանում տեղադրել ձեր զրույցի վիջեթը: Անվտանգության համար ավելացրեք միայն այն դոմեյնները, որոնք պատկանում են ձեզ և որոնց վստահում եք: Ավելացրեք մեկ կամ ավելի դոմեյններ՝ բաժանված ստորակետերով: Թողեք դատարկ՝ թույլ տալու բոլոր դոմեյնները (չի խորհուրդրվում արտադրության համար)։",
"TITLE": "Allowed Domains",
"DESCRIPTION": "Restrict which websites can embed your chat widget. For security, only add domains you own and trust. Add one or more domains separated by commas. Leave blank to allow all domains (not recommended for production).",
"PLACEHOLDER": "example.com, www.example.com, app.example.com"
},
"ALLOW_MOBILE_WEBVIEW": {
"LABEL": "Միացնել վիջեթը շարժական հավելվածներում",
"SUBTITLE": "Մշակեք այս տարբերակը, եթե վիջեթը տեղադրում եք iOS կամ Android հավելվածներում։ Շարժական հավելվածները չեն ուղարկում դոմեյնի տեղեկություններ, ուստի դրանք կարգելափակվեն դոմեյնների սահմանափակումների կողմից, եթե այս տարբերակը միացված չէ։"
"LABEL": "Enable widget in mobile apps",
"SUBTITLE": "Check this if you embed the widget in iOS or Android apps. Mobile apps don't send domain information, so they would be blocked by domain restrictions unless this is enabled."
},
"IDENTITY_VALIDATION": {
"TITLE": "Հայտնության հաստատում",
"DESCRIPTION": "Հաստատեք օգտվողի իսկությունը՝ ստեղծելով անվտանգ տոկեններ։ Սա կանխում է չարտոնված օգտվողների կողմից ուրիշների անվան տակ զրույցներ վարելը։",
"SECRET_KEY": "Գաղտնի բանալի",
"VIEW_DOCS": "Դիտել փաստաթղթերը",
"REQUIRE_LABEL": "Պահանջել հայտնության հաստատում բոլոր զրույցների համար",
"REQUIRE_DESCRIPTION": "Երբ ակտիվացված է, օգտատերերը պետք է տրամադրեն վավեր ինքնության տոկեն՝ զրույց սկսելու համար։ Հարցումները, որոնք չունեն վավեր տոկեններ, մերժվելու են։"
"TITLE": "Identity Validation",
"DESCRIPTION": "Verify user authenticity by generating secure tokens. This prevents unauthorized users from impersonating others in your chat.",
"SECRET_KEY": "Secret Key",
"VIEW_DOCS": "View documentation",
"REQUIRE_LABEL": "Require identity validation for all conversations",
"REQUIRE_DESCRIPTION": "When enabled, users must provide a valid identity token to start conversations. Requests without valid tokens will be rejected."
},
"INBOX_AGENTS": "Գործակալներ",
"INBOX_AGENTS_SUB_TEXT": "Ավելացնել կամ հեռացնել գործակալներ այս զամբյուղից",
@@ -737,8 +737,8 @@
"SENDER_NAME_SECTION_TEXT": "Միացնել/անջատել գործակալի անունի ցուցադրումը էլփոստում, եթե անջատված է, կցուցադրվի բիզնեսի անունը",
"ENABLE_CONTINUITY_VIA_EMAIL": "Միացնել զրույցի շարունակականությունը էլ. փոստով",
"ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Զրույցները կշարունակվեն էլ. փոստով, եթե կոնտակտի էլ. փոստի հասցեն հասանելի է։",
"LOCK_TO_SINGLE_CONVERSATION": "Զրույցների ուղղորդում",
"LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Կարգավորեք զրույցների ստեղծումը գոյություն ունեցող կոնտակտների համար",
"LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing",
"LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts",
"INBOX_UPDATE_TITLE": "Զամբյուղի կարգավորումներ",
"INBOX_UPDATE_SUB_TEXT": "Թարմացրեք ձեր զամբյուղի կարգավորումները",
"AUTO_ASSIGNMENT_SUB_TEXT": "Միացրեք կամ անջատեք նոր զրույցների ավտոմատ նշանակումը այս զամբյուղին ավելացված գործակալներին։",
@@ -751,43 +751,43 @@
"INBOX_IDENTIFIER_SUB_TEXT": "Օգտագործեք այստեղ ցուցադրված `inbox_identifier` տոկենը՝ ձեր API հաճախորդների նույնականացման համար։",
"FORWARD_EMAIL_TITLE": "Ուղղարկել էլփոստին",
"FORWARD_EMAIL_SUB_TEXT": "Սկսեք ձեր էլփոստերը ուղարկել հետևյալ էլփոստի հասցեին։",
"FORWARD_EMAIL_NOT_CONFIGURED": "Էլ. փոստերի փոխանցումը ձեր մուտքագրման արկղին այս պահին անջատված է այս տեղադրման վրա։ Այս ֆունկցիան օգտագործելու համար այն պետք է միացվի ձեր ադմինիստրատորի կողմից։ Խնդրում ենք կապ հաստատել նրանց հետ շարունակելու համար։",
"FORWARD_EMAIL_NOT_CONFIGURED": "Forwarding emails to your inbox is currently disabled on this installation. To use this feature, it must be enabled by your administrator. Please get in touch with them to proceed.",
"ALLOW_MESSAGES_AFTER_RESOLVED": "Թույլատրել հաղորդագրություններ զրույցի լուծումից հետո",
"ALLOW_MESSAGES_AFTER_RESOLVED_SUB_TEXT": "Թույլատրել վերջնական օգտվողներին հաղորդագրություններ ուղարկել նույնիսկ զրույցի լուծումից հետո։",
"WHATSAPP_SECTION_SUBHEADER": "Այս API բանալին օգտագործվում է WhatsApp API-ների ինտեգրման համար։",
"WHATSAPP_SECTION_UPDATE_SUBHEADER": "Մուտքագրեք նոր API բանալին, որը կօգտագործվի WhatsApp API-ների հետ ինտեգրման համար։",
"WHATSAPP_SECTION_UPDATE_SUBHEADER": "Enter the new API key to be used for the integration with the WhatsApp APIs.",
"WHATSAPP_SECTION_TITLE": "API բանալին",
"WHATSAPP_SECTION_UPDATE_TITLE": "Թարմացնել API բանալին",
"WHATSAPP_SECTION_UPDATE_PLACEHOLDER": "Մուտքագրեք նոր API բանալին այստեղ",
"WHATSAPP_SECTION_UPDATE_BUTTON": "Թարմացնել",
"WHATSAPP_EMBEDDED_SIGNUP_TITLE": "WhatsApp-ի ներառված գրանցում",
"WHATSAPP_EMBEDDED_SIGNUP_SUBHEADER": "Այս մուտքի արկղը միացված է WhatsApp-ի ներառված գրանցման միջոցով։",
"WHATSAPP_EMBEDDED_SIGNUP_DESCRIPTION": "Դուք կարող եք վերակազմակերպել այս մուտքի արկղը՝ թարմացնելու ձեր WhatsApp Business կարգավորումները։",
"WHATSAPP_RECONFIGURE_BUTTON": "Վերակազմակերպել",
"WHATSAPP_CONNECT_TITLE": "Կապվել WhatsApp Business-ի հետ",
"WHATSAPP_CONNECT_SUBHEADER": "Թարմացեք WhatsApp-ի ներկառուցված գրանցմանը՝ ավելի հեշտ կառավարման համար։",
"WHATSAPP_CONNECT_DESCRIPTION": "Կապեք այս մուտքի արկղը WhatsApp Business-ի հետ՝ բարելավված հնարավորություններով և ավելի հեշտ կառավարման համար։",
"WHATSAPP_CONNECT_BUTTON": "Կապվել",
"WHATSAPP_CONNECT_SUCCESS": "Հաջողությամբ միացվեց WhatsApp Business-ին։",
"WHATSAPP_CONNECT_ERROR": "Չհաջողվեց միանալ WhatsApp Business-ին։ Խնդրում ենք փորձել կրկին։",
"WHATSAPP_RECONFIGURE_SUCCESS": "Հաջողությամբ վերակազմակերպվեց WhatsApp Business-ը։",
"WHATSAPP_RECONFIGURE_ERROR": "Չհաջողվեց վերակազմակերպել WhatsApp Business-ը։ Խնդրում ենք փորձել կրկին։",
"WHATSAPP_APP_ID_MISSING": "WhatsApp հավելվածի ID-ն կարգավորված չէ։ Խնդրում ենք կապ հաստատել ձեր ադմինիստրատորի հետ։",
"WHATSAPP_CONFIG_ID_MISSING": "WhatsApp կարգավորման ID-ն կարգավորված չէ։ Խնդրում ենք կապ հաստատել ձեր ադմինիստրատորի հետ։",
"WHATSAPP_LOGIN_CANCELLED": "WhatsApp մուտքը չեղարկվեց։ Խնդրում ենք փորձել կրկին։",
"WHATSAPP_WEBHOOK_TITLE": "Webhook-ի Վերահսկման Տոկեն",
"WHATSAPP_EMBEDDED_SIGNUP_TITLE": "WhatsApp Embedded Signup",
"WHATSAPP_EMBEDDED_SIGNUP_SUBHEADER": "This inbox is connected through WhatsApp embedded signup.",
"WHATSAPP_EMBEDDED_SIGNUP_DESCRIPTION": "You can reconfigure this inbox to update your WhatsApp Business settings.",
"WHATSAPP_RECONFIGURE_BUTTON": "Reconfigure",
"WHATSAPP_CONNECT_TITLE": "Connect to WhatsApp Business",
"WHATSAPP_CONNECT_SUBHEADER": "Upgrade to WhatsApp embedded signup for easier management.",
"WHATSAPP_CONNECT_DESCRIPTION": "Connect this inbox to WhatsApp Business for enhanced features and easier management.",
"WHATSAPP_CONNECT_BUTTON": "Connect",
"WHATSAPP_CONNECT_SUCCESS": "Successfully connected to WhatsApp Business!",
"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_LOGIN_CANCELLED": "WhatsApp login was cancelled. Please try again.",
"WHATSAPP_WEBHOOK_TITLE": "Webhook Verification Token",
"WHATSAPP_WEBHOOK_SUBHEADER": "Այս տոկենը օգտագործվում է webhook endpoint-ի իսկությունը հաստատելու համար։",
"WHATSAPP_TEMPLATES_SYNC_TITLE": "Սինխրոնացնել ձևանմուշները",
"WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Ձեռնարկաբար համաժամեցրեք հաղորդագրությունների տիպերը WhatsApp-ից՝ ձեր հասանելի տիպերը թարմացնելու համար։",
"WHATSAPP_TEMPLATES_SYNC_BUTTON": "Համաժամեցնել տիպերը",
"WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Տիպերի համաժամացումը հաջողությամբ սկսվեց։ Թարմացումը կարող է տևել մի քանի րոպե։",
"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_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.",
"UPDATE_PRE_CHAT_FORM_SETTINGS": "Թարմացնել նախազրույցի ձևի կարգավորումները"
},
"HELP_CENTER": {
"LABEL": "Օգնության կենտրոն",
"PLACEHOLDER": "Ընտրեք Օգնության կենտրոնը",
"SELECT_PLACEHOLDER": "Ընտրեք Օգնության կենտրոնը",
"NONE": "Ոչ մեկը",
"NONE": "None",
"REMOVE": "Հեռացնել Օգնության կենտրոնը",
"SUB_TEXT": "Կցեք Օգնության կենտրոնը մուտքին"
},
@@ -797,51 +797,51 @@
"MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Սահմանափակել այս նամակների արկղից ավտոմատ նշանակվող զրույցների առավելագույն քանակը գործակալին"
},
"ASSIGNMENT": {
"TITLE": "Հաղորդակցության հանձնարարում",
"DESCRIPTION": "Ավտոմատ կերպով նշանակեք ներթափանցող զրույցները հասանելի գործակալներին՝ հիմնվելով նշանակման քաղաքականությունների վրա",
"ENABLE_AUTO_ASSIGNMENT": "Միացնել զրույցների ավտոմատ նշանակումը",
"DEFAULT_RULES_TITLE": "Նախնական նշանակման կանոններ",
"DEFAULT_RULES_DESCRIPTION": "Օգտագործել նախնական նշանակման վարքագիծը բոլոր զրույցների համար",
"DEFAULT_RULE_1": "Առաջին հերթին՝ ամենահին ստեղծված զրույցները",
"DEFAULT_RULE_2": "Շրջանաձև բաշխում",
"CUSTOMIZE_WITH_POLICY": "Անհատականացնել նշանակման քաղաքականությամբ",
"USING_POLICY": "Այս մուտքի համար օգտագործվում է անհատական նշանակման քաղաքականություն",
"CUSTOMIZE_POLICY": "Անհատականացնել նշանակման քաղաքականությամբ",
"DELETE_POLICY": "Ջնջել քաղաքականությունը",
"POLICY_LABEL": "Վերաբաշխման քաղաքականություն",
"ASSIGNMENT_ORDER_LABEL": "Վերաբաշխման կարգ",
"ASSIGNMENT_METHOD_LABEL": "Վերաբաշխման մեթոդ",
"TITLE": "Conversation Assignment",
"DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies",
"ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment",
"DEFAULT_RULES_TITLE": "Default assignment rules",
"DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations",
"DEFAULT_RULE_1": "Earliest created conversations first",
"DEFAULT_RULE_2": "Round robin distribution",
"CUSTOMIZE_WITH_POLICY": "Customize with assignment policy",
"USING_POLICY": "Using custom assignment policy for this inbox",
"CUSTOMIZE_POLICY": "Customize with assignment policy",
"DELETE_POLICY": "Delete policy",
"POLICY_LABEL": "Assignment policy",
"ASSIGNMENT_ORDER_LABEL": "Assignment Order",
"ASSIGNMENT_METHOD_LABEL": "Assignment Method",
"POLICY_STATUS": {
"ACTIVE": "Ակտիվ",
"INACTIVE": "Անգործուն"
"ACTIVE": "Active",
"INACTIVE": "Inactive"
},
"PRIORITY": {
"EARLIEST_CREATED": "Ավելի վաղ ստեղծված",
"LONGEST_WAITING": "Ամենաերկար սպասող"
"EARLIEST_CREATED": "Earliest created",
"LONGEST_WAITING": "Longest waiting"
},
"METHOD": {
"ROUND_ROBIN": "Շրջանաձև հերթափոխ",
"BALANCED": "Համաչափ հանձնարարում"
"ROUND_ROBIN": "Round robin",
"BALANCED": "Balanced assignment"
},
"UPGRADE_PROMPT": "Հատուկ հանձնարարումների քաղաքականությունները հասանելի են Բիզնես պլանում",
"UPGRADE_TO_BUSINESS": "Թարմացնել դեպի Business",
"DEFAULT_POLICY_LINKED": "Նախնական քաղաքականությունը կապված է",
"DEFAULT_POLICY_DESCRIPTION": "Կապեք հարմարեցված նշանակման քաղաքականություն՝ հարմարեցնելու, թե ինչպես են զրույցները նշանակվում գործակալներին այս մուտքի արկղում։",
"LINK_EXISTING_POLICY": "Կապել գոյություն ունեցող քաղաքականությունը",
"CREATE_NEW_POLICY": "Ստեղծել նոր քաղաքականություն",
"NO_POLICIES": "Առանձնացման քաղաքականություններ չեն գտնվել",
"VIEW_ALL_POLICIES": "Դիտել բոլոր քաղաքականությունները",
"CURRENT_BEHAVIOR": "Ընթացիկ օգտագործվում է նախնական առանձնացման վարքագիծը:",
"LINK_SUCCESS": "Առանձնացման քաղաքականությունը հաջողությամբ կապվեց",
"LINK_ERROR": "Չհաջողվեց կապել առանձնացման քաղաքականությունը"
"UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan",
"UPGRADE_TO_BUSINESS": "Upgrade to Business",
"DEFAULT_POLICY_LINKED": "Default policy linked",
"DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.",
"LINK_EXISTING_POLICY": "Link existing policy",
"CREATE_NEW_POLICY": "Create new policy",
"NO_POLICIES": "No assignment policies found",
"VIEW_ALL_POLICIES": "View all policies",
"CURRENT_BEHAVIOR": "Currently using default assignment behavior:",
"LINK_SUCCESS": "Assignment policy linked successfully",
"LINK_ERROR": "Failed to link assignment policy"
},
"ASSIGNMENT_POLICY": {
"DELETE_CONFIRM_TITLE": "Հեռացնել նշանակման քաղաքականությունը:",
"DELETE_CONFIRM_MESSAGE": "Համոզվա՞ծ եք, որ ցանկանում եք հեռացնել այս նշանակման քաղաքականությունը այս մուտքի արկղից: Մուտքի արկղը կվերադառնա նախնական նշանակման կանոններին։",
"CANCEL": "Չեղարկել",
"CONFIRM_DELETE": "Հեռացնել",
"DELETE_SUCCESS": "Նշանակման քաղաքականությունը հաջողությամբ հեռացվեց",
"DELETE_ERROR": "Չհաջողվեց հեռացնել նշանակման քաղաքականությունը"
"DELETE_CONFIRM_TITLE": "Delete assignment policy?",
"DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.",
"CANCEL": "Cancel",
"CONFIRM_DELETE": "Delete",
"DELETE_SUCCESS": "Assignment policy removed successfully",
"DELETE_ERROR": "Failed to remove assignment policy"
},
"FACEBOOK_REAUTHORIZE": {
"TITLE": "Վերահավատարմագրվել",
@@ -876,73 +876,73 @@
}
},
"CSAT": {
"TITLE": "Միացնել CSAT",
"SUBTITLE": "Ավտոմատ կերպով սկսեք CSAT հարցումներ զրույցների ավարտին՝ հասկանալու համար, թե ինչպես են հաճախորդները գնահատում իրենց աջակցման փորձը։ Հետևեք գոհունակության միտումներին և հայտնաբերեք բարելավման ոլորտները ժամանակի ընթացքում։",
"TITLE": "Enable CSAT",
"SUBTITLE": "Automatically trigger CSAT surveys at the end of conversations to understand how customers feel about their support experience. Track satisfaction trends and identify areas for improvement over time.",
"DISPLAY_TYPE": {
"LABEL": "Ցուցադրման տեսակ"
"LABEL": "Display type"
},
"MESSAGE": {
"LABEL": "Հաղորդագրություն",
"PLACEHOLDER": "Խնդրում ենք մուտքագրել հաղորդագրություն, որը կցուցադրվի օգտատերերին ձևի հետ միասին"
"LABEL": "Message",
"PLACEHOLDER": "Please enter a message to show users with the form"
},
"BUTTON_TEXT": {
"LABEL": "Կոճակի տեքստ",
"PLACEHOLDER": "Խնդրում ենք գնահատել մեզ"
"LABEL": "Button text",
"PLACEHOLDER": "Please rate us"
},
"LANGUAGE": {
"LABEL": "Լեզու",
"PLACEHOLDER": "Ընտրեք տպագրության լեզուն"
"LABEL": "Language",
"PLACEHOLDER": "Select template language"
},
"MESSAGE_PREVIEW": {
"LABEL": "Հաղորդագրության նախադիտում",
"TOOLTIP": "Սա կարող է փոքր-ինչ տարբերվել WhatsApp-ի հարթակում ցուցադրման ժամանակ։"
"LABEL": "Message preview",
"TOOLTIP": "This may vary slightly when rendered on WhatsApp's platform."
},
"TEMPLATE_STATUS": {
"APPROVED": "Հաստատված է WhatsApp-ի կողմից",
"PENDING": "Սպասում է WhatsApp-ի հաստատմանը",
"REJECTED": "Meta-ն մերժեց ձևանմուշը",
"DEFAULT": "Պահանջվում է WhatsApp-ի հաստատում",
"NOT_FOUND": "Ձևանմուշը գոյություն չունի Meta հարթակում։"
"APPROVED": "Approved by WhatsApp",
"PENDING": "Pending WhatsApp approval",
"REJECTED": "Meta rejected the template",
"DEFAULT": "Needs WhatsApp approval",
"NOT_FOUND": "The template does not exist in the Meta platform."
},
"TEMPLATE_CREATION": {
"SUCCESS_MESSAGE": "WhatsApp ձևանմուշը հաջողությամբ ստեղծվեց և ուղարկվեց հաստատման համար",
"ERROR_MESSAGE": "Չհաջողվեց ստեղծել WhatsApp ձևանմուշը"
"SUCCESS_MESSAGE": "WhatsApp template created successfully and sent for approval",
"ERROR_MESSAGE": "Failed to create WhatsApp template"
},
"TEMPLATE_UPDATE_DIALOG": {
"TITLE": "Խմբագրել հարցման մանրամասները",
"DESCRIPTION": "Մենք կջնջենք նախորդ ձևանմուշը և կստեղծենք նոր, որը կրկին կուղարկվի WhatsApp-ի հաստատման համար",
"CONFIRM": "Ստեղծել նոր ձևանմուշ",
"CANCEL": "Վերադառնալ"
"TITLE": "Edit survey details",
"DESCRIPTION": "We will delete the previous template and make a new one which will be sent again for WhatsApp approval",
"CONFIRM": "Create new template",
"CANCEL": "Go back"
},
"UTILITY_ANALYZER": {
"ACTION": "Ստուգել օգտակարության համապատասխանությունը",
"HELPER_NOTE": "Նախքան ուղարկումը ստուգեք այս հաղորդագրությունը՝ օգտակարության համապատասխանությունը բարելավելու համար։ Համակարգը ստեղծում է հատուկ CSAT ձևանմուշ՝ զեկուցման կոճակներով և ուղարկում որպես օգտակարություն։ Meta-ն կարող է այն դեռ դասակարգել որպես մարքեթինգ՝ հիմնվելով բովանդակության վրա։",
"RESULT_LABEL": "Meta կատեգորիայի կանխատեսում",
"GUIDANCE_NOTE": "Սա ուղղորդիչ ստուգում է, ոչ Meta-ի հաստատման երաշխիք։",
"SUGGESTION_LABEL": "Առաջարկվող օգտակարության անվտանգ վերագրանցում",
"APPLY": "Օգտագործել այս վերագրանցումը",
"ERROR_MESSAGE": "Հաղորդագրությունը վերլուծել հնարավոր չեղավ։ Խնդրում ենք փորձել կրկին։",
"ACTION": "Check utility fit",
"HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.",
"RESULT_LABEL": "Meta category prediction",
"GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.",
"SUGGESTION_LABEL": "Suggested utility-safe rewrite",
"APPLY": "Use this rewrite",
"ERROR_MESSAGE": "Couldn't analyze the message. Please try again.",
"CLASSIFICATION": {
"LIKELY_UTILITY": "Հավանական օգտակարություն",
"LIKELY_MARKETING": "Հավանական մարքեթինգ",
"UNCLEAR": "Պետք է հստակեցում"
"LIKELY_UTILITY": "Likely Utility",
"LIKELY_MARKETING": "Likely Marketing",
"UNCLEAR": "Needs clarification"
}
},
"SURVEY_RULE": {
"LABEL": "Հարցման կանոն",
"DESCRIPTION_PREFIX": "Ուղարկել հարցումը, եթե զրույցը",
"DESCRIPTION_SUFFIX": "միայնակ որևէ պիտակների",
"LABEL": "Survey rule",
"DESCRIPTION_PREFIX": "Send the survey if the conversation",
"DESCRIPTION_SUFFIX": "any of the labels",
"OPERATOR": {
"CONTAINS": "պարունակում է",
"DOES_NOT_CONTAINS": "չի պարունակում"
"CONTAINS": "contains",
"DOES_NOT_CONTAINS": "does not contain"
},
"SELECT_PLACEHOLDER": "ընտրեք պիտակները"
"SELECT_PLACEHOLDER": "select labels"
},
"NOTE": "Նշում․ CSAT հարցումները ուղարկվում են միայն մեկ անգամ յուրաքանչյուր զրույցի ընթացքում",
"WHATSAPP_NOTE": "Նշում․ Երբ պահում եք, համակարգը ստեղծում է հատուկ CSAT ձևանմուշ WhatsApp-ում (օգտագործվում է գնահատականը և արձագանքը հավաքելու համար զեկույցներում) և ուղարկում այն որպես Օգտակարություն հաստատման։ Meta-ն կարող է այն դասակարգել որպես Մարքեթինգ՝ հիմնվելով բովանդակության վրա։ Հաստատումից հետո հարցումները ուղարկվում են միայն մեկ անգամ յուրաքանչյուր զրույցի համար՝ համաձայն հարցման կանոնի։",
"NOTE": "Note: CSAT surveys are sent only once per conversation",
"WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.",
"API": {
"SUCCESS_MESSAGE": "CSAT կարգավորումները հաջողությամբ թարմացվեցին",
"ERROR_MESSAGE": "Չհաջողվեց թարմացնել CSAT կարգավորումները։ Խնդրում ենք փորձել կրկին հետո։"
"SUCCESS_MESSAGE": "CSAT settings updated successfully",
"ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later."
}
},
"BUSINESS_HOURS": {
@@ -955,9 +955,9 @@
"UNAVAILABLE_MESSAGE_LABEL": "Այցելուների համար անհասանելի հաղորդագրություն",
"TOGGLE_HELP": "Բիզնեսի մատչելիությունը միացնելիս, մատչելի ժամերը կցուցադրվեն կենդանի զրույցի վիջեթում, նույնիսկ եթե բոլոր գործակալները օֆլայն են։ Մատչելի ժամերից դուրս այցելուներին հնարավոր է զգուշացնել հաղորդագրությամբ և նախազրույցի ձևով։",
"DAY": {
"DAY": "Օր",
"AVAILABILITY": "Հասանելիություն",
"HOURS": "Ժամեր",
"DAY": "Day",
"AVAILABILITY": "Availability",
"HOURS": "Hours",
"ENABLE": "Միացնել մատչելիությունը այս օրը",
"UNAVAILABLE": "Չմատչելի",
"VALIDATION_ERROR": "Սկսման ժամանակը պետք է լինի փակման ժամանակից առաջ։",
@@ -971,7 +971,7 @@
"NOTE_TEXT": "SMTP-ն ակտիվացնելու համար խնդրում ենք կարգավորել IMAP-ը։",
"UPDATE": "Թարմացնել IMAP կարգավորումները",
"TOGGLE_AVAILABILITY": "Միացնել IMAP կարգավորումը այս նամակների արկղի համար",
"TOGGLE_HELP": "IMAP-ի միացումը կօգնի օգտատիրոջը ստանալ էլ. փոստ",
"TOGGLE_HELP": "Enabling IMAP will help the user to receive email",
"EDIT": {
"SUCCESS_MESSAGE": "IMAP կարգավորումները հաջողությամբ թարմացվեցին",
"ERROR_MESSAGE": "Չհաջողվեց թարմացնել IMAP կարգավորումները"
@@ -1066,12 +1066,12 @@
"IN_A_DAY": "Մեկ օրվա ընթացքում"
},
"WIDGET_COLOR_LABEL": "Վիջեթի գույն",
"WIDGET_BUBBLE": "Փուչիկ",
"WIDGET_BUBBLE_POSITION_LABEL": "Դիրք:",
"WIDGET_BUBBLE_TYPE_LABEL": "Տեսակ:",
"WIDGET_BUBBLE": "Bubble",
"WIDGET_BUBBLE_POSITION_LABEL": "Position:",
"WIDGET_BUBBLE_TYPE_LABEL": "Type:",
"WIDGET_BUBBLE_LAUNCHER_TITLE": {
"DEFAULT": "Զրուցել մեզ հետ",
"LABEL": "Սկիզբի Վերնագիր",
"LABEL": "Launcher Title",
"PLACE_HOLDER": "Զրուցել մեզ հետ"
},
"UPDATE": {
@@ -1096,7 +1096,7 @@
},
"WIDGET_SCREEN": {
"DEFAULT": "Նախնական",
"CHAT": "Զրույցի ռեժիմ"
"CHAT": "Chat mode"
},
"REPLY_TIME": {
"IN_A_FEW_MINUTES": "Հաճախ պատասխանում է մի քանի րոպեում",
@@ -1121,31 +1121,31 @@
"EMAIL_PROVIDERS": {
"MICROSOFT": {
"TITLE": "Microsoft",
"DESCRIPTION": "Միացրեք Microsoft-ին"
"DESCRIPTION": "Connect with Microsoft"
},
"GOOGLE": {
"TITLE": "Google",
"DESCRIPTION": "Կապվել Google-ի հետ"
"DESCRIPTION": "Connect with Google"
},
"OTHER_PROVIDERS": {
"TITLE": "Այլ մատակարարներ",
"DESCRIPTION": "Կապվել այլ մատակարարների հետ"
"TITLE": "Other Providers",
"DESCRIPTION": "Connect with Other Providers"
}
},
"CHANNELS": {
"MESSENGER": "Messenger",
"WEB_WIDGET": "Կայք",
"WEB_WIDGET": "Website",
"TWITTER_PROFILE": "Twitter",
"TWILIO_SMS": "Twilio SMS",
"WHATSAPP": "WhatsApp",
"SMS": "SMS",
"EMAIL": "Էլ. փոստ",
"EMAIL": "Email",
"TELEGRAM": "Telegram",
"LINE": "Line",
"API": "API ալիք",
"API": "API Channel",
"INSTAGRAM": "Instagram",
"TIKTOK": "TikTok",
"VOICE": "Ձայն"
"VOICE": "Voice"
}
}
}
@@ -20,8 +20,8 @@
"DESCRIPTION": "Chatwoot ինտեգրվում է բազմաթիվ գործիքների և ծառայությունների հետ՝ բարելավելու ձեր թիմի արդյունավետությունը։ Ստորև դիտեք ցանկը՝ ձեր սիրելի հավելվածները կարգավորելու համար։",
"LEARN_MORE": "Իմացեք ավելին ինտեգրացիաների մասին",
"LOADING": "Ինտեգրացիաները բեռնվում են",
"SEARCH_PLACEHOLDER": "Որոնել ինտեգրացիաներ...",
"NO_RESULTS": "Ձեր որոնմանը համապատասխան ինտեգրացիաներ չեն գտնվել",
"SEARCH_PLACEHOLDER": "Search integrations...",
"NO_RESULTS": "No integrations found matching your search",
"CAPTAIN": {
"DISABLED": "Captain-ը ձեր հաշվում ակտիվացված չէ։",
"CLICK_HERE_TO_CONFIGURE": "Սեղմեք այստեղ կարգավորելու համար",
@@ -32,16 +32,16 @@
"SUBSCRIBED_EVENTS": "Բաժանորդագրված իրադարձություններ",
"LEARN_MORE": "Իմացեք ավելին webhook-ների մասին",
"SECRET": {
"LABEL": "Գաղտնաբառ",
"COPY": "Պատճենել գաղտնաբառը",
"COPY_SUCCESS": "Գաղտնաբառը պատճենվել է",
"TOGGLE": "Ցուցադրել/թաքցնել գաղտնաբառը",
"CREATED_DESC": "Ձեր webhook-ը ստեղծվել է։ Օգտագործեք ներքևի գաղտնաբառը՝ webhook-ի ստորագրությունները ստուգելու համար։ Խնդրում ենք այն պատճենել հիմա՝ այն կարող եք գտնել նաև webhook-ի խմբագրման ձևում։",
"DONE": "Պատրաստ է"
"LABEL": "Secret",
"COPY": "Copy secret to clipboard",
"COPY_SUCCESS": "Secret copied to clipboard",
"TOGGLE": "Toggle secret visibility",
"CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.",
"DONE": "Done"
},
"COUNT": "{n} webhook | {n} webhooks",
"SEARCH_PLACEHOLDER": "Որոնել webhook-ներ...",
"NO_RESULTS": "Ձեր որոնմանը համապատասխան webhook-ներ չեն գտնվել",
"SEARCH_PLACEHOLDER": "Search webhooks...",
"NO_RESULTS": "No webhooks found matching your search",
"FORM": {
"CANCEL": "Չեղարկել",
"DESC": "Webhook իրադարձությունները ձեզ տրամադրում են իրական ժամանակի տեղեկություններ այն մասին, թե ինչ է տեղի ունենում ձեր Chatwoot հաշվում։ Խնդրում ենք մուտքագրել վավեր URL՝ callback կարգավորելու համար։",
@@ -61,18 +61,18 @@
}
},
"NAME": {
"LABEL": "Webhook-ի անունը",
"PLACEHOLDER": "Մուտքագրեք webhook-ի անունը"
"LABEL": "Webhook Name",
"PLACEHOLDER": "Enter the name of the webhook"
},
"END_POINT": {
"LABEL": "URL Webhook",
"LABEL": "Webhook URL",
"PLACEHOLDER": "Օրինակ՝ {webhookExampleURL}",
"ERROR": "Խնդրում ենք մուտքագրել վավեր URL"
},
"EDIT_SUBMIT": "Թարմացնել webhook-ը",
"ADD_SUBMIT": "Ստեղծել webhook"
},
"TITLE": "Վեբհուք",
"TITLE": "Webhook",
"CONFIGURE": "Կարգավորել",
"HEADER": "Webhook կարգավորումներ",
"HEADER_BTN_TXT": "Ավելացնել նոր webhook",
@@ -126,7 +126,7 @@
},
"HELP_TEXT": {
"TITLE": "Using Slack Integration",
"BODY": "Այս ինտեգրացիայի միջոցով ձեր բոլոր մուտք գործող զրույցները կհամաժամեցվեն ***{selectedChannelName}*** Slack ալիքում ձեր Slack workspace-ում։ Դուք կարող եք կառավարել ձեր հաճախորդների բոլոր զրույցները հենց այդ ալիքում և երբեք բաց չթողնել հաղորդագրություն։\n\nԱհա ինտեգրացիայի հիմնական հնարավորությունները.\n\n**Պատասխանեք զրույցներին Slack-ում:** Որպեսզի պատասխանեք ***{selectedChannelName}*** Slack ալիքում զրույցին, պարզապես գրեք ձեր հաղորդագրությունը և ուղարկեք այն որպես թել։ Սա կստեղծի պատասխան հաճախորդին Chatwoot-ի միջոցով։ Դա շատ պարզ է։\n\n **Ստեղծեք մասնավոր նշումներ:** Եթե ցանկանում եք ստեղծել մասնավոր նշումներ փոխարենը պատասխանների, ձեր հաղորդագրությունը սկսեք ***`note:`***-ով։ Սա կապահովի, որ ձեր հաղորդագրությունը կմնա մասնավոր և հաճախորդը չի տեսնի այն։\n\n**Կցեք գործակալի պրոֆիլ:** Եթե Slack-ում պատասխանող անձը ունի գործակալի պրոֆիլ Chatwoot-ում նույն էլ․ հասցեով, պատասխանները ինքնաբար կկցվեն այդ գործակալի պրոֆիլին։ Սա նշանակում է, որ հեշտությամբ կարող եք հետևել՝ ով, ինչ և երբ է ասել։ Մյուս կողմից, եթե պատասխանողը չունի կցված գործակալի պրոֆիլ, պատասխանները հաճախորդին կերևան բոտի պրոֆիլից։",
"BODY": "With this integration, all of your incoming conversations will be synced to the ***{selectedChannelName}*** channel in your Slack workspace. You can manage all your customer conversations right within the channel and never miss a message.\n\nHere are the main features of the integration:\n\n**Respond to conversations from within Slack:** To respond to a conversation in the ***{selectedChannelName}*** Slack channel, simply type out your message and send it as a thread. This will create a response back to the customer through Chatwoot. It's that simple!\n\n **Create private notes:** If you want to create private notes instead of replies, start your message with ***`note:`***. This ensures that your message is kept private and won't be visible to the customer.\n\n**Associate an agent profile:** If the person who replied on Slack has an agent profile in Chatwoot under the same email, the replies will be associated with that agent profile automatically. This means you can easily track who said what and when. On the other hand, when the replier doesn't have an associated agent profile, the replies will appear from the bot profile to the customer.",
"SELECTED": "ընտրված"
},
"SELECT_CHANNEL": {
@@ -161,28 +161,28 @@
"MAKE_FRIENDLY": "Փոխել հաղորդագրության տոնը ընկերական",
"MAKE_FORMAL": "Օգտվել պաշտոնական տոնից",
"SIMPLIFY": "Պարզեցնել",
"CONFIDENT": "Օգտագործել վստահ տոն",
"PROFESSIONAL": "Օգտագործել պրոֆեսիոնալ տոն",
"CASUAL": "Օգտագործել առօրյա տոն",
"STRAIGHTFORWARD": "Օգտագործել պարզ տոն"
"CONFIDENT": "Use confident tone",
"PROFESSIONAL": "Use professional tone",
"CASUAL": "Use casual tone",
"STRAIGHTFORWARD": "Use straightforward tone"
},
"REPLY_OPTIONS": {
"IMPROVE_REPLY": "Բարելավել պատասխանը",
"IMPROVE_REPLY_SELECTION": "Բարելավել ընտրությունը",
"IMPROVE_REPLY": "Improve reply",
"IMPROVE_REPLY_SELECTION": "Improve the selection",
"CHANGE_TONE": {
"TITLE": "Փոխել տոնը",
"TITLE": "Change tone",
"OPTIONS": {
"PROFESSIONAL": "Պրոֆեսիոնալ",
"CASUAL": "Անպաշտոնական",
"STRAIGHTFORWARD": "Պարզ ու հստակ",
"CONFIDENT": "Վստահ",
"FRIENDLY": "Բարեկամական"
"PROFESSIONAL": "Professional",
"CASUAL": "Casual",
"STRAIGHTFORWARD": "Straightforward",
"CONFIDENT": "Confident",
"FRIENDLY": "Friendly"
}
},
"GRAMMAR": "Ուղղել քերականությունն ու ուղղագրությունը",
"SUGGESTION": "Առաջարկել պատասխան",
"SUMMARIZE": "Ամփոփել զրույցը",
"ASK_COPILOT": "Հարցնել Copilot-ին"
"GRAMMAR": "Fix grammar & spelling",
"SUGGESTION": "Suggest a reply",
"SUMMARIZE": "Summarize the conversation",
"ASK_COPILOT": "Ask Copilot"
},
"ASSISTANCE_MODAL": {
"DRAFT_TITLE": "Սևրագիր",
@@ -239,15 +239,15 @@
"DESCRIPTION": "Վահանակի հավելվածները թույլ են տալիս կազմակերպություններին տեղադրել հավելված վահանակի ներսում՝ հաճախորդների աջակցության գործակալների համար համատեքստ տրամադրելու նպատակով։ Այս ֆունկցիան թույլ է տալիս անկախ ստեղծել հավելված և տեղադրել այն՝ օգտատիրոջ տեղեկություններ, նրանց պատվերներ կամ նախորդ վճարումների պատմություն տրամադրելու համար։",
"LEARN_MORE": "Իմացեք ավելին Dashboard հավելվածների մասին",
"COUNT": "{n} dashboard app | {n} dashboard apps",
"SEARCH_PLACEHOLDER": "Որոնել վահանակի հավելվածներ...",
"NO_RESULTS": "Ձեր որոնմանը համապատասխան վահանակի հավելվածներ չեն գտնվել",
"SEARCH_PLACEHOLDER": "Search dashboard apps...",
"NO_RESULTS": "No dashboard apps found matching your search",
"LIST": {
"404": "Այս հաշվի վրա դեռևս վահանակի հավելվածներ չեն կարգավորվել",
"LOADING": "Բեռնվում են վահանակի հավելվածները...",
"TABLE_HEADER": {
"NAME": "Անուն",
"ENDPOINT": "Վերջնակետ",
"ACTIONS": "Գործողություններ"
"ACTIONS": "Actions"
},
"EDIT_TOOLTIP": "Խմբագրել հավելվածը",
"DELETE_TOOLTIP": "Հեռացնել հավելվածը"
@@ -392,10 +392,10 @@
"NAME": "Captain",
"HEADER_KNOW_MORE": "Իմանալ ավելին",
"ASSISTANT_SWITCHER": {
"ASSISTANTS": "Օգնականներ",
"SWITCH_ASSISTANT": "Փոխել օգնականը",
"NEW_ASSISTANT": "Ստեղծել օգնական",
"EMPTY_LIST": "Օգնականներ չեն գտնվել, ստեղծեք նոր՝ սկսելու համար"
"ASSISTANTS": "Assistants",
"SWITCH_ASSISTANT": "Switch between assistants",
"NEW_ASSISTANT": "Create Assistant",
"EMPTY_LIST": "No assistants found, please create one to get started"
},
"COPILOT": {
"TITLE": "Կոպիլոտ",
@@ -449,7 +449,7 @@
"CANCEL_ANYTIME": "Դուք կարող եք ցանկացած պահի փոխել կամ չեղարկել ձեր պլանը"
},
"ENTERPRISE_PAYWALL": {
"AVAILABLE_ON": "Captain AI-ը հասանելի է միայն Enterprise փաթեթներում։",
"AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.",
"UPGRADE_PROMPT": "Թարմացրեք ձեր պլանը՝ ստանալու համար մեր օգնականներին, copilot-ին և ավելին։",
"ASK_ADMIN": "Խնդրում ենք դիմել ձեր ադմինիստրատորին թարմացման համար։"
},
@@ -527,8 +527,8 @@
"TITLE": "Հատկություններ",
"ALLOW_CONVERSATION_FAQS": "Ստեղծել ՀՏՀ-ներ լուծված զրույցներից",
"ALLOW_MEMORIES": "Հաճախորդների հետ փոխգործակցություններից կարևոր մանրամասներ պահպանել հիշողություններում։",
"ALLOW_CITATIONS": "Sertakan petikan sumber dalam jawapan",
"ALLOW_CONTACT_ATTRIBUTES": "Թույլատրել մուտք կոնտակտային տվյալներին"
"ALLOW_CITATIONS": "Include source citations in responses",
"ALLOW_CONTACT_ATTRIBUTES": "Allow access to contact information"
}
},
"EDIT": {
@@ -538,7 +538,7 @@
"NOT_FOUND": "Օգնականը չի գտնվել։ Խնդրում ենք փորձել կրկին։"
},
"SETTINGS": {
"HEADER": "Կարգավորումներ",
"HEADER": "Settings",
"BASIC_SETTINGS": {
"TITLE": "Հիմնական կարգավորումներ",
"DESCRIPTION": "Անհատականացրեք, թե ինչ է ասում օգնականը զրույցը ավարտելիս կամ մարդուն փոխանցելիս։"
@@ -562,8 +562,8 @@
}
},
"DELETE": {
"TITLE": "Ջնջել օգնականը",
"DESCRIPTION": "Այս գործողությունը անդառնալի է։ Օգնականը ջնջելու դեպքում այն կհեռացվի բոլոր միացված մուտքային արկղերից և ամբողջությամբ կջնջվի ստեղծված գիտելիքը։",
"TITLE": "Delete Assistant",
"DESCRIPTION": "This action is permanent. Deleting this assistant will remove it from all connected inboxes and permanently erase all generated knowledge.",
"BUTTON_TEXT": "Delete {assistantName}"
}
},
@@ -721,16 +721,16 @@
"SEARCH_EMPTY_MESSAGE": "Այս որոնման համար սցենարներ չեն գտնվել։",
"API": {
"ADD": {
"SUCCESS": "Senario berjaya ditambah",
"ERROR": "Սցենարներ ավելացնելիս սխալ առաջացավ, խնդրում ենք փորձել կրկին։"
"SUCCESS": "Scenarios added successfully",
"ERROR": "There was an error adding scenarios, please try again."
},
"UPDATE": {
"SUCCESS": "Senario berjaya dikemas kini",
"ERROR": "Սցենարներ թարմացնելիս սխալ առաջացավ, խնդրում ենք փորձել կրկին։"
"SUCCESS": "Scenarios updated successfully",
"ERROR": "There was an error updating scenarios, please try again."
},
"DELETE": {
"SUCCESS": "Senario berjaya dipadam",
"ERROR": "Սցենարներ ջնջելիս սխալ առաջացավ, խնդրում ենք փորձել կրկին։"
"SUCCESS": "Scenarios deleted successfully",
"ERROR": "There was an error deleting scenarios, please try again."
}
}
}
@@ -750,9 +750,9 @@
},
"FORM": {
"TYPE": {
"LABEL": "Jenis Dokumen",
"LABEL": "Document Type",
"URL": "URL",
"PDF": "Fail PDF"
"PDF": "PDF File"
},
"URL": {
"LABEL": "URL",
@@ -760,16 +760,16 @@
"ERROR": "Խնդրում ենք տրամադրել փաստաթղթի վավեր URL"
},
"PDF_FILE": {
"LABEL": "Fail PDF",
"CHOOSE_FILE": "Pilih fail PDF",
"ERROR": "Sila pilih fail PDF",
"HELP_TEXT": "Saiz fail maksimum: 10MB",
"INVALID_TYPE": "Sila pilih fail PDF yang sah",
"TOO_LARGE": "Saiz fail melebihi had 10MB"
"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": "Nama Dokumen (Pilihan)",
"PLACEHOLDER": "Masukkan nama untuk dokumen"
"LABEL": "Document Name (Optional)",
"PLACEHOLDER": "Enter a name for the document"
}
},
"DELETE": {
@@ -793,117 +793,117 @@
}
},
"CUSTOM_TOOLS": {
"HEADER": "Alat",
"ADD_NEW": "Cipta alat baru",
"HEADER": "Tools",
"ADD_NEW": "Create a new tool",
"EMPTY_STATE": {
"TITLE": "Tiada alat khusus tersedia",
"SUBTITLE": "Ստեղծեք անհատական գործիքներ՝ ձեր օգնականին արտաքին API-ների և ծառայությունների հետ կապելու համար՝ հնարավորություն տալով նրան ստանալ տվյալներ և կատարել գործողություններ ձեր անունից։",
"TITLE": "No custom tools available",
"SUBTITLE": "Create custom tools to connect your assistant with external APIs and services, enabling it to fetch data and perform actions on your behalf.",
"FEATURE_SPOTLIGHT": {
"TITLE": "Alat Khusus",
"NOTE": "Անհատական գործիքները թույլ են տալիս ձեր օգնականին աշխատել արտաքին API-ների և ծառայությունների հետ։ Ստեղծեք գործիքներ՝ տվյալներ ստանալու, գործողություններ կատարելու կամ ձեր առկա համակարգերի հետ ինտեգրվելու համար՝ ձեր օգնականի հնարավորությունները ընդլայնելու համար։"
"TITLE": "Custom Tools",
"NOTE": "Custom tools allow your assistant to interact with external APIs and services. Create tools to fetch data, perform actions, or integrate with your existing systems to enhance your assistant's capabilities."
}
},
"FORM_DESCRIPTION": "Konfigurasikan alat khusus anda untuk berhubung dengan API luaran",
"FORM_DESCRIPTION": "Configure your custom tool to connect with external APIs",
"OPTIONS": {
"EDIT_TOOL": "Sunting alat",
"DELETE_TOOL": "Padam alat"
"EDIT_TOOL": "Edit tool",
"DELETE_TOOL": "Delete tool"
},
"CREATE": {
"TITLE": "Cipta Alat Khusus",
"SUCCESS_MESSAGE": "Alat khusus berjaya dicipta",
"ERROR_MESSAGE": "Gagal mencipta alat khusus"
"TITLE": "Create Custom Tool",
"SUCCESS_MESSAGE": "Custom tool created successfully",
"ERROR_MESSAGE": "Failed to create custom tool"
},
"EDIT": {
"TITLE": "Sunting Alat Tersuai",
"SUCCESS_MESSAGE": "Alat tersuai berjaya dikemas kini",
"ERROR_MESSAGE": "Gagal mengemas kini alat tersuai"
"TITLE": "Edit Custom Tool",
"SUCCESS_MESSAGE": "Custom tool updated successfully",
"ERROR_MESSAGE": "Failed to update custom tool"
},
"DELETE": {
"TITLE": "Padam Alat Tersuai",
"DESCRIPTION": "Վստա՞հ եք, որ ցանկանում եք ջնջել այս անհատական գործիքը։ Այս գործողությունը հնարավոր չէ վերականգնել։",
"CONFIRM": "Ya, padam",
"SUCCESS_MESSAGE": "Alat tersuai berjaya dipadam",
"ERROR_MESSAGE": "Gagal memadam alat tersuai"
"TITLE": "Delete Custom Tool",
"DESCRIPTION": "Are you sure you want to delete this custom tool? This action cannot be undone.",
"CONFIRM": "Yes, delete",
"SUCCESS_MESSAGE": "Custom tool deleted successfully",
"ERROR_MESSAGE": "Failed to delete custom tool"
},
"FORM": {
"TITLE": {
"LABEL": "Nama Alat",
"PLACEHOLDER": "Carian Pesanan",
"ERROR": "Nama alat diperlukan"
"LABEL": "Tool Name",
"PLACEHOLDER": "Order Lookup",
"ERROR": "Tool name is required"
},
"DESCRIPTION": {
"LABEL": "Penerangan",
"PLACEHOLDER": "Mencari butiran pesanan mengikut ID pesanan"
"LABEL": "Description",
"PLACEHOLDER": "Looks up order details by order ID"
},
"HTTP_METHOD": {
"LABEL": "Kaedah"
"LABEL": "Method"
},
"ENDPOINT_URL": {
"LABEL": "URL Titik Akhir",
"LABEL": "Endpoint URL",
"PLACEHOLDER": "https://api.example.com/orders/{'{{'} order_id {'}}'}",
"ERROR": "URL yang sah diperlukan"
"ERROR": "Valid URL is required"
},
"AUTH_TYPE": {
"LABEL": "Jenis Pengesahan"
"LABEL": "Authentication Type"
},
"AUTH_TYPES": {
"NONE": "Tiada",
"BEARER": "Token Bearer",
"BASIC": "Pengesahan Asas",
"API_KEY": "Kunci API"
"NONE": "None",
"BEARER": "Bearer Token",
"BASIC": "Basic Auth",
"API_KEY": "API Key"
},
"AUTH_CONFIG": {
"BEARER_TOKEN": "Token Bearer",
"BEARER_TOKEN_PLACEHOLDER": "Masukkan token bearer anda",
"USERNAME": "Nama Pengguna",
"USERNAME_PLACEHOLDER": "Masukkan nama pengguna",
"PASSWORD": "Kata Laluan",
"PASSWORD_PLACEHOLDER": "Masukkan kata laluan",
"API_KEY": "Nama Header",
"BEARER_TOKEN": "Bearer Token",
"BEARER_TOKEN_PLACEHOLDER": "Enter your bearer token",
"USERNAME": "Username",
"USERNAME_PLACEHOLDER": "Enter username",
"PASSWORD": "Password",
"PASSWORD_PLACEHOLDER": "Enter password",
"API_KEY": "Header Name",
"API_KEY_PLACEHOLDER": "X-API-Key",
"API_VALUE": "Nilai Header",
"API_VALUE_PLACEHOLDER": "Masukkan nilai kunci API"
"API_VALUE": "Header Value",
"API_VALUE_PLACEHOLDER": "Enter API key value"
},
"PARAMETERS": {
"LABEL": "Parameter",
"HELP_TEXT": "Tentukan parameter yang akan diambil dari pertanyaan pengguna"
"LABEL": "Parameters",
"HELP_TEXT": "Define the parameters that will be extracted from user queries"
},
"ADD_PARAMETER": "Tambah Parameter",
"ADD_PARAMETER": "Add Parameter",
"PARAM_NAME": {
"PLACEHOLDER": "Nama parameter (contoh: order_id)"
"PLACEHOLDER": "Parameter name (e.g., order_id)"
},
"PARAM_TYPE": {
"PLACEHOLDER": "Տեսակ"
"PLACEHOLDER": "Type"
},
"PARAM_TYPES": {
"STRING": "Տող",
"NUMBER": "Թիվ",
"BOOLEAN": "Բուլյան",
"ARRAY": "Զանգված",
"OBJECT": "Օբյեկտ"
"STRING": "String",
"NUMBER": "Number",
"BOOLEAN": "Boolean",
"ARRAY": "Array",
"OBJECT": "Object"
},
"PARAM_DESCRIPTION": {
"PLACEHOLDER": "Պարամետրի նկարագրություն"
"PLACEHOLDER": "Description of the parameter"
},
"PARAM_REQUIRED": {
"LABEL": "Պարտադիր"
"LABEL": "Required"
},
"REQUEST_TEMPLATE": {
"LABEL": "Հարցման մարմնի ձևանմուշ (ըստ ցանկության)",
"LABEL": "Request Body Template (Optional)",
"PLACEHOLDER": "{'{'}\n \"order_id\": \"{'{{'} order_id {'}}'}\"\n{'}'}"
},
"RESPONSE_TEMPLATE": {
"LABEL": "Պատասխանի ձևանմուշ (ըստ ցանկության)",
"LABEL": "Response Template (Optional)",
"PLACEHOLDER": "Order {'{{'} order_id {'}}'} status: {'{{'} status {'}}'}"
},
"ERRORS": {
"PARAM_NAME_REQUIRED": "Պարամետրի անունը պարտադիր է"
"PARAM_NAME_REQUIRED": "Parameter name is required"
}
}
},
"RESPONSES": {
"HEADER": "ՀՏՀ-ներ",
"PENDING_FAQS": "Սպասող ՀՏՀ-ներ",
"PENDING_FAQS": "Pending FAQs",
"ADD_NEW": "Ստեղծել նոր FAQ",
"DOCUMENTABLE": {
"CONVERSATION": "Զրույց #{id}"
@@ -911,7 +911,7 @@
"SELECTED": "{count} ընտրված",
"SELECT_ALL": "Ընտրել բոլորը ({count})",
"UNSELECT_ALL": "Չընտրել բոլորը ({count})",
"SEARCH_PLACEHOLDER": "Cari Soalan Lazim...",
"SEARCH_PLACEHOLDER": "Search FAQs...",
"BULK_APPROVE_BUTTON": "Հաստատել",
"BULK_DELETE_BUTTON": "Ջնջել",
"BULK_APPROVE": {
@@ -944,8 +944,8 @@
"ALL": "Բոլորը"
},
"PENDING_BANNER": {
"TITLE": "Captain-ը գտել է հաճախորդների փնտրած ՀՏՀ-ները։",
"ACTION": "Սեղմեք այստեղ՝ դիտարկելու համար"
"TITLE": "Captain has found some FAQs your customers were looking for.",
"ACTION": "Click here to review"
},
"FORM_DESCRIPTION": "Ավելացրեք հարց և նրա համապատասխան պատասխան գիտելիքների բազայում և ընտրեք օգնականին, որի հետ այն պետք է կապվի։",
"CREATE": {
@@ -972,15 +972,15 @@
"APPROVE_SUCCESS_MESSAGE": "ՀՏՀ-ն նշվել է որպես հաստատված"
},
"OPTIONS": {
"APPROVE": "Հաստատել",
"EDIT_RESPONSE": "Խմբագրել",
"DELETE_RESPONSE": "Ջնջել"
"APPROVE": "Approve",
"EDIT_RESPONSE": "Edit",
"DELETE_RESPONSE": "Delete"
},
"EMPTY_STATE": {
"TITLE": "ՀՏՀ-ներ չեն գտնվել",
"NO_PENDING_TITLE": "Վերանայման սպասող ՀՏՀ-ներ չկան",
"NO_PENDING_TITLE": "There are no more pending FAQs to review",
"SUBTITLE": "ՀՏՀ-ները օգնում են ձեր օգնականին արագ և ճշգրիտ պատասխաններ տրամադրել ձեր հաճախորդների հարցերին։ Դրանք կարող են ավտոմատ կերպով ստեղծվել ձեր բովանդակությունից կամ ձեռքով ավելացվել։",
"CLEAR_SEARCH": "Մաքրել ակտիվ ֆիլտրերը",
"CLEAR_SEARCH": "Clear active filters",
"FEATURE_SPOTLIGHT": {
"TITLE": "Կապտեն Հաճախ տրվող հարցեր",
"NOTE": "Կապտեն Հաճախ տրվող հարցերը հայտնաբերում են հաճախորդների ընդհանուր հարցերը՝ անկախ նրանից, թե դրանք բացակայում են ձեր գիտելիքների բազայում, թե հաճախ են տրվում, և ստեղծում են համապատասխան ՀՏՀ-ներ՝ աջակցությունը բարելավելու համար։ Դուք կարող եք վերանայել յուրաքանչյուր առաջարկ և որոշել՝ հաստատել կամ մերժել այն։"
@@ -1,105 +1,105 @@
{
"REPORT": {
"HEADER": "Զրույցներ",
"LOADING_CHART": "Գրաֆիկի տվյալները բեռնվում են...",
"NO_ENOUGH_DATA": "Հաշվետվություն կազմելու համար բավարար տվյալներ չկան, փորձեք ավելի ուշ։",
"DOWNLOAD_CONVERSATION_REPORTS": "Ներբեռնել զրույցների հաշվետվությունները",
"DATA_FETCHING_FAILED": "Տվյալները բեռնելը ձախողվեց, խնդրում ենք փորձել ավելի ուշ։",
"SUMMARY_FETCHING_FAILED": "Հաշվետվության ամփոփումը բեռնելը ձախողվեց, խնդրում ենք փորձել ավելի ուշ։",
"HEADER": "Conversations",
"LOADING_CHART": "Loading chart data...",
"NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.",
"DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports",
"DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.",
"SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.",
"METRICS": {
"CONVERSATIONS": {
"NAME": "Զրույցներ",
"DESC": "(Ընդամենը)"
"NAME": "Conversations",
"DESC": "( Total )"
},
"INCOMING_MESSAGES": {
"NAME": "Incoming Messages",
"DESC": "(Ընդամենը)"
"DESC": "( Total )"
},
"OUTGOING_MESSAGES": {
"NAME": "Outgoing Messages",
"DESC": "(Ընդամենը)"
"DESC": "( Total )"
},
"FIRST_RESPONSE_TIME": {
"NAME": "Առաջին արձագանքի ժամանակ",
"DESC": "(Միջին)",
"INFO_TEXT": "Հաշվարկի համար օգտագործված զրույցների ընդհանուր քանակը՝",
"TOOLTIP_TEXT": "Առաջին պատասխանման ժամանակը {metricValue} է (հիմնված է {conversationCount} զրույցների վրա)"
"NAME": "First Response Time",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "First Response Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_TIME": {
"NAME": "Լուծման ժամանակ",
"DESC": "(Միջին)",
"INFO_TEXT": "Հաշվարկի համար օգտագործված զրույցների ընդհանուր քանակը՝",
"TOOLTIP_TEXT": "Լուծման ժամանակը {metricValue} է (հիմնված է {conversationCount} զրույցների վրա)"
"NAME": "Resolution Time",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "Resolution Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_COUNT": {
"NAME": "Լուծվածների քանակ",
"DESC": "( Ընդհանուր )"
"NAME": "Resolution Count",
"DESC": "( Total )"
},
"BOT_RESOLUTION_COUNT": {
"NAME": "Լուծումների քանակ",
"DESC": "(Ընդհանուր)"
"NAME": "Resolution Count",
"DESC": "( Total )"
},
"BOT_HANDOFF_COUNT": {
"NAME": "Հանձման քանակ",
"DESC": "(Ընդհանուր)"
"NAME": "Handoff Count",
"DESC": "( Total )"
},
"REPLY_TIME": {
"NAME": "Հաճախորդի սպասման ժամանակ",
"TOOLTIP_TEXT": "Սպասման ժամանակը {metricValue} է (հիմնված է {conversationCount} պատասխանների վրա)",
"NAME": "Customer waiting time",
"TOOLTIP_TEXT": "Waiting time is {metricValue} (based on {conversationCount} replies)",
"DESC": ""
}
},
"DATE_RANGE_OPTIONS": {
"LAST_7_DAYS": "Վերջին 7 օրերը",
"LAST_14_DAYS": "Վերջին 14 օրերը",
"LAST_30_DAYS": "Վերջին 30 օրերը",
"THIS_MONTH": "Այս ամիս",
"LAST_MONTH": "Նախորդ ամիս",
"LAST_3_MONTHS": "Վերջին 3 ամիսները",
"LAST_6_MONTHS": "Վերջին 6 ամիսները",
"LAST_YEAR": "Վերջին տարին",
"CUSTOM_DATE_RANGE": "Ընտրված ամսաթվի միջակայք"
"LAST_7_DAYS": "Last 7 days",
"LAST_14_DAYS": "Last 14 days",
"LAST_30_DAYS": "Last 30 days",
"THIS_MONTH": "This month",
"LAST_MONTH": "Last month",
"LAST_3_MONTHS": "Last 3 months",
"LAST_6_MONTHS": "Last 6 months",
"LAST_YEAR": "Last year",
"CUSTOM_DATE_RANGE": "Custom date range"
},
"CUSTOM_DATE_RANGE": {
"CONFIRM": "Կիրառել",
"PLACEHOLDER": "Ընտրեք ամսաթվերի միջակայքը"
"CONFIRM": "Apply",
"PLACEHOLDER": "Select date range"
},
"GROUP_BY_FILTER_DROPDOWN_LABEL": "Խմբավորել ըստ",
"DURATION_FILTER_LABEL": "Տևողություն",
"GROUP_BY_FILTER_DROPDOWN_LABEL": "Group By",
"DURATION_FILTER_LABEL": "Duration",
"GROUPING_OPTIONS": {
"DAY": "Օր",
"WEEK": "Շաբաթ",
"MONTH": "Ամիս",
"DAY": "Day",
"WEEK": "Week",
"MONTH": "Month",
"YEAR": "Month"
},
"GROUP_BY_DAY_OPTIONS": [
{
"id": 1,
"groupBy": "Օր"
"groupBy": "Day"
}
],
"GROUP_BY_WEEK_OPTIONS": [
{
"id": 1,
"groupBy": "Օր"
"groupBy": "Day"
},
{
"id": 2,
"groupBy": "Շաբաթ"
"groupBy": "Week"
}
],
"GROUP_BY_MONTH_OPTIONS": [
{
"id": 1,
"groupBy": "Օր"
"groupBy": "Day"
},
{
"id": 2,
"groupBy": "Շաբաթ"
"groupBy": "Week"
},
{
"id": 3,
"groupBy": "Ամիս"
"groupBy": "Month"
}
],
"GROUP_BY_YEAR_OPTIONS": [
@@ -116,535 +116,535 @@
"groupBy": "Month"
}
],
"BUSINESS_HOURS": "Աշխատանքային ժամեր",
"BUSINESS_HOURS": "Business Hours",
"FILTER_ACTIONS": {
"CLEAR_FILTER": "Մաքրել ֆիլտրը",
"EMPTY_LIST": "Արդյունքներ չեն գտնվել"
"CLEAR_FILTER": "Clear filter",
"EMPTY_LIST": "No results found"
},
"PAGINATION": {
"RESULTS": "Ցուցադրվում է {start}-ից {end}-ը՝ ընդհանուր {total} արդյունքներից",
"PER_PAGE_TEMPLATE": "{size} / էջ"
"RESULTS": "Showing {start} to {end} of {total} results",
"PER_PAGE_TEMPLATE": "{size} / page"
}
},
"AGENT_REPORTS": {
"HEADER": "Գործակալների ամփոփում",
"DESCRIPTION": "Հեշտությամբ հետևեք գործակալի արդյունավետությանը հիմնական չափանիշներով, ինչպիսիք են զրույցները, պատասխանման ժամանակները, լուծման ժամանակները և լուծված դեպքերը։ Սեղմեք գործակալի անունը՝ ավելին իմանալու համար։",
"LOADING_CHART": "Գրաֆիկի տվյալները բեռնվում են...",
"NO_ENOUGH_DATA": "Հաշվետվություն կազմելու համար բավարար տվյալներ չունենք, փորձեք ավելի ուշ։",
"DOWNLOAD_AGENT_REPORTS": "Ներբեռնել գործակալների հաշվետվությունները",
"FILTER_DROPDOWN_LABEL": "Ընտրեք գործակալին",
"HEADER": "Agents Overview",
"DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.",
"LOADING_CHART": "Loading chart data...",
"NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.",
"DOWNLOAD_AGENT_REPORTS": "Download agent reports",
"FILTER_DROPDOWN_LABEL": "Select Agent",
"FILTERS": {
"INPUT_PLACEHOLDER": {
"AGENTS": "Որոնել գործակալների մեջ"
"AGENTS": "Search agents"
}
},
"METRICS": {
"CONVERSATIONS": {
"NAME": "Զրույցներ",
"DESC": "( Ընդհանուր )"
"NAME": "Conversations",
"DESC": "( Total )"
},
"INCOMING_MESSAGES": {
"NAME": "Մուտքային հաղորդագրություններ",
"DESC": "( Ընդամենը )"
"NAME": "Incoming Messages",
"DESC": "( Total )"
},
"OUTGOING_MESSAGES": {
"NAME": "Ելքային հաղորդագրություններ",
"DESC": "( Ընդամենը )"
"NAME": "Outgoing Messages",
"DESC": "( Total )"
},
"FIRST_RESPONSE_TIME": {
"NAME": "Առաջին արձագանքի ժամանակ",
"DESC": "( Միջին )",
"INFO_TEXT": "Հաշվարկի համար օգտագործված զրույցների ընդհանուր քանակը՝",
"TOOLTIP_TEXT": "Առաջին պատասխանման ժամանակը {metricValue} է (հիմնված է {conversationCount} զրույցների վրա)"
"NAME": "First Response Time",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "First Response Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_TIME": {
"NAME": "Լուծման ժամանակ",
"DESC": "( Միջին )",
"INFO_TEXT": "Հաշվարկի համար օգտագործված զրույցների ընդհանուր քանակը՝",
"TOOLTIP_TEXT": "Լուծման ժամանակը {metricValue} է (հիմնված է {conversationCount} զրույցների վրա)"
"NAME": "Resolution Time",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "Resolution Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_COUNT": {
"NAME": "Լուծված դեպքերի քանակ",
"DESC": "( Ընդամենը )"
"NAME": "Resolution Count",
"DESC": "( Total )"
}
},
"DATE_RANGE": [
{
"id": 0,
"name": "Վերջին 7 օրը"
"name": "Last 7 days"
},
{
"id": 1,
"name": "Վերջին 30 օրը"
"name": "Last 30 days"
},
{
"id": 2,
"name": "Վերջին 3 ամիսը"
"name": "Last 3 months"
},
{
"id": 3,
"name": "Վերջին 6 ամիսը"
"name": "Last 6 months"
},
{
"id": 4,
"name": "Վերջին տարին"
"name": "Last year"
},
{
"id": 5,
"name": "Անհատական ժամանակահատված"
"name": "Custom date range"
}
],
"CUSTOM_DATE_RANGE": {
"CONFIRM": "Կիրառել",
"PLACEHOLDER": "Ընտրեք ժամանակահատվածը"
"CONFIRM": "Apply",
"PLACEHOLDER": "Select date range"
}
},
"LABEL_REPORTS": {
"HEADER": "Պիտակների ակնարկ",
"DESCRIPTION": "Հետևեք պիտակի արդյունավետությանը հիմնական չափանիշներով՝ ներառյալ զրույցները, պատասխանման ժամանակները, լուծման ժամանակները և լուծված դեպքերը։ Սեղմեք պիտակի անվան վրա՝ մանրամասն տեղեկությունների համար։",
"LOADING_CHART": "Գծապատկերի տվյալները բեռնվում են...",
"NO_ENOUGH_DATA": "Հաշվետվություն կազմելու համար բավարար տվյալներ չկան, փորձեք ավելի ուշ։",
"DOWNLOAD_LABEL_REPORTS": "Ներբեռնել պիտակների հաշվետվությունները",
"FILTER_DROPDOWN_LABEL": "Ընտրեք պիտակը",
"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.",
"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",
"FILTER_DROPDOWN_LABEL": "Select Label",
"FILTERS": {
"INPUT_PLACEHOLDER": {
"LABELS": "Որոնել պիտակները"
"LABELS": "Search labels"
}
},
"METRICS": {
"CONVERSATIONS": {
"NAME": "Զրույցներ",
"DESC": "( Ընդամենը )"
"NAME": "Conversations",
"DESC": "( Total )"
},
"INCOMING_MESSAGES": {
"NAME": "Մուտքային հաղորդագրություններ",
"DESC": "( Ընդամենը )"
"NAME": "Incoming Messages",
"DESC": "( Total )"
},
"OUTGOING_MESSAGES": {
"NAME": "Ելքային հաղորդագրություններ",
"DESC": "( Ընդամենը )"
"NAME": "Outgoing Messages",
"DESC": "( Total )"
},
"FIRST_RESPONSE_TIME": {
"NAME": "Առաջին արձագանքի ժամանակը",
"DESC": "( Միջին )",
"INFO_TEXT": "Հաշվարկի համար օգտագործված զրույցների ընդհանուր քանակը՝",
"TOOLTIP_TEXT": "Առաջին պատասխանման ժամանակը {metricValue} է (հիմնված {conversationCount} զրույցների վրա)"
"NAME": "First Response Time",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "First Response Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_TIME": {
"NAME": "Լուծման ժամանակ",
"DESC": "( միջին )",
"INFO_TEXT": "Հաշվարկի համար օգտագործված զրույցների ընդհանուր քանակը՝",
"TOOLTIP_TEXT": "Լուծման ժամանակը {metricValue} է (հիմնված {conversationCount} զրույցների վրա)"
"NAME": "Resolution Time",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "Resolution Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_COUNT": {
"NAME": "Լուծված դեպքերի քանակ",
"DESC": "( ընդհանուր )"
"NAME": "Resolution Count",
"DESC": "( Total )"
}
},
"DATE_RANGE": [
{
"id": 0,
"name": "Վերջին 7 օրը"
"name": "Last 7 days"
},
{
"id": 1,
"name": "Վերջին 30 օրը"
"name": "Last 30 days"
},
{
"id": 2,
"name": "Վերջին 3 ամիսը"
"name": "Last 3 months"
},
{
"id": 3,
"name": "Վերջին 6 ամիսը"
"name": "Last 6 months"
},
{
"id": 4,
"name": "Վերջին տարին"
"name": "Last year"
},
{
"id": 5,
"name": "Անհատական ժամանակահատված"
"name": "Custom date range"
}
],
"CUSTOM_DATE_RANGE": {
"CONFIRM": "Կիրառել",
"PLACEHOLDER": "Ընտրեք ամսաթվերի միջակայքը"
"CONFIRM": "Apply",
"PLACEHOLDER": "Select date range"
}
},
"INBOX_REPORTS": {
"HEADER": "Զրույցների ամփոփում",
"DESCRIPTION": "Արագ դիտեք ձեր մուտքի արկղի կատարողականը հիմնական չափանիշներով՝ զրույցներ, պատասխանների ժամանակներ, լուծման ժամանակներ և լուծված դեպքեր՝ բոլորը մեկ վայրում։ Սեղմեք մուտքի արկղի անվան վրա՝ մանրամասների համար։",
"LOADING_CHART": "Գրաֆիկի տվյալները բեռնվում են...",
"NO_ENOUGH_DATA": "Հաշվետվություն կազմելու համար բավարար տվյալներ չկան, փորձեք ավելի ուշ։",
"DOWNLOAD_INBOX_REPORTS": "Ներբեռնել զրույցների հաշվետվությունները",
"FILTER_DROPDOWN_LABEL": "Ընտրեք զրույցների արկղը",
"ALL_INBOXES": "Բոլոր մուտքերը",
"SEARCH_INBOX": "Որոնել Նամակների Պատյանում",
"HEADER": "Inbox Overview",
"DESCRIPTION": "Quickly view your inbox performance with key metrics like conversations, response times, resolution times, and resolved cases—all in one place. Click an inbox name for more details.",
"LOADING_CHART": "Loading chart data...",
"NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.",
"DOWNLOAD_INBOX_REPORTS": "Download inbox reports",
"FILTER_DROPDOWN_LABEL": "Select Inbox",
"ALL_INBOXES": "All Inboxes",
"SEARCH_INBOX": "Search Inbox",
"FILTERS": {
"INPUT_PLACEHOLDER": {
"INBOXES": "Որոնել մուտքային տուփերը"
"INBOXES": "Search inboxes"
}
},
"METRICS": {
"CONVERSATIONS": {
"NAME": "Զրույցներ",
"DESC": "( Ընդամենը )"
"NAME": "Conversations",
"DESC": "( Total )"
},
"INCOMING_MESSAGES": {
"NAME": "Մուտքային հաղորդագրություններ",
"DESC": "( Ընդամենը )"
"NAME": "Incoming Messages",
"DESC": "( Total )"
},
"OUTGOING_MESSAGES": {
"NAME": "Ելքային հաղորդագրություններ",
"DESC": "( Ընդամենը )"
"NAME": "Outgoing Messages",
"DESC": "( Total )"
},
"FIRST_RESPONSE_TIME": {
"NAME": "Առաջին արձագանքի ժամանակը",
"DESC": "( Միջին )",
"INFO_TEXT": "Հաշվարկի համար օգտագործված զրույցների ընդհանուր քանակը՝",
"TOOLTIP_TEXT": "Առաջին պատասխանման ժամանակը {metricValue} է (հիմնված {conversationCount} զրույցների վրա)"
"NAME": "First Response Time",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "First Response Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_TIME": {
"NAME": "Լուծման ժամանակ",
"DESC": "( Միջին )",
"INFO_TEXT": "Հաշվարկի համար օգտագործված զրույցների ընդհանուր քանակը՝",
"TOOLTIP_TEXT": "Լուծման ժամանակը {metricValue} է (հիմնված {conversationCount} զրույցների վրա)"
"NAME": "Resolution Time",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "Resolution Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_COUNT": {
"NAME": "Լուծված դեպքերի քանակ",
"DESC": "( Ընդամենը )"
"NAME": "Resolution Count",
"DESC": "( Total )"
}
},
"DATE_RANGE": [
{
"id": 0,
"name": "Վերջին 7 օրը"
"name": "Last 7 days"
},
{
"id": 1,
"name": "Վերջին 30 օրը"
"name": "Last 30 days"
},
{
"id": 2,
"name": "Վերջին 3 ամիսը"
"name": "Last 3 months"
},
{
"id": 3,
"name": "Վերջին 6 ամիսը"
"name": "Last 6 months"
},
{
"id": 4,
"name": "Վերջին տարին"
"name": "Last year"
},
{
"id": 5,
"name": "Անհատական ժամանակահատված"
"name": "Custom date range"
}
],
"CUSTOM_DATE_RANGE": {
"CONFIRM": "Կիրառել",
"PLACEHOLDER": "Ընտրեք ժամանակահատվածը"
"CONFIRM": "Apply",
"PLACEHOLDER": "Select date range"
}
},
"TEAM_REPORTS": {
"HEADER": "Թիմի ակնարկ",
"DESCRIPTION": "Ստացեք ձեր թիմի արդյունավետության ակնարկ՝ կարևոր չափանիշներով, ներառյալ զրույցները, պատասխանման ժամանակները, լուծման ժամանակները և լուծված դեպքերը։ Սեղմեք թիմի անունը՝ մանրամասների համար։",
"LOADING_CHART": "Գծապատկերի տվյալները բեռնվում են...",
"NO_ENOUGH_DATA": "Հաշվետվություն կազմելու համար բավարար տվյալներ չկան, փորձեք ավելի ուշ։",
"DOWNLOAD_TEAM_REPORTS": "Ներբեռնել թիմի հաշվետվությունները",
"FILTER_DROPDOWN_LABEL": "Ընտրեք թիմը",
"HEADER": "Team Overview",
"DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.",
"LOADING_CHART": "Loading chart data...",
"NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.",
"DOWNLOAD_TEAM_REPORTS": "Download team reports",
"FILTER_DROPDOWN_LABEL": "Select Team",
"FILTERS": {
"ADD_FILTER": "Ավելացնել ֆիլտր",
"CLEAR_ALL": "Մաքրել բոլորը",
"NO_FILTER": "Ֆիլտրեր չկան",
"ADD_FILTER": "Add filter",
"CLEAR_ALL": "Clear all",
"NO_FILTER": "No filters available",
"INPUT_PLACEHOLDER": {
"TEAMS": "Որոնել թիմերը"
"TEAMS": "Search teams"
}
},
"METRICS": {
"CONVERSATIONS": {
"NAME": "Զրույցներ",
"DESC": "( Ընդամենը )"
"NAME": "Conversations",
"DESC": "( Total )"
},
"INCOMING_MESSAGES": {
"NAME": "Մուտքային հաղորդագրություններ",
"DESC": "( Ընդամենը )"
"NAME": "Incoming Messages",
"DESC": "( Total )"
},
"OUTGOING_MESSAGES": {
"NAME": "Ելքային հաղորդագրություններ",
"DESC": "( Ընդամենը )"
"NAME": "Outgoing Messages",
"DESC": "( Total )"
},
"FIRST_RESPONSE_TIME": {
"NAME": "Առաջին արձագանքի ժամանակը",
"DESC": "( Միջին )",
"INFO_TEXT": "Հաշվարկի համար օգտագործված զրույցների ընդհանուր քանակը՝",
"TOOLTIP_TEXT": "Առաջին պատասխանման ժամանակը {metricValue} է (հիմնված {conversationCount} զրույցների վրա)"
"NAME": "First Response Time",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "First Response Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_TIME": {
"NAME": "Լուծման ժամանակ",
"DESC": "( Միջին )",
"INFO_TEXT": "Ընդհանուր զրույցների քանակը հաշվարկի համար՝:",
"TOOLTIP_TEXT": "Լուծման ժամանակը {metricValue} է (հիմնված է {conversationCount} զրույցների վրա)"
"NAME": "Resolution Time",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "Resolution Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_COUNT": {
"NAME": "Լուծվածների քանակ",
"DESC": "( Ընդհանուր )"
"NAME": "Resolution Count",
"DESC": "( Total )"
}
},
"DATE_RANGE": [
{
"id": 0,
"name": "Վերջին 7 օրը"
"name": "Last 7 days"
},
{
"id": 1,
"name": "Վերջին 30 օրը"
"name": "Last 30 days"
},
{
"id": 2,
"name": "Վերջին 3 ամիսը"
"name": "Last 3 months"
},
{
"id": 3,
"name": "Վերջին 6 ամիսը"
"name": "Last 6 months"
},
{
"id": 4,
"name": "Վերջին տարին"
"name": "Last year"
},
{
"id": 5,
"name": "Անհատական ժամանակահատված"
"name": "Custom date range"
}
],
"CUSTOM_DATE_RANGE": {
"CONFIRM": "Կիրառել",
"PLACEHOLDER": "Ընտրեք ժամանակահատվածը"
"CONFIRM": "Apply",
"PLACEHOLDER": "Select date range"
}
},
"CSAT_REPORTS": {
"HEADER": "CSAT հաշվետվություններ",
"NO_RECORDS": "Դեռ պատասխաններ չկան",
"NO_RECORDS_DESCRIPTION": "CSAT հարցման պատասխանները կհայտնվեն այստեղ, երբ հաճախորդները սկսեն տրամադրել կարծիք։",
"DOWNLOAD": "Ներբեռնել CSAT հաշվետվությունները",
"DOWNLOAD_FAILED": "Չհաջողվեց ներբեռնել CSAT հաշվետվությունները",
"HEADER": "CSAT Reports",
"NO_RECORDS": "No responses yet",
"NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.",
"DOWNLOAD": "Download CSAT Reports",
"DOWNLOAD_FAILED": "Failed to download CSAT Reports",
"FILTERS": {
"ADD_FILTER": "Ավելացնել ֆիլտր",
"CLEAR_ALL": "Մաքրել բոլորը",
"NO_FILTER": "Ֆիլտրեր չկան",
"ADD_FILTER": "Add filter",
"CLEAR_ALL": "Clear all",
"NO_FILTER": "No filters available",
"INPUT_PLACEHOLDER": {
"AGENTS": "Փնտրել գործակալներ",
"INBOXES": "Որոնել մուտքային արկղերը",
"TEAMS": "Որոնել թիմերը",
"RATINGS": "Որոնել գնահատականները"
"AGENTS": "Search agents",
"INBOXES": "Search inboxes",
"TEAMS": "Search teams",
"RATINGS": "Search ratings"
},
"AGENTS": {
"LABEL": "Գործակալ"
"LABEL": "Agent"
},
"INBOXES": {
"LABEL": "Մուտքային արկղ"
"LABEL": "Inbox"
},
"TEAMS": {
"LABEL": "Թիմ"
"LABEL": "Team"
},
"RATINGS": {
"LABEL": "Գնահատական"
"LABEL": "Rating"
}
},
"TABLE": {
"HEADER": {
"CONTACT_NAME": "Կոնտակտ",
"AGENT_NAME": "Գործակալ",
"RATING": "Վարկանիշ",
"FEEDBACK_TEXT": "Մեկնաբանություն",
"CONVERSATION": "Հաղորդակցություն",
"CUSTOMER": "Հաճախորդ",
"RESPONSE": "Պատասխան",
"HANDLED_BY": "Կատարել է"
"CONTACT_NAME": "Contact",
"AGENT_NAME": "Agent",
"RATING": "Rating",
"FEEDBACK_TEXT": "Feedback comment",
"CONVERSATION": "Conversation",
"CUSTOMER": "Customer",
"RESPONSE": "Response",
"HANDLED_BY": "Handled by"
},
"UNKNOWN_CUSTOMER": "Անհայտ հաճախորդ"
"UNKNOWN_CUSTOMER": "Unknown customer"
},
"NO_AGENT": "Չկա նշանակված գործակալ",
"NO_FEEDBACK": "Հետադարձ կապ չի տրամադրվել",
"NO_AGENT": "No assigned agent",
"NO_FEEDBACK": "No feedback provided",
"METRIC": {
"TOTAL_RESPONSES": {
"LABEL": "Ընդհանուր պատասխաններ",
"TOOLTIP": "Հավաքագրված պատասխանների ընդհանուր քանակը"
"LABEL": "Total responses",
"TOOLTIP": "Total number of responses collected"
},
"SATISFACTION_SCORE": {
"LABEL": "Բավարարվածության միավոր",
"TOOLTIP": "Դրական պատասխանների ընդհանուր թիվը / Պատասխանների ընդհանուր թիվը * 100"
"LABEL": "Satisfaction score",
"TOOLTIP": "Total number of positive responses / Total number of responses * 100"
},
"RESPONSE_RATE": {
"LABEL": "Պատասխանների տոկոսը",
"TOOLTIP": "Պատասխանների ընդհանուր թիվը / Ուղարկված CSAT հարցումների ընդհանուր թիվը * 100"
"LABEL": "Response rate",
"TOOLTIP": "Total number of responses / Total number of CSAT survey messages sent * 100"
},
"RATING_DISTRIBUTION": "Գնահատման բաշխում"
"RATING_DISTRIBUTION": "Rating distribution"
},
"REVIEW_NOTES": {
"TITLE": "Վերանայման նշումներ",
"PLACEHOLDER": "Ավելացնել վերանայման նշումներ այս գնահատման մասին...",
"SAVE": "Պահպանել",
"CANCEL": "Չեղարկել",
"SAVING": "Պահպանում...",
"SAVED": "Նշումները հաջողությամբ պահպանվեցին",
"SAVE_ERROR": "Չհաջողվեց պահպանել նշումները",
"UPDATED_BY": "Թարմացվել է {name} կողմից {time}",
"UPDATED_BY_LABEL": "Թարմացվել է",
"TITLE": "Review notes",
"PLACEHOLDER": "Add review notes about this rating...",
"SAVE": "Save",
"CANCEL": "Cancel",
"SAVING": "Saving...",
"SAVED": "Notes saved successfully",
"SAVE_ERROR": "Failed to save notes",
"UPDATED_BY": "Updated by {name} {time}",
"UPDATED_BY_LABEL": "Updated by",
"PAYWALL": {
"TITLE": "Թարմացրեք՝ ավելացնելու համար վերանայման նշումներ",
"AVAILABLE_ON": "Վերանայման նշումների ֆունկցիան հասանելի է միայն Բիզնես և Էնթերպրայզ պլաններում։",
"UPGRADE_PROMPT": "Ավելացրեք ներքին կոնտեքստ յուրաքանչյուր CSAT պատասխանին վերանայման նշումների միջոցով։ Պահեք, թե ինչ է իրականում տեղի ունեցել, ավելի արագ հայտնաբերեք նմուշները և ավելի լավ որոշումներ կայացրեք ձեր հետադարձ կապից։",
"UPGRADE_NOW": "Թարմացրեք հիմա",
"CANCEL_ANYTIME": "Դուք կարող եք ցանկացած պահի փոխել կամ չեղարկել ձեր պլանը"
"TITLE": "Upgrade to add review notes",
"AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.",
"UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.",
"UPGRADE_NOW": "Upgrade now",
"CANCEL_ANYTIME": "You can change or cancel your plan anytime"
}
}
},
"BOT_REPORTS": {
"HEADER": "Բոտի հաշվետվություններ",
"HEADER": "Bot Reports",
"METRIC": {
"TOTAL_CONVERSATIONS": {
"LABEL": "Խոսակցությունների քանակը",
"TOOLTIP": "Բոտի կողմից մշակված ընդհանուր խոսակցությունների քանակը"
"LABEL": "No. of Conversations",
"TOOLTIP": "Total number of conversations handled by the bot"
},
"TOTAL_RESPONSES": {
"LABEL": "Ընդհանուր պատասխաններ",
"TOOLTIP": "Բոտի կողմից ուղարկված ընդհանուր պատասխանների քանակը"
"LABEL": "Total Responses",
"TOOLTIP": "Total number of responses sent by the bot"
},
"RESOLUTION_RATE": {
"LABEL": "Լուծման տոկոսադրույք",
"TOOLTIP": "Բոտի կողմից լուծված զրույցների ընդհանուր քանակը / Բոտի կողմից մշակված զրույցների ընդհանուր քանակը * 100"
"LABEL": "Resolution Rate",
"TOOLTIP": "Total number of conversations resolved by the bot / Total number of conversations handled by the bot * 100"
},
"HANDOFF_RATE": {
"LABEL": "Հանձման տոկոսադրույք",
"TOOLTIP": "Բոտից գործակալներին հանձնարարված զրույցների ընդհանուր քանակը / Բոտի կողմից մշակված զրույցների ընդհանուր քանակը * 100"
"LABEL": "Handoff Rate",
"TOOLTIP": "Total number of conversations handed off to agents / Total number of conversations handled by the bot * 100"
}
}
},
"OVERVIEW_REPORTS": {
"HEADER": "Ընդհանուր տեսք",
"LIVE": "Ուղիղ",
"HEADER": "Overview",
"LIVE": "Live",
"ACCOUNT_CONVERSATIONS": {
"HEADER": "Բաց զրույցներ",
"LOADING_MESSAGE": "Բեռնվում են զրույցի չափանիշները...",
"OPEN": "Բաց",
"UNATTENDED": "Անհետաքրքրված",
"UNASSIGNED": "Չհատկացված",
"PENDING": "Սպասման մեջ"
"HEADER": "Open Conversations",
"LOADING_MESSAGE": "Loading conversation metrics...",
"OPEN": "Open",
"UNATTENDED": "Unattended",
"UNASSIGNED": "Unassigned",
"PENDING": "Pending"
},
"CONVERSATION_HEATMAP": {
"HEADER": "Հաղորդակցության հոսք",
"NO_CONVERSATIONS": "Հաղորդակցություններ չկան",
"CONVERSATION": "{count} զրույց",
"CONVERSATIONS": "{count} զրույցներ",
"DOWNLOAD_REPORT": "Ներբեռնել հաշվետվությունը"
"HEADER": "Conversation Traffic",
"NO_CONVERSATIONS": "No conversations",
"CONVERSATION": "{count} conversation",
"CONVERSATIONS": "{count} conversations",
"DOWNLOAD_REPORT": "Download report"
},
"RESOLUTION_HEATMAP": {
"HEADER": "Լուծումներ",
"NO_CONVERSATIONS": "Չկան զրույցներ",
"CONVERSATION": "{count} զրույց",
"CONVERSATIONS": "{count} զրույցներ",
"DOWNLOAD_REPORT": "Ներբեռնել հաշվետվությունը"
"HEADER": "Resolutions",
"NO_CONVERSATIONS": "No conversations",
"CONVERSATION": "{count} conversation",
"CONVERSATIONS": "{count} conversations",
"DOWNLOAD_REPORT": "Download report"
},
"AGENT_CONVERSATIONS": {
"HEADER": "Զրույցներ գործակալների կողմից",
"LOADING_MESSAGE": "Բեռնվում են գործակալի չափանիշները...",
"NO_AGENTS": "Գործակալների կողմից զրույցներ չկան",
"HEADER": "Conversations by agents",
"LOADING_MESSAGE": "Loading agent metrics...",
"NO_AGENTS": "There are no conversations by agents",
"TABLE_HEADER": {
"AGENT": "Գործակալ",
"OPEN": "Բացել",
"UNATTENDED": "Անհետաքրքրված",
"STATUS": "Կարգավիճակ"
"AGENT": "Agent",
"OPEN": "Open",
"UNATTENDED": "Unattended",
"STATUS": "Status"
}
},
"TEAM_CONVERSATIONS": {
"ALL_TEAMS": "Բոլոր թիմերը",
"HEADER": "Խոսակցություններ ըստ թիմերի",
"LOADING_MESSAGE": "Բեռնվում են թիմի չափանիշները...",
"NO_TEAMS": "Տվյալներ չեն հասանելի",
"ALL_TEAMS": "All Teams",
"HEADER": "Conversations by teams",
"LOADING_MESSAGE": "Loading team metrics...",
"NO_TEAMS": "There is no data available",
"TABLE_HEADER": {
"TEAM": "Թիմ",
"OPEN": "Բաց",
"UNATTENDED": "Անհետաքրքրված",
"STATUS": "Կարգավիճակ"
"TEAM": "Team",
"OPEN": "Open",
"UNATTENDED": "Unattended",
"STATUS": "Status"
}
},
"AGENT_STATUS": {
"HEADER": "Գործակցի կարգավիճակ",
"ONLINE": "Առցանց",
"BUSY": "Աշխատասեր",
"OFFLINE": "Անհասանելի"
"HEADER": "Agent status",
"ONLINE": "Online",
"BUSY": "Busy",
"OFFLINE": "Offline"
}
},
"DAYS_OF_WEEK": {
"SUNDAY": "Կիրակի",
"MONDAY": "Երկուշաբթի",
"TUESDAY": "Երեքշաբթի",
"WEDNESDAY": "Չորեքշաբթի",
"THURSDAY": "Հինգշաբթի",
"FRIDAY": "Ուրբաթ",
"SATURDAY": "Շաբաթ"
"SUNDAY": "Sunday",
"MONDAY": "Monday",
"TUESDAY": "Tuesday",
"WEDNESDAY": "Wednesday",
"THURSDAY": "Thursday",
"FRIDAY": "Friday",
"SATURDAY": "Saturday"
},
"SLA_REPORTS": {
"HEADER": "SLA հաշվետվություններ",
"NO_RECORDS": "SLA կիրառված զրույցները հասանելի չեն։",
"LOADING": "Բեռնվում է SLA տվյալը...",
"DOWNLOAD_SLA_REPORTS": "Ներբեռնել SLA հաշվետվությունները",
"DOWNLOAD_FAILED": "Չհաջողվեց ներբեռնել SLA հաշվետվությունները",
"HEADER": "SLA Reports",
"NO_RECORDS": "SLA applied conversations are not available.",
"LOADING": "Loading SLA data...",
"DOWNLOAD_SLA_REPORTS": "Download SLA reports",
"DOWNLOAD_FAILED": "Failed to download SLA Reports",
"DROPDOWN": {
"ADD_FIlTER": "Ավելացնել ֆիլտր",
"CLEAR_ALL": "Մաքրել բոլորը",
"CLEAR_FILTER": "Մաքրել ֆիլտրը",
"EMPTY_LIST": "Արդյունքներ չեն գտնվել",
"NO_FILTER": "Ֆիլտրեր չկան",
"SEARCH": "Փնտրման ֆիլտր",
"ADD_FIlTER": "Add filter",
"CLEAR_ALL": "Clear all",
"CLEAR_FILTER": "Clear filter",
"EMPTY_LIST": "No results found",
"NO_FILTER": "No filters available",
"SEARCH": "Search filter",
"INPUT_PLACEHOLDER": {
"SLA": "SLA-ի անուն",
"AGENTS": "Գործակալի անուն",
"INBOXES": "Փոստարկղի անուն",
"LABELS": "Պիտակի անուն",
"TEAMS": "Թիմի անունը"
"SLA": "SLA name",
"AGENTS": "Agent name",
"INBOXES": "Inbox name",
"LABELS": "Label name",
"TEAMS": "Team name"
},
"SLA": "SLA քաղաքականություն",
"INBOXES": "Նամակապանակ",
"AGENTS": "Գործակալ",
"LABELS": "Պիտակ",
"TEAMS": "Թիմ"
"SLA": "SLA Policy",
"INBOXES": "Inbox",
"AGENTS": "Agent",
"LABELS": "Label",
"TEAMS": "Team"
},
"WITH": "հետ",
"WITH": "with",
"METRICS": {
"HIT_RATE": {
"LABEL": "Հարվածի տոկոսադրույք",
"TOOLTIP": "Ստեղծված SLA-ների տոկոսը, որոնք հաջողությամբ ավարտվել են"
"LABEL": "Hit Rate",
"TOOLTIP": "Percentage of SLAs created were completed successfully"
},
"NO_OF_MISSES": {
"LABEL": "Բացթողումների քանակը",
"TOOLTIP": "Ընդհանուր SLA բացթողումները որոշակի ժամանակահատվածում"
"LABEL": "Number of Misses",
"TOOLTIP": "Total SLA misses in a certain period"
},
"NO_OF_CONVERSATIONS": {
"LABEL": "Հաղորդակցությունների քանակ",
"TOOLTIP": "Ընդհանուր հաղորդակցությունների քանակը SLA-ով"
"LABEL": "Number of Conversations",
"TOOLTIP": "Total number of conversations with SLA"
}
},
"TABLE": {
"HEADER": {
"POLICY": "Քաղաքականություն",
"CONVERSATION": "Հաղորդակցություն",
"AGENT": "Գործակալ"
"POLICY": "Policy",
"CONVERSATION": "Conversation",
"AGENT": "Agent"
},
"VIEW_DETAILS": "Դիտել մանրամասները"
"VIEW_DETAILS": "View Details"
}
},
"SUMMARY_REPORTS": {
"INBOX": "Մուտքի արկղ",
"AGENT": "Գործակալ",
"TEAM": "Խումբ",
"LABEL": "Պիտակ",
"AVG_RESOLUTION_TIME": "Միջին լուծման ժամանակ",
"AVG_FIRST_RESPONSE_TIME": "Միջին առաջին պատասխանման ժամանակ",
"AVG_REPLY_TIME": "Միջին հաճախորդի սպասման ժամանակ",
"RESOLUTION_COUNT": "Լուծումների քանակ",
"CONVERSATIONS": "Խոսակցությունների քանակ"
"INBOX": "Inbox",
"AGENT": "Agent",
"TEAM": "Team",
"LABEL": "Label",
"AVG_RESOLUTION_TIME": "Avg. Resolution Time",
"AVG_FIRST_RESPONSE_TIME": "Avg. First Response Time",
"AVG_REPLY_TIME": "Avg. Customer Waiting Time",
"RESOLUTION_COUNT": "Resolution Count",
"CONVERSATIONS": "No. of conversations"
}
}
@@ -1,24 +1,24 @@
{
"PROFILE_SETTINGS": {
"LINK": "პროფილის პარამეტრები",
"TITLE": "პროფილის პარამეტრები",
"BTN_TEXT": "პროფილის განახლება",
"LINK": "Profile Settings",
"TITLE": "Profile Settings",
"BTN_TEXT": "Update Profile",
"DELETE_AVATAR": "Delete Avatar",
"AVATAR_DELETE_SUCCESS": "Avatar has been deleted successfully",
"AVATAR_DELETE_FAILED": "There is an error while deleting avatar, please try again",
"UPDATE_SUCCESS": "Your profile has been updated successfully",
"PASSWORD_UPDATE_SUCCESS": "Your password has been changed successfully",
"AFTER_EMAIL_CHANGED": "თქვენი პროფილი წარმატებით განახლდა, გთხოვთ, ხელახლა შეხვიდეთ სისტემაში, რადგან თქვენი შესვლის მონაცემები შეიცვალა",
"AFTER_EMAIL_CHANGED": "Your profile has been updated successfully, please login again as your login credentials are changed",
"FORM": {
"PICTURE": "Profile Picture",
"AVATAR": "პროფილის სურათი",
"ERROR": "გთხოვთ, გამოასწორეთ ფორმის შეცდომები",
"REMOVE_IMAGE": "წაშლა",
"UPLOAD_IMAGE": "სურათის ატვირთვა",
"UPDATE_IMAGE": "სურათის განახლება",
"AVATAR": "Profile Image",
"ERROR": "Please fix form errors",
"REMOVE_IMAGE": "Remove",
"UPLOAD_IMAGE": "Upload image",
"UPDATE_IMAGE": "Update image",
"PROFILE_SECTION": {
"TITLE": "პროფილი",
"NOTE": "თქვენი ელფოსტა თქვენი იდენტიფიკატორია და გამოიყენება შესასვლელად."
"TITLE": "Profile",
"NOTE": "Your email address is your identity and is used to log in."
},
"SEND_MESSAGE": {
"TITLE": "Hotkey to send messages",
@@ -76,8 +76,8 @@
"PLACEHOLDER": "Insert your personal message signature here."
},
"PASSWORD_SECTION": {
"TITLE": "პაროლი",
"NOTE": "პაროლის განახლება ყველა მოწყობილობაზე გამოგასვლევინებთ სისტემიდან.",
"TITLE": "Password",
"NOTE": "Updating your password would reset your logins in multiple devices.",
"BTN_TEXT": "Change password"
},
"SECURITY_SECTION": {
@@ -86,8 +86,8 @@
"MFA_BUTTON": "ორფაქტორიანი ავთენტიფიკაციის მართვა"
},
"ACCESS_TOKEN": {
"TITLE": "წვდომის ტოკენი",
"NOTE": "ეს ტოკენი გამოიყენება, თუ API ინტეგრაციას ქმნით",
"TITLE": "Access Token",
"NOTE": "This token can be used if you are building an API based integration",
"COPY": "Copy",
"RESET": "Reset",
"CONFIRM_RESET": "დარწმუნებული ხართ?",
@@ -135,10 +135,10 @@
"READ_MORE": "Read more"
},
"EMAIL_NOTIFICATIONS_SECTION": {
"TITLE": "ელფოსტის შეტყობინებები",
"NOTE": "აქ შეგიძლიათ შეცვალოთ ელფოსტის შეტყობინებების პარამეტრები",
"CONVERSATION_ASSIGNMENT": "გამოგიგზავნოთ ელფოსტის შეტყობინება, როცა საუბარი ჩემზე გადანაწილდება",
"CONVERSATION_CREATION": "გამოგიგზავნოთ ელფოსტის შეტყობინება, როცა ახალი საუბარი შეიქმნება",
"TITLE": "Email Notifications",
"NOTE": "Update your email notification preferences here",
"CONVERSATION_ASSIGNMENT": "Send email notifications when a conversation is assigned to me",
"CONVERSATION_CREATION": "Send email notifications when a new conversation is created",
"CONVERSATION_MENTION": "Send email notifications when you are mentioned in a conversation",
"ASSIGNED_CONVERSATION_NEW_MESSAGE": "Send email notifications when a new message is created in an assigned conversation",
"PARTICIPATING_CONVERSATION_NEW_MESSAGE": "Send email notifications when a new message is created in a participating conversation",
@@ -164,25 +164,25 @@
"BROWSER_PERMISSION": "Enable push notifications for your browser so you’re able to receive them"
},
"API": {
"UPDATE_SUCCESS": "შეტყობინებების პარამეტრები წარმატებით განახლდა",
"UPDATE_ERROR": "პარამეტრების განახლებისას მოხდა შეცდომა, სცადეთ თავიდან"
"UPDATE_SUCCESS": "Your notification preferences are updated successfully",
"UPDATE_ERROR": "There is an error while updating the preferences, please try again"
},
"PUSH_NOTIFICATIONS_SECTION": {
"TITLE": "Push შეტყობინებები",
"NOTE": "აქ შეცვალეთ push-შეტყობინებების პარამეტრები",
"CONVERSATION_ASSIGNMENT": "გამოგიგზავნოთ push-შეტყობინება, როცა საუბარი ჩემზე გადანაწილდება",
"CONVERSATION_CREATION": "გამოგიგზავნოთ push-შეტყობინება, როცა ახალი საუბარი შეიქმნება",
"TITLE": "Push Notifications",
"NOTE": "Update your push notification preferences here",
"CONVERSATION_ASSIGNMENT": "Send push notifications when a conversation is assigned to me",
"CONVERSATION_CREATION": "Send push notifications when a new conversation is created",
"CONVERSATION_MENTION": "Send push notifications when you are mentioned in a conversation",
"ASSIGNED_CONVERSATION_NEW_MESSAGE": "Send push notifications when a new message is created in an assigned conversation",
"PARTICIPATING_CONVERSATION_NEW_MESSAGE": "Send push notifications when a new message is created in a participating conversation",
"HAS_ENABLED_PUSH": "ამ ბრაუზერში push-შეტყობინებები ჩართული გაქვთ.",
"REQUEST_PUSH": "ჩართეთ push-შეტყობინებები",
"HAS_ENABLED_PUSH": "You have enabled push for this browser.",
"REQUEST_PUSH": "Enable push notifications",
"SLA_MISSED_FIRST_RESPONSE": "Send push notifications when a conversation misses first response SLA",
"SLA_MISSED_NEXT_RESPONSE": "Send push notifications when a conversation misses next response SLA",
"SLA_MISSED_RESOLUTION": "Send push notifications when a conversation misses resolution SLA"
},
"PROFILE_IMAGE": {
"LABEL": "პროფილის სურათი"
"LABEL": "Profile Image"
},
"NAME": {
"LABEL": "Your full name",
@@ -195,7 +195,7 @@
"PLACEHOLDER": "Please enter a display name, this would be displayed in conversations"
},
"AVAILABILITY": {
"LABEL": "ხელმისაწვდომობა",
"LABEL": "Availability",
"STATUS": {
"ONLINE": "Online",
"BUSY": "Busy",
@@ -206,9 +206,9 @@
"IMPERSONATING_ERROR": "მომხმარებლის სახელით მოქმედებისას ხელმისაწვდომობის შეცვლა შეუძლებელია"
},
"EMAIL": {
"LABEL": "თქვენი ელფოსტის მისამართი",
"ERROR": "გთხოვთ, შეიყვანეთ სწორი ელფოსტის მისამართი",
"PLACEHOLDER": "შეიყვანეთ თქვენი ელფოსტის მისამართი, ის გამოჩნდება საუბარში"
"LABEL": "Your email address",
"ERROR": "Please enter a valid email address",
"PLACEHOLDER": "Please enter your email address, this would be displayed in conversations"
},
"CURRENT_PASSWORD": {
"LABEL": "Current password",
@@ -217,12 +217,12 @@
},
"PASSWORD": {
"LABEL": "New password",
"ERROR": "შეიყვანეთ პაროლი მინიმუმ 6 სიმბოლოთი",
"PLACEHOLDER": "შეიყვანეთ ახალი პაროლი"
"ERROR": "Please enter a password of length 6 or more",
"PLACEHOLDER": "Please enter a new password"
},
"PASSWORD_CONFIRMATION": {
"LABEL": "დაადასტურეთ ახალი პაროლი",
"ERROR": "პაროლის დადასტურება უნდა ემთხვეოდეს პაროლს",
"LABEL": "Confirm new password",
"ERROR": "Confirm password should match the password",
"PLACEHOLDER": "Please re-enter your new password"
}
}
@@ -232,7 +232,7 @@
"CHANGE_ACCOUNTS": "Switch account",
"SWITCH_ACCOUNT": "Switch account",
"CONTACT_SUPPORT": "Contact support",
"SELECTOR_SUBTITLE": "აირჩიეთ ანგარიში სიიდან",
"SELECTOR_SUBTITLE": "Select an account from the following list",
"PROFILE_SETTINGS": "Profile settings",
"YEAR_IN_REVIEW": "Year in Review",
"KEYBOARD_SHORTCUTS": "Keyboard shortcuts",
@@ -243,8 +243,8 @@
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
"TRIAL_MESSAGE": "დღე დარჩა საცდელი ვერსიიდან.",
"TRAIL_BUTTON": "შეიძინეთ",
"TRIAL_MESSAGE": "days trial remaining.",
"TRAIL_BUTTON": "Buy Now",
"DELETED_USER": "Deleted User",
"EMAIL_VERIFICATION_PENDING": "It seems that you haven't verified your email address yet. Please check your inbox for the verification email.",
"RESEND_VERIFICATION_MAIL": "Resend verification email",
@@ -262,7 +262,7 @@
},
"COMPONENTS": {
"CODE": {
"BUTTON_TEXT": "კოპირება",
"BUTTON_TEXT": "Copy",
"CODEPEN": "Open in CodePen",
"COPY_SUCCESSFUL": "Code copied to clipboard successfully"
},
@@ -271,8 +271,8 @@
"SHOW_LESS": "Show Less"
},
"FILE_BUBBLE": {
"DOWNLOAD": "გადმოწერა",
"UPLOADING": "იტვირთება...",
"DOWNLOAD": "Download",
"UPLOADING": "Uploading...",
"INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available.",
"INSTAGRAM_STORY_REPLY": "Replied to your story:"
},
@@ -280,17 +280,17 @@
"SEE_ON_MAP": "See on map"
},
"FORM_BUBBLE": {
"SUBMIT": "გაგზავნა"
"SUBMIT": "Submit"
},
"MEDIA": {
"IMAGE_UNAVAILABLE": "This image is no longer available.",
"LOADING_FAILED": "Loading failed"
}
},
"CONFIRM_EMAIL": "დადასტურება...",
"CONFIRM_EMAIL": "Verifying...",
"SETTINGS": {
"INBOXES": {
"NEW_INBOX": "ინბოქსის დამატება"
"NEW_INBOX": "Add Inbox"
}
},
"SIDEBAR": {
@@ -298,14 +298,14 @@
"CURRENTLY_VIEWING_ACCOUNT": "Currently viewing:",
"SWITCH": "Switch",
"INBOX_VIEW": "Inbox View",
"CONVERSATIONS": "საუბრები",
"CONVERSATIONS": "Conversations",
"INBOX": "My Inbox",
"ALL_CONVERSATIONS": "All Conversations",
"MENTIONED_CONVERSATIONS": "Mentions",
"PARTICIPATING_CONVERSATIONS": "Participating",
"UNATTENDED_CONVERSATIONS": "Unattended",
"REPORTS": "ანგარიშები",
"SETTINGS": "პარამეტრები",
"REPORTS": "Reports",
"SETTINGS": "Settings",
"CONTACTS": "Contacts",
"ACTIVE": "Active",
"COMPANIES": "Companies",
@@ -319,18 +319,18 @@
"CAPTAIN_PLAYGROUND": "Playground",
"CAPTAIN_INBOXES": "Inboxes",
"CAPTAIN_SETTINGS": "Settings",
"HOME": "მთავარი",
"AGENTS": "აგენტები",
"HOME": "Home",
"AGENTS": "Agents",
"AGENT_BOTS": "Bots",
"AUDIT_LOGS": "Audit Logs",
"INBOXES": "ინბოქსები",
"INBOXES": "Inboxes",
"NOTIFICATIONS": "Notifications",
"CANNED_RESPONSES": "შენახული პასუხები",
"INTEGRATIONS": "ინტეგრაციები",
"CANNED_RESPONSES": "Canned Responses",
"INTEGRATIONS": "Integrations",
"PROFILE_SETTINGS": "Profile Settings",
"ACCOUNT_SETTINGS": "ანგარიშის პარამეტრები",
"ACCOUNT_SETTINGS": "Account Settings",
"APPLICATIONS": "Applications",
"LABELS": "ჭდეები",
"LABELS": "Labels",
"CUSTOM_ATTRIBUTES": "Custom Attributes",
"AUTOMATION": "Automation",
"MACROS": "Macros",
@@ -611,12 +611,12 @@
},
"CREATE_ACCOUNT": {
"NO_ACCOUNT_WARNING": "Uh oh! We could not find any Chatwoot accounts. Please create a new account to continue.",
"NEW_ACCOUNT": "ახალი ანგარიში",
"SELECTOR_SUBTITLE": "ახალი ანგარიშის შექმნა",
"NEW_ACCOUNT": "New Account",
"SELECTOR_SUBTITLE": "Create a new account",
"API": {
"SUCCESS_MESSAGE": "ანგარიში წარმატებით შეიქმნა",
"EXIST_MESSAGE": "ანგარიში უკვე არსებობს",
"ERROR_MESSAGE": "ვერ მოხერხდა Woot Server-თან დაკავშირება, სცადეთ მოგვიანებით"
"SUCCESS_MESSAGE": "Account created successfully",
"EXIST_MESSAGE": "Account already exists",
"ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later"
},
"FORM": {
"NAME": {
@@ -1,6 +1,6 @@
{
"CONTACT_PANEL": {
"NOT_AVAILABLE": "Tidak Tersedia",
"NOT_AVAILABLE": "Not Available",
"EMAIL_ADDRESS": "Emel",
"PHONE_NUMBER": "Phone number",
"IDENTIFIER": "Identifier",
@@ -8,12 +8,12 @@
"COMPANY": "Company",
"LOCATION": "Location",
"BROWSER_LANGUAGE": "Bahasa Pelayar",
"CONVERSATION_TITLE": "Butiran Perbualan",
"CONVERSATION_TITLE": "Conversation Details",
"VIEW_PROFILE": "View Profile",
"BROWSER": "Pelayar",
"OS": "Sistem Operasi",
"INITIATED_FROM": "Dimulakan dari",
"INITIATED_AT": "Dimulakan pada",
"BROWSER": "Browser",
"OS": "Operating System",
"INITIATED_FROM": "Initiated from",
"INITIATED_AT": "Initiated at",
"IP_ADDRESS": "IP Address",
"CREATED_AT_LABEL": "Created",
"NEW_MESSAGE": "New message",
@@ -24,8 +24,8 @@
"TITLE": "Choose a voice inbox"
},
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "Tiada perbualan terdahulu yang berkaitan dengan kenalan ini.",
"TITLE": "Perbualan Terdahulu"
"NO_RECORDS_FOUND": "There are no previous conversations associated to this contact.",
"TITLE": "Previous Conversations"
},
"LABELS": {
"CONTACT": {
@@ -49,8 +49,8 @@
"UNMUTE_CONTACT": "Unblock Contact",
"MUTED_SUCCESS": "This contact is blocked successfully. You will not be notified of any future conversations.",
"UNMUTED_SUCCESS": "This contact is unblocked successfully.",
"SEND_TRANSCRIPT": "Hantar Transkrip",
"EDIT_LABEL": "Sunting",
"SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "Edit",
"SIDEBAR_SECTIONS": {
"CUSTOM_ATTRIBUTES": "Custom Attributes",
"CONTACT_LABELS": "Contact Labels",
@@ -6,11 +6,11 @@
"CREATE_PORTAL_BUTTON": "Create Portal"
},
"HEADER": {
"FILTER": "Tapis mengikut",
"SORT": "Susun mengikut",
"FILTER": "Filter by",
"SORT": "Sort by",
"LOCALE": "Locale",
"SETTINGS_BUTTON": "Tetapan",
"NEW_BUTTON": "Artikel Baru",
"SETTINGS_BUTTON": "Settings",
"NEW_BUTTON": "New Article",
"DROPDOWN_OPTIONS": {
"PUBLISHED": "Published",
"DRAFT": "Draft",
@@ -31,12 +31,12 @@
},
"EDIT_HEADER": {
"ALL_ARTICLES": "All Articles",
"PUBLISH_BUTTON": "Terbitkan",
"PUBLISH_BUTTON": "Publish",
"MOVE_TO_ARCHIVE_BUTTON": "Move to archived",
"PREVIEW": "Pratonton",
"ADD_TRANSLATION": "Tambah terjemahan",
"OPEN_SIDEBAR": "Buka bar sisi",
"CLOSE_SIDEBAR": "Tutup bar sisi",
"PREVIEW": "Preview",
"ADD_TRANSLATION": "Add translation",
"OPEN_SIDEBAR": "Open sidebar",
"CLOSE_SIDEBAR": "Close sidebar",
"SAVING": "Saving...",
"SAVED": "Saved"
},
@@ -102,7 +102,7 @@
"HEADER": "Portals",
"DEFAULT": "Default",
"NEW_BUTTON": "New Portal",
"ACTIVE_BADGE": "aktif",
"ACTIVE_BADGE": "active",
"CHOOSE_LOCALE_LABEL": "Choose a locale",
"LOADING_MESSAGE": "Loading portals...",
"ARTICLES_LABEL": "articles",
@@ -2,76 +2,76 @@
"CONVERSATION": {
"SELECT_A_CONVERSATION": "कृपया बाँया प्यानबाट एउटा कुराकानी छान्नुहोस्",
"CSAT_REPLY_MESSAGE": "कृपया कुराकानीको मूल्याङ्कन गर्नु",
"404": "माफ गर्नुहोस्, हामी वार्ता फेला पार्न सकेनौं। कृपया फेरि प्रयास गर्नुहोस्",
"SWITCH_VIEW_LAYOUT": "लेआउट परिवर्तन गर्नुहोस्",
"404": "Sorry, we cannot find the conversation. Please try again",
"SWITCH_VIEW_LAYOUT": "Switch the layout",
"DASHBOARD_APP_TAB_MESSAGES": "सन्देशहरू",
"UNVERIFIED_SESSION": "यस प्रयोगकर्ताको पहिचान प्रमाणित गरिएको छैन",
"NO_MESSAGE_1": "उफ! तपाईंको इनबक्समा ग्राहकबाट कुनै सन्देश छैन।",
"NO_MESSAGE_2": " तपाईँको पृष्ठमा सन्देश पठाउन!",
"NO_INBOX_1": "होल्ला! तपाईंले अहिलेसम्म कुनै इनबक्स थप्नुभएको छैन।",
"NO_INBOX_2": " सुरु गर्न",
"NO_INBOX_AGENT": "उफ! तपाईं कुनै इनबक्समा सहभागी हुनुहुन्न जस्तो देखिन्छ। कृपया आफ्नो प्रशासकलाई सम्पर्क गर्नुहोस्।",
"SEARCH_MESSAGES": "वार्तालापमा सन्देश खोज्नुहोस्",
"VIEW_ORIGINAL": "मूल हेर्नुहोस्",
"VIEW_TRANSLATED": "अनुवादित हेर्नुहोस्",
"NO_INBOX_AGENT": "Uh Oh! Looks like you are not part of any inbox. Please contact your administrator",
"SEARCH_MESSAGES": "Search for messages in conversations",
"VIEW_ORIGINAL": "View original",
"VIEW_TRANSLATED": "View translated",
"EMPTY_STATE": {
"CMD_BAR": "कमाण्ड मेनु खोल्न",
"KEYBOARD_SHORTCUTS": "किबोर्ड सर्टकटहरू हेर्न"
"CMD_BAR": "to open command menu",
"KEYBOARD_SHORTCUTS": "to view keyboard shortcuts"
},
"SEARCH": {
"TITLE": "सन्देश खोज्नुहोस्",
"TITLE": "Search messages",
"RESULT_TITLE": "खोज परिणामहरू",
"LOADING_MESSAGE": "डाटा प्रशोधन हुँदैछ...",
"PLACEHOLDER": "सन्देश खोज्न कुनैपनि पाठ टाइप गर्नुहोस्",
"PLACEHOLDER": "Type any text to search messages",
"NO_MATCHING_RESULTS": "कुनै परिणाम फेला परेन।"
},
"UNREAD_MESSAGES": "पढ्न बाँकी सन्देशहरू",
"UNREAD_MESSAGE": "पढ्न बाँकी सन्देश",
"CLICK_HERE": "यहाँ क्लिक गर्नुहोस्",
"LOADING_INBOXES": "इनबक्सहरू लोड हुँदैछन्",
"CLICK_HERE": "Click here",
"LOADING_INBOXES": "Loading inboxes",
"LOADING_CONVERSATIONS": "संवादहरू लोड हुँदैछ",
"CANNOT_REPLY": "तपाईंले जवाफ दिन सक्नुहुन्न कारण:",
"CANNOT_REPLY": "You cannot reply due to",
"24_HOURS_WINDOW": "२४ घण्टे सन्देश विन्डो प्रतिबन्ध",
"48_HOURS_WINDOW": "48 घण्टे सन्देश विन्डो प्रतिबन्ध",
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "यो कुराकानी तपाईंलाई सौंपिएको छैन। के तपाईं यो कुराकानी आफैंलाई सौंप्न चाहनुहुन्छ?",
"ASSIGN_TO_ME": "मलाई तोक्नुहोस्",
"ASSIGN_TO_ME": "Assign to me",
"BOT_HANDOFF_MESSAGE": "तपाईं अहिले सहायक वा बोटले ह्यान्डल गरिरहेको कुराकानीमा जवाफ दिइरहनुभएको छ।",
"BOT_HANDOFF_ACTION": "खोलिएको मार्क गर्नुहोस् र तपाईंलाई सौंप्नुहोस्",
"BOT_HANDOFF_REOPEN_ACTION": "कुराकानी खोलिएको मार्क गर्नुहोस्",
"BOT_HANDOFF_SUCCESS": "वार्ता तपाईंलाई सुम्पिएको छ",
"BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
"BOT_HANDOFF_ERROR": "कुराकानी सम्हाल्न सकेन। कृपया फेरि प्रयास गर्नुहोस्।",
"TWILIO_WHATSAPP_CAN_REPLY": "२४ घण्टे सन्देश विन्डो प्रतिबन्धका कारण तपाईंले यस कुराकानीमा टेम्प्लेट सन्देश प्रयोग गरेर मात्र जवाफ दिन सक्नुहुन्छ",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "२४ घण्टे सन्देश विन्डो प्रतिबन्ध",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "यो Instagram खाता नयाँ Instagram च्यानल इनबक्समा सारिएको छ। सबै नयाँ सन्देशहरू त्यहाँ देखिनेछन्। तपाईं अब यस कुराकानीबाट सन्देश पठाउन सक्नुहुन्न।",
"REPLYING_TO": "तपाईंले यसलाई जवाफ दिँदै हुनुहुन्छ:",
"REMOVE_SELECTION": "चयन हटाउनुहोस्",
"REPLYING_TO": "You are replying to:",
"REMOVE_SELECTION": "Remove Selection",
"DOWNLOAD": "डाउनलोड",
"UNKNOWN_FILE_TYPE": "अज्ञात फाइल",
"SAVE_CONTACT": "सम्पर्क बचत गर्नु",
"NO_CONTENT": "देखाउन सामग्री छैन",
"NO_CONTENT": "No content to display",
"SHARED_ATTACHMENT": {
"CONTACT": "{sender} has shared a contact",
"LOCATION": "{sender} has shared a location",
"FILE": "{sender} has shared a file",
"MEETING": "{sender} has started a meeting"
},
"UPLOADING_ATTACHMENTS": "संलग्न फाइलहरू अपलोड हुँदैछन्...",
"REPLIED_TO_STORY": "तपाईंको स्टोरीमा जवाफ दिइयो",
"UPLOADING_ATTACHMENTS": "Uploading attachments...",
"REPLIED_TO_STORY": "Replied to your story",
"UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.",
"UNSUPPORTED_MESSAGE_FACEBOOK": "यो सन्देश समर्थन गरिएको छैन। तपाईं यो सन्देश Facebook Messenger एपमा हेर्न सक्नुहुन्छ।",
"UNSUPPORTED_MESSAGE_INSTAGRAM": "यो सन्देश समर्थन गरिएको छैन। तपाईं यो सन्देश Instagram एपमा हेर्न सक्नुहुन्छ।",
"UNSUPPORTED_MESSAGE_TIKTOK": "यो सन्देश समर्थन गरिएको छैन। तपाईंले यो सन्देश TikTok एपमा हेर्न सक्नुहुन्छ।",
"SUCCESS_DELETE_MESSAGE": "सन्देश सफलतापूर्वक मेटाइयो",
"FAIL_DELETE_MESSSAGE": "सन्देश मेटाउन सकिएन! फेरि प्रयास गर्नुहोस्",
"SUCCESS_DELETE_MESSAGE": "Message deleted successfully",
"FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again",
"NO_RESPONSE": "कुनै प्रतिक्रिया छैन",
"RESPONSE": "प्रतिक्रिया",
"RATING_TITLE": "मूल्याङ्कन",
"RATING_TITLE": "Rating",
"FEEDBACK_TITLE": "प्रतिक्रिया",
"REPLY_MESSAGE_NOT_FOUND": "सन्देश उपलब्ध छैन",
"CARD": {
"SHOW_LABELS": "लेबलहरू देखाउनुहोस्",
"HIDE_LABELS": "लेबलहरू लुकाउनुहोस्"
"SHOW_LABELS": "Show labels",
"HIDE_LABELS": "Hide labels"
},
"VOICE_CALL": {
"INCOMING_CALL": "आउँदै गरेको कल",
@@ -82,18 +82,18 @@
"CALL_ENDED": "कल समाप्त भयो",
"NOT_ANSWERED_YET": "अझै जवाफ दिइएको छैन",
"THEY_ANSWERED": "उनीहरूले जवाफ दिए",
"YOU_ANSWERED": "तपाईंले जवाफ दिनुभयो"
"YOU_ANSWERED": "You answered"
},
"HEADER": {
"RESOLVE_ACTION": "समाधान गर्नुहोस्",
"REOPEN_ACTION": "फेरि खोल्नुहोस्",
"OPEN_ACTION": "खोल्नुहोस्",
"MORE_ACTIONS": "थप कार्यहरू",
"RESOLVE_ACTION": "Resolve",
"REOPEN_ACTION": "Reopen",
"OPEN_ACTION": "Open",
"MORE_ACTIONS": "More actions",
"OPEN": "थप",
"CLOSE": "बन्दा गार्नुहोस्",
"DETAILS": "विवरणहरू",
"SNOOZED_UNTIL": "यस मितिसम्म सुस्काइयो",
"SNOOZED_UNTIL_TOMORROW": "भोलिसम्म सुताइएको",
"SNOOZED_UNTIL": "Snoozed until",
"SNOOZED_UNTIL_TOMORROW": "Snoozed until tomorrow",
"SNOOZED_UNTIL_NEXT_WEEK": "अर्को हप्ता सम्म सुताइएको",
"SNOOZED_UNTIL_NEXT_REPLY": "अर्को जवाफ सम्म सुताइएको",
"SLA_STATUS": {
@@ -105,10 +105,10 @@
}
},
"RESOLVE_DROPDOWN": {
"MARK_PENDING": "पेन्डिङको रूपमा चिन्ह लगाउनुहोस्",
"SNOOZE_UNTIL": "सुस्काउनुहोस्",
"MARK_PENDING": "Mark as pending",
"SNOOZE_UNTIL": "Snooze",
"SNOOZE": {
"TITLE": "यस मितिसम्म सुताउनुहोस्",
"TITLE": "Snooze until",
"NEXT_REPLY": "अर्को जवाफ",
"TOMORROW": "भोलि",
"NEXT_WEEK": "अर्को हप्ता"
@@ -119,9 +119,9 @@
"TEAMS": "टोलीहरू"
},
"CUSTOM_SNOOZE": {
"TITLE": "यस मितिसम्म सुस्काउनुहोस्",
"APPLY": "सुस्काउनुहोस्",
"CANCEL": "रद्द गर्नुहोस्"
"TITLE": "Snooze until",
"APPLY": "Snooze",
"CANCEL": "Cancel"
},
"PRIORITY": {
"TITLE": "प्राथमिकता",
@@ -134,7 +134,7 @@
},
"CHANGE_PRIORITY": {
"SELECT_PLACEHOLDER": "कुनै छैन",
"INPUT_PLACEHOLDER": "प्राथमिकता छान्नुहोस्",
"INPUT_PLACEHOLDER": "Select priority",
"NO_RESULTS": "कुनै परिणाम फेला परेन",
"SUCCESSFUL": "Changed priority of conversation id {conversationId} to {priority}",
"FAILED": "प्राथमिकता परिवर्तन गर्न सकेन। कृपया फेरि प्रयास गर्नुहोस्।"
@@ -143,28 +143,28 @@
"DELETE_CONVERSATION": {
"TITLE": "Delete conversation #{conversationId}",
"DESCRIPTION": "के तपाईं पक्का यो कुराकानी मेटाउन चाहनुहुन्छ?",
"CONFIRM": "हटाउनुहोस्"
"CONFIRM": "Delete"
},
"CARD_CONTEXT_MENU": {
"PENDING": "पेन्डिङको रूपमा चिन्ह लगाउनुहोस्",
"RESOLVED": "समाधान भएको रूपमा चिन्ह लगाउनुहोस्",
"MARK_AS_UNREAD": "अपढिएको रूपमा चिन्ह लगाउनुहोस्",
"MARK_AS_READ": "पढिएको रूपमा चिन्ह लगाउनुहोस्",
"REOPEN": "वार्ता पुन: खोल्नुहोस्",
"PENDING": "Mark as pending",
"RESOLVED": "Mark as resolved",
"MARK_AS_UNREAD": "Mark as unread",
"MARK_AS_READ": "Mark as read",
"REOPEN": "Reopen conversation",
"SNOOZE": {
"TITLE": "स्नूज",
"NEXT_REPLY": "अर्को जवाफसम्म",
"TOMORROW": "भोलिसम्म",
"TITLE": "Snooze",
"NEXT_REPLY": "Until next reply",
"TOMORROW": "Until tomorrow",
"NEXT_WEEK": "अर्को हप्ता सम्म"
},
"ASSIGN_AGENT": "एजेन्ट तोक्नुहोस्",
"ASSIGN_LABEL": "लेबल तोक्नुहोस्",
"ASSIGN_AGENT": "Assign agent",
"ASSIGN_LABEL": "Assign label",
"AGENTS_LOADING": "एजेन्टहरू लोड हुँदैछ...",
"ASSIGN_TEAM": "टोली तोक्नुहोस्",
"DELETE": "वार्ता हटाउनुहोस्",
"OPEN_IN_NEW_TAB": "नयाँ ट्याबमा खोल्नुहोस्",
"COPY_LINK": "वार्ताको लिङ्क प्रतिलिपि गर्नुहोस्",
"COPY_LINK_SUCCESS": "वार्ताको लिङ्क क्लिपबोर्डमा प्रतिलिपि गरियो",
"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",
"API": {
"AGENT_ASSIGNMENT": {
"SUCCESFUL": "Conversation id {conversationId} assigned to \"{agentName}\"",
@@ -186,63 +186,63 @@
},
"FOOTER": {
"MESSAGE_SIGN_TOOLTIP": "सन्देश हस्ताक्षर",
"ENABLE_SIGN_TOOLTIP": "हस्ताक्षर सक्षम गर्नुहोस्",
"DISABLE_SIGN_TOOLTIP": "हस्ताक्षर अक्षम गर्नुहोस्",
"ENABLE_SIGN_TOOLTIP": "Enable signature",
"DISABLE_SIGN_TOOLTIP": "Disable signature",
"MSG_INPUT": "Shift + enter नयाँ लाइनको लागि। क्यान्ड रिस्पोन्स छान्न '/' बाट सुरु गर्नुहोस्।",
"PRIVATE_MSG_INPUT": "नयाँ लाइनका लागि Shift + Enter थिच्नुहोस्। यो केवल एजेन्टहरूलाई मात्र देखिनेछ।",
"PRIVATE_MSG_INPUT": "Shift + enter for new line. This will be visible only to Agents",
"MESSAGING_RESTRICTED": "तपाईं यस कुराकानीमा जवाफ दिन सक्नुहुन्न",
"MESSAGING_RESTRICTED_WHATSAPP": "२४ घण्टाको सन्देश सीमाका कारण तपाईंले टेम्प्लेट सन्देश मात्र पठाउन सक्नुहुन्छ",
"MESSAGING_RESTRICTED_API": "सन्देश सीमाका कारण तपाईंले टेम्प्लेट सन्देश मात्र पठाउन सक्नुहुन्छ",
"MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction",
"MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction",
"MESSAGE_SIGNATURE_NOT_CONFIGURED": "सन्देश हस्ताक्षर कन्फिगर गरिएको छैन, कृपया प्रोफाइल सेटिङहरूमा कन्फिगर गर्नुहोस्।",
"COPILOT_MSG_INPUT": "Copilot लाई थप निर्देशन दिनुहोस् वा अरू केही सोध्नुहोस्... पछ्याउने सन्देश पठाउन Enter थिच्नुहोस्",
"CLICK_HERE": "अपडेट गर्न यहाँ क्लिक गर्नुहोस्",
"WHATSAPP_TEMPLATES": "Whatsapp टेम्प्लेटहरू"
"COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up",
"CLICK_HERE": "Click here to update",
"WHATSAPP_TEMPLATES": "Whatsapp Templates"
},
"REPLYBOX": {
"REPLY": "जवाफ दिनु",
"PRIVATE_NOTE": "निजी नोट",
"SEND": "पठाउनुहोस्",
"CREATE": "नोट थप्नुहोस्",
"INSERT_READ_MORE": "थप पढ्नुहोस्",
"DISMISS_REPLY": "जवाफ हटाउनुहोस्",
"SEND": "Send",
"CREATE": "Add Note",
"INSERT_READ_MORE": "Read more",
"DISMISS_REPLY": "Dismiss reply",
"REPLYING_TO": "जवाफ दिँदै:",
"TIP_EMOJI_ICON": "इमोजी चयनकर्ता देखाउनुहोस्",
"TIP_ATTACH_ICON": "फाइलहरू संलग्न गर्नुहोस्",
"TIP_AUDIORECORDER_ICON": "अडियो रेकर्ड गर्नुहोस्",
"TIP_AUDIORECORDER_PERMISSION": "अडियो पहुँच अनुमति दिनुहोस्",
"TIP_EMOJI_ICON": "Show emoji selector",
"TIP_ATTACH_ICON": "Attach files",
"TIP_AUDIORECORDER_ICON": "Record audio",
"TIP_AUDIORECORDER_PERMISSION": "Allow access to audio",
"TIP_AUDIORECORDER_ERROR": "अडियो खोल्न सकिएन",
"DRAG_DROP": "यहाँ तान्नुहोस् र छोड्नुहोस् संलग्न गर्न",
"START_AUDIO_RECORDING": "अडियो रेकर्डिङ सुरु गर्नुहोस्",
"STOP_AUDIO_RECORDING": "अडियो रेकर्डिङ रोक्नुहोस्",
"COPILOT_THINKING": "Copilot सोच्दैछ",
"START_AUDIO_RECORDING": "Start audio recording",
"STOP_AUDIO_RECORDING": "Stop audio recording",
"COPILOT_THINKING": "Copilot is thinking",
"EMAIL_HEAD": {
"TO": "प्रति",
"ADD_BCC": "Bcc थप्नुहोस्",
"CC": {
"LABEL": "CC",
"PLACEHOLDER": "इमेलहरू अल्पविरामले छुट्याइएको",
"ERROR": "कृपया मान्य इमेल ठेगाना प्रविष्ट गर्नुहोस्"
"ERROR": "Please enter valid email addresses"
},
"BCC": {
"LABEL": "BCC",
"PLACEHOLDER": "इमेलहरू अल्पविरामले छुट्याइएको",
"ERROR": "कृपया मान्य इमेल ठेगाना प्रविष्ट गर्नुहोस्"
"ERROR": "Please enter valid email addresses"
}
},
"UNDEFINED_VARIABLES": {
"TITLE": "अपरिभाषित भेरिएबलहरू",
"TITLE": "Undefined variables",
"MESSAGE": "You have {undefinedVariablesCount} undefined variables in your message: {undefinedVariables}. Would you like to send the message anyway?",
"CONFIRM": {
"YES": "पठाउनुहोस्",
"CANCEL": "रद्द गर्नुहोस्"
"YES": "Send",
"CANCEL": "Cancel"
}
},
"QUOTED_REPLY": {
"ENABLE_TOOLTIP": "उद्धृत इमेल थ्रेड समावेश गर्नुहोस्",
"DISABLE_TOOLTIP": "उद्धृत इमेल थ्रेड समावेश नगर्नुहोस्",
"REMOVE_PREVIEW": "उद्धृत इमेल थ्रेड हटाउनुहोस्",
"COLLAPSE": "पूर्वावलोकन संक्षिप्त गर्नुहोस्",
"EXPAND": "पूर्वावलोकन विस्तार गर्नुहोस्"
"ENABLE_TOOLTIP": "Include quoted email thread",
"DISABLE_TOOLTIP": "Don't include quoted email thread",
"REMOVE_PREVIEW": "Remove quoted email thread",
"COLLAPSE": "Collapse preview",
"EXPAND": "Expand preview"
}
},
"VISIBLE_TO_AGENTS": "निजी नोट: केवल तपाईं र तपाईंको टिमलाई देखिन्छ",
@@ -250,38 +250,38 @@
"CHANGE_STATUS_FAILED": "संवाद स्थिति परिवर्तन असफल भयो",
"CHANGE_AGENT": "संवाद जिम्मेवार परिवर्तन गरियो",
"CHANGE_AGENT_FAILED": "जिम्मेवारी परिवर्तन असफल भयो",
"ASSIGN_LABEL_SUCCESFUL": "लेबल सफलतापूर्वक तोकियो",
"ASSIGN_LABEL_SUCCESFUL": "Label assigned successfully",
"ASSIGN_LABEL_FAILED": "लेबल तोक्न असफल भयो",
"CHANGE_TEAM": "कुराकानी टोली परिवर्तन गरियो",
"SUCCESS_DELETE_CONVERSATION": "वार्ता सफलतापूर्वक हटाइयो",
"FAIL_DELETE_CONVERSATION": "वार्ता हटाउन सकिएन! फेरि प्रयास गर्नुहोस्",
"SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully",
"FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again",
"FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit",
"FILE_TYPE_NOT_SUPPORTED": "यो {fileName} फाइल प्रकार यस कुराकानीमा समर्थित छैन",
"MESSAGE_ERROR": "यो सन्देश पठाउन सकिएन, कृपया पछि प्रयास गर्नुहोस्",
"MESSAGE_ERROR": "Unable to send this message, please try again later",
"SENT_BY": "पठाउने:",
"BOT": "बोट",
"NATIVE_APP": "नेभेटिभ एप",
"NATIVE_APP": "Native app",
"NATIVE_APP_ADVISORY": "यो सन्देश नेटिभ एपबाट पठाइएको हो। सन्देश विन्डो कायम राख्न Chatwoot बाट जवाफ दिनुहोस्।",
"SEND_FAILED": "सन्देश पठाउन सकेन! फेरि प्रयास गर्नु",
"TRY_AGAIN": "फेरि प्रयास गर्नुहोस्",
"TRY_AGAIN": "retry",
"ASSIGNMENT": {
"SELECT_AGENT": "एजेन्ट छान्नुहोस्",
"SELECT_AGENT": "Select Agent",
"REMOVE": "हटाउनुहोस्",
"ASSIGN": "तोकिनुहोस्"
"ASSIGN": "Assign"
},
"CONTEXT_MENU": {
"COPY": "प्रतिलिपि गर्नुहोस्",
"REPLY_TO": "यो सन्देशमा जवाफ दिनुहोस्",
"DELETE": "हटाउनुहोस्",
"CREATE_A_CANNED_RESPONSE": "क्यान्ड प्रतिक्रियामा थप्नुहोस्",
"TRANSLATE": "अनुवाद गर्नुहोस्",
"COPY_PERMALINK": "सन्देशको लिङ्क प्रतिलिपि गर्नुहोस्",
"REPLY_TO": "Reply to this message",
"DELETE": "Delete",
"CREATE_A_CANNED_RESPONSE": "Add to canned responses",
"TRANSLATE": "Translate",
"COPY_PERMALINK": "Copy link to the message",
"LINK_COPIED": "सन्देश URL क्लिपबोर्डमा प्रतिलिपि गरियो",
"DELETE_CONFIRMATION": {
"TITLE": "के तपाईं यो सन्देश मेटाउन निश्चित हुनुहुन्छ?",
"TITLE": "Are you sure you want to delete this message?",
"MESSAGE": "यो कार्य फिर्ता गर्न सकिँदैन",
"DELETE": "मेटाउनुहोस्",
"CANCEL": "रद्द गर्नुहोस्"
"DELETE": "Delete",
"CANCEL": "Cancel"
}
},
"SIDEBAR": {
@@ -293,26 +293,26 @@
"OUTGOING_CALL": "जाने कल",
"CALL_IN_PROGRESS": "कल प्रगतिको अवस्थामा छ",
"NOT_ANSWERED_YET": "अझै जवाफ दिइएको छैन",
"HANDLED_IN_ANOTHER_TAB": "अर्को ट्याबमा ह्यान्डल भइरहेको छ",
"REJECT_CALL": "अस्वीकार गर्नुहोस्",
"JOIN_CALL": "कलमा सामेल हुनुहोस्",
"END_CALL": "कल समाप्त गर्नुहोस्"
"HANDLED_IN_ANOTHER_TAB": "Being handled in another tab",
"REJECT_CALL": "Reject",
"JOIN_CALL": "Join call",
"END_CALL": "End call"
}
},
"EMAIL_TRANSCRIPT": {
"TITLE": "वार्तालाप प्रतिलिपि पठाउनुहोस्",
"DESC": "निर्दिष्ट इमेल ठेगानामा वार्तालापको प्रतिलिपि पठाउनुहोस्",
"TITLE": "Send conversation transcript",
"DESC": "Send a copy of the conversation transcript to the specified email address",
"SUBMIT": "बुझाउनुहोस्",
"CANCEL": "रद्द गर्नुहोस्",
"SEND_EMAIL_SUCCESS": "च्याट प्रतिलिपि सफलतापूर्वक पठाइयो",
"SEND_EMAIL_ERROR": "त्रुटि आयो, कृपया फेरि प्रयास गर्नुहोस्",
"CANCEL": "Cancel",
"SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully",
"SEND_EMAIL_ERROR": "There was an error, please try again",
"SEND_EMAIL_PAYMENT_REQUIRED": "तपाईंको वर्तमान योजनामा इमेल ट्रान्सक्रिप्ट उपलब्ध छैन। कृपया यो सुविधा प्रयोग गर्न योजना अपग्रेड गर्नुहोस्।",
"FORM": {
"SEND_TO_CONTACT": "ग्राहकलाई प्रतिलिपि पठाउनुहोस्",
"SEND_TO_AGENT": "प्रतिनिधिलाई ट्रान्सक्रिप्ट पठाउनुहोस्",
"SEND_TO_OTHER_EMAIL_ADDRESS": "अर्को इमेल ठेगानामा प्रतिलिपि पठाउनुहोस्",
"SEND_TO_CONTACT": "Send the transcript to the customer",
"SEND_TO_AGENT": "Send the transcript to the assigned agent",
"SEND_TO_OTHER_EMAIL_ADDRESS": "Send the transcript to another email address",
"EMAIL": {
"PLACEHOLDER": "इमेल ठेगाना लेख्नुहोस्",
"PLACEHOLDER": "Enter an email address",
"ERROR": "कृपया मान्य इमेल ठेगाना प्रविष्ट गर्नुहोस्"
}
}
@@ -323,31 +323,31 @@
"GREETING_MORNING": "👋 शुभ प्रभात, {name}. {installationName} मा स्वागत छ।",
"GREETING_AFTERNOON": "👋 शुभ अपराह्न, {name}. {installationName} मा स्वागत छ।",
"GREETING_EVENING": "👋 शुभ साँझ, {name}. {installationName} मा स्वागत छ।",
"READ_LATEST_UPDATES": "हाम्रा पछिल्ला अपडेटहरू पढ्नुहोस्",
"READ_LATEST_UPDATES": "Read our latest updates",
"ALL_CONVERSATION": {
"TITLE": "सबै कुराकानीहरू एउटै स्थानमा",
"TITLE": "All your conversations in one place",
"DESCRIPTION": "तपाईंका ग्राहकका सबै कुराकानीहरू एउटै ड्यासबोर्डमा हेर्नुहोस्। तपाईं इनकमिङ च्यानल, लेबल र स्थिति अनुसार कुराकानीहरू फिल्टर गर्न सक्नुहुन्छ।",
"NEW_LINK": "इनबक्स बनाउन यहाँ क्लिक गर्नुहोस्"
"NEW_LINK": "Click here to create an inbox"
},
"TEAM_MEMBERS": {
"TITLE": "आफ्नो टोलीका सदस्यहरूलाई निमन्त्रणा गर्नुहोस्",
"TITLE": "Invite your team members",
"DESCRIPTION": "तपाईं ग्राहकसँग कुरा गर्न तयार हुँदै हुनुहुन्छ, त्यसैले सहयोगका लागि तपाईंका टिम सदस्यहरूलाई ल्याउनुहोस्। तपाईं एजेन्ट सूचीमा उनीहरूको इमेल ठेगाना थपेर टिम सदस्यहरूलाई निमन्त्रणा गर्न सक्नुहुन्छ।",
"NEW_LINK": "टोली सदस्यलाई निमन्त्रणा गर्न यहाँ क्लिक गर्नुहोस्"
"NEW_LINK": "Click here to invite a team member"
},
"LABELS": {
"TITLE": "लेबलहरू प्रयोग गरी संवादहरू व्यवस्थित गर्नुहोस्",
"TITLE": "Organize conversations with labels",
"DESCRIPTION": "लेबलहरूले तपाईंको कुराकानी वर्गीकरण गर्न सजिलो बनाउँछन्। #support-enquiry, #billing-question जस्ता केही लेबलहरू बनाउनुहोस्, जसलाई तपाईं पछि कुराकानीमा प्रयोग गर्न सक्नुहुन्छ।",
"NEW_LINK": "ट्यागहरू बनाउन यहाँ क्लिक गर्नुहोस्"
"NEW_LINK": "Click here to create tags"
},
"CANNED_RESPONSES": {
"TITLE": "रेडी जवाफहरू बनाउनुहोस्",
"TITLE": "Create canned responses",
"DESCRIPTION": "पूर्व-लेखित छिटो जवाफ टेम्प्लेटहरूले तपाईंलाई छिटो कुराकानीमा जवाफ दिन मद्दत गर्छ। एजेन्टहरूले '/' क्यारेक्टर टाइप गरी त्यसपछि छोटो कोड टाइप गरेर जवाफ समावेश गर्न सक्छन्।",
"NEW_LINK": "रेडी जवाफ बनाउन यहाँ क्लिक गर्नुहोस्"
"NEW_LINK": "Click here to create a canned response"
}
},
"CONVERSATION_SIDEBAR": {
"ASSIGNEE_LABEL": "नियुक्त एजेन्ट",
"SELF_ASSIGN": "मलाई तोक्नुहोस्",
"ASSIGNEE_LABEL": "Assigned Agent",
"SELF_ASSIGN": "Assign to me",
"TEAM_LABEL": "सुम्पिएको टोली",
"SELECT": {
"PLACEHOLDER": "कुनै छैन"
@@ -355,23 +355,23 @@
"ACCORDION": {
"CONTACT_DETAILS": "सम्पर्क विवरण",
"CONVERSATION_ACTIONS": "संवाद क्रियाहरू",
"CONVERSATION_LABELS": "वार्तालाप लेबलहरू",
"CONVERSATION_LABELS": "Conversation Labels",
"CONVERSATION_INFO": "संवाद जानकारी",
"CONTACT_NOTES": "सम्पर्क नोटहरू",
"CONTACT_ATTRIBUTES": "सम्पर्क विशेषताहरू",
"PREVIOUS_CONVERSATION": "अघिल्ला कुराकानीहरू",
"MACROS": "म्याक्रोहरू",
"LINEAR_ISSUES": "लिङ्क गरिएका Linear समस्याहरू",
"SHOPIFY_ORDERS": "Shopify अर्डरहरू"
"MACROS": "Macros",
"LINEAR_ISSUES": "Linked Linear Issues",
"SHOPIFY_ORDERS": "Shopify Orders"
},
"SHOPIFY": {
"ORDER_ID": "अर्डर #{id}",
"ERROR": "अर्डर लोड गर्न त्रुटि",
"ERROR": "Error loading orders",
"NO_SHOPIFY_ORDERS": "कुनै अर्डर फेला परेन",
"FINANCIAL_STATUS": {
"PENDING": "पेन्डिङ",
"PENDING": "Pending",
"AUTHORIZED": "अधिकृत",
"PARTIALLY_PAID": "आंशिक रूपमा भुक्तानी",
"PARTIALLY_PAID": "Partially Paid",
"PAID": "तिरिएको",
"PARTIALLY_REFUNDED": "आंशिक रूपमा फिर्ता गरिएको",
"REFUNDED": "फिर्ता गरिएको",
@@ -380,29 +380,29 @@
"FULFILLMENT_STATUS": {
"FULFILLED": "पूरा गरिएको",
"PARTIALLY_FULFILLED": "आंशिक रूपमा पूरा गरिएको",
"UNFULFILLED": "पूरा नभएको"
"UNFULFILLED": "Unfulfilled"
}
}
},
"CONVERSATION_CUSTOM_ATTRIBUTES": {
"ADD_BUTTON_TEXT": "एट्रिब्युट बनाउनुहोस्",
"ADD_BUTTON_TEXT": "Create attribute",
"NO_RECORDS_FOUND": "कुनै विशेषता फेला परेन",
"UPDATE": {
"SUCCESS": "एट्रिब्युट सफलतापूर्वक अपडेट भयो",
"ERROR": "एट्रिब्युट अपडेट गर्न सकिएन। कृपया पछि प्रयास गर्नुहोस्"
"SUCCESS": "Attribute updated successfully",
"ERROR": "Unable to update attribute. Please try again later"
},
"ADD": {
"TITLE": "थप्नुहोस्",
"SUCCESS": "एट्रिब्युट सफलतापूर्वक थपियो",
"ERROR": "एट्रिब्युट थप्न सकिएन। कृपया पछि प्रयास गर्नुहोस्"
"TITLE": "Add",
"SUCCESS": "Attribute added successfully",
"ERROR": "Unable to add attribute. Please try again later"
},
"DELETE": {
"SUCCESS": "एट्रिब्युट सफलतापूर्वक हटाइयो",
"ERROR": "एट्रिब्युट हटाउन सकिएन। कृपया पछि प्रयास गर्नुहोस्"
"SUCCESS": "Attribute deleted successfully",
"ERROR": "Unable to delete attribute. Please try again later"
},
"ATTRIBUTE_SELECT": {
"TITLE": "एट्रिब्युटहरू थप्नुहोस्",
"PLACEHOLDER": "एट्रिब्युट खोज्नुहोस्",
"TITLE": "Add attributes",
"PLACEHOLDER": "Search attributes",
"NO_RESULT": "कुनै विशेषता फेला परेन"
}
},
@@ -412,27 +412,27 @@
"BCC": "Bcc",
"CC": "Cc",
"SUBJECT": "विषय",
"EXPAND": "इमेल विस्तार गर्नुहोस्"
"EXPAND": "Expand email"
},
"CONVERSATION_PARTICIPANTS": {
"SIDEBAR_MENU_TITLE": "सहभागी हुँदै",
"SIDEBAR_TITLE": "वार्ताका सहभागीहरू",
"SIDEBAR_TITLE": "Conversation participants",
"NO_RECORDS_FOUND": "कुनै परिणाम फेला परेन",
"ADD_PARTICIPANTS": "सहभागीहरू छान्नुहोस्",
"ADD_PARTICIPANTS": "Select participants",
"REMANING_PARTICIPANTS_TEXT": "+{count} अन्य",
"REMANING_PARTICIPANT_TEXT": "+{count} अर्को",
"TOTAL_PARTICIPANTS_TEXT": "{count} जना मानिसहरू सहभागी छन्।",
"TOTAL_PARTICIPANT_TEXT": "{count} व्यक्ति सहभागी छन्।",
"NO_PARTICIPANTS_TEXT": "No one is participating!.",
"WATCH_CONVERSATION": "वार्तामा सामेल हुनुहोस्",
"YOU_ARE_WATCHING": "तपाईं सहभागी हुनुहुन्छ",
"WATCH_CONVERSATION": "Join conversation",
"YOU_ARE_WATCHING": "You are participating",
"API": {
"ERROR_MESSAGE": "अद्यावधिक गर्न सकेन, फेरि प्रयास गर्नुहोस्!",
"SUCCESS_MESSAGE": "सहभागीहरू अपडेट गरियो!"
"SUCCESS_MESSAGE": "Participants updated!"
}
},
"TRANSLATE_MODAL": {
"TITLE": "अनुवादित सामग्री हेर्नुहोस्",
"TITLE": "View translated content",
"DESC": "You can view the translated content in each langauge.",
"ORIGINAL_CONTENT": "मूल सामग्री",
"TRANSLATED_CONTENT": "अनुवादित सामग्री",
@@ -444,9 +444,9 @@
"MULTIPLE": "{user} and {count} others are typing"
},
"COPILOT": {
"TRY_THESE_PROMPTS": "यी सुझावहरू प्रयास गर्नुहोस्"
"TRY_THESE_PROMPTS": "Try these prompts"
},
"GALLERY_VIEW": {
"ERROR_DOWNLOADING": "एट्याचमेन्ट डाउनलोड गर्न सकिएन। कृपया फेरि प्रयास गर्नुहोस्"
"ERROR_DOWNLOADING": "Unable to download attachment. Please try again"
}
}
@@ -4,8 +4,8 @@
"DESCRIPTION": "च्यानल भनेको तपाईंको ग्राहकले तपाईं सँग अन्तरक्रिया गर्न रोजेको सञ्चार माध्यम हो। इनबक्स भनेको एउटा विशेष च्यानलका लागि अन्तरक्रियाहरू व्यवस्थापन गर्ने ठाउँ हो। यसमा इमेल, प्रत्यक्ष च्याट, र सामाजिक मिडिया जस्ता विभिन्न स्रोतहरूबाट सञ्चारहरू समावेश हुन सक्छ।।",
"LEARN_MORE": "इनबक्सहरू बारे थप जान्नुहोस्",
"COUNT": "{n} inbox | {n} inboxes",
"SEARCH_PLACEHOLDER": "इनबक्स खोज्नुहोस्...",
"NO_RESULTS": "तपाईंको खोजसँग मेल खाने इनबक्स फेला परेन",
"SEARCH_PLACEHOLDER": "Search inboxes...",
"NO_RESULTS": "No inboxes found matching your search",
"RECONNECTION_REQUIRED": "तपाईंको इनबक्स डिस्कनेक्ट भएको छ। पुनः अधिकृत नगरेसम्म तपाईं नयाँ सन्देशहरू प्राप्त गर्नुहुने छैन।",
"CLICK_TO_RECONNECT": "पुनः जडान गर्न यहाँ क्लिक गर्नुहोस्।",
"WHATSAPP_REGISTRATION_INCOMPLETE": "तपाईंको WhatsApp व्यवसाय दर्ता पूरा भएको छैन। पुन: जडान गर्नु अघि कृपया Meta Business Manager मा तपाईंको प्रदर्शन नाम स्थिति जाँच गर्नुहोस्।",
@@ -578,7 +578,7 @@
"SUBTITLE": "इमेल हेडरमा प्रेषक नामको रूपमा केवल कन्फिगर गरिएको व्यवसाय नाम प्रयोग गर्नुहोस्।"
},
"BUSINESS_NAME": {
"BUTTON_TEXT": "आफ्नो व्यवसाय नाम सेट गर्नुहोस्",
"BUTTON_TEXT": "Configure your business name",
"PLACEHOLDER": "तपाईंको व्यवसाय नाम प्रविष्ट गर्नुहोस्",
"SAVE_BUTTON_TEXT": "सेभ गर्नुहोस्"
}
@@ -594,7 +594,7 @@
"LOCK_TO_SINGLE_CONVERSATION": {
"ENABLED": "Reopen same conversation",
"DISABLED": "Create new conversations",
"ENABLED_DESCRIPTION": "सम्पर्कले फेरि सन्देश पठाउँदा, अघिल्लो कुराकानी पुन: खोलिनेछ।",
"ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.",
"DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved."
},
"ENABLE_HMAC": {
@@ -630,7 +630,7 @@
"ACCOUNT_HEALTH": "खाता स्वास्थ्य",
"CSAT": "CSAT"
},
"CHANNEL_PREFERENCES": "च्यानल प्राथमिकता",
"CHANNEL_PREFERENCES": "Channel Preferences",
"WIDGET_FEATURES": "Widget features",
"ACCOUNT_HEALTH": {
"TITLE": "तपाईंको WhatsApp खाता व्यवस्थापन गर्नुहोस्",
@@ -687,14 +687,14 @@
}
},
"WEBHOOK": {
"TITLE": "Webhook कन्फिगरेसन",
"DESCRIPTION": "ग्राहकबाट सन्देश प्राप्त गर्न तपाईंको WhatsApp Business Account मा Webhook URL आवश्यक छ",
"ACTION_REQUIRED": "Webhook कन्फिगर गरिएको छैन",
"REGISTER_BUTTON": "Webhook दर्ता गर्नुहोस्",
"REGISTER_SUCCESS": "Webhook सफलतापूर्वक दर्ता भयो",
"REGISTER_ERROR": "Webhook दर्ता गर्न असफल भयो। कृपया फेरि प्रयास गर्नुहोस्।",
"CONFIGURED_SUCCESS": "Webhook सफलतापूर्वक कन्फिगर गरियो",
"URL_MISMATCH": "Webhook URL मेल खाएन"
"TITLE": "Webhook Configuration",
"DESCRIPTION": "Webhook URL is required for your WhatsApp Business Account to receive messages from customers",
"ACTION_REQUIRED": "Webhook not configured",
"REGISTER_BUTTON": "Register Webhook",
"REGISTER_SUCCESS": "Webhook registered successfully",
"REGISTER_ERROR": "Failed to register webhook. Please try again.",
"CONFIGURED_SUCCESS": "Webhook configured successfully",
"URL_MISMATCH": "Webhook URL mismatch"
}
},
"SETTINGS": "सेटिङहरू",
@@ -710,20 +710,20 @@
"MESSENGER_SUB_HEAD": "यो बटनलाई तपाईंको body ट्याग भित्र राख्नुहोस्",
"ALLOWED_DOMAINS": {
"TITLE": "अनुमत डोमेनहरू",
"DESCRIPTION": "कुन वेबसाइटहरूले तपाईंको च्याट विजेट एम्बेड गर्न सक्छन् भन्ने सीमित गर्नुहोस्। सुरक्षाका लागि, केवल तपाईंले स्वामित्व लिएका र विश्वास गर्ने डोमेनहरू मात्र थप्नुहोस्। कमा छुट्याएर एक वा बढी डोमेनहरू थप्नुहोस्। सबै डोमेनहरूलाई अनुमति दिन खाली छोड्नुहोस् (उत्पादनका लागि सिफारिस गरिएको छैन)।",
"DESCRIPTION": "Restrict which websites can embed your chat widget. For security, only add domains you own and trust. Add one or more domains separated by commas. Leave blank to allow all domains (not recommended for production).",
"PLACEHOLDER": "example.com, www.example.com, app.example.com"
},
"ALLOW_MOBILE_WEBVIEW": {
"LABEL": "मोबाइल एपहरूमा विजेट सक्षम गर्नुहोस्",
"SUBTITLE": "यदि तपाईंले विजेटलाई iOS वा Android एपहरूमा राख्नुभएको छ भने यो जाँच गर्नुहोस्। मोबाइल एपहरूले डोमेन जानकारी पठाउँदैनन्, त्यसैले यो सक्षम नगरेसम्म डोमेन प्रतिबन्धले ब्लक गर्छ।"
"LABEL": "Enable widget in mobile apps",
"SUBTITLE": "Check this if you embed the widget in iOS or Android apps. Mobile apps don't send domain information, so they would be blocked by domain restrictions unless this is enabled."
},
"IDENTITY_VALIDATION": {
"TITLE": "पहिचान प्रमाणीकरण",
"DESCRIPTION": "सुरक्षित टोकनहरू सिर्जना गरेर प्रयोगकर्ताको वास्तविकता प्रमाणित गर्नुहोस्। यसले अनधिकृत प्रयोगकर्ताहरूलाई तपाईंको च्याटमा अरूको नक्कल गर्नबाट रोक्छ।",
"SECRET_KEY": "गोप्य कुञ्जी",
"VIEW_DOCS": "डोक्युमेन्टेसन हेर्नुहोस्",
"REQUIRE_LABEL": "सबै संवादका लागि पहिचान प्रमाणीकरण आवश्यक बनाउनुहोस्",
"REQUIRE_DESCRIPTION": "यो सक्षम गर्दा, प्रयोगकर्ताले संवाद सुरु गर्न मान्य पहिचान टोकन दिनुपर्छ। मान्य टोकन बिना अनुरोधहरू अस्वीकृत गरिनेछन्।"
"TITLE": "Identity Validation",
"DESCRIPTION": "Verify user authenticity by generating secure tokens. This prevents unauthorized users from impersonating others in your chat.",
"SECRET_KEY": "Secret Key",
"VIEW_DOCS": "View documentation",
"REQUIRE_LABEL": "Require identity validation for all conversations",
"REQUIRE_DESCRIPTION": "When enabled, users must provide a valid identity token to start conversations. Requests without valid tokens will be rejected."
},
"INBOX_AGENTS": "एजेन्टहरू",
"INBOX_AGENTS_SUB_TEXT": "यस इनबक्सबाट एजेन्टहरू थप्नुहोस् वा हटाउनुहोस्",
@@ -737,8 +737,8 @@
"SENDER_NAME_SECTION_TEXT": "एजेन्टको नाम इमेलमा देखाउने/नदेखाउने सक्षम/अक्षम गर्नुहोस्, यदि अक्षम गरिएको छ भने व्यवसाय नाम देखाइनेछ",
"ENABLE_CONTINUITY_VIA_EMAIL": "इमेल मार्फत कुराकानी निरन्तरता सक्षम गर्नुहोस्",
"ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "यदि सम्पर्क इमेल ठेगाना उपलब्ध छ भने कुराकानी इमेल मार्फत जारी रहनेछ।",
"LOCK_TO_SINGLE_CONVERSATION": "कुराकानी मार्गनिर्देशन",
"LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "अस्तित्वमा रहेका सम्पर्कहरूको लागि संवाद सिर्जना कन्फिगर गर्नुहोस्",
"LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing",
"LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts",
"INBOX_UPDATE_TITLE": "इनबक्स सेटिङहरू",
"INBOX_UPDATE_SUB_TEXT": "तपाईंको इनबक्स सेटिङहरू अपडेट गर्नु",
"AUTO_ASSIGNMENT_SUB_TEXT": "यस इनबक्समा थपिएका एजेन्टहरूलाई नयाँ संवादहरू स्वचालित रूपमा असाइन गर्ने सुविधा सक्षम वा अक्षम गर्नु।",
@@ -787,7 +787,7 @@
"LABEL": "मद्दत केन्द्र",
"PLACEHOLDER": "मद्दत केन्द्र चयन गर्नुहोस्",
"SELECT_PLACEHOLDER": "मद्दत केन्द्र चयन गर्नुहोस्",
"NONE": "कुनै छैन",
"NONE": "None",
"REMOVE": "मद्दत केन्द्र हटाउनुहोस्",
"SUB_TEXT": "इनबक्ससँग मद्दत केन्द्र संलग्न गर्नुहोस्"
},
@@ -827,19 +827,19 @@
"UPGRADE_TO_BUSINESS": "व्यवसाय योजना मा अपग्रेड गर्नुहोस्",
"DEFAULT_POLICY_LINKED": "पूर्वनिर्धारित नीति जडान गरिएको",
"DEFAULT_POLICY_DESCRIPTION": "यस इनबक्समा एजेन्टहरूलाई संवाद कसरी असाइन गर्ने अनुकूलन गर्न अनुकूलित असाइनमेन्ट नीति जडान गर्नुहोस्।",
"LINK_EXISTING_POLICY": "अस्तित्वमा रहेको नीति जडान गर्नुहोस्",
"LINK_EXISTING_POLICY": "Link existing policy",
"CREATE_NEW_POLICY": "Create new policy",
"NO_POLICIES": "No assignment policies found",
"VIEW_ALL_POLICIES": "सबै नीति हेर्नुहोस्",
"CURRENT_BEHAVIOR": "हाल डिफल्ट असाइनमेन्ट व्यवहार प्रयोग भइरहेको छ:",
"LINK_SUCCESS": "असाइनमेन्ट नीति सफलतापूर्वक जडान भयो",
"LINK_ERROR": "असाइनमेन्ट नीति जडान गर्न असफल"
"VIEW_ALL_POLICIES": "View all policies",
"CURRENT_BEHAVIOR": "Currently using default assignment behavior:",
"LINK_SUCCESS": "Assignment policy linked successfully",
"LINK_ERROR": "Failed to link assignment policy"
},
"ASSIGNMENT_POLICY": {
"DELETE_CONFIRM_TITLE": "असाइनमेन्ट नीति हटाउने हो?",
"DELETE_CONFIRM_MESSAGE": "के तपाईं यो इनबक्सबाट असाइनमेन्ट नीति हटाउन निश्चित हुनुहुन्छ? इनबक्स डिफल्ट असाइनमेन्ट नियममा फर्किनेछ।",
"DELETE_CONFIRM_TITLE": "Delete assignment policy?",
"DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.",
"CANCEL": "Cancel",
"CONFIRM_DELETE": "हटाउनुहोस्",
"CONFIRM_DELETE": "Delete",
"DELETE_SUCCESS": "Assignment policy removed successfully",
"DELETE_ERROR": "Failed to remove assignment policy"
},
@@ -915,17 +915,17 @@
"CANCEL": "फिर्ता जानुहोस्"
},
"UTILITY_ANALYZER": {
"ACTION": "युटिलिटी उपयुक्तता जाँच्नुहोस्",
"HELPER_NOTE": "युटिलिटी उपयुक्तता सुधार गर्न पठाउनु अघि यो सन्देश जाँच्नुहोस्। प्रणालीले रिपोर्टिङका लागि बटनसहित छुट्टै CSAT टेम्प्लेट बनाउँछ र यसलाई युटिलिटीको रूपमा पेश गर्छ; सामग्रीका आधारमा Meta ले यसलाई मार्केटिङको रूपमा पुनः वर्गीकरण गर्न सक्छ।",
"RESULT_LABEL": "Meta श्रेणी पूर्वानुमान",
"GUIDANCE_NOTE": "यो मार्गदर्शन जाँच मात्र हो, Meta को स्वीकृतिको ग्यारेन्टी होइन।",
"SUGGESTION_LABEL": "सुझाव गरिएको युटिलिटी-मैत्री पुनर्लेखन",
"ACTION": "Check utility fit",
"HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.",
"RESULT_LABEL": "Meta category prediction",
"GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.",
"SUGGESTION_LABEL": "Suggested utility-safe rewrite",
"APPLY": "Use this rewrite",
"ERROR_MESSAGE": "सन्देश विश्लेषण गर्न सकिएन। कृपया फेरि प्रयास गर्नुहोस्।",
"ERROR_MESSAGE": "Couldn't analyze the message. Please try again.",
"CLASSIFICATION": {
"LIKELY_UTILITY": "संभावित युटिलिटी",
"LIKELY_UTILITY": "Likely Utility",
"LIKELY_MARKETING": "Likely Marketing",
"UNCLEAR": "स्पष्टता आवश्यक छ"
"UNCLEAR": "Needs clarification"
}
},
"SURVEY_RULE": {
@@ -939,7 +939,7 @@
"SELECT_PLACEHOLDER": "लेबलहरू छान्नुहोस्"
},
"NOTE": "सूचना: CSAT सर्वेक्षणहरू प्रत्येक संवादमा केवल एक पटक मात्र पठाइन्छ।",
"WHATSAPP_NOTE": "नोट: तपाईंले सुरक्षित गरेपछि, प्रणालीले WhatsApp मा CSAT टेम्प्लेट बनाउँछ (रिपोर्टमा रेटिङ र प्रतिक्रिया संकलन गर्न प्रयोग हुने) र स्वीकृतिका लागि Utility रूपमा पेश गर्छ। Meta ले सामग्रीका आधारमा यसलाई Marketing पनि वर्गीकृत गर्न सक्छ। स्वीकृति पछि, सर्वेक्षण नियम अनुसार प्रत्येक कुराकानीमा एकपटक मात्र सर्वेक्षण पठाइन्छ।",
"WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.",
"API": {
"SUCCESS_MESSAGE": "CSAT सेटिङहरू सफलतापूर्वक अपडेट गरियो",
"ERROR_MESSAGE": "हामीले CSAT सेटिङहरू अपडेट गर्न सकेनौं। कृपया पछि फेरि प्रयास गर्नुहोस्।"
@@ -957,7 +957,7 @@
"DAY": {
"DAY": "Day",
"AVAILABILITY": "Availability",
"HOURS": "समय",
"HOURS": "Hours",
"ENABLE": "यस दिनको लागि उपलब्धता सक्षम गर्नुहोस्",
"UNAVAILABLE": "उपलब्ध छैन",
"VALIDATION_ERROR": "सुरु समय बन्द हुने समय भन्दा पहिले हुनुपर्छ।",
@@ -1071,7 +1071,7 @@
"WIDGET_BUBBLE_TYPE_LABEL": "Type:",
"WIDGET_BUBBLE_LAUNCHER_TITLE": {
"DEFAULT": "हामीसँग कुराकानी गर्नुहोस्",
"LABEL": "लञ्चर शीर्षक",
"LABEL": "Launcher Title",
"PLACE_HOLDER": "हामीसँग कुराकानी गर्नुहोस्"
},
"UPDATE": {
@@ -527,7 +527,7 @@
"TITLE": "विशेषताहरू",
"ALLOW_CONVERSATION_FAQS": "समाधान भएका कुराकानीबाट FAQ उत्पन्न गर्नुहोस्",
"ALLOW_MEMORIES": "ग्राहक अन्तरक्रियाबाट मुख्य विवरणहरू सम्झनाहरूको रूपमा समात्नुहोस्।",
"ALLOW_CITATIONS": "उत्तरहरूमा स्रोत उद्धरणहरू समावेश गर्नुहोस्",
"ALLOW_CITATIONS": "Include source citations in responses",
"ALLOW_CONTACT_ATTRIBUTES": "Allow access to contact information"
}
},
@@ -557,7 +557,7 @@
},
"RESPONSE_GUIDELINES": {
"TITLE": "प्रतिक्रिया मार्गनिर्देशनहरू",
"DESCRIPTION": "तपाईंको सहायकका जवाफको शैली र संरचना—स्पष्ट र मैत्रीपूर्ण? छोटो र छरितो? विस्तृत र औपचारिक?"
"DESCRIPTION": "The vibe and structure of your assistant’s replies—clear and friendly? Short and snappy? Detailed and formal?"
}
}
},
@@ -581,156 +581,156 @@
}
},
"GUARDRAILS": {
"TITLE": "सीमाहरू",
"DESCRIPTION": "सबै कुरा ट्र्याकमा राख्छ—सहायकले तपाईंले चाहेका प्रश्नहरू मात्र जवाफ दिन्छ, अरू कुनै विषय वा सीमा बाहिर जाँदैन।",
"TITLE": "Guardrails",
"DESCRIPTION": "Keeps things on track—only the kinds of questions you want your assistant to answer, nothing off-limits or off-topic.",
"BULK_ACTION": {
"SELECTED": "{count} item selected | {count} items selected",
"SELECT_ALL": "Select all ({count})",
"UNSELECT_ALL": "Unselect all ({count})",
"BULK_DELETE_BUTTON": "हटाउनुहोस्"
"BULK_DELETE_BUTTON": "Delete"
},
"ADD": {
"SUGGESTED": {
"TITLE": "उदाहरण सीमाहरू",
"ADD": "सबै थप्नुहोस्",
"ADD_SINGLE": "यो थप्नुहोस्",
"SAVE": "थप्नुहोस् र सुरक्षित गर्नुहोस् (↵)",
"PLACEHOLDER": "अर्को सीमा टाइप गर्नुहोस्..."
"TITLE": "Example guardrails",
"ADD": "Add all",
"ADD_SINGLE": "Add this",
"SAVE": "Add and save (↵)",
"PLACEHOLDER": "Type in another guardrail..."
},
"NEW": {
"TITLE": "नयाँ गार्डरेल थप्नुहोस्",
"CREATE": "सिर्जना गर्नुहोस्",
"CANCEL": "रद्द गर्नुहोस्",
"PLACEHOLDER": "अर्को गार्डरेल टाइप गर्नुहोस्...",
"TEST_ALL": "सबै परीक्षण गर्नुहोस्"
"TITLE": "Add a guardrail",
"CREATE": "Create",
"CANCEL": "Cancel",
"PLACEHOLDER": "Type in another guardrail...",
"TEST_ALL": "Test all"
}
},
"LIST": {
"SEARCH_PLACEHOLDER": "खोज्नुहोस्..."
"SEARCH_PLACEHOLDER": "Search..."
},
"EMPTY_MESSAGE": "कुनै गार्डरेल भेटिएन। सुरु गर्न उदाहरणहरू सिर्जना वा थप्नुहोस्।",
"SEARCH_EMPTY_MESSAGE": "यो खोजमा कुनै गार्डरेल भेटिएन।",
"EMPTY_MESSAGE": "No guardrails found. Create or add examples to begin.",
"SEARCH_EMPTY_MESSAGE": "No guardrails found for this search.",
"API": {
"ADD": {
"SUCCESS": "गार्डरेलहरू सफलतापूर्वक थपियो",
"ERROR": "गार्डरेल थप्दा त्रुटि आयो, कृपया पुन: प्रयास गर्नुहोस्।"
"SUCCESS": "Guardrails added successfully",
"ERROR": "There was an error adding guardrails, please try again."
},
"UPDATE": {
"SUCCESS": "गार्डरेलहरू सफलतापूर्वक अद्यावधिक गरियो",
"ERROR": "गार्डरेल्स अद्यावधिक गर्दा त्रुटि भयो, कृपया फेरि प्रयास गर्नुहोस्।"
"SUCCESS": "Guardrails updated successfully",
"ERROR": "There was an error updating guardrails, please try again."
},
"DELETE": {
"SUCCESS": "गार्डरेल्स सफलतापूर्वक हटाइयो",
"ERROR": "गार्डरेल्स हटाउँदा त्रुटि भयो, कृपया फेरि प्रयास गर्नुहोस्।"
"SUCCESS": "Guardrails deleted successfully",
"ERROR": "There was an error deleting guardrails, please try again."
}
}
},
"RESPONSE_GUIDELINES": {
"TITLE": "उत्तर दिने निर्देशिका",
"DESCRIPTION": "तपाईंको सहायकका उत्तरहरूको शैली र संरचना—स्पष्ट र मैत्रीपूर्ण? छोटो र छरितो? विस्तृत र औपचारिक?",
"TITLE": "Response Guidelines",
"DESCRIPTION": "The vibe and structure of your assistant’s replies—clear and friendly? Short and snappy? Detailed and formal?",
"BULK_ACTION": {
"SELECTED": "{count} item selected | {count} items selected",
"SELECT_ALL": "Select all ({count})",
"UNSELECT_ALL": "Unselect all ({count})",
"BULK_DELETE_BUTTON": "हटाउनुहोस्"
"BULK_DELETE_BUTTON": "Delete"
},
"ADD": {
"SUGGESTED": {
"TITLE": "उत्तर निर्देशिकाका उदाहरणहरू",
"ADD": "सबै थप्नुहोस्",
"ADD_SINGLE": "यो थप्नुहोस्",
"SAVE": "थप्नुहोस् र सुरक्षित गर्नुहोस् (↵)",
"PLACEHOLDER": "अर्को प्रतिक्रिया मार्गनिर्देशन टाइप गर्नुहोस्..."
"TITLE": "Example response guidelines",
"ADD": "Add all",
"ADD_SINGLE": "Add this",
"SAVE": "Add and save (↵)",
"PLACEHOLDER": "Type in another response guideline..."
},
"NEW": {
"TITLE": "प्रतिक्रिया मार्गनिर्देशन थप्नुहोस्",
"CREATE": "सिर्जना गर्नुहोस्",
"CANCEL": "रद्द गर्नुहोस्",
"PLACEHOLDER": "अर्को प्रतिक्रिया मार्गनिर्देशन टाइप गर्नुहोस्...",
"TEST_ALL": "सबै परीक्षण गर्नुहोस्"
"TITLE": "Add a response guideline",
"CREATE": "Create",
"CANCEL": "Cancel",
"PLACEHOLDER": "Type in another response guideline...",
"TEST_ALL": "Test all"
}
},
"LIST": {
"SEARCH_PLACEHOLDER": "खोज्नुहोस्..."
"SEARCH_PLACEHOLDER": "Search..."
},
"EMPTY_MESSAGE": "प्रतिक्रिया मार्गनिर्देशन फेला परेन। सुरु गर्न उदाहरणहरू सिर्जना वा थप्नुहोस्।",
"SEARCH_EMPTY_MESSAGE": "यो खोजमा कुनै उत्तर निर्देशनहरू भेटिएन।",
"EMPTY_MESSAGE": "No response guidelines found. Create or add examples to begin.",
"SEARCH_EMPTY_MESSAGE": "No response guidelines found for this search.",
"API": {
"ADD": {
"SUCCESS": "प्रतिक्रिया मार्गनिर्देशन सफलतापूर्वक थपियो",
"ERROR": "प्रतिक्रिया मार्गनिर्देशन थप्दा त्रुटि आयो, कृपया पुन: प्रयास गर्नुहोस्।"
"SUCCESS": "Response Guidelines added successfully",
"ERROR": "There was an error adding response guidelines, please try again."
},
"UPDATE": {
"SUCCESS": "उत्तर निर्देशनहरू सफलतापूर्वक अद्यावधिक गरियो",
"ERROR": "उत्तर निर्देशनहरू अद्यावधिक गर्दा त्रुटि आयो, कृपया फेरि प्रयास गर्नुहोस्।"
"SUCCESS": "Response Guidelines updated successfully",
"ERROR": "There was an error updating response guidelines, please try again."
},
"DELETE": {
"SUCCESS": "उत्तर निर्देशनहरू सफलतापूर्वक हटाइयो",
"ERROR": "उत्तर निर्देशनहरू हटाउँदा त्रुटि आयो, कृपया फेरि प्रयास गर्नुहोस्।"
"SUCCESS": "Response Guidelines deleted successfully",
"ERROR": "There was an error deleting response guidelines, please try again."
}
}
},
"SCENARIOS": {
"TITLE": "परिदृश्यहरू",
"DESCRIPTION": "आफ्नो सहायकलाई केही सन्दर्भ दिनुहोस्—जस्तै “प्रयोगकर्ता अल्झिएको बेला के गर्ने”, वा “रिफन्ड अनुरोधमा कसरी व्यवहार गर्ने।”",
"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.”",
"BULK_ACTION": {
"SELECTED": "{count} item selected | {count} items selected",
"SELECT_ALL": "Select all ({count})",
"UNSELECT_ALL": "Unselect all ({count})",
"BULK_DELETE_BUTTON": "हटाउनुहोस्"
"BULK_DELETE_BUTTON": "Delete"
},
"ADD": {
"SUGGESTED": {
"TITLE": "उदाहरण परिदृश्यहरू",
"ADD": "सबै थप्नुहोस्",
"ADD_SINGLE": "यो थप्नुहोस्",
"TOOLS_USED": "प्रयोग गरिएका उपकरणहरू :"
"TITLE": "Example scenarios",
"ADD": "Add all",
"ADD_SINGLE": "Add this",
"TOOLS_USED": "Tools used :"
},
"NEW": {
"CREATE": "परिदृश्य थप्नुहोस्",
"TITLE": "परिदृश्य सिर्जना गर्नुहोस्",
"CREATE": "Add a scenario",
"TITLE": "Create a scenario",
"FORM": {
"TITLE": {
"LABEL": "शीर्षक",
"PLACEHOLDER": "परिदृश्यको नाम लेख्नुहोस्",
"ERROR": "परिदृश्यको नाम आवश्यक छ"
"LABEL": "Title",
"PLACEHOLDER": "Enter a name for the scenario",
"ERROR": "Scenario name is required"
},
"DESCRIPTION": {
"LABEL": "विवरण",
"PLACEHOLDER": "यो परिदृश्य कसरी र कहाँ प्रयोग हुन्छ वर्णन गर्नुहोस्",
"ERROR": "परिदृश्य विवरण आवश्यक छ"
"LABEL": "Description",
"PLACEHOLDER": "Describe how and where this scenario will be used",
"ERROR": "Scenario description is required"
},
"INSTRUCTION": {
"LABEL": "कसरी व्यवस्थापन गर्ने",
"PLACEHOLDER": "यो परिदृश्य कसरी र कहाँ व्यवस्थापन हुन्छ वर्णन गर्नुहोस्",
"ERROR": "परिदृश्य सामग्री आवश्यक छ"
"LABEL": "How to handle",
"PLACEHOLDER": "Describe how and where this scenario will be handled",
"ERROR": "Scenario content is required"
},
"CREATE": "सिर्जना गर्नुहोस्",
"CANCEL": "रद्द गर्नुहोस्"
"CREATE": "Create",
"CANCEL": "Cancel"
}
}
},
"UPDATE": {
"CANCEL": "रद्द गर्नुहोस्",
"UPDATE": "परिवर्तनहरू अद्यावधिक गर्नुहोस्"
"CANCEL": "Cancel",
"UPDATE": "Update changes"
},
"LIST": {
"SEARCH_PLACEHOLDER": "खोज्नुहोस्..."
"SEARCH_PLACEHOLDER": "Search..."
},
"EMPTY_MESSAGE": "कुनै परिदृश्य फेला परेन। सुरु गर्न नयाँ सिर्जना वा उदाहरणहरू थप्नुहोस्।",
"SEARCH_EMPTY_MESSAGE": "यो खोजीमा कुनै परिदृश्य भेटिएन।",
"EMPTY_MESSAGE": "No scenarios found. Create or add examples to begin.",
"SEARCH_EMPTY_MESSAGE": "No scenarios found for this search.",
"API": {
"ADD": {
"SUCCESS": "परिदृश्यहरू सफलतापूर्वक थपियो",
"ERROR": "परिदृश्यहरू थप्दा त्रुटि आयो, कृपया फेरि प्रयास गर्नुहोस्।"
"SUCCESS": "Scenarios added successfully",
"ERROR": "There was an error adding scenarios, please try again."
},
"UPDATE": {
"SUCCESS": "परिदृश्यहरू सफलतापूर्वक अद्यावधिक गरियो",
"ERROR": "परिदृश्यहरू अद्यावधिक गर्दा त्रुटि आयो, कृपया फेरि प्रयास गर्नुहोस्।"
"SUCCESS": "Scenarios updated successfully",
"ERROR": "There was an error updating scenarios, please try again."
},
"DELETE": {
"SUCCESS": "परिदृश्यहरू सफलतापूर्वक हटाइयो",
"ERROR": "परिदृश्यहरू हटाउँदा त्रुटि आयो, कृपया फेरि प्रयास गर्नुहोस्।"
"SUCCESS": "Scenarios deleted successfully",
"ERROR": "There was an error deleting scenarios, please try again."
}
}
}
@@ -750,9 +750,9 @@
},
"FORM": {
"TYPE": {
"LABEL": "कागजात प्रकार",
"LABEL": "Document Type",
"URL": "URL",
"PDF": "PDF फाइल"
"PDF": "PDF File"
},
"URL": {
"LABEL": "URL",
@@ -760,16 +760,16 @@
"ERROR": "कृपया कागजातको लागि मान्य URL प्रदान गर्नुहोस्"
},
"PDF_FILE": {
"LABEL": "PDF फाइल",
"CHOOSE_FILE": "PDF फाइल छान्नुहोस्",
"ERROR": "कृपया PDF फाइल चयन गर्नुहोस्",
"HELP_TEXT": "अधिकतम फाइल साइज: १०MB",
"INVALID_TYPE": "कृपया मान्य PDF फाइल चयन गर्नुहोस्",
"TOO_LARGE": "फाइल साइज १०MB भन्दा बढी छ"
"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": "डोकुमेन्ट नाम (वैकल्पिक)",
"PLACEHOLDER": "डोकुमेन्टको नाम लेख्नुहोस्"
"LABEL": "Document Name (Optional)",
"PLACEHOLDER": "Enter a name for the document"
}
},
"DELETE": {
@@ -793,107 +793,107 @@
}
},
"CUSTOM_TOOLS": {
"HEADER": "उपकरणहरू",
"ADD_NEW": "नयाँ उपकरण बनाउनुहोस्",
"HEADER": "Tools",
"ADD_NEW": "Create a new tool",
"EMPTY_STATE": {
"TITLE": "कुनै कस्टम उपकरण उपलब्ध छैन",
"SUBTITLE": "आफ्नो सहायकलाई बाह्य API र सेवासँग जडान गर्न कस्टम उपकरणहरू बनाउनुहोस्, जसले तपाईंको लागि डेटा ल्याउन र कार्यहरू गर्न सक्षम बनाउँछ।",
"TITLE": "No custom tools available",
"SUBTITLE": "Create custom tools to connect your assistant with external APIs and services, enabling it to fetch data and perform actions on your behalf.",
"FEATURE_SPOTLIGHT": {
"TITLE": "कस्टम उपकरणहरू",
"NOTE": "कस्टम उपकरणहरूले तपाईंको सहायकलाई बाह्य API र सेवासँग अन्तरक्रिया गर्न अनुमति दिन्छ। डेटा ल्याउन, कार्यहरू गर्न, वा तपाईंको प्रणालीसँग एकीकृत गर्न उपकरणहरू बनाउनुहोस् र सहायकको क्षमता बढाउनुहोस्।"
"TITLE": "Custom Tools",
"NOTE": "Custom tools allow your assistant to interact with external APIs and services. Create tools to fetch data, perform actions, or integrate with your existing systems to enhance your assistant's capabilities."
}
},
"FORM_DESCRIPTION": "बाह्य API सँग जडान गर्न आफ्नो कस्टम उपकरण कन्फिगर गर्नुहोस्",
"FORM_DESCRIPTION": "Configure your custom tool to connect with external APIs",
"OPTIONS": {
"EDIT_TOOL": "उपकरण सम्पादन गर्नुहोस्",
"DELETE_TOOL": "उपकरण हटाउनुहोस्"
"EDIT_TOOL": "Edit tool",
"DELETE_TOOL": "Delete tool"
},
"CREATE": {
"TITLE": "कस्टम उपकरण बनाउनुहोस्",
"SUCCESS_MESSAGE": "कस्टम उपकरण सफलतापूर्वक बनाइयो",
"ERROR_MESSAGE": "कस्टम टुल बनाउन असफल भयो"
"TITLE": "Create Custom Tool",
"SUCCESS_MESSAGE": "Custom tool created successfully",
"ERROR_MESSAGE": "Failed to create custom tool"
},
"EDIT": {
"TITLE": "कस्टम टुल सम्पादन गर्नुहोस्",
"SUCCESS_MESSAGE": "कस्टम टुल सफलतापूर्वक अपडेट भयो",
"ERROR_MESSAGE": "कस्टम टुल अपडेट गर्न असफल भयो"
"TITLE": "Edit Custom Tool",
"SUCCESS_MESSAGE": "Custom tool updated successfully",
"ERROR_MESSAGE": "Failed to update custom tool"
},
"DELETE": {
"TITLE": "कस्टम टुल मेटाउनुहोस्",
"DESCRIPTION": "के तपाईं यो कस्टम टुल मेटाउन निश्चित हुनुहुन्छ? यो कार्य पूर्ववत गर्न सकिँदैन।",
"CONFIRM": "हो, मेटाउनुहोस्",
"SUCCESS_MESSAGE": "कस्टम टुल सफलतापूर्वक मेटाइयो",
"ERROR_MESSAGE": "कस्टम टुल मेटाउन असफल भयो"
"TITLE": "Delete Custom Tool",
"DESCRIPTION": "Are you sure you want to delete this custom tool? This action cannot be undone.",
"CONFIRM": "Yes, delete",
"SUCCESS_MESSAGE": "Custom tool deleted successfully",
"ERROR_MESSAGE": "Failed to delete custom tool"
},
"FORM": {
"TITLE": {
"LABEL": "टुलको नाम",
"PLACEHOLDER": "अर्डर खोज्नुहोस्",
"ERROR": "टुलको नाम आवश्यक छ"
"LABEL": "Tool Name",
"PLACEHOLDER": "Order Lookup",
"ERROR": "Tool name is required"
},
"DESCRIPTION": {
"LABEL": "विवरण",
"PLACEHOLDER": "अर्डर ID द्वारा अर्डर विवरण खोज्छ"
"LABEL": "Description",
"PLACEHOLDER": "Looks up order details by order ID"
},
"HTTP_METHOD": {
"LABEL": "विधि"
"LABEL": "Method"
},
"ENDPOINT_URL": {
"LABEL": "एन्डपोइन्ट URL",
"LABEL": "Endpoint URL",
"PLACEHOLDER": "https://api.example.com/orders/{'{{'} order_id {'}}'}",
"ERROR": "मान्य URL आवश्यक छ"
"ERROR": "Valid URL is required"
},
"AUTH_TYPE": {
"LABEL": "प्रमाणीकरण प्रकार"
"LABEL": "Authentication Type"
},
"AUTH_TYPES": {
"NONE": "कुनै होइन",
"NONE": "None",
"BEARER": "Bearer Token",
"BASIC": "बेसिक प्रमाणीकरण",
"BASIC": "Basic Auth",
"API_KEY": "API Key"
},
"AUTH_CONFIG": {
"BEARER_TOKEN": "Bearer Token",
"BEARER_TOKEN_PLACEHOLDER": "आफ्नो bearer token प्रविष्ट गर्नुहोस्",
"USERNAME": "प्रयोगकर्ता नाम",
"USERNAME_PLACEHOLDER": "प्रयोगकर्ता नाम लेख्नुहोस्",
"PASSWORD": "पासवर्ड",
"PASSWORD_PLACEHOLDER": "पासवर्ड लेख्नुहोस्",
"API_KEY": "हेडर नाम",
"BEARER_TOKEN_PLACEHOLDER": "Enter your bearer token",
"USERNAME": "Username",
"USERNAME_PLACEHOLDER": "Enter username",
"PASSWORD": "Password",
"PASSWORD_PLACEHOLDER": "Enter password",
"API_KEY": "Header Name",
"API_KEY_PLACEHOLDER": "X-API-Key",
"API_VALUE": "हेडर मान",
"API_VALUE_PLACEHOLDER": "API कुञ्जी मान प्रविष्ट गर्नुहोस्"
"API_VALUE": "Header Value",
"API_VALUE_PLACEHOLDER": "Enter API key value"
},
"PARAMETERS": {
"LABEL": "प्यारामिटरहरू",
"HELP_TEXT": "प्रयोगकर्ताका प्रश्नबाट निकालिने प्यारामिटरहरू परिभाषित गर्नुहोस्"
"LABEL": "Parameters",
"HELP_TEXT": "Define the parameters that will be extracted from user queries"
},
"ADD_PARAMETER": "प्यारामिटर थप्नुहोस्",
"ADD_PARAMETER": "Add Parameter",
"PARAM_NAME": {
"PLACEHOLDER": "प्यारामिटर नाम (जस्तै, order_id)"
"PLACEHOLDER": "Parameter name (e.g., order_id)"
},
"PARAM_TYPE": {
"PLACEHOLDER": "प्रकार"
"PLACEHOLDER": "Type"
},
"PARAM_TYPES": {
"STRING": "स्ट्रिङ",
"NUMBER": "संख्या",
"BOOLEAN": "बुलियन",
"ARRAY": "एरे",
"OBJECT": "वस्तु"
"STRING": "String",
"NUMBER": "Number",
"BOOLEAN": "Boolean",
"ARRAY": "Array",
"OBJECT": "Object"
},
"PARAM_DESCRIPTION": {
"PLACEHOLDER": "प्यारामिटरको विवरण"
"PLACEHOLDER": "Description of the parameter"
},
"PARAM_REQUIRED": {
"LABEL": "आवश्यक"
"LABEL": "Required"
},
"REQUEST_TEMPLATE": {
"LABEL": "अनुरोध बडी टेम्प्लेट (वैकल्पिक)",
"LABEL": "Request Body Template (Optional)",
"PLACEHOLDER": "{'{'}\n \"order_id\": \"{'{{'} order_id {'}}'}\"\n{'}'}"
},
"RESPONSE_TEMPLATE": {
"LABEL": "प्रतिक्रिया टेम्प्लेट (वैकल्पिक)",
"LABEL": "Response Template (Optional)",
"PLACEHOLDER": "Order {'{{'} order_id {'}}'} status: {'{{'} status {'}}'}"
},
"ERRORS": {
@@ -911,7 +911,7 @@
"SELECTED": "{count} चयन गरियो",
"SELECT_ALL": "सबै चयन गर्नुहोस् ({count})",
"UNSELECT_ALL": "सबै चयन हटाउनुहोस् ({count})",
"SEARCH_PLACEHOLDER": "FAQs खोज्नुहोस्...",
"SEARCH_PLACEHOLDER": "Search FAQs...",
"BULK_APPROVE_BUTTON": "स्वीकृत गर्नु",
"BULK_DELETE_BUTTON": "मेटाउनु",
"BULK_APPROVE": {
@@ -1,9 +1,9 @@
{
"REPORT": {
"HEADER": "संवादहरू",
"LOADING_CHART": "चार्ट डेटा लोड हुँदैछ...",
"LOADING_CHART": "Loading chart data...",
"NO_ENOUGH_DATA": "रिपोर्ट बनाउन पर्याप्त डेटा बिन्दुहरू प्राप्त भएका छैनन्, कृपया पछि पुन: प्रयास गर्नुहोस्।",
"DOWNLOAD_CONVERSATION_REPORTS": "वार्तालाप रिपोर्टहरू डाउनलोड गर्नुहोस्",
"DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports",
"DATA_FETCHING_FAILED": "डेटा ल्याउन असफल, कृपया पछि पुन: प्रयास गर्नुहोस्।",
"SUMMARY_FETCHING_FAILED": "सारांश ल्याउन असफल, कृपया पछि पुन: प्रयास गर्नुहोस्।",
"METRICS": {
@@ -40,7 +40,7 @@
"DESC": "( कुल )"
},
"BOT_HANDOFF_COUNT": {
"NAME": "ह्यान्डअफ संख्या",
"NAME": "Handoff Count",
"DESC": "( कुल )"
},
"REPLY_TIME": {
@@ -61,8 +61,8 @@
"CUSTOM_DATE_RANGE": "अनुकूलित मिति दायरा"
},
"CUSTOM_DATE_RANGE": {
"CONFIRM": "लागू गर्नुहोस्",
"PLACEHOLDER": "मिति दायरा छान्नुहोस्"
"CONFIRM": "Apply",
"PLACEHOLDER": "Select date range"
},
"GROUP_BY_FILTER_DROPDOWN_LABEL": "समूह अनुसार",
"DURATION_FILTER_LABEL": "अवधि",
@@ -118,7 +118,7 @@
],
"BUSINESS_HOURS": "व्यावसायिक समय",
"FILTER_ACTIONS": {
"CLEAR_FILTER": "फिल्टर हटाउनुहोस्",
"CLEAR_FILTER": "Clear filter",
"EMPTY_LIST": "कुनै परिणाम फेला परेन"
},
"PAGINATION": {
@@ -129,13 +129,13 @@
"AGENT_REPORTS": {
"HEADER": "एजेन्टहरूको अवलोकन",
"DESCRIPTION": "कुराकानीहरू, प्रतिक्रिया समयहरू, समाधान समयहरू, र समाधान भएका केसहरू जस्ता मुख्य मेट्रिक्सहरूसँग एजेन्ट प्रदर्शन सजिलै ट्र्याक गर्नुहोस्। थप जान्न एजेन्टको नाममा क्लिक गर्नुहोस्।",
"LOADING_CHART": "चार्ट डेटा लोड हुँदैछ...",
"LOADING_CHART": "Loading chart data...",
"NO_ENOUGH_DATA": "रिपोर्ट बनाउन पर्याप्त डेटा बिन्दुहरू प्राप्त भएका छैनन्, कृपया पछि पुन: प्रयास गर्नुहोस्।",
"DOWNLOAD_AGENT_REPORTS": "एजेन्ट प्रतिवेदन डाउनलोड गर्नुहोस्",
"FILTER_DROPDOWN_LABEL": "एजेन्ट छान्नुहोस्",
"DOWNLOAD_AGENT_REPORTS": "Download agent reports",
"FILTER_DROPDOWN_LABEL": "Select Agent",
"FILTERS": {
"INPUT_PLACEHOLDER": {
"AGENTS": "एजेन्ट खोज्नुहोस्"
"AGENTS": "Search agents"
}
},
"METRICS": {
@@ -195,20 +195,20 @@
}
],
"CUSTOM_DATE_RANGE": {
"CONFIRM": "लागू गर्नुहोस्",
"PLACEHOLDER": "मिति दायरा छान्नुहोस्"
"CONFIRM": "Apply",
"PLACEHOLDER": "Select date range"
}
},
"LABEL_REPORTS": {
"HEADER": "लेबलहरूको संक्षिप्त विवरण",
"HEADER": "Labels Overview",
"DESCRIPTION": "मुख्य मेट्रिक्सहरू सहित लेबल प्रदर्शन ट्र्याक गर्नुहोस् जस्तै कुराकानीहरू, प्रतिक्रिया समयहरू, समाधान समयहरू, र समाधान भएका केसहरू। विस्तृत जानकारीका लागि लेबल नाममा क्लिक गर्नुहोस्।",
"LOADING_CHART": "चार्ट डेटा लोड हुँदैछ...",
"LOADING_CHART": "Loading chart data...",
"NO_ENOUGH_DATA": "रिपोर्ट बनाउन पर्याप्त डेटा बिन्दुहरू प्राप्त भएका छैनन्, कृपया पछि पुन: प्रयास गर्नुहोस्।",
"DOWNLOAD_LABEL_REPORTS": "लेबल रिपोर्ट डाउनलोड गर्नुहोस्",
"FILTER_DROPDOWN_LABEL": "लेबल छान्नुहोस्",
"DOWNLOAD_LABEL_REPORTS": "Download label reports",
"FILTER_DROPDOWN_LABEL": "Select Label",
"FILTERS": {
"INPUT_PLACEHOLDER": {
"LABELS": "लेबल खोज्नुहोस्"
"LABELS": "Search labels"
}
},
"METRICS": {
@@ -268,22 +268,22 @@
}
],
"CUSTOM_DATE_RANGE": {
"CONFIRM": "लागू गर्नुहोस्",
"PLACEHOLDER": "मिति दायरा छान्नुहोस्"
"CONFIRM": "Apply",
"PLACEHOLDER": "Select date range"
}
},
"INBOX_REPORTS": {
"HEADER": "इनबक्सको संक्षिप्त विवरण",
"HEADER": "Inbox Overview",
"DESCRIPTION": "छिटो रूपमा तपाईंको इनबक्स प्रदर्शन हेर्नुहोस् मुख्य मेट्रिक्सहरू जस्तै कुराकानीहरू, प्रतिक्रिया समयहरू, समाधान समयहरू, र समाधान भएका केसहरू—all एउटै ठाउँमा। थप विवरणका लागि इनबक्स नाममा क्लिक गर्नुहोस्।",
"LOADING_CHART": "चार्ट डेटा लोड हुँदैछ...",
"LOADING_CHART": "Loading chart data...",
"NO_ENOUGH_DATA": "रिपोर्ट बनाउन पर्याप्त डेटा बिन्दुहरू प्राप्त भएका छैनन्, कृपया पछि पुन: प्रयास गर्नुहोस्।",
"DOWNLOAD_INBOX_REPORTS": "इनबक्स रिपोर्ट डाउनलोड गर्नुहोस्",
"FILTER_DROPDOWN_LABEL": "इनबक्स छान्नुहोस्",
"ALL_INBOXES": "सबै इनबक्सहरू",
"SEARCH_INBOX": "इनबक्स खोज्नुहोस्",
"DOWNLOAD_INBOX_REPORTS": "Download inbox reports",
"FILTER_DROPDOWN_LABEL": "Select Inbox",
"ALL_INBOXES": "All Inboxes",
"SEARCH_INBOX": "Search Inbox",
"FILTERS": {
"INPUT_PLACEHOLDER": {
"INBOXES": "इनबक्स खोज्नुहोस्"
"INBOXES": "Search inboxes"
}
},
"METRICS": {
@@ -343,23 +343,23 @@
}
],
"CUSTOM_DATE_RANGE": {
"CONFIRM": "लागू गर्नुहोस्",
"PLACEHOLDER": "मिति दायरा छान्नुहोस्"
"CONFIRM": "Apply",
"PLACEHOLDER": "Select date range"
}
},
"TEAM_REPORTS": {
"HEADER": "टोली अवलोकन",
"DESCRIPTION": "आवश्यक मेट्रिक्सहरूसहित तपाईंको टीमको प्रदर्शनको झलक पाउनुहोस्, जस्तै कुराकानीहरू, प्रतिक्रिया समयहरू, समाधान समयहरू, र समाधान भएका केसहरू। थप विवरणका लागि टीम नाममा क्लिक गर्नुहोस्।",
"LOADING_CHART": "चार्ट डेटा लोड हुँदैछ...",
"LOADING_CHART": "Loading chart data...",
"NO_ENOUGH_DATA": "रिपोर्ट बनाउन पर्याप्त डेटा बिन्दुहरू प्राप्त भएका छैनन्, कृपया पछि पुन: प्रयास गर्नुहोस्।",
"DOWNLOAD_TEAM_REPORTS": "टोली प्रतिवेदन डाउनलोड गर्नुहोस्",
"FILTER_DROPDOWN_LABEL": "टोली छान्नुहोस्",
"DOWNLOAD_TEAM_REPORTS": "Download team reports",
"FILTER_DROPDOWN_LABEL": "Select Team",
"FILTERS": {
"ADD_FILTER": "फिल्टर थप्नुहोस्",
"CLEAR_ALL": "सबै हटाउनुहोस्",
"ADD_FILTER": "Add filter",
"CLEAR_ALL": "Clear all",
"NO_FILTER": "फिल्टरहरू उपलब्ध छैनन्",
"INPUT_PLACEHOLDER": {
"TEAMS": "टोली खोज्नुहोस्"
"TEAMS": "Search teams"
}
},
"METRICS": {
@@ -419,49 +419,49 @@
}
],
"CUSTOM_DATE_RANGE": {
"CONFIRM": "लागू गर्नुहोस्",
"PLACEHOLDER": "मिति दायरा छान्नुहोस्"
"CONFIRM": "Apply",
"PLACEHOLDER": "Select date range"
}
},
"CSAT_REPORTS": {
"HEADER": "CSAT प्रतिवेदनहरू",
"HEADER": "CSAT Reports",
"NO_RECORDS": "अझै कुनै प्रतिक्रिया छैन",
"NO_RECORDS_DESCRIPTION": "ग्राहकहरूले प्रतिक्रिया दिन थालेपछि CSAT सर्वेक्षण प्रतिक्रियाहरू यहाँ देखिनेछन्।",
"DOWNLOAD": "CSAT प्रतिवेदन डाउनलोड गर्नुहोस्",
"DOWNLOAD_FAILED": "CSAT प्रतिवेदन डाउनलोड गर्न असफल",
"DOWNLOAD": "Download CSAT Reports",
"DOWNLOAD_FAILED": "Failed to download CSAT Reports",
"FILTERS": {
"ADD_FILTER": "फिल्टर थप्नुहोस्",
"CLEAR_ALL": "सबै हटाउनुहोस्",
"ADD_FILTER": "Add filter",
"CLEAR_ALL": "Clear all",
"NO_FILTER": "फिल्टर उपलब्ध छैनन्",
"INPUT_PLACEHOLDER": {
"AGENTS": "एजेन्टहरू खोज्नुहोस्",
"INBOXES": "इनबक्सहरू खोज्नुहोस्",
"TEAMS": "टोलीहरू खोज्नुहोस्",
"RATINGS": "रेटिङहरू खोज्नुहोस्"
"AGENTS": "Search agents",
"INBOXES": "Search inboxes",
"TEAMS": "Search teams",
"RATINGS": "Search ratings"
},
"AGENTS": {
"LABEL": "एजेन्ट"
},
"INBOXES": {
"LABEL": "इनबक्स"
"LABEL": "Inbox"
},
"TEAMS": {
"LABEL": "टोली"
},
"RATINGS": {
"LABEL": "रेटिङ"
"LABEL": "Rating"
}
},
"TABLE": {
"HEADER": {
"CONTACT_NAME": "सम्पर्क",
"AGENT_NAME": "एजेन्ट",
"RATING": "मूल्याङ्कन",
"RATING": "Rating",
"FEEDBACK_TEXT": "प्रतिक्रिया टिप्पणी",
"CONVERSATION": "संवाद",
"CUSTOMER": "ग्राहक",
"RESPONSE": "प्रतिक्रिया",
"HANDLED_BY": "कसले ह्यान्डल गरे"
"HANDLED_BY": "Handled by"
},
"UNKNOWN_CUSTOMER": "अज्ञात ग्राहक"
},
@@ -480,33 +480,33 @@
"LABEL": "प्रतिक्रिया दर",
"TOOLTIP": "प्रतिक्रियाहरूको कुल संख्या / पठाइएका CSAT सर्वेक्षण सन्देशहरूको कुल संख्या * 100"
},
"RATING_DISTRIBUTION": "रेटिङ वितरण"
"RATING_DISTRIBUTION": "Rating distribution"
},
"REVIEW_NOTES": {
"TITLE": "समीक्षा नोटहरू",
"PLACEHOLDER": "यो रेटिङको समीक्षा नोटहरू थप्नुहोस्...",
"PLACEHOLDER": "Add review notes about this rating...",
"SAVE": "सेभ गर्नुहोस्",
"CANCEL": "रद्द गर्नुहोस्",
"CANCEL": "Cancel",
"SAVING": "सेभ हुँदैछ...",
"SAVED": "नोटहरू सफलतापूर्वक सेभ गरियो",
"SAVE_ERROR": "नोटहरू सेभ गर्न असफल",
"UPDATED_BY": "Updated by {name} {time}",
"UPDATED_BY_LABEL": "अपडेट गर्ने",
"UPDATED_BY_LABEL": "Updated by",
"PAYWALL": {
"TITLE": "समीक्षा नोटहरू थप्न अपग्रेड गर्नुहोस्",
"TITLE": "Upgrade to add review notes",
"AVAILABLE_ON": "समीक्षा नोट्स सुविधा केवल बिजनेस र एंटरप्राइज योजनाहरूमा उपलब्ध छ।",
"UPGRADE_PROMPT": "प्रत्येक CSAT प्रतिक्रियामा आन्तरिक सन्दर्भ समीक्षा नोट्ससँग थप्नुहोस्। साँच्चिकै के भयो समात्नुहोस्, ढाँचाहरू छिटो पत्ता लगाउनुहोस्, र तपाईंको प्रतिक्रिया बाट राम्रो निर्णयहरू लिनुहोस्।",
"UPGRADE_NOW": "अहिले अपग्रेड गर्नुहोस्",
"UPGRADE_NOW": "Upgrade now",
"CANCEL_ANYTIME": "तपाईं आफ्नो योजना कहिले पनि परिवर्तन वा रद्द गर्न सक्नुहुन्छ"
}
}
},
"BOT_REPORTS": {
"HEADER": "बोट प्रतिवेदनहरू",
"HEADER": "Bot Reports",
"METRIC": {
"TOTAL_CONVERSATIONS": {
"LABEL": "संवाद संख्या",
"TOOLTIP": "बोटले सम्हालेका कुल संवादहरूको संख्या"
"TOOLTIP": "Total number of conversations handled by the bot"
},
"TOTAL_RESPONSES": {
"LABEL": "कुल प्रतिक्रिया",
@@ -514,11 +514,11 @@
},
"RESOLUTION_RATE": {
"LABEL": "समाधान दर",
"TOOLTIP": "बोटले समाधान गरेका कुल संवाद / बोटले सम्हालेका कुल संवाद * १००"
"TOOLTIP": "Total number of conversations resolved by the bot / Total number of conversations handled by the bot * 100"
},
"HANDOFF_RATE": {
"LABEL": "ह्यान्डअफ दर",
"TOOLTIP": "एजेन्टलाई हस्तान्तरण गरिएका कुल संवाद / बोटले सम्हालेका कुल संवाद * १००"
"LABEL": "Handoff Rate",
"TOOLTIP": "Total number of conversations handed off to agents / Total number of conversations handled by the bot * 100"
}
}
},
@@ -527,33 +527,33 @@
"LIVE": "प्रत्यक्ष",
"ACCOUNT_CONVERSATIONS": {
"HEADER": "खुला कुराकानीहरू",
"LOADING_MESSAGE": "वार्ता मेट्रिक्स लोड हुँदैछ...",
"LOADING_MESSAGE": "Loading conversation metrics...",
"OPEN": "खुला",
"UNATTENDED": "नजरअन्दाज गरिएको",
"UNASSIGNED": "असाइन गरिएको छैन",
"PENDING": "पेन्डिङ"
"PENDING": "Pending"
},
"CONVERSATION_HEATMAP": {
"HEADER": "संवाद ट्राफिक",
"NO_CONVERSATIONS": "कुनै संवाद छैन",
"CONVERSATION": "{count} कुराकानी",
"CONVERSATIONS": "{count} कुराकानीहरू",
"DOWNLOAD_REPORT": "रिपोर्ट डाउनलोड गर्नुहोस्"
"DOWNLOAD_REPORT": "Download report"
},
"RESOLUTION_HEATMAP": {
"HEADER": "समाधानहरू",
"NO_CONVERSATIONS": "कुनै कुराकानी छैन",
"CONVERSATION": "{count} कुराकानी",
"CONVERSATIONS": "{count} कुराकानीहरू",
"DOWNLOAD_REPORT": "रिपोर्ट डाउनलोड गर्नुहोस्"
"DOWNLOAD_REPORT": "Download report"
},
"AGENT_CONVERSATIONS": {
"HEADER": "एजेन्टहरूद्वारा गरिएको कुराकानीहरू",
"LOADING_MESSAGE": "एजेन्ट मेट्रिक्स लोड हुँदैछ...",
"LOADING_MESSAGE": "Loading agent metrics...",
"NO_AGENTS": "एजेन्टहरूद्वारा कुनै कुराकानी छैन",
"TABLE_HEADER": {
"AGENT": "एजेन्ट",
"OPEN": "खुला",
"OPEN": "Open",
"UNATTENDED": "नजरअन्दाज गरिएको",
"STATUS": "स्थिति"
}
@@ -561,7 +561,7 @@
"TEAM_CONVERSATIONS": {
"ALL_TEAMS": "सबै टिमहरू",
"HEADER": "टिमहरू अनुसार संवादहरू",
"LOADING_MESSAGE": "टिम मेट्रिक्स लोड हुँदैछ...",
"LOADING_MESSAGE": "Loading team metrics...",
"NO_TEAMS": "कुनै डाटा उपलब्ध छैन",
"TABLE_HEADER": {
"TEAM": "टोली",
@@ -580,47 +580,47 @@
"DAYS_OF_WEEK": {
"SUNDAY": "आइतबार",
"MONDAY": "सोमबार",
"TUESDAY": "मंगलबार",
"TUESDAY": "Tuesday",
"WEDNESDAY": "बुधबार",
"THURSDAY": "बिहीबार",
"FRIDAY": "शुक्रबार",
"SATURDAY": "शनिबार"
},
"SLA_REPORTS": {
"HEADER": "SLA प्रतिवेदनहरू",
"HEADER": "SLA Reports",
"NO_RECORDS": "SLA लागू गरिएका कुराकानीहरू उपलब्ध छैनन्।",
"LOADING": "SLA डेटा लोड हुँदैछ...",
"DOWNLOAD_SLA_REPORTS": "SLA रिपोर्टहरू डाउनलोड गर्नुहोस्",
"DOWNLOAD_FAILED": "SLA रिपोर्टहरू डाउनलोड गर्न असफल",
"LOADING": "Loading SLA data...",
"DOWNLOAD_SLA_REPORTS": "Download SLA reports",
"DOWNLOAD_FAILED": "Failed to download SLA Reports",
"DROPDOWN": {
"ADD_FIlTER": "फिल्टर थप्नुहोस्",
"CLEAR_ALL": "सबै हटाउनुहोस्",
"CLEAR_FILTER": "फिल्टर हटाउनुहोस्",
"ADD_FIlTER": "Add filter",
"CLEAR_ALL": "Clear all",
"CLEAR_FILTER": "Clear filter",
"EMPTY_LIST": "कुनै परिणाम फेला परेन",
"NO_FILTER": "कुनै फिल्टर उपलब्ध छैन",
"SEARCH": "फिल्टर खोज्नुहोस्",
"SEARCH": "Search filter",
"INPUT_PLACEHOLDER": {
"SLA": "SLA नाम",
"AGENTS": "एजेन्ट नाम",
"INBOXES": "इनबक्स नाम",
"INBOXES": "Inbox name",
"LABELS": "लेबल नाम",
"TEAMS": "टोलीको नाम"
},
"SLA": "SLA नीति",
"INBOXES": "इनबक्स",
"INBOXES": "Inbox",
"AGENTS": "एजेन्ट",
"LABELS": "लेबल",
"TEAMS": "टोली"
},
"WITH": "संग",
"WITH": "with",
"METRICS": {
"HIT_RATE": {
"LABEL": "हिट दर",
"TOOLTIP": "बनाइएका SLA हरू सफलतापूर्वक पूरा भएको प्रतिशत"
"TOOLTIP": "Percentage of SLAs created were completed successfully"
},
"NO_OF_MISSES": {
"LABEL": "मिस भएको संख्या",
"TOOLTIP": "एक निश्चित अवधिमा कुल SLA मिस"
"LABEL": "Number of Misses",
"TOOLTIP": "Total SLA misses in a certain period"
},
"NO_OF_CONVERSATIONS": {
"LABEL": "संवादहरूको संख्या",
@@ -633,11 +633,11 @@
"CONVERSATION": "संवाद",
"AGENT": "एजेन्ट"
},
"VIEW_DETAILS": "विवरण हेर्नुहोस्"
"VIEW_DETAILS": "View Details"
}
},
"SUMMARY_REPORTS": {
"INBOX": "इनबक्स",
"INBOX": "Inbox",
"AGENT": "एजेन्ट",
"TEAM": "टोली",
"LABEL": "लेबल",
@@ -26,11 +26,11 @@
"UPDATE_SUCCESS": "तपाईंका सेटिङहरू सफलतापूर्वक अपडेट गरियो",
"CARD": {
"ENTER_KEY": {
"HEADING": "इन्टर (↵)",
"HEADING": "Enter (↵)",
"CONTENT": "पठाउन बटन क्लिक नगरी Enter कुञ्जी थिचेर सन्देश पठाउनुहोस्।"
},
"CMD_ENTER_KEY": {
"HEADING": "Cmd/Ctrl + इन्टर (⌘ + ↵)",
"HEADING": "Cmd/Ctrl + Enter (⌘ + ↵)",
"CONTENT": "पठाउन बटन क्लिक नगरी Cmd/Ctrl + Enter कुञ्जी थिचेर सन्देश पठाउनुहोस्।"
}
}
@@ -81,9 +81,9 @@
"BTN_TEXT": "पासवर्ड परिवर्तन गर्नुहोस्"
},
"SECURITY_SECTION": {
"TITLE": "सुरक्षा",
"NOTE": "आफ्नो खाताका लागि थप सुरक्षा सुविधाहरू व्यवस्थापन गर्नुहोस्।",
"MFA_BUTTON": "दुई-चरण प्रमाणीकरण व्यवस्थापन गर्नुहोस्"
"TITLE": "Security",
"NOTE": "Manage additional security features for your account.",
"MFA_BUTTON": "Manage Two-Factor Authentication"
},
"ACCESS_TOKEN": {
"TITLE": "Access Token",
@@ -234,7 +234,7 @@
"CONTACT_SUPPORT": "समर्थन सम्पर्क गर्नु",
"SELECTOR_SUBTITLE": "तलको सूचीबाट एउटा खाता चयन गर्नुहोस्",
"PROFILE_SETTINGS": "प्रोफाइल सेटिङ",
"YEAR_IN_REVIEW": "वर्षको समीक्षा",
"YEAR_IN_REVIEW": "Year in Review",
"KEYBOARD_SHORTCUTS": "किबोर्ड सर्टकट",
"APPEARANCE": "देखावट परिवर्तन गर्नु",
"SUPER_ADMIN_CONSOLE": "सुपरएडमिन कन्सोल",
@@ -254,10 +254,10 @@
"MESSAGE": "तपाईंको खाता निलम्बित गरिएको छ। थप जानकारीका लागि कृपया समर्थन टोलीलाई सम्पर्क गर्नुहोस्।"
},
"NO_ACCOUNTS": {
"TITLE": "खाता फेला परेन",
"MESSAGE_CLOUD": "तपाईं अहिले कुनै खातामा सहभागी हुनुहुन्न। यदि यो गल्ती हो जस्तो लाग्छ भने, कृपया हाम्रो समर्थन टोलीलाई सम्पर्क गर्नुहोस्।",
"MESSAGE_SELF_HOSTED": "तपाईं अहिले कुनै खातामा सहभागी हुनुहुन्न। कृपया आफ्नो प्रशासकलाई सम्पर्क गर्नुहोस्।",
"LOGOUT": "लगआउट"
"TITLE": "No account found",
"MESSAGE_CLOUD": "You are not part of any accounts right now. If you think this is a mistake, please reach out to our support team.",
"MESSAGE_SELF_HOSTED": "You are not part of any accounts right now. Please reach out to your administrator.",
"LOGOUT": "Log out"
}
},
"COMPONENTS": {
@@ -274,7 +274,7 @@
"DOWNLOAD": "डाउनलोड",
"UPLOADING": "अपलोड गर्दै...",
"INSTAGRAM_STORY_UNAVAILABLE": "यो कथा अब उपलब्ध छैन।",
"INSTAGRAM_STORY_REPLY": "तपाईंको स्टोरीमा जवाफ दिइयो:"
"INSTAGRAM_STORY_REPLY": "Replied to your story:"
},
"LOCATION_BUBBLE": {
"SEE_ON_MAP": "नक्सामा हेर्नु"
@@ -308,17 +308,17 @@
"SETTINGS": "सेटिङ",
"CONTACTS": "सम्पर्कहरू",
"ACTIVE": "सक्रिय",
"COMPANIES": "कम्पनीहरू",
"ALL_COMPANIES": "सबै कम्पनीहरू",
"COMPANIES": "Companies",
"ALL_COMPANIES": "All Companies",
"CAPTAIN": "क्याप्टेन",
"CAPTAIN_ASSISTANTS": "सहायकहरू",
"CAPTAIN_DOCUMENTS": "कागजातहरू",
"CAPTAIN_RESPONSES": "सोधिने प्रश्नहरू",
"CAPTAIN_TOOLS": "उपकरणहरू",
"CAPTAIN_SCENARIOS": "परिदृश्यहरू",
"CAPTAIN_PLAYGROUND": "प्लेग्राउन्ड",
"CAPTAIN_INBOXES": "इनबक्सहरू",
"CAPTAIN_SETTINGS": "सेटिङहरू",
"CAPTAIN_TOOLS": "Tools",
"CAPTAIN_SCENARIOS": "Scenarios",
"CAPTAIN_PLAYGROUND": "Playground",
"CAPTAIN_INBOXES": "Inboxes",
"CAPTAIN_SETTINGS": "Settings",
"HOME": "गृहपृष्ठ",
"AGENTS": "एजेन्टहरू",
"AGENT_BOTS": "बोटहरू",
@@ -379,56 +379,56 @@
"INFO_SHORT": "एप प्रयोग नगर्दा स्वचालित रूपमा अफलाइन मार्क गर्नुहोस्।"
},
"DOCS": "डक्स पढ्नु",
"SECURITY": "सुरक्षा",
"SECURITY": "Security",
"CAPTAIN_AI": "Captain",
"CONVERSATION_WORKFLOW": "वार्ता कार्यप्रवाह"
"CONVERSATION_WORKFLOW": "Conversation Workflow"
},
"CAPTAIN_SETTINGS": {
"TITLE": "Captain सेटिङहरू",
"DESCRIPTION": "Captain का लागि तपाईंका AI मोडेल र सुविधाहरू कन्फिगर गर्नुहोस्। Captain क्रेडिटमा आधारित बिलिङमा चल्छ, चयन गरिएको मोडेलअनुसार Captain ले प्रत्येक कार्य गर्दा तपाईंको क्रेडिट कटौती हुनेछ।",
"LOADING": "Captain कन्फिगरेसन लोड हुँदैछ...",
"LINK_TEXT": "Captain क्रेडिटबारे थप जान्नुहोस्",
"NOT_ENABLED": "तपाईंको खातामा Captain सक्षम गरिएको छैन। Captain सुविधाहरू प्रयोग गर्न योजना स्तरोन्नति गर्नुहोस्।",
"TITLE": "Captain Settings",
"DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.",
"LOADING": "Loading Captain configuration...",
"LINK_TEXT": "Learn more about Captain Credits",
"NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.",
"MODEL_CONFIG": {
"TITLE": "मोडेल कन्फिगरेसन",
"DESCRIPTION": "विभिन्न सुविधाहरूका लागि AI मोडेलहरू छान्नुहोस्।",
"SELECT_MODEL": "मोडेल छान्नुहोस्",
"TITLE": "Model Configuration",
"DESCRIPTION": "Select AI models for different features.",
"SELECT_MODEL": "Select model",
"CREDITS_PER_MESSAGE": "{credits} credit/message",
"COMING_SOON": "छिट्टै आउँदैछ",
"COMING_SOON": "Coming soon",
"EDITOR": {
"TITLE": "सम्पादक सुविधाहरू",
"DESCRIPTION": "तपाईंको सन्देश सम्पादकमा स्मार्ट कम्पोज, व्याकरण सुधार, टोन मिलाउने र सामग्री सुधारको लागि प्रयोग हुन्छ।"
"TITLE": "Editor Features",
"DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor."
},
"ASSISTANT": {
"TITLE": "सहायक",
"DESCRIPTION": "ग्राहक संवादका लागि स्वचालित जवाफ, संवाद सारांश, र बुद्धिमान सुझावहरू व्यवस्थापन गर्छ।"
"TITLE": "Assistant",
"DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions."
},
"COPILOT": {
"TITLE": "को-पाइलट",
"DESCRIPTION": "संवादको क्रममा वास्तविक समय सन्दर्भ सुझाव, ज्ञान आधार सिफारिस, र सक्रिय जानकारी प्रदान गर्छ।"
"TITLE": "Co-pilot",
"DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations."
}
},
"FEATURES": {
"TITLE": "फिचरहरू",
"DESCRIPTION": "एआई-सञ्चालित फिचरहरू सक्षम वा अक्षम गर्नुहोस्।",
"TITLE": "Features",
"DESCRIPTION": "Enable or disable AI-powered features.",
"AUDIO_TRANSCRIPTION": {
"TITLE": "अडियो ट्रान्सक्रिप्सन",
"DESCRIPTION": "आवाज सन्देश र कल रेकर्डिङलाई स्वचालित रूपमा खोज्न मिल्ने पाठमा रूपान्तरण गर्नुहोस्।"
"TITLE": "Audio Transcription",
"DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts."
},
"HELP_CENTER_SEARCH": {
"TITLE": "हेल्प सेन्टर खोज अनुक्रमणिका",
"DESCRIPTION": "तपाईंका हेल्प सेन्टर लेखहरूमा सन्दर्भअनुसार खोजका लागि एआई प्रयोग गर्नुहोस्।"
"TITLE": "Help Center Search Indexing",
"DESCRIPTION": "Use AI for context aware search inside your help center articles."
},
"LABEL_SUGGESTION": {
"TITLE": "लेबल सुझाव",
"DESCRIPTION": "सामग्री विश्लेषण र सन्दर्भका आधारमा संवादका लागि उपयुक्त लेबल र ट्यागहरू स्वचालित रूपमा सुझाव दिनुहोस्।",
"MODEL_TITLE": "लेबल सुझाव मोडेल",
"MODEL_DESCRIPTION": "संवाद विश्लेषण र उपयुक्त लेबल सुझावका लागि प्रयोग हुने एआई मोडेल चयन गर्नुहोस्"
"TITLE": "Label Suggestion",
"DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.",
"MODEL_TITLE": "Label Suggestion Model",
"MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels"
}
},
"API": {
"SUCCESS": "Captain सेटिङहरू सफलतापूर्वक अद्यावधिक गरियो।",
"ERROR": "Captain सेटिङहरू अद्यावधिक गर्न असफल। कृपया फेरि प्रयास गर्नुहोस्।"
"SUCCESS": "Captain settings updated successfully.",
"ERROR": "Failed to update Captain settings. Please try again."
}
},
"BILLING_SETTINGS": {
@@ -453,7 +453,7 @@
"DOCUMENTS": "कागजातहरू",
"RESPONSES": "Responses",
"UPGRADE": "क्याप्टेन निःशुल्क योजनामा उपलब्ध छैन। सहायकहरू, कोपाइलट र थप पहुँचका लागि अहिले नै अपग्रेड गर्नुहोस्।",
"REFRESH_CREDITS": "रिफ्रेश"
"REFRESH_CREDITS": "Refresh"
},
"CHAT_WITH_US": {
"TITLE": "मद्दत चाहिन्छ?",
@@ -462,150 +462,150 @@
},
"NO_BILLING_USER": "तपाईंको बिलिङ खाता सेटअप हुँदैछ। कृपया पृष्ठ रिफ्रेस गरेर पुनः प्रयास गर्नुहोस्।",
"TOPUP": {
"BUY_CREDITS": "थप क्रेडिट किन्नुहोस्",
"MODAL_TITLE": "AI क्रेडिट किन्नुहोस्",
"MODAL_DESCRIPTION": "Captain AI का लागि थप क्रेडिट किन्नुहोस्।",
"BUY_CREDITS": "Buy more credits",
"MODAL_TITLE": "Buy AI Credits",
"MODAL_DESCRIPTION": "Purchase additional credits for Captain AI.",
"CREDITS": "CREDITS",
"ONE_TIME": "एक पटकको",
"POPULAR": "सबैभन्दा लोकप्रिय",
"NOTE_TITLE": "नोट:",
"NOTE_DESCRIPTION": "क्रेडिटहरू तुरुन्तै थपिन्छन् र ६ महिनामा सकिन्छन्। क्रेडिट प्रयोग गर्न सक्रिय सदस्यता आवश्यक छ। किनेका क्रेडिटहरू तपाईंको मासिक योजनाका क्रेडिट सकिएपछि मात्र प्रयोग हुन्छन्।",
"CANCEL": "रद्द गर्नुहोस्",
"PURCHASE": "क्रेडिट किन्नुहोस्",
"LOADING": "विकल्पहरू लोड हुँदैछन्...",
"FETCH_ERROR": "क्रेडिट विकल्पहरू लोड गर्न असफल भयो। कृपया फेरि प्रयास गर्नुहोस्।",
"PURCHASE_ERROR": "किनमेल प्रक्रिया असफल भयो। कृपया फेरि प्रयास गर्नुहोस्।",
"ONE_TIME": "one-time",
"POPULAR": "Most Popular",
"NOTE_TITLE": "Note:",
"NOTE_DESCRIPTION": "Credits are added immediately and expire in 6 months. An active subscription is required to use credits. Purchased credits are consumed after your monthly plan credits.",
"CANCEL": "Cancel",
"PURCHASE": "Purchase Credits",
"LOADING": "Loading options...",
"FETCH_ERROR": "Failed to load credit options. Please try again.",
"PURCHASE_ERROR": "Failed to process purchase. Please try again.",
"PURCHASE_SUCCESS": "Successfully added {credits} credits to your account",
"CONFIRM": {
"TITLE": "किनमेल पुष्टि गर्नुहोस्",
"TITLE": "Confirm Purchase",
"DESCRIPTION": "You are about to purchase {credits} credits for {amount}.",
"INSTANT_DEDUCTION_NOTE": "पुष्टि गरेपछि तपाईंको सुरक्षित कार्डबाट तुरुन्तै रकम काटिनेछ।",
"GO_BACK": "फिर्ता जानुहोस्",
"CONFIRM_PURCHASE": "किनमेल पुष्टि गर्नुहोस्"
"INSTANT_DEDUCTION_NOTE": "Your saved card will be charged immediately upon confirmation.",
"GO_BACK": "Go Back",
"CONFIRM_PURCHASE": "Confirm Purchase"
}
}
},
"SECURITY_SETTINGS": {
"TITLE": "सुरक्षा",
"DESCRIPTION": "आफ्नो खाताको सुरक्षा सेटिङहरू व्यवस्थापन गर्नुहोस्।",
"LINK_TEXT": "SAML SSO को बारेमा थप जान्नुहोस्",
"SAML_DISABLED_MESSAGE": "SAML SSO हाल असक्षम छ। कृपया यो सुविधा सक्षम गर्न आफ्नो प्रशासकलाई सम्पर्क गर्नुहोस्।",
"TITLE": "Security",
"DESCRIPTION": "Manage your account security settings.",
"LINK_TEXT": "Learn more about SAML SSO",
"SAML_DISABLED_MESSAGE": "SAML SSO is currently disabled. Please contact your administrator to enable this feature.",
"SAML": {
"TITLE": "SAML SSO",
"NOTE": "आफ्नो खाताका लागि SAML सिंगल साइन-इन कन्फिगर गर्नुहोस्। प्रयोगकर्ताहरूले इमेल/पासवर्डको सट्टा तपाईंको आइडेन्टिटी प्रोभाइडरमार्फत प्रमाणिकरण गर्नेछन्।",
"NOTE": "Configure SAML single sign-on for your account. Users will authenticate through your identity provider instead of using email/password.",
"ACS_URL": {
"LABEL": "ACS URL",
"TOOLTIP": "Assertion Consumer Service URL - SAML प्रतिक्रिया प्राप्त गर्नका लागि यो URL तपाईंको IdP मा गन्तव्यको रूपमा कन्फिगर गर्नुहोस्"
"TOOLTIP": "Assertion Consumer Service URL - Configure this URL in your IdP as the destination for SAML responses"
},
"SSO_URL": {
"LABEL": "SSO URL",
"HELP": "SAML प्रमाणीकरण अनुरोधहरू पठाइने URL",
"HELP": "The URL where SAML authentication requests will be sent",
"PLACEHOLDER": "https://your-idp.com/saml/sso"
},
"CERTIFICATE": {
"LABEL": "PEM ढाँचामा हस्ताक्षर प्रमाणपत्र",
"HELP": "SAML प्रतिक्रिया प्रमाणित गर्न तपाईंको आइडेन्टिटी प्रोभाइडरबाट प्राप्त सार्वजनिक प्रमाणपत्र",
"LABEL": "Signing certificate in PEM format",
"HELP": "The public certificate from your identity provider used to verify SAML responses",
"PLACEHOLDER": "-----BEGIN CERTIFICATE-----\nMIIC..."
},
"FINGERPRINT": {
"LABEL": "फिङ्गरप्रिन्ट",
"TOOLTIP": "प्रमाणपत्रको SHA-1 फिङ्गरप्रिन्ट - IdP कन्फिगरेसनमा प्रमाणपत्र प्रमाणित गर्न प्रयोग गर्नुहोस्"
"LABEL": "Fingerprint",
"TOOLTIP": "SHA-1 fingerprint of the certificate - Use this to verify the certificate in your IdP configuration"
},
"COPY_SUCCESS": "Code copied to clipboard successfully",
"SP_ENTITY_ID": {
"LABEL": "SP Entity ID",
"HELP": "यो एप्लिकेसनको सेवा प्रदायकको रूपमा अद्वितीय परिचायक (स्वतः-उत्पन्न)।",
"TOOLTIP": "Chatwoot लाई सेवा प्रदायकको रूपमा अद्वितीय परिचायक - IdP सेटिङमा यो कन्फिगर गर्नुहोस्"
"HELP": "Unique identifier for this application as a service provider (auto-generated).",
"TOOLTIP": "Unique identifier for Chatwoot as the Service Provider - Configure this in your IdP settings"
},
"IDP_ENTITY_ID": {
"LABEL": "आइडेन्टिटी प्रोभाइडर Entity ID",
"HELP": "तपाईंको आइडेन्टिटी प्रोभाइडरको अद्वितीय परिचायक (सामान्यतया IdP कन्फिगरेसनमा पाइन्छ)",
"LABEL": "Identity Provider Entity ID",
"HELP": "Unique identifier for your identity provider (usually found in IdP configuration)",
"PLACEHOLDER": "https://your-idp.com/saml"
},
"UPDATE_BUTTON": "SAML सेटिङहरू अद्यावधिक गर्नुहोस्",
"UPDATE_BUTTON": "Update SAML Settings",
"API": {
"SUCCESS": "SAML सेटिङहरू सफलतापूर्वक अद्यावधिक गरियो",
"ERROR": "SAML सेटिङहरू अद्यावधिक गर्न असफल भयो",
"ERROR_LOADING": "SAML सेटिङहरू लोड गर्न असफल भयो",
"DISABLED": "SAML सेटिङहरू सफलतापूर्वक निष्क्रिय गरियो"
"SUCCESS": "SAML settings updated successfully",
"ERROR": "Failed to update SAML settings",
"ERROR_LOADING": "Failed to load SAML settings",
"DISABLED": "SAML settings disabled successfully"
},
"VALIDATION": {
"REQUIRED_FIELDS": "SSO URL, Identity Provider Entity ID, र Certificate अनिवार्य फिल्डहरू हुन्",
"SSO_URL_ERROR": "कृपया मान्य SSO URL प्रविष्ट गर्नुहोस्",
"CERTIFICATE_ERROR": "Certificate आवश्यक छ",
"IDP_ENTITY_ID_ERROR": "Identity Provider Entity ID आवश्यक छ"
"REQUIRED_FIELDS": "SSO URL, Identity Provider Entity ID, and Certificate are required fields",
"SSO_URL_ERROR": "Please enter a valid SSO URL",
"CERTIFICATE_ERROR": "Certificate is required",
"IDP_ENTITY_ID_ERROR": "Identity Provider Entity ID is required"
},
"ENTERPRISE_PAYWALL": {
"AVAILABLE_ON": "SAML SSO सुविधा Enterprise योजनाहरूमा मात्र उपलब्ध छ।",
"UPGRADE_PROMPT": "SAML सिंगल साइन-इन र अन्य उन्नत सुरक्षा सुविधाहरू प्रयोग गर्न Enterprise योजना अपग्रेड गर्नुहोस्।",
"ASK_ADMIN": "अपग्रेडका लागि कृपया आफ्नो प्रशासकलाई सम्पर्क गर्नुहोस्।"
"AVAILABLE_ON": "The SAML SSO feature is only available in the Enterprise plans.",
"UPGRADE_PROMPT": "Upgrade to an Enterprise plan to access SAML single sign-on and other advanced security features.",
"ASK_ADMIN": "Please reach out to your administrator for the upgrade."
},
"PAYWALL": {
"TITLE": "SAML SSO सक्षम गर्न अपग्रेड गर्नुहोस्",
"AVAILABLE_ON": "SAML SSO सुविधा केवल Enterprise योजनामा उपलब्ध छ।",
"UPGRADE_PROMPT": "SAML सिंगल साइन-इन र अन्य उन्नत सुविधाहरूको पहुँचका लागि आफ्नो योजना अपग्रेड गर्नुहोस्।",
"UPGRADE_NOW": "अहिले नै अपग्रेड गर्नुहोस्",
"CANCEL_ANYTIME": "तपाईंले आफ्नो योजना जुनसुकै बेला परिवर्तन वा रद्द गर्न सक्नुहुन्छ"
"TITLE": "Upgrade to enable SAML SSO",
"AVAILABLE_ON": "The SAML SSO feature is only available in the Enterprise plans.",
"UPGRADE_PROMPT": "Upgrade your plan to get access to SAML single sign-on and other advanced features.",
"UPGRADE_NOW": "Upgrade now",
"CANCEL_ANYTIME": "You can change or cancel your plan anytime"
},
"ATTRIBUTE_MAPPING": {
"TITLE": "SAML एट्रिब्युट सेटअप",
"DESCRIPTION": "तपाईंको आइडेन्टिटी प्रोभाइडरमा निम्न एट्रिब्युट म्यापिङहरू कन्फिगर गर्नुपर्छ"
"TITLE": "SAML Attribute Setup",
"DESCRIPTION": "The following attribute mappings must be configured in your identity provider"
},
"INFO_SECTION": {
"TITLE": "Service Provider Information",
"TOOLTIP": "यी मानहरू प्रतिलिपि गरी आफ्नो Identity Provider मा कन्फिगर गर्नुहोस् SAML जडानका लागि"
"TOOLTIP": "Copy these values and configure them in your Identity Provider to establish the SAML connection"
}
}
},
"CONVERSATION_WORKFLOW": {
"INDEX": {
"HEADER": {
"TITLE": "वार्ता कार्यप्रवाहहरू",
"DESCRIPTION": "वार्ता समाधानका लागि नियम र आवश्यक फिल्डहरू सेट गर्नुहोस्।"
"TITLE": "Conversation Workflows",
"DESCRIPTION": "Configure rules and required fields for conversation resolution."
}
},
"REQUIRED_ATTRIBUTES": {
"TITLE": "समाधानमा आवश्यक विशेषताहरू",
"DESCRIPTION": "वार्ता समाधान गर्दा, यी विशेषताहरू नभरिएको भए एजेन्टलाई भर्न अनुरोध गरिनेछ।",
"NO_ATTRIBUTES": "अहिलेसम्म कुनै विशेषता थपिएको छैन",
"TITLE": "Attributes required on resolution",
"DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.",
"NO_ATTRIBUTES": "No attributes added yet",
"ADD": {
"TITLE": "विशेषता थप्नुहोस्",
"SEARCH_PLACEHOLDER": "विशेषता खोज्नुहोस्"
"TITLE": "Add Attributes",
"SEARCH_PLACEHOLDER": "Search attributes"
},
"SAVE": {
"SUCCESS": "आवश्यक विवरणहरू अपडेट गरियो",
"ERROR": "आवश्यक विवरणहरू अपडेट गर्न सकिएन, कृपया फेरि प्रयास गर्नुहोस्"
"SUCCESS": "Required attributes updated",
"ERROR": "Could not update required attributes, please try again"
},
"MODAL": {
"TITLE": "संवाद समाधान गर्नुहोस्",
"DESCRIPTION": "यो संवाद समाधान गर्नु अघि तलका अनुकूल विवरणहरू भर्नुहोस्",
"TITLE": "Resolve conversation",
"DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation",
"ACTIONS": {
"RESOLVE": "संवाद समाधान गर्नुहोस्",
"CANCEL": "रद्द गर्नुहोस्"
"RESOLVE": "Resolve conversation",
"CANCEL": "Cancel"
},
"PLACEHOLDERS": {
"TEXT": "नोट लेख्नुहोस्...",
"NUMBER": "संख्या लेख्नुहोस्",
"LINK": "लिङ्क थप्नुहोस्",
"DATE": "मिति छान्नुहोस्",
"LIST": "विकल्प छान्नुहोस्"
"TEXT": "Write a note...",
"NUMBER": "Enter a number",
"LINK": "Add a link",
"DATE": "Pick a date",
"LIST": "Select an option"
},
"CHECKBOX": {
"YES": "हो",
"NO": "होइन"
"YES": "Yes",
"NO": "No"
}
},
"PAYWALL": {
"TITLE": "आवश्यक विशेषता प्रयोग गर्न योजना स्तरोन्नति गर्नुहोस्",
"AVAILABLE_ON": "आवश्यक संवाद विशेषता सुविधा Business र Enterprise योजनामा उपलब्ध छ।",
"UPGRADE_PROMPT": "संवाद टुंग्याउनु अघि एजेन्टलाई आवश्यक विशेषता भर्न अनुरोध गर्न योजना स्तरोन्नति गर्नुहोस्।",
"UPGRADE_NOW": "अहिले स्तरोन्नति गर्नुहोस्",
"CANCEL_ANYTIME": "तपाईंले आफ्नो योजना जुनसुकै बेला परिवर्तन वा रद्द गर्न सक्नुहुन्छ"
"TITLE": "Upgrade to use required attributes",
"AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.",
"UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.",
"UPGRADE_NOW": "Upgrade now",
"CANCEL_ANYTIME": "You can change or cancel your plan anytime"
},
"ENTERPRISE_PAYWALL": {
"AVAILABLE_ON": "आवश्यक संवाद विशेषता सुविधा भुक्तानी योजना मा उपलब्ध छ।",
"UPGRADE_PROMPT": "संवाद टुंग्याउनु अघि आवश्यक विशेषता लागू गर्न भुक्तानी योजना मा स्तरोन्नति गर्नुहोस्।",
"ASK_ADMIN": "अपग्रेडका लागि कृपया आफ्नो प्रशासकलाई सम्पर्क गर्नुहोस्।"
"AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.",
"UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.",
"ASK_ADMIN": "Please reach out to your administrator for the upgrade."
}
}
},
@@ -695,7 +695,7 @@
"API": {
"SUCCESS_MESSAGE": "असाइनमेन्ट नीति सफलतापूर्वक सिर्जना गरियो",
"ERROR_MESSAGE": "असाइनमेन्ट नीति सिर्जना गर्न असफल",
"INBOX_LINKED": "इनबक्स नीति सँग जडान गरिएको छ"
"INBOX_LINKED": "Inbox has been linked to the policy"
}
},
"EDIT": {
@@ -710,10 +710,10 @@
"CANCEL_BUTTON_LABEL": "रद्द गर्नुहोस्"
},
"INBOX_LINK_PROMPT": {
"TITLE": "इनबक्सलाई नीतिसँग जडान गर्नुहोस्",
"DESCRIPTION": "के तपाईं यो इनबक्सलाई असाइनमेन्ट नीतिसँग जडान गर्न चाहनुहुन्छ?",
"LINK_BUTTON": "इनबक्स जडान गर्नुहोस्",
"CANCEL_BUTTON": "छोड्नुहोस्"
"TITLE": "Link inbox to policy",
"DESCRIPTION": "Would you like to link this inbox to the assignment policy?",
"LINK_BUTTON": "Link inbox",
"CANCEL_BUTTON": "Skip"
},
"API": {
"SUCCESS_MESSAGE": "असाइनमेन्ट नीति सफलतापूर्वक अपडेट गरियो",
@@ -754,8 +754,8 @@
"BALANCED": {
"LABEL": "सन्तुलित",
"DESCRIPTION": "उपलब्ध क्षमता अनुसार कुराकानीहरू असाइन गर्नुहोस्।",
"PREMIUM_MESSAGE": "सन्तुलित असाइनमेन्ट र एजेन्ट क्षमता व्यवस्थापन पहुँच गर्न अपग्रेड गर्नुहोस्।",
"PREMIUM_BADGE": "प्रिमियम"
"PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.",
"PREMIUM_BADGE": "Premium"
}
},
"ASSIGNMENT_PRIORITY": {
@@ -776,17 +776,17 @@
"DURATION": "प्रति एजेन्ट प्रत्येक"
},
"INBOXES": {
"LABEL": "थपिएका इनबक्सहरू",
"DESCRIPTION": "यो नीति लागू हुने इनबक्सहरू थप्नुहोस्।",
"LABEL": "Added inboxes",
"DESCRIPTION": "Add inboxes for which this policy will be applicable.",
"ADD_BUTTON": "Add inbox",
"DROPDOWN": {
"SEARCH_PLACEHOLDER": "थप्न इनबक्स खोज्नुहोस् र चयन गर्नुहोस्",
"ADD_BUTTON": "थप्नुहोस्"
"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": "इनबक्स सफलतापूर्वक नीति मा थपियो",
"ERROR_MESSAGE": "इनबक्स नीति मा थप्न असफल भयो"
"SUCCESS_MESSAGE": "Inbox successfully added to policy",
"ERROR_MESSAGE": "Failed to add inbox to policy"
}
}
},
@@ -802,19 +802,19 @@
"CREATE_POLICY": "New policy"
},
"CARD": {
"POPOVER": "थपिएका एजेन्टहरू",
"POPOVER": "Added agents",
"EDIT": "Edit"
},
"NO_RECORDS_FOUND": "एजेन्ट क्षमता सम्बन्धी कुनै नीति फेला परेन"
"NO_RECORDS_FOUND": "No agent capacity policies found"
},
"CREATE": {
"HEADER": {
"TITLE": "एजेन्ट क्षमता नीति बनाउनुहोस्"
"TITLE": "Create agent capacity policy"
},
"CREATE_BUTTON": "नीति बनाउनुहोस्",
"CREATE_BUTTON": "Create policy",
"API": {
"SUCCESS_MESSAGE": "एजेन्ट क्षमता नीति सफलतापूर्वक बन्यो",
"ERROR_MESSAGE": "एजेन्ट क्षमता नीति बनाउन असफल भयो"
"SUCCESS_MESSAGE": "Agent capacity policy created successfully",
"ERROR_MESSAGE": "Failed to create agent capacity policy"
}
},
"EDIT": {
@@ -829,92 +829,92 @@
"CANCEL_BUTTON_LABEL": "Cancel"
},
"API": {
"SUCCESS_MESSAGE": "एजेन्ट क्षमता नीति सफलतापूर्वक अद्यावधिक गरियो",
"ERROR_MESSAGE": "एजेन्ट क्षमता नीति अद्यावधिक गर्न असफल भयो"
"SUCCESS_MESSAGE": "Agent capacity policy updated successfully",
"ERROR_MESSAGE": "Failed to update agent capacity policy"
},
"AGENT_API": {
"ADD": {
"SUCCESS_MESSAGE": "एजेन्ट नीति मा सफलतापूर्वक थपियो",
"ERROR_MESSAGE": "एजेन्ट नीति मा थप्न असफल भयो"
"SUCCESS_MESSAGE": "Agent added to policy successfully",
"ERROR_MESSAGE": "Failed to add agent to policy"
},
"REMOVE": {
"SUCCESS_MESSAGE": "एजेन्ट नीति बाट सफलतापूर्वक हटाइयो",
"ERROR_MESSAGE": "एजेन्ट नीति बाट हटाउन असफल भयो"
"SUCCESS_MESSAGE": "Agent removed from policy successfully",
"ERROR_MESSAGE": "Failed to remove agent from policy"
}
},
"INBOX_LIMIT_API": {
"ADD": {
"SUCCESS_MESSAGE": "इनबक्स सीमा सफलतापूर्वक थपियो",
"ERROR_MESSAGE": "इनबक्स सीमा थप्न असफल भयो"
"SUCCESS_MESSAGE": "Inbox limit added successfully",
"ERROR_MESSAGE": "Failed to add inbox limit"
},
"UPDATE": {
"SUCCESS_MESSAGE": "इनबक्स सीमा सफलतापूर्वक अद्यावधिक गरियो",
"ERROR_MESSAGE": "इनबक्स सीमा अद्यावधिक गर्न असफल भयो"
"SUCCESS_MESSAGE": "Inbox limit updated successfully",
"ERROR_MESSAGE": "Failed to update inbox limit"
},
"DELETE": {
"SUCCESS_MESSAGE": "इनबक्स सीमा सफलतापूर्वक हटाइयो",
"ERROR_MESSAGE": "इनबक्स सीमा हटाउन असफल भयो"
"SUCCESS_MESSAGE": "Inbox limit deleted successfully",
"ERROR_MESSAGE": "Failed to delete inbox limit"
}
}
},
"FORM": {
"NAME": {
"LABEL": "नीतिको नाम:",
"PLACEHOLDER": "नीतिको नाम लेख्नुहोस्"
"LABEL": "Policy name:",
"PLACEHOLDER": "Enter policy name"
},
"DESCRIPTION": {
"LABEL": "विवरण:",
"PLACEHOLDER": "विवरण लेख्नुहोस्"
"LABEL": "Description:",
"PLACEHOLDER": "Enter description"
},
"INBOX_CAPACITY_LIMIT": {
"LABEL": "इनबक्स सीमा",
"ADD_BUTTON": "इनबक्स थप्नुहोस्",
"LABEL": "Inbox capacity limits",
"ADD_BUTTON": "Add inbox",
"FIELD": {
"SELECT_INBOX": "इनबक्स छान्नुहोस्",
"MAX_CONVERSATIONS": "अधिकतम संवादहरू",
"SET_LIMIT": "सीमा सेट गर्नुहोस्"
"SELECT_INBOX": "Select inbox",
"MAX_CONVERSATIONS": "Max conversations",
"SET_LIMIT": "Set limit"
},
"EMPTY_STATE": "इनबक्स सीमा सेट गरिएको छैन"
"EMPTY_STATE": "No inbox limit set"
},
"EXCLUSION_RULES": {
"LABEL": "बहिष्करण नियमहरू",
"DESCRIPTION": "निम्न सर्तहरू पूरा गर्ने संवादहरू एजेन्ट क्षमतामा गणना हुँदैनन्",
"LABEL": "Exclusion rules",
"DESCRIPTION": "Conversations that satisfy the following conditions would not count towards agent capacity",
"TAGS": {
"LABEL": "विशेष ट्याग भएका संवादहरू हटाउनुहोस्",
"ADD_TAG": "ट्याग थप्नुहोस्",
"LABEL": "Exclude conversations tagged with specific labels",
"ADD_TAG": "add tag",
"DROPDOWN": {
"SEARCH_PLACEHOLDER": "ट्याग खोज्नुहोस् र चयन गर्नुहोस्"
"SEARCH_PLACEHOLDER": "Search and select tags to add"
},
"EMPTY_STATE": "यस नीतिमा कुनै ट्याग थपिएको छैन।"
"EMPTY_STATE": "No tags added to this policy."
},
"DURATION": {
"LABEL": "निर्दिष्ट समयभन्दा पुराना संवादहरू हटाउनुहोस्",
"PLACEHOLDER": "समय सेट गर्नुहोस्"
"LABEL": "Exclude conversations older than a specified duration",
"PLACEHOLDER": "Set time"
}
},
"USERS": {
"LABEL": "नियुक्त एजेन्टहरू",
"DESCRIPTION": "यो नीति लागू हुने एजेन्टहरू थप्नुहोस्।",
"ADD_BUTTON": "एजेन्ट थप्नुहोस्",
"LABEL": "Assigned agents",
"DESCRIPTION": "Add agents for which this policy will be applicable.",
"ADD_BUTTON": "Add agent",
"DROPDOWN": {
"SEARCH_PLACEHOLDER": "एजेन्ट खोज्नुहोस् र चयन गर्नुहोस्",
"ADD_BUTTON": "थप्नुहोस्"
"SEARCH_PLACEHOLDER": "Search and select agents to add",
"ADD_BUTTON": "Add"
},
"EMPTY_STATE": "कुनै एजेन्ट थपिएको छैन",
"EMPTY_STATE": "No agents added",
"API": {
"SUCCESS_MESSAGE": "एजेन्ट नीति मा सफलतापूर्वक थपियो",
"ERROR_MESSAGE": "एजेन्ट नीति मा थप्न असफल भयो"
"SUCCESS_MESSAGE": "Agent successfully added to policy",
"ERROR_MESSAGE": "Failed to add agent to policy"
}
}
},
"DELETE_POLICY": {
"SUCCESS_MESSAGE": "एजेन्ट क्षमता नीति सफलतापूर्वक हटाइयो",
"ERROR_MESSAGE": "एजेन्ट क्षमता नीति हटाउन असफल भयो"
"SUCCESS_MESSAGE": "Agent capacity policy deleted successfully",
"ERROR_MESSAGE": "Failed to delete agent capacity policy"
}
},
"DELETE_POLICY": {
"TITLE": "नीति हटाउनुहोस्",
"DESCRIPTION": "के तपाईं यो नीति मेटाउन निश्चित हुनुहुन्छ? यो कार्य पूर्ववत गर्न सकिँदैन।",
"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"
}
@@ -6,12 +6,12 @@
"SWITCH_VIEW_LAYOUT": "Switch the layout",
"DASHBOARD_APP_TAB_MESSAGES": "Messages",
"UNVERIFIED_SESSION": "The identity of this user is not verified",
"NO_MESSAGE_1": "Ups! Izgleda da nema poruka od korisnika u tvom sandučetu.",
"NO_MESSAGE_2": " da pošalješ poruku na svoju stranicu!",
"NO_INBOX_1": "Ćao! Izgleda da još nisi dodao nijedno sanduče.",
"NO_INBOX_2": " za početak",
"NO_INBOX_AGENT": "Ups! Izgleda da nisi deo nijednog sandučeta. Kontaktiraj administratora",
"SEARCH_MESSAGES": "Pretraži poruke u razgovorima",
"NO_MESSAGE_1": "Uh oh! Looks like there are no messages from customers in your inbox.",
"NO_MESSAGE_2": " to send a message to your page!",
"NO_INBOX_1": "Hola! Looks like you haven't added any inboxes yet.",
"NO_INBOX_2": " to get started",
"NO_INBOX_AGENT": "Uh Oh! Looks like you are not part of any inbox. Please contact your administrator",
"SEARCH_MESSAGES": "Search for messages in conversations",
"VIEW_ORIGINAL": "View original",
"VIEW_TRANSLATED": "View translated",
"EMPTY_STATE": {
@@ -19,19 +19,19 @@
"KEYBOARD_SHORTCUTS": "to view keyboard shortcuts"
},
"SEARCH": {
"TITLE": "Pretraga poruka",
"RESULT_TITLE": "Rezultati pretrage",
"LOADING_MESSAGE": "Obrađujem podatke...",
"PLACEHOLDER": "Unesite tekst za pretragu poruka",
"NO_MATCHING_RESULTS": "Nema pronađenih rezultata."
"TITLE": "Search messages",
"RESULT_TITLE": "Search Results",
"LOADING_MESSAGE": "Crunching data...",
"PLACEHOLDER": "Type any text to search messages",
"NO_MATCHING_RESULTS": "No results found."
},
"UNREAD_MESSAGES": "Nepročitane poruke",
"UNREAD_MESSAGE": "Nepročitana poruka",
"CLICK_HERE": "Klikni ovde",
"LOADING_INBOXES": "Učitavanje sandučića",
"LOADING_CONVERSATIONS": "Učitavanje razgovora",
"CANNOT_REPLY": "Ne možete da odgovorite zbog",
"24_HOURS_WINDOW": "Ograničenje prozora od 24 sata za poruke",
"UNREAD_MESSAGES": "Unread Messages",
"UNREAD_MESSAGE": "Unread Message",
"CLICK_HERE": "Click here",
"LOADING_INBOXES": "Loading inboxes",
"LOADING_CONVERSATIONS": "Loading Conversations",
"CANNOT_REPLY": "You cannot reply due to",
"24_HOURS_WINDOW": "24 hour message window restriction",
"48_HOURS_WINDOW": "48 hour message window restriction",
"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?",
@@ -41,12 +41,12 @@
"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 odgovoriti na ovaj razgovor samo pomoću šablona poruke zbog",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "ograničenja od 24 sata za slanje poruka",
"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.",
"REPLYING_TO": "Odgovarate na:",
"REMOVE_SELECTION": "Ukloni izbor",
"DOWNLOAD": "Preuzmi",
"REPLYING_TO": "You are replying to:",
"REMOVE_SELECTION": "Remove Selection",
"DOWNLOAD": "Download",
"UNKNOWN_FILE_TYPE": "Unknown File",
"SAVE_CONTACT": "Save Contact",
"NO_CONTENT": "No content to display",
@@ -56,18 +56,18 @@
"FILE": "{sender} has shared a file",
"MEETING": "{sender} has started a meeting"
},
"UPLOADING_ATTACHMENTS": "Otpremanje priloga...",
"UPLOADING_ATTACHMENTS": "Uploading attachments...",
"REPLIED_TO_STORY": "Replied to your story",
"UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.",
"UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.",
"UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.",
"UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.",
"SUCCESS_DELETE_MESSAGE": "Poruka uspešno obrisana",
"FAIL_DELETE_MESSSAGE": "Nije moguće obrisati poruku! Pokušajte ponovo",
"NO_RESPONSE": "Nema odgovora",
"SUCCESS_DELETE_MESSAGE": "Message deleted successfully",
"FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again",
"NO_RESPONSE": "No response",
"RESPONSE": "Response",
"RATING_TITLE": "Ocena",
"FEEDBACK_TITLE": "Povratne informacije",
"RATING_TITLE": "Rating",
"FEEDBACK_TITLE": "Feedback",
"REPLY_MESSAGE_NOT_FOUND": "Message not available",
"CARD": {
"SHOW_LABELS": "Show labels",
@@ -85,16 +85,16 @@
"YOU_ANSWERED": "You answered"
},
"HEADER": {
"RESOLVE_ACTION": "Reši",
"REOPEN_ACTION": "Ponovo otvori",
"OPEN_ACTION": "Otvori",
"RESOLVE_ACTION": "Resolve",
"REOPEN_ACTION": "Reopen",
"OPEN_ACTION": "Open",
"MORE_ACTIONS": "More actions",
"OPEN": "Više",
"CLOSE": "Zatvori",
"DETAILS": "detalji",
"OPEN": "More",
"CLOSE": "Close",
"DETAILS": "details",
"SNOOZED_UNTIL": "Snoozed until",
"SNOOZED_UNTIL_TOMORROW": "Odloženo do sutra",
"SNOOZED_UNTIL_NEXT_WEEK": "Odloženo do sledeće nedelje",
"SNOOZED_UNTIL_TOMORROW": "Snoozed until tomorrow",
"SNOOZED_UNTIL_NEXT_WEEK": "Snoozed until next week",
"SNOOZED_UNTIL_NEXT_REPLY": "Snoozed until next reply",
"SLA_STATUS": {
"FRT": "FRT {status}",
@@ -105,13 +105,13 @@
}
},
"RESOLVE_DROPDOWN": {
"MARK_PENDING": "Označi kao na čekanju",
"MARK_PENDING": "Mark as pending",
"SNOOZE_UNTIL": "Snooze",
"SNOOZE": {
"TITLE": "Odloži do",
"NEXT_REPLY": "Sledeći odgovor",
"TOMORROW": "Sutra",
"NEXT_WEEK": "Sledeće nedelje"
"TITLE": "Snooze until",
"NEXT_REPLY": "Next reply",
"TOMORROW": "Tomorrow",
"NEXT_WEEK": "Next week"
}
},
"MENTION": {
@@ -188,8 +188,8 @@
"MESSAGE_SIGN_TOOLTIP": "Message signature",
"ENABLE_SIGN_TOOLTIP": "Enable signature",
"DISABLE_SIGN_TOOLTIP": "Disable signature",
"MSG_INPUT": "Shift + enter za novi red. Počni sa '/' za izbor sačuvanog odgovora.",
"PRIVATE_MSG_INPUT": "Shift + enter za novi red. Ovo će biti vidljivo samo agentima",
"MSG_INPUT": "Shift + enter for new line. Start with '/' to select a Canned Response.",
"PRIVATE_MSG_INPUT": "Shift + enter for new line. This will be visible only to Agents",
"MESSAGING_RESTRICTED": "You cannot reply to this conversation",
"MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction",
"MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction",
@@ -199,34 +199,34 @@
"WHATSAPP_TEMPLATES": "Whatsapp Templates"
},
"REPLYBOX": {
"REPLY": "Odgovori",
"PRIVATE_NOTE": "Privatna beleška",
"SEND": "Pošalji",
"CREATE": "Dodaj belešku",
"REPLY": "Reply",
"PRIVATE_NOTE": "Private Note",
"SEND": "Send",
"CREATE": "Add Note",
"INSERT_READ_MORE": "Read more",
"DISMISS_REPLY": "Dismiss reply",
"REPLYING_TO": "Replying to:",
"TIP_EMOJI_ICON": "Prikaži birač emotikona",
"TIP_ATTACH_ICON": "Priloži fajlove",
"TIP_EMOJI_ICON": "Show emoji selector",
"TIP_ATTACH_ICON": "Attach files",
"TIP_AUDIORECORDER_ICON": "Record audio",
"TIP_AUDIORECORDER_PERMISSION": "Allow access to audio",
"TIP_AUDIORECORDER_ERROR": "Could not open the audio",
"DRAG_DROP": "Prevucite ovde za dodavanje",
"DRAG_DROP": "Drag and drop here to attach",
"START_AUDIO_RECORDING": "Start audio recording",
"STOP_AUDIO_RECORDING": "Stop audio recording",
"COPILOT_THINKING": "Copilot is thinking",
"EMAIL_HEAD": {
"TO": "TO",
"ADD_BCC": "Dodaj bcc",
"ADD_BCC": "Add bcc",
"CC": {
"LABEL": "CC",
"PLACEHOLDER": "Email adrese odvojene zarezima",
"ERROR": "Unesite ispravne email adrese"
"PLACEHOLDER": "Emails separated by commas",
"ERROR": "Please enter valid email addresses"
},
"BCC": {
"LABEL": "BCC",
"PLACEHOLDER": "Email adrese odvojene zarezima",
"ERROR": "Unesite ispravne email adrese"
"PLACEHOLDER": "Emails separated by commas",
"ERROR": "Please enter valid email addresses"
}
},
"UNDEFINED_VARIABLES": {
@@ -245,34 +245,34 @@
"EXPAND": "Expand preview"
}
},
"VISIBLE_TO_AGENTS": "Privatna beleška: Vidljivo samo vama i vašem timu",
"CHANGE_STATUS": "Status razgovora je promenjen",
"VISIBLE_TO_AGENTS": "Private Note: Only visible to you and your team",
"CHANGE_STATUS": "Conversation status changed",
"CHANGE_STATUS_FAILED": "Conversation status change failed",
"CHANGE_AGENT": "Zaduženi agent je promenjen",
"CHANGE_AGENT": "Conversation Assignee changed",
"CHANGE_AGENT_FAILED": "Assignee change failed",
"ASSIGN_LABEL_SUCCESFUL": "Label assigned successfully",
"ASSIGN_LABEL_FAILED": "Label assignment failed",
"CHANGE_TEAM": "Tim za razgovor je promenjen",
"CHANGE_TEAM": "Conversation team changed",
"SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully",
"FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again",
"FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit",
"FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation",
"MESSAGE_ERROR": "Ne može se poslati poruka, pokušajte kasnije",
"SENT_BY": "Poslao/la:",
"MESSAGE_ERROR": "Unable to send this message, please try again later",
"SENT_BY": "Sent by:",
"BOT": "Bot",
"NATIVE_APP": "Native app",
"NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.",
"SEND_FAILED": "Couldn't send message! Try again",
"TRY_AGAIN": "retry",
"ASSIGNMENT": {
"SELECT_AGENT": "Izaberi agenta",
"REMOVE": "Ukloni",
"ASSIGN": "Dodeli"
"SELECT_AGENT": "Select Agent",
"REMOVE": "Remove",
"ASSIGN": "Assign"
},
"CONTEXT_MENU": {
"COPY": "Kopiraj",
"COPY": "Copy",
"REPLY_TO": "Reply to this message",
"DELETE": "Obriši",
"DELETE": "Delete",
"CREATE_A_CANNED_RESPONSE": "Add to canned responses",
"TRANSLATE": "Translate",
"COPY_PERMALINK": "Copy link to the message",
@@ -300,20 +300,20 @@
}
},
"EMAIL_TRANSCRIPT": {
"TITLE": "Pošalji transkript razgovora",
"DESC": "Pošaljite kopiju transkripta razgovora na navedenu e-mail adresu",
"SUBMIT": "Pošalji",
"CANCEL": "Otkaži",
"SEND_EMAIL_SUCCESS": "Transkript ćaskanja je uspešno poslat",
"SEND_EMAIL_ERROR": "Došlo je do greške, pokušajte ponovo",
"TITLE": "Send conversation transcript",
"DESC": "Send a copy of the conversation transcript to the specified email address",
"SUBMIT": "Submit",
"CANCEL": "Cancel",
"SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully",
"SEND_EMAIL_ERROR": "There was an error, please try again",
"SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.",
"FORM": {
"SEND_TO_CONTACT": "Pošalji transkript korisniku",
"SEND_TO_AGENT": "Pošalji transkript dodeljenom agentu",
"SEND_TO_OTHER_EMAIL_ADDRESS": "Pošalji transkript na drugu email adresu",
"SEND_TO_CONTACT": "Send the transcript to the customer",
"SEND_TO_AGENT": "Send the transcript to the assigned agent",
"SEND_TO_OTHER_EMAIL_ADDRESS": "Send the transcript to another email address",
"EMAIL": {
"PLACEHOLDER": "Unesite email adresu",
"ERROR": "Unesite ispravnu email adresu"
"PLACEHOLDER": "Enter an email address",
"ERROR": "Please enter a valid email address"
}
}
},
@@ -323,21 +323,21 @@
"GREETING_MORNING": "👋 Good morning, {name}. Welcome to {installationName}.",
"GREETING_AFTERNOON": "👋 Good afternoon, {name}. Welcome to {installationName}.",
"GREETING_EVENING": "👋 Good evening, {name}. Welcome to {installationName}.",
"READ_LATEST_UPDATES": "Pročitaj najnovija obaveštenja",
"READ_LATEST_UPDATES": "Read our latest updates",
"ALL_CONVERSATION": {
"TITLE": "Sve konverzacije na jednom mestu",
"DESCRIPTION": "Pregledaj sve poruke od korisnika na jednoj kontrolnoj tabli. Možeš filtrirati konverzacije po kanalu, oznaci i statusu.",
"TITLE": "All your conversations in one place",
"DESCRIPTION": "View all the conversations from your customers in one single dashboard. You can filter the conversations by the incoming channel, label and status.",
"NEW_LINK": "Click here to create an inbox"
},
"TEAM_MEMBERS": {
"TITLE": "Pozovi članove tima",
"TITLE": "Invite your team members",
"DESCRIPTION": "Since you are getting ready to talk to your customer, bring in your teammates to assist you. You can invite your teammates by adding their email addresses to the agent list.",
"NEW_LINK": "Klikni ovde da pozoveš člana tima"
"NEW_LINK": "Click here to invite a team member"
},
"LABELS": {
"TITLE": "Organizuj konverzacije pomoću oznaka",
"DESCRIPTION": "Oznake olakšavaju kategorizaciju konverzacija. Kreiraj oznake kao što su #support-enquiry, #billing-question i slično, pa ih koristi kasnije u razgovorima.",
"NEW_LINK": "Klikni ovde da kreiraš oznake"
"TITLE": "Organize conversations with labels",
"DESCRIPTION": "Labels provide an easier way to categorize your conversation. Create some labels like #support-enquiry, #billing-question etc., so that you can use them in a conversation later.",
"NEW_LINK": "Click here to create tags"
},
"CANNED_RESPONSES": {
"TITLE": "Create canned responses",
@@ -346,20 +346,20 @@
}
},
"CONVERSATION_SIDEBAR": {
"ASSIGNEE_LABEL": "Dodeljeni agent",
"SELF_ASSIGN": "Dodeli meni",
"TEAM_LABEL": "Dodeljeni tim",
"ASSIGNEE_LABEL": "Assigned Agent",
"SELF_ASSIGN": "Assign to me",
"TEAM_LABEL": "Assigned Team",
"SELECT": {
"PLACEHOLDER": "Nijedan"
"PLACEHOLDER": "None"
},
"ACCORDION": {
"CONTACT_DETAILS": "Detalji kontakta",
"CONVERSATION_ACTIONS": "Radnje razgovora",
"CONVERSATION_LABELS": "Oznake razgovora",
"CONVERSATION_INFO": "Informacije o razgovoru",
"CONTACT_DETAILS": "Contact Details",
"CONVERSATION_ACTIONS": "Conversation Actions",
"CONVERSATION_LABELS": "Conversation Labels",
"CONVERSATION_INFO": "Conversation Information",
"CONTACT_NOTES": "Contact Notes",
"CONTACT_ATTRIBUTES": "Atributi kontakta",
"PREVIOUS_CONVERSATION": "Prethodni razgovori",
"CONTACT_ATTRIBUTES": "Contact Attributes",
"PREVIOUS_CONVERSATION": "Previous Conversations",
"MACROS": "Macros",
"LINEAR_ISSUES": "Linked Linear Issues",
"SHOPIFY_ORDERS": "Shopify Orders"
@@ -408,10 +408,10 @@
},
"EMAIL_HEADER": {
"FROM": "From",
"TO": "Za",
"TO": "To",
"BCC": "Bcc",
"CC": "Cc",
"SUBJECT": "Tema",
"SUBJECT": "Subject",
"EXPAND": "Expand email"
},
"CONVERSATION_PARTICIPANTS": {
@@ -1,39 +1,39 @@
{
"REPORT": {
"HEADER": "Razgovori",
"LOADING_CHART": "Učitavanje podataka grafikona...",
"NO_ENOUGH_DATA": "Nema dovoljno podataka za izveštaj. Pokušajte ponovo kasnije.",
"HEADER": "Conversations",
"LOADING_CHART": "Loading chart data...",
"NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.",
"DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports",
"DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.",
"SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.",
"METRICS": {
"CONVERSATIONS": {
"NAME": "Razgovori",
"DESC": "(Ukupno)"
"NAME": "Conversations",
"DESC": "( Total )"
},
"INCOMING_MESSAGES": {
"NAME": "Incoming Messages",
"DESC": "(Ukupno)"
"DESC": "( Total )"
},
"OUTGOING_MESSAGES": {
"NAME": "Outgoing Messages",
"DESC": "(Ukupno)"
"DESC": "( Total )"
},
"FIRST_RESPONSE_TIME": {
"NAME": "Vreme prvog odgovora",
"DESC": "(Prosek)",
"INFO_TEXT": "Ukupan broj razgovora korišćenih za izračunavanje:",
"NAME": "First Response Time",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "First Response Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_TIME": {
"NAME": "Vreme rešavanja",
"DESC": "(Prosek)",
"INFO_TEXT": "Ukupan broj razgovora korišćenih za izračunavanje:",
"NAME": "Resolution Time",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "Resolution Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_COUNT": {
"NAME": "Broj rešenja",
"DESC": "( Ukupno )"
"NAME": "Resolution Count",
"DESC": "( Total )"
},
"BOT_RESOLUTION_COUNT": {
"NAME": "Resolution Count",
@@ -61,10 +61,10 @@
"CUSTOM_DATE_RANGE": "Custom date range"
},
"CUSTOM_DATE_RANGE": {
"CONFIRM": "Primeni",
"PLACEHOLDER": "Izaberi period"
"CONFIRM": "Apply",
"PLACEHOLDER": "Select date range"
},
"GROUP_BY_FILTER_DROPDOWN_LABEL": "Grupiši po",
"GROUP_BY_FILTER_DROPDOWN_LABEL": "Group By",
"DURATION_FILTER_LABEL": "Duration",
"GROUPING_OPTIONS": {
"DAY": "Day",
@@ -75,31 +75,31 @@
"GROUP_BY_DAY_OPTIONS": [
{
"id": 1,
"groupBy": "Dan"
"groupBy": "Day"
}
],
"GROUP_BY_WEEK_OPTIONS": [
{
"id": 1,
"groupBy": "Dan"
"groupBy": "Day"
},
{
"id": 2,
"groupBy": "Nedelja"
"groupBy": "Week"
}
],
"GROUP_BY_MONTH_OPTIONS": [
{
"id": 1,
"groupBy": "Dan"
"groupBy": "Day"
},
{
"id": 2,
"groupBy": "Nedelja"
"groupBy": "Week"
},
{
"id": 3,
"groupBy": "Mesec"
"groupBy": "Month"
}
],
"GROUP_BY_YEAR_OPTIONS": [
@@ -116,7 +116,7 @@
"groupBy": "Month"
}
],
"BUSINESS_HOURS": "Radno vreme",
"BUSINESS_HOURS": "Business Hours",
"FILTER_ACTIONS": {
"CLEAR_FILTER": "Clear filter",
"EMPTY_LIST": "No results found"
@@ -127,12 +127,12 @@
}
},
"AGENT_REPORTS": {
"HEADER": "Pregled agenata",
"HEADER": "Agents Overview",
"DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.",
"LOADING_CHART": "Učitavanje podataka grafikona...",
"NO_ENOUGH_DATA": "Nema dovoljno podataka za izveštaj. Pokušajte ponovo kasnije.",
"DOWNLOAD_AGENT_REPORTS": "Preuzmi izveštaje agenata",
"FILTER_DROPDOWN_LABEL": "Izaberi agenta",
"LOADING_CHART": "Loading chart data...",
"NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.",
"DOWNLOAD_AGENT_REPORTS": "Download agent reports",
"FILTER_DROPDOWN_LABEL": "Select Agent",
"FILTERS": {
"INPUT_PLACEHOLDER": {
"AGENTS": "Search agents"
@@ -140,72 +140,72 @@
},
"METRICS": {
"CONVERSATIONS": {
"NAME": "Razgovori",
"DESC": "( Ukupno )"
"NAME": "Conversations",
"DESC": "( Total )"
},
"INCOMING_MESSAGES": {
"NAME": "Dolazne poruke",
"DESC": "( Ukupno )"
"NAME": "Incoming Messages",
"DESC": "( Total )"
},
"OUTGOING_MESSAGES": {
"NAME": "Odlazne poruke",
"DESC": "( Ukupno )"
"NAME": "Outgoing Messages",
"DESC": "( Total )"
},
"FIRST_RESPONSE_TIME": {
"NAME": "Vreme prvog odgovora",
"DESC": "( Prosek )",
"INFO_TEXT": "Ukupan broj razgovora korišćenih za izračunavanje:",
"NAME": "First Response Time",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "First Response Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_TIME": {
"NAME": "Vreme rešavanja",
"DESC": "( Prosek )",
"INFO_TEXT": "Ukupan broj razgovora korišćenih za izračunavanje:",
"NAME": "Resolution Time",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "Resolution Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_COUNT": {
"NAME": "Broj rešenja",
"DESC": "( Ukupno )"
"NAME": "Resolution Count",
"DESC": "( Total )"
}
},
"DATE_RANGE": [
{
"id": 0,
"name": "Poslednjih 7 dana"
"name": "Last 7 days"
},
{
"id": 1,
"name": "Poslednjih 30 dana"
"name": "Last 30 days"
},
{
"id": 2,
"name": "Poslednja 3 meseca"
"name": "Last 3 months"
},
{
"id": 3,
"name": "Poslednjih 6 meseci"
"name": "Last 6 months"
},
{
"id": 4,
"name": "Poslednja godina"
"name": "Last year"
},
{
"id": 5,
"name": "Prilagođen period"
"name": "Custom date range"
}
],
"CUSTOM_DATE_RANGE": {
"CONFIRM": "Primeni",
"PLACEHOLDER": "Izaberi period"
"CONFIRM": "Apply",
"PLACEHOLDER": "Select date range"
}
},
"LABEL_REPORTS": {
"HEADER": "Pregled oznaka",
"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.",
"LOADING_CHART": "Učitavanje grafikona...",
"NO_ENOUGH_DATA": "Nema dovoljno podataka za izveštaj. Pokušajte kasnije.",
"DOWNLOAD_LABEL_REPORTS": "Preuzmi izveštaje po oznakama",
"FILTER_DROPDOWN_LABEL": "Izaberi oznaku",
"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",
"FILTER_DROPDOWN_LABEL": "Select Label",
"FILTERS": {
"INPUT_PLACEHOLDER": {
"LABELS": "Search labels"
@@ -213,72 +213,72 @@
},
"METRICS": {
"CONVERSATIONS": {
"NAME": "Razgovori",
"DESC": "(Ukupno)"
"NAME": "Conversations",
"DESC": "( Total )"
},
"INCOMING_MESSAGES": {
"NAME": "Dolazne poruke",
"DESC": "(Ukupno)"
"NAME": "Incoming Messages",
"DESC": "( Total )"
},
"OUTGOING_MESSAGES": {
"NAME": "Odlazne poruke",
"DESC": "(Ukupno)"
"NAME": "Outgoing Messages",
"DESC": "( Total )"
},
"FIRST_RESPONSE_TIME": {
"NAME": "Vreme prvog odgovora",
"DESC": "(Prosek)",
"INFO_TEXT": "Ukupan broj razgovora korišćenih za izračunavanje:",
"NAME": "First Response Time",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "First Response Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_TIME": {
"NAME": "Vreme rešavanja",
"DESC": "( Prosek )",
"INFO_TEXT": "Ukupan broj razgovora korišćenih za izračunavanje:",
"NAME": "Resolution Time",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "Resolution Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_COUNT": {
"NAME": "Broj rešenih",
"DESC": "( Ukupno )"
"NAME": "Resolution Count",
"DESC": "( Total )"
}
},
"DATE_RANGE": [
{
"id": 0,
"name": "Poslednjih 7 dana"
"name": "Last 7 days"
},
{
"id": 1,
"name": "Poslednjih 30 dana"
"name": "Last 30 days"
},
{
"id": 2,
"name": "Poslednja 3 meseca"
"name": "Last 3 months"
},
{
"id": 3,
"name": "Poslednjih 6 meseci"
"name": "Last 6 months"
},
{
"id": 4,
"name": "Poslednja godina"
"name": "Last year"
},
{
"id": 5,
"name": "Prilagođen period"
"name": "Custom date range"
}
],
"CUSTOM_DATE_RANGE": {
"CONFIRM": "Primeni",
"PLACEHOLDER": "Izaberi period"
"CONFIRM": "Apply",
"PLACEHOLDER": "Select date range"
}
},
"INBOX_REPORTS": {
"HEADER": "Pregled prijemnog sandučeta",
"HEADER": "Inbox Overview",
"DESCRIPTION": "Quickly view your inbox performance with key metrics like conversations, response times, resolution times, and resolved cases—all in one place. Click an inbox name for more details.",
"LOADING_CHART": "Učitavanje podataka grafikona...",
"NO_ENOUGH_DATA": "Nema dovoljno podataka za izveštaj. Pokušajte kasnije.",
"DOWNLOAD_INBOX_REPORTS": "Preuzmi izveštaje sandučeta",
"FILTER_DROPDOWN_LABEL": "Izaberi sanduče",
"LOADING_CHART": "Loading chart data...",
"NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.",
"DOWNLOAD_INBOX_REPORTS": "Download inbox reports",
"FILTER_DROPDOWN_LABEL": "Select Inbox",
"ALL_INBOXES": "All Inboxes",
"SEARCH_INBOX": "Search Inbox",
"FILTERS": {
@@ -288,72 +288,72 @@
},
"METRICS": {
"CONVERSATIONS": {
"NAME": "Razgovori",
"DESC": "(Ukupno)"
"NAME": "Conversations",
"DESC": "( Total )"
},
"INCOMING_MESSAGES": {
"NAME": "Dolazne poruke",
"DESC": "(Ukupno)"
"NAME": "Incoming Messages",
"DESC": "( Total )"
},
"OUTGOING_MESSAGES": {
"NAME": "Poslate poruke",
"DESC": "(Ukupno)"
"NAME": "Outgoing Messages",
"DESC": "( Total )"
},
"FIRST_RESPONSE_TIME": {
"NAME": "Vreme prvog odgovora",
"DESC": "(Prosek)",
"INFO_TEXT": "Ukupan broj razgovora korišćenih za izračunavanje:",
"NAME": "First Response Time",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "First Response Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_TIME": {
"NAME": "Vreme rešavanja",
"DESC": "(Prosek)",
"INFO_TEXT": "Ukupan broj razgovora korišćenih za izračunavanje:",
"NAME": "Resolution Time",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "Resolution Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_COUNT": {
"NAME": "Broj rešenja",
"DESC": "(Ukupno)"
"NAME": "Resolution Count",
"DESC": "( Total )"
}
},
"DATE_RANGE": [
{
"id": 0,
"name": "Poslednjih 7 dana"
"name": "Last 7 days"
},
{
"id": 1,
"name": "Poslednjih 30 dana"
"name": "Last 30 days"
},
{
"id": 2,
"name": "Poslednja 3 meseca"
"name": "Last 3 months"
},
{
"id": 3,
"name": "Poslednjih 6 meseci"
"name": "Last 6 months"
},
{
"id": 4,
"name": "Prošla godina"
"name": "Last year"
},
{
"id": 5,
"name": "Prilagođen period"
"name": "Custom date range"
}
],
"CUSTOM_DATE_RANGE": {
"CONFIRM": "Primeni",
"PLACEHOLDER": "Izaberi period"
"CONFIRM": "Apply",
"PLACEHOLDER": "Select date range"
}
},
"TEAM_REPORTS": {
"HEADER": "Pregled tima",
"HEADER": "Team Overview",
"DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.",
"LOADING_CHART": "Učitavanje grafikona...",
"NO_ENOUGH_DATA": "Nema dovoljno podataka za izveštaj. Pokušajte kasnije.",
"DOWNLOAD_TEAM_REPORTS": "Preuzmi izveštaje tima",
"FILTER_DROPDOWN_LABEL": "Izaberi tim",
"LOADING_CHART": "Loading chart data...",
"NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.",
"DOWNLOAD_TEAM_REPORTS": "Download team reports",
"FILTER_DROPDOWN_LABEL": "Select Team",
"FILTERS": {
"ADD_FILTER": "Add filter",
"CLEAR_ALL": "Clear all",
@@ -364,67 +364,67 @@
},
"METRICS": {
"CONVERSATIONS": {
"NAME": "Razgovori",
"DESC": "( Ukupno )"
"NAME": "Conversations",
"DESC": "( Total )"
},
"INCOMING_MESSAGES": {
"NAME": "Dolazne poruke",
"DESC": "( Ukupno )"
"NAME": "Incoming Messages",
"DESC": "( Total )"
},
"OUTGOING_MESSAGES": {
"NAME": "Odlazne poruke",
"DESC": "( Ukupno )"
"NAME": "Outgoing Messages",
"DESC": "( Total )"
},
"FIRST_RESPONSE_TIME": {
"NAME": "Vreme prvog odgovora",
"DESC": "( Prosek )",
"INFO_TEXT": "Ukupan broj razgovora korišćenih za izračunavanje:",
"NAME": "First Response Time",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "First Response Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_TIME": {
"NAME": "Vreme rešavanja",
"DESC": "( Prosek )",
"INFO_TEXT": "Ukupan broj razgovora korišćen za izračunavanje:",
"NAME": "Resolution Time",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "Resolution Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_COUNT": {
"NAME": "Broj rešenja",
"DESC": "( Ukupno )"
"NAME": "Resolution Count",
"DESC": "( Total )"
}
},
"DATE_RANGE": [
{
"id": 0,
"name": "Poslednjih 7 dana"
"name": "Last 7 days"
},
{
"id": 1,
"name": "Poslednjih 30 dana"
"name": "Last 30 days"
},
{
"id": 2,
"name": "Poslednja 3 meseca"
"name": "Last 3 months"
},
{
"id": 3,
"name": "Poslednjih 6 meseci"
"name": "Last 6 months"
},
{
"id": 4,
"name": "Poslednja godina"
"name": "Last year"
},
{
"id": 5,
"name": "Prilagođen period"
"name": "Custom date range"
}
],
"CUSTOM_DATE_RANGE": {
"CONFIRM": "Primeni",
"PLACEHOLDER": "Izaberi period"
"CONFIRM": "Apply",
"PLACEHOLDER": "Select date range"
}
},
"CSAT_REPORTS": {
"HEADER": "CSAT izveštaji",
"HEADER": "CSAT Reports",
"NO_RECORDS": "No responses yet",
"NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.",
"DOWNLOAD": "Download CSAT Reports",
@@ -454,10 +454,10 @@
},
"TABLE": {
"HEADER": {
"CONTACT_NAME": "Kontakt",
"CONTACT_NAME": "Contact",
"AGENT_NAME": "Agent",
"RATING": "Ocena",
"FEEDBACK_TEXT": "Komentar",
"RATING": "Rating",
"FEEDBACK_TEXT": "Feedback comment",
"CONVERSATION": "Conversation",
"CUSTOMER": "Customer",
"RESPONSE": "Response",
@@ -469,16 +469,16 @@
"NO_FEEDBACK": "No feedback provided",
"METRIC": {
"TOTAL_RESPONSES": {
"LABEL": "Ukupno odgovora",
"TOOLTIP": "Ukupan broj prikupljenih odgovora"
"LABEL": "Total responses",
"TOOLTIP": "Total number of responses collected"
},
"SATISFACTION_SCORE": {
"LABEL": "Rezultat zadovoljstva",
"TOOLTIP": "Ukupan broj pozitivnih odgovora / Ukupan broj odgovora * 100"
"LABEL": "Satisfaction score",
"TOOLTIP": "Total number of positive responses / Total number of responses * 100"
},
"RESPONSE_RATE": {
"LABEL": "Stopa odgovora",
"TOOLTIP": "Ukupan broj odgovora / Ukupan broj poslatih CSAT anketa * 100"
"LABEL": "Response rate",
"TOOLTIP": "Total number of responses / Total number of CSAT survey messages sent * 100"
},
"RATING_DISTRIBUTION": "Rating distribution"
},
@@ -523,14 +523,14 @@
}
},
"OVERVIEW_REPORTS": {
"HEADER": "Pregled",
"LIVE": "U toku",
"HEADER": "Overview",
"LIVE": "Live",
"ACCOUNT_CONVERSATIONS": {
"HEADER": "Otvoreni razgovori",
"HEADER": "Open Conversations",
"LOADING_MESSAGE": "Loading conversation metrics...",
"OPEN": "Open",
"UNATTENDED": "Neobrađeni",
"UNASSIGNED": "Nedodeljeni",
"UNATTENDED": "Unattended",
"UNASSIGNED": "Unassigned",
"PENDING": "Pending"
},
"CONVERSATION_HEATMAP": {
@@ -548,9 +548,9 @@
"DOWNLOAD_REPORT": "Download report"
},
"AGENT_CONVERSATIONS": {
"HEADER": "Razgovori po agentima",
"HEADER": "Conversations by agents",
"LOADING_MESSAGE": "Loading agent metrics...",
"NO_AGENTS": "Nema razgovora po agentima",
"NO_AGENTS": "There are no conversations by agents",
"TABLE_HEADER": {
"AGENT": "Agent",
"OPEN": "Open",
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -126,7 +126,7 @@
},
"HELP_TEXT": {
"TITLE": "Kako uporabljati Slack integracijo?",
"BODY": "S to integracijo se vsi dohodni pogovori sinhronizirajo v kanal ***{selectedChannelName}*** v vašem delovnem prostoru. Pogovore s strankami lahko upravljate neposredno v tem kanalu, zato ne spregledate nobenega sporočila.\n\nTukaj so glavne funkcije integracije:\n\n**Odgovarjanje na pogovore iz kanala:** Če želite odgovoriti na pogovor v kanalu ***{selectedChannelName}***, preprosto napišite sporočilo in ga pošljite kot nit. Tako se odgovor samodejno pošlje stranki. Tako preprosto je!\n\n**Ustvarjanje zasebnih opomb:** Če želite ustvariti zasebne opombe namesto odgovorov, začnite sporočilo z ***`note:`***. Tako sporočilo ostane zasebno in stranki ni vidno.\n\n**Povezava s profilom agenta:** Če ima oseba, ki odgovori v kanalu, profil agenta z istim naslovom elektronske pošte, se odgovori samodejno povežejo s tem profilom. Tako lahko preprosto spremljate, kdo je kaj napisal in kdaj. Če odgovarja oseba brez povezanega profila agenta, se odgovori stranki prikažejo iz privzetega profila.",
"BODY": "With this integration, all of your incoming conversations will be synced to the ***{selectedChannelName}*** channel in your Slack workspace. You can manage all your customer conversations right within the channel and never miss a message.\n\nHere are the main features of the integration:\n\n**Respond to conversations from within Slack:** To respond to a conversation in the ***{selectedChannelName}*** Slack channel, simply type out your message and send it as a thread. This will create a response back to the customer through Chatwoot. It's that simple!\n\n **Create private notes:** If you want to create private notes instead of replies, start your message with ***`note:`***. This ensures that your message is kept private and won't be visible to the customer.\n\n**Associate an agent profile:** If the person who replied on Slack has an agent profile in Chatwoot under the same email, the replies will be associated with that agent profile automatically. This means you can easily track who said what and when. On the other hand, when the replier doesn't have an associated agent profile, the replies will appear from the bot profile to the customer.",
"SELECTED": "izbrano"
},
"SELECT_CHANNEL": {
@@ -908,18 +908,18 @@
"DOCUMENTABLE": {
"CONVERSATION": "Pogovor #{id}"
},
"SELECTED": "{count} izbranih",
"SELECTED": "{count} selected",
"SELECT_ALL": "Select all ({count})",
"UNSELECT_ALL": "Unselect all ({count})",
"SEARCH_PLACEHOLDER": "Search FAQs...",
"BULK_APPROVE_BUTTON": "Odobri",
"BULK_APPROVE_BUTTON": "Approve",
"BULK_DELETE_BUTTON": "Izbriši",
"BULK_APPROVE": {
"SUCCESS_MESSAGE": "Pogosta vprašanja so bila uspešno odobrena",
"ERROR_MESSAGE": "Pri odobritvi pogostih vprašanj je prišlo do napake, prosimo, poskusite znova."
"SUCCESS_MESSAGE": "FAQs approved successfully",
"ERROR_MESSAGE": "There was an error approving the FAQs, please try again."
},
"BULK_DELETE": {
"TITLE": "Izbrisati pogosta vprašanja?",
"TITLE": "Delete FAQs?",
"DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.",
"CONFIRM": "Yes, delete all",
"SUCCESS_MESSAGE": "FAQs deleted successfully",
@@ -979,7 +979,7 @@
"EMPTY_STATE": {
"TITLE": "Ni najdenih pogostih vprašanj",
"NO_PENDING_TITLE": "There are no more pending FAQs to review",
"SUBTITLE": "Pogosta vprašanja pomagajo vašemu asistentu hitro in natančno odgovarjati na vprašanja vaših strank. Lahko se samodejno ustvarijo iz vaše vsebine ali pa jih dodate ročno.",
"SUBTITLE": "FAQs help your assistant provide quick and accurate answers to questions from your customers. They can be generated automatically from your content or can be added manually.",
"CLEAR_SEARCH": "Clear active filters",
"FEATURE_SPOTLIGHT": {
"TITLE": "Captain FAQ",
@@ -1015,7 +1015,7 @@
},
"EMPTY_STATE": {
"TITLE": "Ni povezanih poštnih predalov",
"SUBTITLE": "Povezava z nabiralnikom omogoča asistentu, da obravnava začetna vprašanja vaših strank, preden jih preusmeri k vam."
"SUBTITLE": "Connecting an inbox allows the assistant to handle initial questions from your customers before transferring them to you."
}
}
}
@@ -2,37 +2,37 @@
"REPORT": {
"HEADER": "Conversations",
"LOADING_CHART": "Loading chart data...",
"NO_ENOUGH_DATA": "Nismo prejeli dovolj podatkov za ustvarjanje poročila. Poskusite znova pozneje.",
"NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.",
"DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports",
"DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.",
"SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.",
"METRICS": {
"CONVERSATIONS": {
"NAME": "Conversations",
"DESC": "(Skupaj)"
"DESC": "( Total )"
},
"INCOMING_MESSAGES": {
"NAME": "Messages received",
"DESC": "(Skupaj)"
"DESC": "( Total )"
},
"OUTGOING_MESSAGES": {
"NAME": "Messages sent",
"DESC": "(Skupaj)"
"DESC": "( Total )"
},
"FIRST_RESPONSE_TIME": {
"NAME": "First Response Time",
"DESC": "(Povprečje)",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "First Response Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_TIME": {
"NAME": "Čas rešitve",
"DESC": "(Povprečje)",
"NAME": "Resolution Time",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "Resolution Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_COUNT": {
"NAME": "Število rešitev",
"NAME": "Resolution Count",
"DESC": "( Total )"
},
"BOT_RESOLUTION_COUNT": {
@@ -1,97 +1,97 @@
{
"CONTACT_PANEL": {
"NOT_AVAILABLE": "Nuk është në dispozicion",
"NOT_AVAILABLE": "Not Available",
"EMAIL_ADDRESS": "Email Address",
"PHONE_NUMBER": "Numri i telefonit",
"IDENTIFIER": "Identifikuesi",
"COPY_SUCCESSFUL": "Kopjuar në kujtesën e përkohshme me sukses",
"COMPANY": "Kompania",
"LOCATION": "Vendndodhja",
"BROWSER_LANGUAGE": "Gjuha e shfletuesit",
"CONVERSATION_TITLE": "Detajet e Bisedës",
"VIEW_PROFILE": "Shiko Profilin",
"BROWSER": "Shfletuesi",
"OS": "Sistemi Operativ",
"PHONE_NUMBER": "Phone number",
"IDENTIFIER": "Identifier",
"COPY_SUCCESSFUL": "Copied to clipboard successfully",
"COMPANY": "Company",
"LOCATION": "Location",
"BROWSER_LANGUAGE": "Browser Language",
"CONVERSATION_TITLE": "Conversation Details",
"VIEW_PROFILE": "View Profile",
"BROWSER": "Browser",
"OS": "Operating System",
"INITIATED_FROM": "Initiated from",
"INITIATED_AT": "Initiated at",
"IP_ADDRESS": "Adresa IP",
"CREATED_AT_LABEL": "Krijuar",
"NEW_MESSAGE": "Mesazh i ri",
"IP_ADDRESS": "IP Address",
"CREATED_AT_LABEL": "Created",
"NEW_MESSAGE": "New message",
"CALL": "Telefono",
"CALL_INITIATED": "Duke thirrur kontaktin…",
"CALL_FAILED": "Nuk mund të fillohet thirrja. Ju lutemi provoni përsëri.",
"CALL_INITIATED": "Calling the contact…",
"CALL_FAILED": "Unable to start the call. Please try again.",
"VOICE_INBOX_PICKER": {
"TITLE": "Zgjidhni një inbox të zërit"
},
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "Nuk ka biseda të mëparshme të lidhura me këtë kontakt.",
"TITLE": "Bisedat e Mëparshme"
"NO_RECORDS_FOUND": "There are no previous conversations associated to this contact.",
"TITLE": "Previous Conversations"
},
"LABELS": {
"CONTACT": {
"TITLE": "Etiketat e kontaktit",
"TITLE": "Contact Labels",
"ERROR": "Couldn't update labels"
},
"CONVERSATION": {
"TITLE": "Etiketat e bisedës",
"ADD_BUTTON": "Shto Etiketa"
"TITLE": "Conversation Labels",
"ADD_BUTTON": "Add Labels"
},
"LABEL_SELECT": {
"TITLE": "Shto Etiketa",
"PLACEHOLDER": "Kërko etiketa",
"NO_RESULT": "Nuk u gjetën etiketa",
"CREATE_LABEL": "Krijo etiketë të re"
"TITLE": "Add Labels",
"PLACEHOLDER": "Search labels",
"NO_RESULT": "No labels found",
"CREATE_LABEL": "Create new label"
}
},
"MERGE_CONTACT": "Bashko kontaktin",
"CONTACT_ACTIONS": "Veprimet e kontaktit",
"MUTE_CONTACT": "Blloko Kontaktin",
"UNMUTE_CONTACT": "Zhblloko Kontaktin",
"MUTED_SUCCESS": "Ky kontakt është bllokuar me sukses. Nuk do të njoftoheni për bisedat e ardhshme.",
"UNMUTED_SUCCESS": "Ky kontakt është zhbllokuar me sukses.",
"MERGE_CONTACT": "Merge contact",
"CONTACT_ACTIONS": "Contact actions",
"MUTE_CONTACT": "Block Contact",
"UNMUTE_CONTACT": "Unblock Contact",
"MUTED_SUCCESS": "This contact is blocked successfully. You will not be notified of any future conversations.",
"UNMUTED_SUCCESS": "This contact is unblocked successfully.",
"SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "Ndrysho",
"EDIT_LABEL": "Edit",
"SIDEBAR_SECTIONS": {
"CUSTOM_ATTRIBUTES": "Atribute të personalizuara",
"CONTACT_LABELS": "Etiketat e kontaktit",
"PREVIOUS_CONVERSATIONS": "Bisedat e mëparshme",
"NO_RECORDS_FOUND": "Nuk u gjetën atribute"
"CUSTOM_ATTRIBUTES": "Custom Attributes",
"CONTACT_LABELS": "Contact Labels",
"PREVIOUS_CONVERSATIONS": "Previous Conversations",
"NO_RECORDS_FOUND": "No attributes found"
}
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "Ndrysho Kontaktin",
"TITLE": "Ndrysho kontaktin",
"DESC": "Ndrysho detajet e kontaktit"
"BUTTON_LABEL": "Edit Contact",
"TITLE": "Edit contact",
"DESC": "Edit contact details"
},
"DELETE_CONTACT": {
"BUTTON_LABEL": "Fshi Kontaktin",
"TITLE": "Fshi kontaktin",
"DESC": "Fshi detajet e kontaktit",
"BUTTON_LABEL": "Delete Contact",
"TITLE": "Delete contact",
"DESC": "Delete contact details",
"CONFIRM": {
"TITLE": "Konfirmo fshirjen",
"MESSAGE": "A jeni i sigurt që dëshironi ta fshini ",
"YES": "Po, Fshi",
"NO": "Jo, Ruaj"
"TITLE": "Confirm Deletion",
"MESSAGE": "Are you sure to delete ",
"YES": "Yes, Delete",
"NO": "No, Keep"
},
"API": {
"SUCCESS_MESSAGE": "Kontakti u fshi me sukses",
"ERROR_MESSAGE": "Nuk mund të fshihet kontakti. Ju lutemi provoni përsëri më vonë."
"SUCCESS_MESSAGE": "Contact deleted successfully",
"ERROR_MESSAGE": "Could not delete contact. Please try again later."
}
},
"CONTACT_FORM": {
"FORM": {
"SUBMIT": "Dërgo",
"CANCEL": "Anulo",
"SUBMIT": "Submit",
"CANCEL": "Cancel",
"AVATAR": {
"LABEL": "Contact Avatar"
},
"NAME": {
"PLACEHOLDER": "Shkruaj emrin e plotë të kontaktit",
"PLACEHOLDER": "Enter the full name of the contact",
"LABEL": "Emri i plotë"
},
"BIO": {
"PLACEHOLDER": "Shkruaj biografinë e kontaktit",
"LABEL": "Biografi"
"PLACEHOLDER": "Enter the bio of the contact",
"LABEL": "Bio"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Enter the email address of the contact",
@@ -100,31 +100,31 @@
"ERROR": "Please enter a valid email address."
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Shkruani numrin e telefonit të kontaktit",
"LABEL": "Numri i Telefonit",
"HELP": "Numri i telefonit duhet të jetë në formatin E.164 p.sh: +1415555555 [+][kodi i vendit][kodi i zonës][numri lokal i telefonit]. Mund të zgjidhni kodin e thirrjes nga lista rënëse.",
"ERROR": "Numri i telefonit duhet të jetë bosh ose në formatin E.164",
"DIAL_CODE_ERROR": "Ju lutemi zgjidhni një kod thirrjeje nga lista",
"DUPLICATE": "Ky numër telefoni përdoret për një kontakt tjetër."
"PLACEHOLDER": "Enter the phone number of the contact",
"LABEL": "Phone Number",
"HELP": "Phone number should be of E.164 format eg: +1415555555 [+][country code][area code][local phone number]. You can select the dial code from the dropdown.",
"ERROR": "Phone number should be either empty or of E.164 format",
"DIAL_CODE_ERROR": "Please select a dial code from the list",
"DUPLICATE": "This phone number is in use for another contact."
},
"LOCATION": {
"PLACEHOLDER": "Shkruani vendndodhjen e kontaktit",
"LABEL": "Vendndodhja"
"PLACEHOLDER": "Enter the location of the contact",
"LABEL": "Location"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Shkruani emrin e kompanisë",
"LABEL": "Emri i Kompanisë"
"PLACEHOLDER": "Enter the company name",
"LABEL": "Company Name"
},
"COUNTRY": {
"PLACEHOLDER": "Shkruani emrin e vendit",
"LABEL": "Emri i vendit",
"SELECT_PLACEHOLDER": "Zgjidh",
"REMOVE": "Hiq",
"SELECT_COUNTRY": "Zgjidh vendin"
"PLACEHOLDER": "Enter the country name",
"LABEL": "Country Name",
"SELECT_PLACEHOLDER": "Select",
"REMOVE": "Remove",
"SELECT_COUNTRY": "Select Country"
},
"CITY": {
"PLACEHOLDER": "Shkruani emrin e qytetit",
"LABEL": "Emri i qytetit"
"PLACEHOLDER": "Enter the city name",
"LABEL": "City Name"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
@@ -148,140 +148,140 @@
"DELETE_AVATAR": {
"API": {
"SUCCESS_MESSAGE": "Contact avatar deleted successfully",
"ERROR_MESSAGE": "Nuk mund të fshihej fotoja e kontaktit. Ju lutemi provoni përsëri më vonë."
"ERROR_MESSAGE": "Could not delete the contact avatar. Please try again later."
}
},
"SUCCESS_MESSAGE": "Kontakti u ruajt me sukses",
"ERROR_MESSAGE": "Ndodhi një gabim, ju lutemi provoni përsëri"
"SUCCESS_MESSAGE": "Contact saved successfully",
"ERROR_MESSAGE": "There was an error, please try again"
},
"NEW_CONVERSATION": {
"BUTTON_LABEL": "Filloni bisedën",
"TITLE": "Bisedë e re",
"DESC": "Filloni një bisedë të re duke dërguar një mesazh të ri.",
"NO_INBOX": "Nuk u gjet asnjë kutia postare për të nisur një bisedë të re me këtë kontakt.",
"BUTTON_LABEL": "Start conversation",
"TITLE": "New conversation",
"DESC": "Start a new conversation by sending a new message.",
"NO_INBOX": "Couldn't find an inbox to initiate a new conversation with this contact.",
"FORM": {
"TO": {
"LABEL": "Drejtuar"
"LABEL": "To"
},
"INBOX": {
"LABEL": "Via Inbox",
"PLACEHOLDER": "Zgjidhni kutinë hyrëse të burimit",
"ERROR": "Zgjidhni një postë hyrëse"
"PLACEHOLDER": "Choose source inbox",
"ERROR": "Select an inbox"
},
"SUBJECT": {
"LABEL": "Subjekti",
"PLACEHOLDER": "Subjekti",
"ERROR": "Subjekti nuk mund të jetë bosh"
"LABEL": "Subject",
"PLACEHOLDER": "Subject",
"ERROR": "Subject can't be empty"
},
"MESSAGE": {
"LABEL": "Mesazh",
"PLACEHOLDER": "Shkruani mesazhin tuaj këtu",
"ERROR": "Mesazhi nuk mund të jetë bosh"
"LABEL": "Message",
"PLACEHOLDER": "Write your message here",
"ERROR": "Message can't be empty"
},
"ATTACHMENTS": {
"SELECT": "Zgjidh skedarët",
"HELP_TEXT": "Tërhiq dhe lësho skedarë këtu ose zgjidh skedarë për t’i bashkangjitur"
"SELECT": "Choose files",
"HELP_TEXT": "Drag and drop files here or choose files to attach"
},
"SUBMIT": "Dërgo mesazh",
"CANCEL": "Anulo",
"SUCCESS_MESSAGE": "Mesazhi u dërgua!",
"GO_TO_CONVERSATION": "Shiko",
"ERROR_MESSAGE": "Nuk u mund të dërgohet! provo përsëri"
"SUBMIT": "Send message",
"CANCEL": "Cancel",
"SUCCESS_MESSAGE": "Message sent!",
"GO_TO_CONVERSATION": "View",
"ERROR_MESSAGE": "Couldn't send! try again"
}
},
"CONTACTS_PAGE": {
"LIST": {
"TABLE_HEADER": {
"SOCIAL_PROFILES": "Profile Sociale"
"SOCIAL_PROFILES": "Social Profiles"
}
}
},
"CUSTOM_ATTRIBUTES": {
"BUTTON": "Shto atribut të personalizuar",
"COPY_SUCCESSFUL": "U kopjua me sukses në kujtesën e përkohshme",
"SHOW_MORE": "Trego të gjitha atributet",
"SHOW_LESS": "Trego më pak atribute",
"BUTTON": "Add custom attribute",
"COPY_SUCCESSFUL": "Copied to clipboard successfully",
"SHOW_MORE": "Show all attributes",
"SHOW_LESS": "Show less attributes",
"ACTIONS": {
"COPY": "Kopjo atributin",
"DELETE": "Fshi atributin",
"EDIT": "Ndrysho atributin"
"COPY": "Copy attribute",
"DELETE": "Delete attribute",
"EDIT": "Edit attribute"
},
"ADD": {
"TITLE": "Krijo atribut të personalizuar",
"DESC": "Shto informacion shtesë për këtë kontakt."
"TITLE": "Create custom attribute",
"DESC": "Add custom information to this contact."
},
"FORM": {
"CREATE": "Shto atribut",
"CANCEL": "Anulo",
"CREATE": "Add attribute",
"CANCEL": "Cancel",
"NAME": {
"LABEL": "Emri i atributit të personalizuar",
"PLACEHOLDER": "Shembull: shopify id",
"ERROR": "Emri i atributit të personalizuar është i pavlefshëm"
"LABEL": "Custom attribute name",
"PLACEHOLDER": "Eg: shopify id",
"ERROR": "Invalid custom attribute name"
},
"VALUE": {
"LABEL": "Vlera e atributit",
"LABEL": "Attribute value",
"PLACEHOLDER": "Eg: 11901 "
},
"ADD": {
"TITLE": "Krijo atribut të ri ",
"SUCCESS": "Atributi u shtua me sukses",
"ERROR": "Nuk mund të shtohet atributi. Ju lutemi provoni përsëri më vonë"
"TITLE": "Create new attribute ",
"SUCCESS": "Attribute added successfully",
"ERROR": "Unable to add attribute. Please try again later"
},
"UPDATE": {
"SUCCESS": "Atributi u përditësua me sukses",
"ERROR": "Nuk mund të përditësohet atributi. Ju lutemi provoni përsëri më vonë"
"SUCCESS": "Attribute updated successfully",
"ERROR": "Unable to update attribute. Please try again later"
},
"DELETE": {
"SUCCESS": "Atributi u fshi me sukses",
"ERROR": "Nuk mund të fshihet atributi. Ju lutemi provoni përsëri më vonë"
"SUCCESS": "Attribute deleted successfully",
"ERROR": "Unable to delete attribute. Please try again later"
},
"ATTRIBUTE_SELECT": {
"TITLE": "Shto atribute",
"PLACEHOLDER": "Kërko atribute",
"NO_RESULT": "Nuk u gjetën atribute"
"TITLE": "Add attributes",
"PLACEHOLDER": "Search attributes",
"NO_RESULT": "No attributes found"
},
"ATTRIBUTE_TYPE": {
"LIST": {
"PLACEHOLDER": "Zgjidh vlerën",
"SEARCH_INPUT_PLACEHOLDER": "Kërko vlerën",
"NO_RESULT": "Nuk u gjet asnjë rezultat"
"PLACEHOLDER": "Select value",
"SEARCH_INPUT_PLACEHOLDER": "Search value",
"NO_RESULT": "No result found"
}
}
},
"VALIDATIONS": {
"REQUIRED": "Kërkohet një vlerë e vlefshme",
"INVALID_URL": "URL e pavlefshme",
"INVALID_INPUT": "Hyrje e pavlefshme"
"REQUIRED": "Valid value is required",
"INVALID_URL": "Invalid URL",
"INVALID_INPUT": "Invalid Input"
}
},
"MERGE_CONTACTS": {
"TITLE": "Bashko kontaktet",
"DESCRIPTION": "Bashkoni kontaktet për të kombinuar dy profile në një, duke përfshirë të gjitha atributet dhe bisedat. Në rast konflikti, atributet e kontaktit kryesor do të kenë përparësi.",
"TITLE": "Merge contacts",
"DESCRIPTION": "Merge contacts to combine two profiles into one, including all attributes and conversations. In case of conflict, the Primary contact’s attributes will take precedence.",
"PRIMARY": {
"TITLE": "Kontakti kryesor",
"HELP_LABEL": "Për t'u fshirë"
"TITLE": "Primary contact",
"HELP_LABEL": "To be deleted"
},
"PARENT": {
"TITLE": "Kontakti për t'u bashkuar",
"PLACEHOLDER": "Kërko për një kontakt",
"HELP_LABEL": "Të mbahet"
"TITLE": "Contact to merge",
"PLACEHOLDER": "Search for a contact",
"HELP_LABEL": "To be kept"
},
"SUMMARY": {
"TITLE": "Përmbledhje",
"DELETE_WARNING": "Kontakti i <strong>{primaryContactName}</strong> do të fshihet.",
"ATTRIBUTE_WARNING": "Detajet e kontaktit të <strong>{primaryContactName}</strong> do të kopjohen tek <strong>{parentContactName}</strong>."
"TITLE": "Summary",
"DELETE_WARNING": "Contact of <strong>{primaryContactName}</strong> will be deleted.",
"ATTRIBUTE_WARNING": "Contact details of <strong>{primaryContactName}</strong> will be copied to <strong>{parentContactName}</strong>."
},
"SEARCH": {
"ERROR_MESSAGE": "Diçka shkoi keq. Ju lutemi provoni përsëri më vonë."
"ERROR_MESSAGE": "Something went wrong. Please try again later."
},
"FORM": {
"SUBMIT": " Bashko kontaktet",
"CANCEL": "Anulo",
"SUBMIT": " Merge contacts",
"CANCEL": "Cancel",
"CHILD_CONTACT": {
"ERROR": "Zgjidhni një kontakt fëmijë për t'u bashkuar"
"ERROR": "Select a child contact to merge"
},
"SUCCESS_MESSAGE": "Kontakti u bashkua me sukses",
"ERROR_MESSAGE": "Nuk mund të bashkohen kontaktet, provo përsëri!"
"SUCCESS_MESSAGE": "Contact merged successfully",
"ERROR_MESSAGE": "Could not merge contacts, try again!"
},
"DROPDOWN_ITEM": {
"ID": "(ID: {identifier})"
@@ -289,88 +289,88 @@
},
"CONTACTS_LAYOUT": {
"HEADER": {
"TITLE": "Kontaktet",
"SEARCH_TITLE": "Kërko kontakte",
"TITLE": "Contacts",
"SEARCH_TITLE": "Search contacts",
"ACTIVE_TITLE": "Kontaktet aktive",
"SEARCH_PLACEHOLDER": "Kërko...",
"MESSAGE_BUTTON": "Mesazh",
"SEND_MESSAGE": "Dërgo mesazh",
"BLOCK_CONTACT": "Blloko kontaktin",
"UNBLOCK_CONTACT": "Zhblloko kontaktin",
"SEARCH_PLACEHOLDER": "Search...",
"MESSAGE_BUTTON": "Message",
"SEND_MESSAGE": "Send message",
"BLOCK_CONTACT": "Block contact",
"UNBLOCK_CONTACT": "Unblock contact",
"BREADCRUMB": {
"CONTACTS": "Kontakte"
"CONTACTS": "Contacts"
},
"ACTIONS": {
"CONTACT_CREATION": {
"ADD_CONTACT": "Shto kontakt",
"EXPORT_CONTACT": "Eksporto kontaktet",
"IMPORT_CONTACT": "Importo kontaktet",
"SAVE_CONTACT": "Ruaj kontaktin",
"EMAIL_ADDRESS_DUPLICATE": "Kjo adresë email është përdorur për një kontakt tjetër.",
"PHONE_NUMBER_DUPLICATE": "Ky numër telefoni është përdorur për një kontakt tjetër.",
"SUCCESS_MESSAGE": "Kontakti u ruajt me sukses",
"ERROR_MESSAGE": "Nuk mund të ruhet kontakti. Ju lutemi provoni përsëri më vonë."
"ADD_CONTACT": "Add contact",
"EXPORT_CONTACT": "Export contacts",
"IMPORT_CONTACT": "Import contacts",
"SAVE_CONTACT": "Save contact",
"EMAIL_ADDRESS_DUPLICATE": "This email address is in use for another contact.",
"PHONE_NUMBER_DUPLICATE": "This phone number is in use for another contact.",
"SUCCESS_MESSAGE": "Contact saved successfully",
"ERROR_MESSAGE": "Unable to save contact. Please try again later."
},
"BLOCK_SUCCESS_MESSAGE": "Ky kontakt është bllokuar me sukses",
"BLOCK_ERROR_MESSAGE": "Nuk mund të bllokohet kontakti. Ju lutemi provoni përsëri më vonë.",
"UNBLOCK_SUCCESS_MESSAGE": "Ky kontakt është zhbllokuar me sukses",
"UNBLOCK_ERROR_MESSAGE": "Nuk mund të zhbllokohet kontakti. Ju lutemi provoni përsëri më vonë.",
"BLOCK_SUCCESS_MESSAGE": "This contact is blocked successfully",
"BLOCK_ERROR_MESSAGE": "Unable to block contact. Please try again later.",
"UNBLOCK_SUCCESS_MESSAGE": "This contact is unblocked successfully",
"UNBLOCK_ERROR_MESSAGE": "Unable to unblock contact. Please try again later.",
"IMPORT_CONTACT": {
"TITLE": "Importo kontaktet",
"DESCRIPTION": "Importo kontaktet përmes një skedari CSV.",
"TITLE": "Import contacts",
"DESCRIPTION": "Import contacts through a CSV file.",
"DOWNLOAD_LABEL": "Download a sample csv.",
"LABEL": "Skedari CSV:",
"CHOOSE_FILE": "Zgjidh skedarin",
"CHANGE": "Ndrysho",
"CANCEL": "Anulo",
"IMPORT": "Importo",
"SUCCESS_MESSAGE": "Do të njoftoheni me email kur importimi të përfundojë.",
"ERROR_MESSAGE": "Ndodhi një gabim, ju lutemi provoni përsëri"
"LABEL": "CSV File:",
"CHOOSE_FILE": "Choose file",
"CHANGE": "Change",
"CANCEL": "Cancel",
"IMPORT": "Import",
"SUCCESS_MESSAGE": "You will be notified via email when the import is complete.",
"ERROR_MESSAGE": "There was an error, please try again"
},
"EXPORT_CONTACT": {
"TITLE": "Eksporto kontaktet",
"DESCRIPTION": "Eksporto shpejt një skedar csv me detaje të plota të kontakteve tuaja",
"CONFIRM": "Eksporto",
"SUCCESS_MESSAGE": "Eksportimi është në proces. Do të njoftoheni me email kur skedari i eksportit të jetë gati për shkarkim.",
"ERROR_MESSAGE": "Ndodhi një gabim, ju lutemi provoni përsëri"
"TITLE": "Export contacts",
"DESCRIPTION": "Quickly export a csv file with comprehensive details of your contacts",
"CONFIRM": "Export",
"SUCCESS_MESSAGE": "Export is in progress. You will be notified on email when the export file is ready to download.",
"ERROR_MESSAGE": "There was an error, please try again"
},
"SORT_BY": {
"LABEL": "Rendit sipas",
"LABEL": "Sort by",
"OPTIONS": {
"NAME": "Emri",
"NAME": "Name",
"EMAIL": "Email",
"PHONE_NUMBER": "Numri i telefonit",
"COMPANY": "Kompania",
"COUNTRY": "Shteti",
"CITY": "Qyteti",
"LAST_ACTIVITY": "Aktiviteti i fundit",
"CREATED_AT": "Krijuar më"
"PHONE_NUMBER": "Phone number",
"COMPANY": "Company",
"COUNTRY": "Country",
"CITY": "City",
"LAST_ACTIVITY": "Last activity",
"CREATED_AT": "Created at"
}
},
"ORDER": {
"LABEL": "Renditja",
"LABEL": "Ordering",
"OPTIONS": {
"ASCENDING": "Në rritje",
"DESCENDING": "Në zbritje"
"ASCENDING": "Ascending",
"DESCENDING": "Descending"
}
},
"FILTERS": {
"CREATE_SEGMENT": {
"TITLE": "Dëshironi të ruani këtë filtër?",
"CONFIRM": "Ruaj filtrin",
"LABEL": "Emri",
"PLACEHOLDER": "Shkruani emrin e filtrit",
"ERROR": "Shkruani një emër të vlefshëm",
"SUCCESS_MESSAGE": "Filtri u ruajt me sukses",
"ERROR_MESSAGE": "Nuk mund të ruhet filtri. Ju lutemi provoni përsëri më vonë."
"TITLE": "Do you want to save this filter?",
"CONFIRM": "Save filter",
"LABEL": "Name",
"PLACEHOLDER": "Enter the name of the filter",
"ERROR": "Enter a valid name",
"SUCCESS_MESSAGE": "Filter saved successfully",
"ERROR_MESSAGE": "Unable to save filter. Please try again later."
},
"DELETE_SEGMENT": {
"TITLE": "Konfirmo Fshirjen",
"TITLE": "Confirm Deletion",
"DESCRIPTION": "Are you sure you want to delete this filter?",
"CONFIRM": "Po, Fshi",
"CANCEL": "Jo, Anulo",
"SUCCESS_MESSAGE": "Filtri u fshi me sukses",
"ERROR_MESSAGE": "Nuk mund të fshihet filtri. Ju lutemi provoni përsëri më vonë."
"CONFIRM": "Yes, Delete",
"CANCEL": "No, Cancel",
"SUCCESS_MESSAGE": "Filter deleted successfully",
"ERROR_MESSAGE": "Unable to delete filter. Please try again later."
}
}
}
@@ -379,74 +379,74 @@
"SHOWING": "Showing {startItem} - {endItem} of {totalItems} contacts"
},
"FILTER": {
"NAME": "Emri",
"NAME": "Name",
"EMAIL": "Email",
"PHONE_NUMBER": "Numri i telefonit",
"IDENTIFIER": "Identifikuesi",
"COUNTRY": "Shteti",
"CITY": "Qyteti",
"CREATED_AT": "Krijuar më",
"LAST_ACTIVITY": "Aktiviteti i fundit",
"REFERER_LINK": "Lidhja referuese",
"BLOCKED": "Bllokuar",
"BLOCKED_TRUE": "E vërtetë",
"BLOCKED_FALSE": "E pavërtetë",
"PHONE_NUMBER": "Phone number",
"IDENTIFIER": "Identifier",
"COUNTRY": "Country",
"CITY": "City",
"CREATED_AT": "Created at",
"LAST_ACTIVITY": "Last activity",
"REFERER_LINK": "Referer link",
"BLOCKED": "Blocked",
"BLOCKED_TRUE": "True",
"BLOCKED_FALSE": "False",
"BUTTONS": {
"CLEAR_FILTERS": "Pastro filtrat",
"UPDATE_SEGMENT": "Përditëso segmentin",
"APPLY_FILTERS": "Zbato filtrat",
"ADD_FILTER": "Shto filtër"
"CLEAR_FILTERS": "Clear filters",
"UPDATE_SEGMENT": "Update segment",
"APPLY_FILTERS": "Apply filters",
"ADD_FILTER": "Add filter"
},
"TITLE": "Filtro kontaktet",
"EDIT_SEGMENT": "Ndrysho segmentin",
"TITLE": "Filter contacts",
"EDIT_SEGMENT": "Edit segment",
"SEGMENT": {
"LABEL": "Emri i segmentit",
"INPUT_PLACEHOLDER": "Shkruani emrin e segmentit"
"LABEL": "Segment name",
"INPUT_PLACEHOLDER": "Enter the name of the segment"
},
"ACTIVE_FILTERS": {
"MORE_FILTERS": "+ {count} filtra të tjerë",
"CLEAR_FILTERS": "Pastro filtrat"
"MORE_FILTERS": "+ {count} more filters",
"CLEAR_FILTERS": "Clear filters"
}
},
"CARD": {
"OF": "e",
"VIEW_DETAILS": "Shiko detajet",
"OF": "of",
"VIEW_DETAILS": "View details",
"EDIT_DETAILS_FORM": {
"TITLE": "Ndrysho detajet e kontaktit",
"TITLE": "Edit contact details",
"FORM": {
"FIRST_NAME": {
"PLACEHOLDER": "Shkruaj emrin"
"PLACEHOLDER": "Enter the first name"
},
"LAST_NAME": {
"PLACEHOLDER": "Shkruaj mbiemrin"
"PLACEHOLDER": "Enter the last name"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Enter the email address",
"DUPLICATE": "Kjo adresë email është në përdorim për një kontakt tjetër."
"DUPLICATE": "This email address is in use for another contact."
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Futni numrin e telefonit",
"DUPLICATE": "Ky numër telefoni është në përdorim për një kontakt tjetër."
"PLACEHOLDER": "Enter the phone number",
"DUPLICATE": "This phone number is in use for another contact."
},
"CITY": {
"PLACEHOLDER": "Futni emrin e qytetit"
"PLACEHOLDER": "Enter the city name"
},
"COUNTRY": {
"PLACEHOLDER": "Zgjidhni vendin"
"PLACEHOLDER": "Select country"
},
"BIO": {
"PLACEHOLDER": "Futni biografinë"
"PLACEHOLDER": "Enter the bio"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Shkruani emrin e kompanisë"
"PLACEHOLDER": "Enter the company name"
}
},
"UPDATE_BUTTON": "Përditëso kontaktin",
"SUCCESS_MESSAGE": "Kontakti u përditësua me sukses",
"ERROR_MESSAGE": "Nuk mund të përditësohet kontakti. Ju lutemi provoni përsëri më vonë."
"UPDATE_BUTTON": "Update contact",
"SUCCESS_MESSAGE": "Contact updated successfully",
"ERROR_MESSAGE": "Unable to update contact. Please try again later."
},
"SOCIAL_MEDIA": {
"TITLE": "Ndrysho lidhjet sociale",
"TITLE": "Edit social links",
"FORM": {
"FACEBOOK": {
"PLACEHOLDER": "Add Facebook"
@@ -458,7 +458,7 @@
"PLACEHOLDER": "Add Instagram"
},
"TELEGRAM": {
"PLACEHOLDER": "Shto Telegram"
"PLACEHOLDER": "Add Telegram"
},
"TIKTOK": {
"PLACEHOLDER": "Add TikTok"
@@ -477,182 +477,182 @@
}
},
"DETAILS": {
"CREATED_AT": "Krijuar më {date}",
"LAST_ACTIVITY": "Aktiv i fundit {date}",
"DELETE_CONTACT_DESCRIPTION": "Fshij përgjithmonë këtë kontakt. Kjo veprim është i pakthyeshëm",
"DELETE_CONTACT": "Fshi kontaktin",
"CREATED_AT": "Created {date}",
"LAST_ACTIVITY": "Last active {date}",
"DELETE_CONTACT_DESCRIPTION": "Permanently delete this contact. This action is irreversible",
"DELETE_CONTACT": "Delete contact",
"DELETE_DIALOG": {
"TITLE": "Konfirmo Fshirjen",
"TITLE": "Confirm Deletion",
"DESCRIPTION": "A jeni i sigurt se doni ta fshini këtë kontakt?",
"CONFIRM": "Po, Fshi",
"CONFIRM": "Yes, Delete",
"API": {
"SUCCESS_MESSAGE": "Kontakti u fshi me sukses",
"ERROR_MESSAGE": "Nuk mund të fshihet kontakti. Ju lutemi provoni përsëri më vonë."
"SUCCESS_MESSAGE": "Contact deleted successfully",
"ERROR_MESSAGE": "Could not delete contact. Please try again later."
}
},
"AVATAR": {
"UPLOAD": {
"ERROR_MESSAGE": "Nuk mund të ngarkohej fotoja. Ju lutemi provoni përsëri më vonë.",
"ERROR_MESSAGE": "Could not upload avatar. Please try again later.",
"SUCCESS_MESSAGE": "Avatar uploaded successfully"
},
"DELETE": {
"SUCCESS_MESSAGE": "Avatar deleted successfully",
"ERROR_MESSAGE": "Nuk mund të fshihej fotoja. Ju lutemi provoni përsëri më vonë."
"ERROR_MESSAGE": "Could not delete avatar. Please try again later."
}
}
},
"SIDEBAR": {
"TABS": {
"ATTRIBUTES": "Karakteristika",
"HISTORY": "Historia",
"NOTES": "Shënime",
"MERGE": "Bashko"
"ATTRIBUTES": "Attributes",
"HISTORY": "History",
"NOTES": "Notes",
"MERGE": "Merge"
},
"HISTORY": {
"EMPTY_STATE": "Nuk ka biseda të mëparshme të lidhura me këtë kontakt"
"EMPTY_STATE": "There are no previous conversations associated to this contact"
},
"ATTRIBUTES": {
"SEARCH_PLACEHOLDER": "Kërko për atribute",
"UNUSED_ATTRIBUTES": "{count} atribut i përdorur | {count} atribute të papërdorura",
"EMPTY_STATE": "Nuk ka atribute të personalizuara kontakti në këtë llogari. Mund të krijoni një atribut të personalizuar në cilësime.",
"YES": "Po",
"NO": "Jo",
"SEARCH_PLACEHOLDER": "Search for attributes",
"UNUSED_ATTRIBUTES": "{count} Used attribute | {count} Unused attributes",
"EMPTY_STATE": "There are no contact custom attributes available in this account. You can create a custom attribute in settings.",
"YES": "Yes",
"NO": "No",
"TRIGGER": {
"SELECT": "Zgjidh vlerën",
"INPUT": "Fut vlerën"
"SELECT": "Select value",
"INPUT": "Enter value"
},
"VALIDATIONS": {
"INVALID_NUMBER": "Numër i pavlefshëm",
"REQUIRED": "Kërkohet një vlerë e vlefshme",
"INVALID_INPUT": "Hyrje e pavlefshme",
"INVALID_URL": "URL e pavlefshme",
"INVALID_DATE": "Datë e pavlefshme"
"INVALID_NUMBER": "Invalid number",
"REQUIRED": "Valid value is required",
"INVALID_INPUT": "Invalid input",
"INVALID_URL": "Invalid URL",
"INVALID_DATE": "Invalid date"
},
"NO_ATTRIBUTES": "Nuk u gjetën atribute",
"NO_ATTRIBUTES": "No attributes found",
"API": {
"SUCCESS_MESSAGE": "Atributi u përditësua me sukses",
"DELETE_SUCCESS_MESSAGE": "Atributi u fshi me sukses",
"UPDATE_ERROR": "Nuk mund të përditësohet atributi. Ju lutemi provoni përsëri më vonë",
"DELETE_ERROR": "Nuk mund të fshihet atributi. Ju lutemi provoni përsëri më vonë"
"SUCCESS_MESSAGE": "Attribute updated successfully",
"DELETE_SUCCESS_MESSAGE": "Attribute deleted successfully",
"UPDATE_ERROR": "Unable to update attribute. Please try again later",
"DELETE_ERROR": "Unable to delete attribute. Please try again later"
}
},
"MERGE": {
"TITLE": "Bashko kontaktin",
"DESCRIPTION": "Kombino dy profile në një, duke përfshirë të gjitha atributet dhe bisedat. Në rast konflikti, atributet e kontaktit kryesor do të kenë përparësi.",
"PRIMARY": "Kontakti kryesor",
"PRIMARY_HELP_LABEL": "Për t'u ruajtur",
"PRIMARY_REQUIRED_ERROR": "Ju lutemi zgjidhni një kontakt për t'u bashkuar para se të vazhdoni",
"PARENT": "Për t'u bashkuar",
"PARENT_HELP_LABEL": "Për t'u fshirë",
"EMPTY_STATE": "Nuk u gjetën kontakte",
"PLACEHOLDER": "Kërko për kontaktin kryesor",
"SEARCH_PLACEHOLDER": "Kërko për një kontakt",
"SEARCH_ERROR_MESSAGE": "Nuk u mund të kërkohen kontaktet. Ju lutemi provoni përsëri më vonë.",
"SUCCESS_MESSAGE": "Kontakti u bashkua me sukses",
"ERROR_MESSAGE": "Nuk u mund të bashkohen kontaktet, provoni përsëri!",
"IS_SEARCHING": "Duke kërkuar...",
"TITLE": "Merge contact",
"DESCRIPTION": "Combine two profiles into one, including all attributes and conversations. In case of conflict, the primary contact’s attributes will take precedence.",
"PRIMARY": "Primary contact",
"PRIMARY_HELP_LABEL": "To be saved",
"PRIMARY_REQUIRED_ERROR": "Please select a contact to merge with before proceeding",
"PARENT": "To be merged",
"PARENT_HELP_LABEL": "To be deleted",
"EMPTY_STATE": "No contacts found",
"PLACEHOLDER": "Search for primary contact",
"SEARCH_PLACEHOLDER": "Search for a contact",
"SEARCH_ERROR_MESSAGE": "Could not search for contacts. Please try again later.",
"SUCCESS_MESSAGE": "Contact merged successfully",
"ERROR_MESSAGE": "Could not merge contacts, try again!",
"IS_SEARCHING": "Searching...",
"BUTTONS": {
"CANCEL": "Anulo",
"CONFIRM": "Bashko kontaktin"
"CANCEL": "Cancel",
"CONFIRM": "Merge contact"
}
},
"NOTES": {
"PLACEHOLDER": "Shto një shënim",
"WROTE": "shkroi",
"PLACEHOLDER": "Add a note",
"WROTE": "wrote",
"YOU": "Ju",
"SAVE": "Ruaj shënimin",
"ADD_NOTE": "Shto shënim kontakti",
"EXPAND": "Zgjero",
"SAVE": "Save note",
"ADD_NOTE": "Add contact note",
"EXPAND": "Expand",
"COLLAPSE": "Palos",
"NO_NOTES": "Nuk ka shënime, mund të shtoni shënime nga faqja e detajeve të kontaktit.",
"EMPTY_STATE": "Nuk ka shënime të lidhura me këtë kontakt. Mund të shtoni një shënim duke shkruar në kutinë më sipër.",
"CONVERSATION_EMPTY_STATE": "Nuk ka ende shënime. Përdorni butonin Shto shënim për të krijuar një."
"EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.",
"CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one."
}
},
"EMPTY_STATE": {
"TITLE": "Nuk u gjetën kontakte në këtë llogari",
"SUBTITLE": "Filloni të shtoni kontakte të reja duke klikuar butonin më poshtë",
"BUTTON_LABEL": "Shto kontakt",
"SEARCH_EMPTY_STATE_TITLE": "Asnjë kontakt nuk përputhet me kërkimin tuaj 🔍",
"LIST_EMPTY_STATE_TITLE": "Nuk ka kontakte të disponueshme në këtë pamje 📋",
"TITLE": "No contacts found in this account",
"SUBTITLE": "Start adding new contacts by clicking on the button below",
"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": "Asnjë kontakt nuk është aktiv për momentin 🌙"
},
"LOAD_MORE": "Ngarko më shumë"
"LOAD_MORE": "Load more"
},
"CONTACTS_BULK_ACTIONS": {
"ASSIGN_LABELS": "Cakto Etiketa",
"ASSIGN_LABELS_SUCCESS": "Etiketat u caktuan me sukses.",
"ASSIGN_LABELS_FAILED": "Dështoi caktimi i etiketave",
"DESCRIPTION": "Zgjidhni etiketat që dëshironi të shtoni te kontaktet e zgjedhura.",
"NO_LABELS_FOUND": "Nuk ka etiketa të disponueshme ende.",
"SELECTED_COUNT": "{count} i/e zgjedhur",
"CLEAR_SELECTION": "Pastro përzgjedhjen",
"SELECT_ALL": "Zgjidh të gjitha ({count})",
"DELETE_CONTACTS": "Fshi",
"DELETE_SUCCESS": "Kontaktet u fshinë me sukses.",
"DELETE_FAILED": "Dështoi fshirja e kontakteve.",
"ASSIGN_LABELS": "Assign Labels",
"ASSIGN_LABELS_SUCCESS": "Labels assigned successfully.",
"ASSIGN_LABELS_FAILED": "Failed to assign labels",
"DESCRIPTION": "Select the labels you want to add to the selected contacts.",
"NO_LABELS_FOUND": "No labels available yet.",
"SELECTED_COUNT": "{count} selected",
"CLEAR_SELECTION": "Clear selection",
"SELECT_ALL": "Select all ({count})",
"DELETE_CONTACTS": "Delete",
"DELETE_SUCCESS": "Contacts deleted successfully.",
"DELETE_FAILED": "Failed to delete contacts.",
"DELETE_DIALOG": {
"TITLE": "Fshi kontaktet e zgjedhura",
"SINGULAR_TITLE": "Fshi kontaktin e zgjedhur",
"DESCRIPTION": "Kjo do të fshijë përgjithmonë {count} kontakte të zgjedhura. Kjo veprim nuk mund të zhbëhet.",
"SINGULAR_DESCRIPTION": "Kjo do të fshijë përgjithmonë kontaktin e zgjedhur. Kjo veprim nuk mund të zhbëhet.",
"CONFIRM_MULTIPLE": "Fshi kontaktet",
"CONFIRM_SINGLE": "Fshi kontaktin"
"TITLE": "Delete selected contacts",
"SINGULAR_TITLE": "Delete selected contact",
"DESCRIPTION": "This will permanently delete {count} selected contacts. This action cannot be undone.",
"SINGULAR_DESCRIPTION": "This will permanently delete the selected contact. This action cannot be undone.",
"CONFIRM_MULTIPLE": "Delete contacts",
"CONFIRM_SINGLE": "Delete contact"
}
},
"COMPOSE_NEW_CONVERSATION": {
"CONTACT_SEARCH": {
"ERROR_MESSAGE": "Nuk mundëm të përfundojmë kërkimin. Ju lutemi provoni përsëri."
"ERROR_MESSAGE": "We couldn’t complete the search. Please try again."
},
"FORM": {
"GO_TO_CONVERSATION": "Shiko",
"SUCCESS_MESSAGE": "Mesazhi u dërgua me sukses!",
"ERROR_MESSAGE": "Ndodhi një gabim gjatë krijimit të bisedës. Ju lutemi provoni përsëri më vonë.",
"NO_INBOX_ALERT": "Nuk ka kutitë hyrëse të disponueshme për të nisur një bisedë me këtë kontakt.",
"GO_TO_CONVERSATION": "View",
"SUCCESS_MESSAGE": "The message was sent successfully!",
"ERROR_MESSAGE": "An error occurred while creating the conversation. Please try again later.",
"NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.",
"CONTACT_SELECTOR": {
"LABEL": "Për:",
"TAG_INPUT_PLACEHOLDER": "Shkruaj të paktën 2 karaktere për të kërkuar me emër, email, ose numër telefoni",
"CONTACT_CREATING": "Duke krijuar kontakt..."
"LABEL": "To:",
"TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number",
"CONTACT_CREATING": "Creating contact..."
},
"INBOX_SELECTOR": {
"LABEL": "Përmes:",
"BUTTON": "Trego kutitë hyrëse"
"LABEL": "Via:",
"BUTTON": "Show inboxes"
},
"EMAIL_OPTIONS": {
"SUBJECT_LABEL": "Subjekti :",
"SUBJECT_LABEL": "Subject :",
"SUBJECT_PLACEHOLDER": "Enter your email subject here",
"CC_LABEL": "Cc:",
"CC_PLACEHOLDER": "Shkruaj të paktën 2 karaktere për të kërkuar me email",
"CC_PLACEHOLDER": "Enter at least 2 characters to search by email",
"BCC_LABEL": "Bcc:",
"BCC_PLACEHOLDER": "Shkruani të paktën 2 karaktere për të kërkuar me email",
"BCC_PLACEHOLDER": "Enter at least 2 characters to search by email",
"BCC_BUTTON": "Bcc"
},
"MESSAGE_EDITOR": {
"PLACEHOLDER": "Shkruani mesazhin tuaj këtu..."
"PLACEHOLDER": "Write your message here..."
},
"WHATSAPP_OPTIONS": {
"LABEL": "Zgjidhni modelin",
"SEARCH_PLACEHOLDER": "Kërkoni modele",
"EMPTY_STATE": "Nuk u gjetën modele",
"LABEL": "Select template",
"SEARCH_PLACEHOLDER": "Search templates",
"EMPTY_STATE": "No templates found",
"TEMPLATE_PARSER": {
"TEMPLATE_NAME": "Shabllon për mesazhe: {templateName}",
"TEMPLATE_NAME": "WhatsApp template: {templateName}",
"VARIABLES": "Variables",
"BACK": "Kthehu mbrapsht",
"SEND_MESSAGE": "Dërgo mesazh"
"BACK": "Go back",
"SEND_MESSAGE": "Send message"
}
},
"TWILIO_OPTIONS": {
"LABEL": "Zgjidhni modelin",
"SEARCH_PLACEHOLDER": "Kërko modele",
"EMPTY_STATE": "Nuk u gjetën modele",
"LABEL": "Select template",
"SEARCH_PLACEHOLDER": "Search templates",
"EMPTY_STATE": "No templates found",
"TEMPLATE_PARSER": {
"BACK": "Kthehu mbrapsht",
"SEND_MESSAGE": "Dërgo mesazh"
"BACK": "Go back",
"SEND_MESSAGE": "Send message"
}
},
"ACTION_BUTTONS": {
"DISCARD": "Hidh poshtë",
"SEND": "Dërgo ({keyCode})"
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
}
}
}
@@ -6,12 +6,12 @@
"SWITCH_VIEW_LAYOUT": "Switch the layout",
"DASHBOARD_APP_TAB_MESSAGES": "Messages",
"UNVERIFIED_SESSION": "The identity of this user is not verified",
"NO_MESSAGE_1": "Ups! Nuk ka mesazhe nga klientët në kutinë tuaj hyrëse.",
"NO_MESSAGE_2": " për të dërguar një mesazh në faqen tuaj!",
"NO_INBOX_1": "Përshëndetje! Nuk keni shtuar ende asnjë kuti hyrëse.",
"NO_INBOX_2": " për të filluar",
"NO_INBOX_AGENT": "Ups! Nuk jeni pjesë e asnjë kutie hyrëse. Ju lutem kontaktoni administratorin tuaj",
"SEARCH_MESSAGES": "Kërko mesazhe në biseda",
"NO_MESSAGE_1": "Uh oh! Looks like there are no messages from customers in your inbox.",
"NO_MESSAGE_2": " to send a message to your page!",
"NO_INBOX_1": "Hola! Looks like you haven't added any inboxes yet.",
"NO_INBOX_2": " to get started",
"NO_INBOX_AGENT": "Uh Oh! Looks like you are not part of any inbox. Please contact your administrator",
"SEARCH_MESSAGES": "Search for messages in conversations",
"VIEW_ORIGINAL": "View original",
"VIEW_TRANSLATED": "View translated",
"EMPTY_STATE": {
@@ -19,19 +19,19 @@
"KEYBOARD_SHORTCUTS": "to view keyboard shortcuts"
},
"SEARCH": {
"TITLE": "Kërko mesazhe",
"TITLE": "Search messages",
"RESULT_TITLE": "Search Results",
"LOADING_MESSAGE": "Po përpunohen të dhënat...",
"PLACEHOLDER": "Shkruani tekst për të kërkuar mesazhe",
"LOADING_MESSAGE": "Crunching data...",
"PLACEHOLDER": "Type any text to search messages",
"NO_MATCHING_RESULTS": "No results found."
},
"UNREAD_MESSAGES": "Mesazhe të palexuara",
"UNREAD_MESSAGE": "Mesazh i palexuar",
"CLICK_HERE": "Kliko këtu",
"LOADING_INBOXES": "Duke ngarkuar kutitë hyrëse",
"LOADING_CONVERSATIONS": "Duke ngarkuar bisedat",
"CANNOT_REPLY": "Nuk mund të përgjigjeni sepse",
"24_HOURS_WINDOW": "Kufizim i dritares 24-orëshe të mesazheve",
"UNREAD_MESSAGES": "Unread Messages",
"UNREAD_MESSAGE": "Unread Message",
"CLICK_HERE": "Click here",
"LOADING_INBOXES": "Loading inboxes",
"LOADING_CONVERSATIONS": "Loading Conversations",
"CANNOT_REPLY": "You cannot reply due to",
"24_HOURS_WINDOW": "24 hour message window restriction",
"48_HOURS_WINDOW": "48 hour message window restriction",
"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?",
@@ -44,9 +44,9 @@
"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": "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": "Po përgjigjeni tek:",
"REMOVE_SELECTION": "Hiq përzgjedhjen",
"DOWNLOAD": "Shkarko",
"REPLYING_TO": "You are replying to:",
"REMOVE_SELECTION": "Remove Selection",
"DOWNLOAD": "Download",
"UNKNOWN_FILE_TYPE": "Unknown File",
"SAVE_CONTACT": "Save Contact",
"NO_CONTENT": "No content to display",
@@ -56,7 +56,7 @@
"FILE": "{sender} has shared a file",
"MEETING": "{sender} has started a meeting"
},
"UPLOADING_ATTACHMENTS": "Duke ngarkuar bashkëngjitjet...",
"UPLOADING_ATTACHMENTS": "Uploading attachments...",
"REPLIED_TO_STORY": "Replied to your story",
"UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.",
"UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.",
@@ -85,13 +85,13 @@
"YOU_ANSWERED": "You answered"
},
"HEADER": {
"RESOLVE_ACTION": "Zgjidh",
"REOPEN_ACTION": "Rihap",
"RESOLVE_ACTION": "Resolve",
"REOPEN_ACTION": "Reopen",
"OPEN_ACTION": "Open",
"MORE_ACTIONS": "Më shumë veprime",
"OPEN": "Më shumë",
"CLOSE": "Mbyll",
"DETAILS": "detaje",
"OPEN": "More",
"CLOSE": "Close",
"DETAILS": "details",
"SNOOZED_UNTIL": "Snoozed until",
"SNOOZED_UNTIL_TOMORROW": "Snoozed until tomorrow",
"SNOOZED_UNTIL_NEXT_WEEK": "Snoozed until next week",
@@ -188,8 +188,8 @@
"MESSAGE_SIGN_TOOLTIP": "Message signature",
"ENABLE_SIGN_TOOLTIP": "Enable signature",
"DISABLE_SIGN_TOOLTIP": "Disable signature",
"MSG_INPUT": "Shift + enter për rresht të ri. Fillo me '/' për të zgjedhur një Përgjigje të Gatshme.",
"PRIVATE_MSG_INPUT": "Shift + enter për rresht të ri. Kjo do të jetë e dukshme vetëm për Agjentët",
"MSG_INPUT": "Shift + enter for new line. Start with '/' to select a Canned Response.",
"PRIVATE_MSG_INPUT": "Shift + enter for new line. This will be visible only to Agents",
"MESSAGING_RESTRICTED": "You cannot reply to this conversation",
"MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction",
"MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction",
@@ -199,14 +199,14 @@
"WHATSAPP_TEMPLATES": "Whatsapp Templates"
},
"REPLYBOX": {
"REPLY": "Përgjigju",
"PRIVATE_NOTE": "Shënim Privat",
"SEND": "Dërgo",
"CREATE": "Shto Shënim",
"REPLY": "Reply",
"PRIVATE_NOTE": "Private Note",
"SEND": "Send",
"CREATE": "Add Note",
"INSERT_READ_MORE": "Read more",
"DISMISS_REPLY": "Dismiss reply",
"REPLYING_TO": "Replying to:",
"TIP_EMOJI_ICON": "Shfaq përzgjedhësin e emoji-ve",
"TIP_EMOJI_ICON": "Show emoji selector",
"TIP_ATTACH_ICON": "Attach files",
"TIP_AUDIORECORDER_ICON": "Record audio",
"TIP_AUDIORECORDER_PERMISSION": "Allow access to audio",
@@ -245,10 +245,10 @@
"EXPAND": "Expand preview"
}
},
"VISIBLE_TO_AGENTS": "Shënim privat: Vetëm ju dhe ekipi juaj mund ta shihni",
"CHANGE_STATUS": "Statusi i bisedës u ndryshua",
"VISIBLE_TO_AGENTS": "Private Note: Only visible to you and your team",
"CHANGE_STATUS": "Conversation status changed",
"CHANGE_STATUS_FAILED": "Conversation status change failed",
"CHANGE_AGENT": "Përgjegjësi i bisedës u ndryshua",
"CHANGE_AGENT": "Conversation Assignee changed",
"CHANGE_AGENT_FAILED": "Assignee change failed",
"ASSIGN_LABEL_SUCCESFUL": "Label assigned successfully",
"ASSIGN_LABEL_FAILED": "Label assignment failed",
@@ -258,16 +258,16 @@
"FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit",
"FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation",
"MESSAGE_ERROR": "Unable to send this message, please try again later",
"SENT_BY": "Dërguar nga:",
"SENT_BY": "Sent by:",
"BOT": "Bot",
"NATIVE_APP": "Native app",
"NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.",
"SEND_FAILED": "Couldn't send message! Try again",
"TRY_AGAIN": "retry",
"ASSIGNMENT": {
"SELECT_AGENT": "Zgjidh agjentin",
"REMOVE": "Hiq",
"ASSIGN": "Cakto"
"SELECT_AGENT": "Select Agent",
"REMOVE": "Remove",
"ASSIGN": "Assign"
},
"CONTEXT_MENU": {
"COPY": "Copy",
@@ -300,20 +300,20 @@
}
},
"EMAIL_TRANSCRIPT": {
"TITLE": "Dërgo transkriptin e bisedës",
"DESC": "Dërgo një kopje të transkriptit të bisedës në adresën e specifikuar të emailit",
"SUBMIT": "Dërgo",
"CANCEL": "Anulo",
"SEND_EMAIL_SUCCESS": "Transkripti i bisedës u dërgua me sukses",
"SEND_EMAIL_ERROR": "Ndodhi një gabim, ju lutem provoni sërish",
"TITLE": "Send conversation transcript",
"DESC": "Send a copy of the conversation transcript to the specified email address",
"SUBMIT": "Submit",
"CANCEL": "Cancel",
"SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully",
"SEND_EMAIL_ERROR": "There was an error, please try again",
"SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.",
"FORM": {
"SEND_TO_CONTACT": "Dërgo transkriptin te klienti",
"SEND_TO_AGENT": "Dërgo transkriptin te agjenti i caktuar",
"SEND_TO_OTHER_EMAIL_ADDRESS": "Dërgo transkriptin në një adresë tjetër emaili",
"SEND_TO_CONTACT": "Send the transcript to the customer",
"SEND_TO_AGENT": "Send the transcript to the assigned agent",
"SEND_TO_OTHER_EMAIL_ADDRESS": "Send the transcript to another email address",
"EMAIL": {
"PLACEHOLDER": "Shkruani një adresë emaili",
"ERROR": "Ju lutem shkruani një adresë emaili të vlefshme"
"PLACEHOLDER": "Enter an email address",
"ERROR": "Please enter a valid email address"
}
}
},
File diff suppressed because it is too large Load Diff
@@ -34,11 +34,11 @@
"ADD": {
"CHANNEL_NAME": {
"LABEL": "Emri i kutisë postare",
"PLACEHOLDER": "Shkruani emrin e inbox-it tuaj (p.sh.: Acme Inc)",
"PLACEHOLDER": "Enter your inbox name (eg: Acme Inc)",
"ERROR": "Ju lutemi shkruani një emër të vlefshëm për kutinë postare"
},
"WEBSITE_NAME": {
"LABEL": "Emri i faqes së internetit",
"LABEL": "Website Name",
"PLACEHOLDER": "Shkruani emrin e faqes suaj (p.sh. : Acme Inc)"
},
"FB": {
@@ -69,17 +69,17 @@
},
"TWITTER": {
"HELP": "Për të shtuar profilin tuaj në Twitter si kanal, duhet të autentikoni profilin tuaj në Twitter duke klikuar në 'Kyçu me Twitter' ",
"ERROR_MESSAGE": "Ndodhi një gabim gjatë lidhjes me Twitter, ju lutem provoni sërish",
"ERROR_MESSAGE": "There was an error connecting to Twitter, please try again",
"TWEETS": {
"ENABLE": "Create conversations from mentioned Tweets"
}
},
"WEBSITE_CHANNEL": {
"TITLE": "Kanal i faqes së internetit",
"DESC": "Krijo një kanal për faqen tënde dhe fillo të ndihmosh klientët përmes widget-it tonë.",
"TITLE": "Website channel",
"DESC": "Create a channel for your website and start supporting your customers via our website widget.",
"LOADING_MESSAGE": "Duke krijuar kanalin e mbështetjes së faqes së internetit",
"CHANNEL_AVATAR": {
"LABEL": "Avatar i kanalit"
"LABEL": "Channel Avatar"
},
"CHANNEL_WEBHOOK_URL": {
"LABEL": "Webhook URL",
@@ -116,8 +116,8 @@
"HELP_TEXT": "Kjo kohë përgjigjeje do të shfaqet në widget-in e chat-it live"
},
"WIDGET_COLOR": {
"LABEL": "Ngjyra e widget-it",
"PLACEHOLDER": "Përditëso ngjyrën e widget-it"
"LABEL": "Widget Color",
"PLACEHOLDER": "Update the widget color used in widget"
},
"SUBMIT_BUTTON": "Krijo kutinë postare",
"API": {
@@ -129,7 +129,7 @@
"DESC": "Integrate Twilio and start supporting your customers via SMS or WhatsApp.",
"ACCOUNT_SID": {
"LABEL": "SID i Llogarisë",
"PLACEHOLDER": "Ju lutem vendosni Twilio Account SID",
"PLACEHOLDER": "Please enter your Twilio Account SID",
"ERROR": "Kjo fushë është e detyrueshme"
},
"API_KEY": {
@@ -155,7 +155,7 @@
},
"AUTH_TOKEN": {
"LABEL": "Auth Token",
"PLACEHOLDER": "Ju lutem vendosni Twilio Auth Token",
"PLACEHOLDER": "Please enter your Twilio Auth Token",
"ERROR": "Kjo fushë është e detyrueshme"
},
"CHANNEL_NAME": {
@@ -170,11 +170,11 @@
},
"API_CALLBACK": {
"TITLE": "Callback URL",
"SUBTITLE": "Duhet të konfiguroni URL-në e callback të mesazheve në Twilio me URL-në e dhënë këtu."
"SUBTITLE": "You have to configure the message callback URL in Twilio with the URL mentioned here."
},
"SUBMIT_BUTTON": "Krijo Kanal Twilio",
"SUBMIT_BUTTON": "Create Twilio Channel",
"API": {
"ERROR_MESSAGE": "Nuk mundëm të verifikojmë kredencialet e Twilio, ju lutem provoni sërish"
"ERROR_MESSAGE": "We were not able to authenticate Twilio credentials, please try again"
}
},
"SMS": {
@@ -371,11 +371,11 @@
},
"SUBMIT_BUTTON": "Krijo Kanal API",
"API": {
"ERROR_MESSAGE": "Nuk mundëm të ruajmë kanalin API"
"ERROR_MESSAGE": "We were not able to save the api channel"
}
},
"EMAIL_CHANNEL": {
"TITLE": "Kanal Email-i",
"TITLE": "Email Channel",
"DESC": "Integrate your email inbox.",
"CHANNEL_NAME": {
"LABEL": "Emri i Kanalit",
@@ -387,9 +387,9 @@
"SUBTITLE": "Provide the email address where your customers send support requests.",
"PLACEHOLDER": "Email"
},
"SUBMIT_BUTTON": "Krijo Kanal Email-i",
"SUBMIT_BUTTON": "Create Email Channel",
"API": {
"ERROR_MESSAGE": "Nuk mundëm të ruajmë kanalin e email-it"
"ERROR_MESSAGE": "We were not able to save the email channel"
},
"FINISH_MESSAGE": "Start forwarding your emails to the following email address.",
"FINISH_MESSAGE_NO_FORWARDING": "Your email inbox has been created successfully! You need to configure SMTP and IMAP credentials to send and receive emails. Without these settings, no emails will be processed.",
@@ -423,7 +423,7 @@
},
"API_CALLBACK": {
"TITLE": "Callback URL",
"SUBTITLE": "Duhet të konfiguroni webhook URL në aplikacionin LINE me URL-në e dhënë këtu."
"SUBTITLE": "You have to configure the webhook URL in LINE application with the URL mentioned here."
}
},
"TELEGRAM_CHANNEL": {
@@ -431,7 +431,7 @@
"DESC": "Integroni me kanalin Telegram dhe filloni të mbështesni klientët tuaj.",
"BOT_TOKEN": {
"LABEL": "Token-i i Botit",
"SUBTITLE": "Konfiguro token-in e bot-it që keni marrë nga Telegram BotFather.",
"SUBTITLE": "Configure the bot token you have obtained from Telegram BotFather.",
"PLACEHOLDER": "Token i Botit"
},
"SUBMIT_BUTTON": "Krijo Kanal Telegrami",
@@ -493,13 +493,13 @@
},
"AGENTS": {
"TITLE": "Agjentë",
"DESC": "Këtu mund të shtoni agjentë për të menaxhuar inbox-in e ri. Vetëm këta agjentë të zgjedhur do të kenë qasje në inbox-in tuaj. Agjentët që nuk janë pjesë e këtij inbox-i nuk do të mund të shohin ose t’u përgjigjen mesazheve në këtë inbox kur të kyçen. <br> <b>PS:</b> Si administrator, nëse keni nevojë për qasje në të gjitha inbox-et, duhet të shtoni veten si agjent në të gjitha inbox-et që krijoni.",
"DESC": "Here you can add agents to manage your newly created inbox. Only these selected agents will have access to your inbox. Agents which are not part of this inbox will not be able to see or respond to messages in this inbox when they login. <br> <b>PS:</b> As an administrator, if you need access to all inboxes, you should add yourself as agent to all inboxes that you create.",
"VALIDATION_ERROR": "Add at least one agent to your new Inbox",
"PICK_AGENTS": "Zgjidh agjentët për inbox-in"
"PICK_AGENTS": "Pick agents for the inbox"
},
"DETAILS": {
"TITLE": "Detajet e Postës",
"DESC": "Zgjidhni nga lista më poshtë faqen e Facebook që dëshironi të lidhni me Chatwoot. Mund t’i vendosni edhe një emër të personalizuar inbox-it për identifikim më të lehtë."
"DESC": "From the dropdown below, select the Facebook Page you want to connect to Chatwoot. You can also give a custom name to your inbox for better identification."
},
"FINISH": {
"TITLE": "E arritëm!",
@@ -525,7 +525,7 @@
}
},
"DETAILS": {
"LOADING_FB": "Po autentifikoheni me Facebook...",
"LOADING_FB": "Authenticating you with Facebook...",
"ERROR_FB_LOADING": "Error loading Facebook SDK. Please disable any ad-blockers and try again from a different browser.",
"ERROR_FB_AUTH": "Diçka shkoi keq, ju lutem rifreskoni faqen...",
"ERROR_FB_UNAUTHORIZED": "Nuk jeni i autorizuar të kryeni këtë veprim. ",
@@ -552,8 +552,8 @@
"VIEW": "Shiko",
"EDIT": {
"API": {
"SUCCESS_MESSAGE": "Cilësimet e inbox-it u përditësuan me sukses",
"AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Caktimi automatik u përditësua me sukses",
"SUCCESS_MESSAGE": "Inbox settings updated successfully",
"AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Auto assignment updated successfully",
"ERROR_MESSAGE": "We couldn't update inbox settings. Please try again later."
},
"EMAIL_COLLECT_BOX": {
@@ -603,7 +603,7 @@
},
"DELETE": {
"BUTTON_TEXT": "Fshij",
"AVATAR_DELETE_BUTTON_TEXT": "Fshi Avatarin",
"AVATAR_DELETE_BUTTON_TEXT": "Delete Avatar",
"CONFIRM": {
"TITLE": "Konfirmo Fshirjen",
"MESSAGE": "A jeni i sigurt që dëshironi të fshini ",
@@ -614,8 +614,8 @@
"API": {
"SUCCESS_MESSAGE": "Kutia e postës u fshi me sukses",
"ERROR_MESSAGE": "Nuk mund të fshihej kutia e postës. Ju lutemi provoni përsëri më vonë.",
"AVATAR_SUCCESS_MESSAGE": "Avatari i inbox-it u fshi me sukses",
"AVATAR_ERROR_MESSAGE": "Nuk mund të fshihet avatari i inbox-it. Ju lutem provoni më vonë."
"AVATAR_SUCCESS_MESSAGE": "Inbox avatar deleted successfully",
"AVATAR_ERROR_MESSAGE": "Could not delete the inbox avatar. Please try again later."
}
},
"TABS": {
@@ -700,14 +700,14 @@
"SETTINGS": "Cilësimet",
"FEATURES": {
"LABEL": "Karakteristikat",
"DISPLAY_FILE_PICKER": "Shfaq përzgjedhësin e skedarëve në widget",
"DISPLAY_EMOJI_PICKER": "Shfaq përzgjedhësin e emoji-ve në widget",
"DISPLAY_FILE_PICKER": "Display file picker on the widget",
"DISPLAY_EMOJI_PICKER": "Display emoji picker on the widget",
"ALLOW_END_CONVERSATION": "Allow users to end conversation from the widget",
"USE_INBOX_AVATAR_FOR_BOT": "Use inbox name and avatar for the bot"
},
"SETTINGS_POPUP": {
"MESSENGER_HEADING": "Messenger Script",
"MESSENGER_SUB_HEAD": "Vendoseni këtë buton brenda tag-ut body",
"MESSENGER_SUB_HEAD": "Place this button inside your body tag",
"ALLOWED_DOMAINS": {
"TITLE": "Domenet e Lejuara",
"DESCRIPTION": "Restrict which websites can embed your chat widget. For security, only add domains you own and trust. Add one or more domains separated by commas. Leave blank to allow all domains (not recommended for production).",
@@ -730,8 +730,8 @@
"AGENT_ASSIGNMENT": "Caktimi i Bisedës",
"AGENT_ASSIGNMENT_SUB_TEXT": "Përditësoni cilësimet e caktimit të bisedës",
"UPDATE": "Përditëso",
"ENABLE_EMAIL_COLLECT_BOX": "Aktivo kutinë për mbledhjen e email-it",
"ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Aktivizo ose çaktivizo kutinë për mbledhjen e email-it në biseda të reja",
"ENABLE_EMAIL_COLLECT_BOX": "Enable email collect box",
"ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Enable or disable email collect box on new conversation",
"AUTO_ASSIGNMENT": "Aktivizo caktimin automatik",
"SENDER_NAME_SECTION": "Enable Agent Name in Email",
"SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name",
@@ -741,7 +741,7 @@
"LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Konfiguro krijimin e bisedave për kontaktet ekzistuese",
"INBOX_UPDATE_TITLE": "Cilësimet e Postës",
"INBOX_UPDATE_SUB_TEXT": "Përditësoni cilësimet e postës suaj",
"AUTO_ASSIGNMENT_SUB_TEXT": "Aktivizoni ose çaktivizoni caktimin automatik të bisedave të reja te agjentët e shtuar në këtë inbox.",
"AUTO_ASSIGNMENT_SUB_TEXT": "Enable or disable the automatic assignment of new conversations to the agents added to this inbox.",
"HMAC_VERIFICATION": "Verifikimi i Identitetit të Përdoruesit",
"HMAC_DESCRIPTION": "Me këtë çelës mund të gjeneroni një token sekret që mund të përdoret për të verifikuar identitetin e përdoruesve tuaj.",
"HMAC_LINK_TO_DOCS": "Mund të lexoni më shumë këtu.",
@@ -749,8 +749,8 @@
"HMAC_MANDATORY_DESCRIPTION": "Nëse është aktivizuar, kërkesat që nuk mund të verifikohen do të refuzohen.",
"INBOX_IDENTIFIER": "Identifikuesi i Postës",
"INBOX_IDENTIFIER_SUB_TEXT": "Përdorni tokenin `inbox_identifier` të shfaqur këtu për të autentikuar klientët tuaj API.",
"FORWARD_EMAIL_TITLE": "Dërgo te Email-i",
"FORWARD_EMAIL_SUB_TEXT": "Filloni të dërgoni email-et tuaja te kjo adresë email-i.",
"FORWARD_EMAIL_TITLE": "Forward to Email",
"FORWARD_EMAIL_SUB_TEXT": "Start forwarding your emails to the following email address.",
"FORWARD_EMAIL_NOT_CONFIGURED": "Përparësimi i email-eve në inbox-in tuaj aktualisht është çaktivizuar në këtë instalim. Për të përdorur këtë funksion, duhet të aktivizohet nga administratori juaj. Ju lutemi kontaktoni ata për të vazhduar.",
"ALLOW_MESSAGES_AFTER_RESOLVED": "Lejo mesazhet pasi biseda të jetë zgjidhur",
"ALLOW_MESSAGES_AFTER_RESOLVED_SUB_TEXT": "Lejo përdoruesit përfundimtarë të dërgojnë mesazhe edhe pasi biseda të jetë zgjidhur.",
@@ -846,7 +846,7 @@
"FACEBOOK_REAUTHORIZE": {
"TITLE": "Ri-autorizo",
"SUBTITLE": "Lidhja juaj me Facebook ka skaduar, ju lutemi lidhni përsëri faqen tuaj në Facebook për të vazhduar shërbimet",
"MESSAGE_SUCCESS": "Rilidhja u krye me sukses",
"MESSAGE_SUCCESS": "Reconnection successful",
"MESSAGE_ERROR": "Ndodhi një gabim, ju lutemi provoni përsëri"
},
"PRE_CHAT_FORM": {
@@ -872,7 +872,7 @@
"PLACEHOLDER": "Ky mesazh do të jetë i dukshëm për përdoruesit së bashku me formularin"
},
"REQUIRE_EMAIL": {
"LABEL": "Vizitorët duhet të japin emrin dhe email-in para se të fillojnë bisedën"
"LABEL": "Visitors should provide their name and email address before starting the chat"
}
},
"CSAT": {
@@ -946,19 +946,19 @@
}
},
"BUSINESS_HOURS": {
"TITLE": "Cakto disponueshmërinë",
"SUBTITLE": "Cakto orarin e disponueshmërisë në widget-in e livechat",
"TITLE": "Set your availability",
"SUBTITLE": "Set your availability on your livechat widget",
"WEEKLY_TITLE": "Vendos oraret tuaja javore",
"TIMEZONE_LABEL": "Zgjidh zonën kohore",
"UPDATE": "Përditëso cilësimet e orarit të punës",
"TOGGLE_AVAILABILITY": "Aktivo orarin e biznesit për këtë inbox",
"TOGGLE_AVAILABILITY": "Enable business availability for this inbox",
"UNAVAILABLE_MESSAGE_LABEL": "Mesazh i papërfshirë për vizitorët",
"TOGGLE_HELP": "Aktivizimi i disponueshmërisë së biznesit do të shfaqë oraret e disponueshme në widget-in e chat-it live edhe nëse të gjithë agjentët janë jashtë linje. Jashtë orarit të disponueshëm, vizitorët mund të paralajmërohen me një mesazh dhe një formular para-chat.",
"DAY": {
"DAY": "Ditë",
"AVAILABILITY": "Availability",
"HOURS": "Orë",
"ENABLE": "Aktivo disponueshmërinë për këtë ditë",
"ENABLE": "Enable availability for this day",
"UNAVAILABLE": "I papërfshirë",
"VALIDATION_ERROR": "Koha e fillimit duhet të jetë para kohës së mbylljes.",
"CHOOSE": "Zgjidh"
File diff suppressed because it is too large Load Diff
@@ -1,39 +1,39 @@
{
"REPORT": {
"HEADER": "Conversations",
"LOADING_CHART": "Po ngarkohet grafiku...",
"NO_ENOUGH_DATA": "Nuk kemi mjaftueshëm të dhëna për të krijuar raportin. Ju lutemi provoni më vonë.",
"LOADING_CHART": "Loading chart data...",
"NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.",
"DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports",
"DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.",
"SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.",
"METRICS": {
"CONVERSATIONS": {
"NAME": "Bisedat",
"DESC": "( Totali )"
"NAME": "Conversations",
"DESC": "( Total )"
},
"INCOMING_MESSAGES": {
"NAME": "Messages received",
"DESC": "( Totali )"
"DESC": "( Total )"
},
"OUTGOING_MESSAGES": {
"NAME": "Messages sent",
"DESC": "( Totali )"
"DESC": "( Total )"
},
"FIRST_RESPONSE_TIME": {
"NAME": "First Response Time",
"DESC": "( Mesatarja )",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "First Response Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_TIME": {
"NAME": "Koha e zgjidhjes",
"DESC": "( Mesatarja )",
"NAME": "Resolution Time",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "Resolution Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_COUNT": {
"NAME": "Numri i zgjidhjeve",
"DESC": "( Totali )"
"NAME": "Resolution Count",
"DESC": "( Total )"
},
"BOT_RESOLUTION_COUNT": {
"NAME": "Resolution Count",
@@ -61,8 +61,8 @@
"CUSTOM_DATE_RANGE": "Custom date range"
},
"CUSTOM_DATE_RANGE": {
"CONFIRM": "Apliko",
"PLACEHOLDER": "Zgjidh intervalin e datave"
"CONFIRM": "Apply",
"PLACEHOLDER": "Select date range"
},
"GROUP_BY_FILTER_DROPDOWN_LABEL": "Group By",
"DURATION_FILTER_LABEL": "Duration",
@@ -127,12 +127,12 @@
}
},
"AGENT_REPORTS": {
"HEADER": "Përmbledhje e agjentëve",
"HEADER": "Agents Overview",
"DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.",
"LOADING_CHART": "Po ngarkohen të dhënat e grafikut...",
"NO_ENOUGH_DATA": "Nuk kemi mjaft të dhëna për të krijuar raportin. Ju lutemi provoni më vonë.",
"DOWNLOAD_AGENT_REPORTS": "Shkarko raportet e agjentëve",
"FILTER_DROPDOWN_LABEL": "Zgjidh agjentin",
"LOADING_CHART": "Loading chart data...",
"NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.",
"DOWNLOAD_AGENT_REPORTS": "Download agent reports",
"FILTER_DROPDOWN_LABEL": "Select Agent",
"FILTERS": {
"INPUT_PLACEHOLDER": {
"AGENTS": "Search agents"
@@ -140,72 +140,72 @@
},
"METRICS": {
"CONVERSATIONS": {
"NAME": "Bisedat",
"DESC": "( Totali )"
"NAME": "Conversations",
"DESC": "( Total )"
},
"INCOMING_MESSAGES": {
"NAME": "Mesazhe të ardhura",
"DESC": "( Totali )"
"NAME": "Incoming Messages",
"DESC": "( Total )"
},
"OUTGOING_MESSAGES": {
"NAME": "Mesazhe të dërguara",
"DESC": "( Totali )"
"NAME": "Outgoing Messages",
"DESC": "( Total )"
},
"FIRST_RESPONSE_TIME": {
"NAME": "First Response Time",
"DESC": "( Mesatarja )",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "First Response Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_TIME": {
"NAME": "Koha e zgjidhjes",
"DESC": "( Mesatarja )",
"NAME": "Resolution Time",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "Resolution Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_COUNT": {
"NAME": "Numri i zgjidhjeve",
"DESC": "( Totali )"
"NAME": "Resolution Count",
"DESC": "( Total )"
}
},
"DATE_RANGE": [
{
"id": 0,
"name": "7 ditët e fundit"
"name": "Last 7 days"
},
{
"id": 1,
"name": "30 ditët e fundit"
"name": "Last 30 days"
},
{
"id": 2,
"name": "3 muajt e fundit"
"name": "Last 3 months"
},
{
"id": 3,
"name": "6 muajt e fundit"
"name": "Last 6 months"
},
{
"id": 4,
"name": "Viti i fundit"
"name": "Last year"
},
{
"id": 5,
"name": "Përcakto datat"
"name": "Custom date range"
}
],
"CUSTOM_DATE_RANGE": {
"CONFIRM": "Apliko",
"PLACEHOLDER": "Zgjidh periudhën"
"CONFIRM": "Apply",
"PLACEHOLDER": "Select date range"
}
},
"LABEL_REPORTS": {
"HEADER": "Përmbledhje e etiketave",
"HEADER": "Labels Overview",
"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": "Po ngarkohet grafiku...",
"NO_ENOUGH_DATA": "Nuk ka të dhëna të mjaftueshme për të krijuar raportin. Ju lutem provoni më vonë.",
"DOWNLOAD_LABEL_REPORTS": "Shkarko raportet e etiketave",
"FILTER_DROPDOWN_LABEL": "Zgjidh etiketën",
"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",
"FILTER_DROPDOWN_LABEL": "Select Label",
"FILTERS": {
"INPUT_PLACEHOLDER": {
"LABELS": "Search labels"
@@ -213,72 +213,72 @@
},
"METRICS": {
"CONVERSATIONS": {
"NAME": "Bisedat",
"DESC": "( Totali )"
"NAME": "Conversations",
"DESC": "( Total )"
},
"INCOMING_MESSAGES": {
"NAME": "Mesazhet hyrëse",
"DESC": "( Totali )"
"NAME": "Incoming Messages",
"DESC": "( Total )"
},
"OUTGOING_MESSAGES": {
"NAME": "Mesazhet dalëse",
"DESC": "( Totali )"
"NAME": "Outgoing Messages",
"DESC": "( Total )"
},
"FIRST_RESPONSE_TIME": {
"NAME": "First Response Time",
"DESC": "( Mesatarja )",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "First Response Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_TIME": {
"NAME": "Koha e zgjidhjes",
"DESC": "( Mes. )",
"NAME": "Resolution Time",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "Resolution Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_COUNT": {
"NAME": "Numri i zgjidhjeve",
"DESC": "( Gjithsej )"
"NAME": "Resolution Count",
"DESC": "( Total )"
}
},
"DATE_RANGE": [
{
"id": 0,
"name": "7 ditët e fundit"
"name": "Last 7 days"
},
{
"id": 1,
"name": "30 ditët e fundit"
"name": "Last 30 days"
},
{
"id": 2,
"name": "3 muajt e fundit"
"name": "Last 3 months"
},
{
"id": 3,
"name": "6 muajt e fundit"
"name": "Last 6 months"
},
{
"id": 4,
"name": "Viti i fundit"
"name": "Last year"
},
{
"id": 5,
"name": "Përzgjedhje e datave"
"name": "Custom date range"
}
],
"CUSTOM_DATE_RANGE": {
"CONFIRM": "Apliko",
"PLACEHOLDER": "Zgjidh intervalin e datave"
"CONFIRM": "Apply",
"PLACEHOLDER": "Select date range"
}
},
"INBOX_REPORTS": {
"HEADER": "Përmbledhje e Inbox-it",
"HEADER": "Inbox Overview",
"DESCRIPTION": "Quickly view your inbox performance with key metrics like conversations, response times, resolution times, and resolved cases—all in one place. Click an inbox name for more details.",
"LOADING_CHART": "Po ngarkohen të dhënat e grafikut...",
"NO_ENOUGH_DATA": "Nuk kemi mjaft të dhëna për të krijuar raportin. Ju lutem provoni më vonë.",
"DOWNLOAD_INBOX_REPORTS": "Shkarko raportet e inbox-it",
"FILTER_DROPDOWN_LABEL": "Zgjidh Inbox-in",
"LOADING_CHART": "Loading chart data...",
"NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.",
"DOWNLOAD_INBOX_REPORTS": "Download inbox reports",
"FILTER_DROPDOWN_LABEL": "Select Inbox",
"ALL_INBOXES": "All Inboxes",
"SEARCH_INBOX": "Search Inbox",
"FILTERS": {
@@ -288,72 +288,72 @@
},
"METRICS": {
"CONVERSATIONS": {
"NAME": "Bisedat",
"DESC": "(Totali)"
"NAME": "Conversations",
"DESC": "( Total )"
},
"INCOMING_MESSAGES": {
"NAME": "Mesazhet hyrëse",
"DESC": "(Totali)"
"NAME": "Incoming Messages",
"DESC": "( Total )"
},
"OUTGOING_MESSAGES": {
"NAME": "Mesazhe Dalëse",
"DESC": "( Totali )"
"NAME": "Outgoing Messages",
"DESC": "( Total )"
},
"FIRST_RESPONSE_TIME": {
"NAME": "First Response Time",
"DESC": "( Mesatarja )",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "First Response Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_TIME": {
"NAME": "Koha e Zgjidhjes",
"DESC": "( Mesatarja )",
"NAME": "Resolution Time",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "Resolution Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_COUNT": {
"NAME": "Numri i Zgjidhjeve",
"DESC": "( Totali )"
"NAME": "Resolution Count",
"DESC": "( Total )"
}
},
"DATE_RANGE": [
{
"id": 0,
"name": "7 ditët e fundit"
"name": "Last 7 days"
},
{
"id": 1,
"name": "30 ditët e fundit"
"name": "Last 30 days"
},
{
"id": 2,
"name": "3 muajt e fundit"
"name": "Last 3 months"
},
{
"id": 3,
"name": "6 muajt e fundit"
"name": "Last 6 months"
},
{
"id": 4,
"name": "Viti i fundit"
"name": "Last year"
},
{
"id": 5,
"name": "Përcakto periudhën"
"name": "Custom date range"
}
],
"CUSTOM_DATE_RANGE": {
"CONFIRM": "Apliko",
"PLACEHOLDER": "Zgjidh periudhën"
"CONFIRM": "Apply",
"PLACEHOLDER": "Select date range"
}
},
"TEAM_REPORTS": {
"HEADER": "Përmbledhje e ekipit",
"HEADER": "Team Overview",
"DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.",
"LOADING_CHART": "Po ngarkohet grafiku...",
"NO_ENOUGH_DATA": "Nuk ka të dhëna të mjaftueshme për të krijuar raportin. Ju lutem provoni më vonë.",
"DOWNLOAD_TEAM_REPORTS": "Shkarko raportet e ekipit",
"FILTER_DROPDOWN_LABEL": "Zgjidh ekipin",
"LOADING_CHART": "Loading chart data...",
"NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.",
"DOWNLOAD_TEAM_REPORTS": "Download team reports",
"FILTER_DROPDOWN_LABEL": "Select Team",
"FILTERS": {
"ADD_FILTER": "Add filter",
"CLEAR_ALL": "Clear all",
@@ -424,7 +424,7 @@
}
},
"CSAT_REPORTS": {
"HEADER": "Raportet CSAT",
"HEADER": "CSAT Reports",
"NO_RECORDS": "No responses yet",
"NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.",
"DOWNLOAD": "Download CSAT Reports",
@@ -454,10 +454,10 @@
},
"TABLE": {
"HEADER": {
"CONTACT_NAME": "Kontakti",
"CONTACT_NAME": "Contact",
"AGENT_NAME": "Agent",
"RATING": "Vlerësimi",
"FEEDBACK_TEXT": "Komenti i feedback-ut",
"RATING": "Rating",
"FEEDBACK_TEXT": "Feedback comment",
"CONVERSATION": "Conversation",
"CUSTOMER": "Customer",
"RESPONSE": "Response",
@@ -469,16 +469,16 @@
"NO_FEEDBACK": "No feedback provided",
"METRIC": {
"TOTAL_RESPONSES": {
"LABEL": "Përgjigje gjithsej",
"TOOLTIP": "Numri total i përgjigjeve të mbledhura"
"LABEL": "Total responses",
"TOOLTIP": "Total number of responses collected"
},
"SATISFACTION_SCORE": {
"LABEL": "Rezultati i kënaqësisë",
"TOOLTIP": "Numri total i përgjigjeve pozitive / Numri total i përgjigjeve * 100"
"LABEL": "Satisfaction score",
"TOOLTIP": "Total number of positive responses / Total number of responses * 100"
},
"RESPONSE_RATE": {
"LABEL": "Shkalla e përgjigjes",
"TOOLTIP": "Numri total i përgjigjeve / Numri total i mesazheve të dërguara të anketës CSAT * 100"
"LABEL": "Response rate",
"TOOLTIP": "Total number of responses / Total number of CSAT survey messages sent * 100"
},
"RATING_DISTRIBUTION": "Rating distribution"
},
File diff suppressed because it is too large Load Diff
@@ -6,12 +6,12 @@
"SWITCH_VIEW_LAYOUT": "Switch the layout",
"DASHBOARD_APP_TAB_MESSAGES": "Messages",
"UNVERIFIED_SESSION": "The identity of this user is not verified",
"NO_MESSAGE_1": "Naku! Mukhang wala pang mensahe mula sa mga customer sa iyong inbox.",
"NO_MESSAGE_2": " para magpadala ng mensahe sa iyong page!",
"NO_INBOX_1": "Hola! Mukhang wala ka pang nadagdag na inbox.",
"NO_INBOX_2": " para makapagsimula",
"NO_INBOX_AGENT": "Naku! Mukhang hindi ka kabilang sa anumang inbox. Pakikontak ang iyong administrator",
"SEARCH_MESSAGES": "Maghanap ng mensahe sa mga usapan",
"NO_MESSAGE_1": "Uh oh! Looks like there are no messages from customers in your inbox.",
"NO_MESSAGE_2": " to send a message to your page!",
"NO_INBOX_1": "Hola! Looks like you haven't added any inboxes yet.",
"NO_INBOX_2": " to get started",
"NO_INBOX_AGENT": "Uh Oh! Looks like you are not part of any inbox. Please contact your administrator",
"SEARCH_MESSAGES": "Search for messages in conversations",
"VIEW_ORIGINAL": "View original",
"VIEW_TRANSLATED": "View translated",
"EMPTY_STATE": {
@@ -19,19 +19,19 @@
"KEYBOARD_SHORTCUTS": "to view keyboard shortcuts"
},
"SEARCH": {
"TITLE": "Maghanap ng mensahe",
"TITLE": "Search messages",
"RESULT_TITLE": "Search Results",
"LOADING_MESSAGE": "Pinoproseso ang data...",
"LOADING_MESSAGE": "Crunching data...",
"PLACEHOLDER": "Type any text to search messages",
"NO_MATCHING_RESULTS": "No results found."
},
"UNREAD_MESSAGES": "Unread Messages",
"UNREAD_MESSAGE": "Unread Message",
"CLICK_HERE": "I-click dito",
"LOADING_INBOXES": "Ikinakarga ang mga inbox",
"LOADING_CONVERSATIONS": "Ikinakarga ang mga usapan",
"CANNOT_REPLY": "Hindi ka makasagot dahil sa",
"24_HOURS_WINDOW": "24 oras na limitasyon sa mensahe",
"CLICK_HERE": "Click here",
"LOADING_INBOXES": "Loading inboxes",
"LOADING_CONVERSATIONS": "Loading Conversations",
"CANNOT_REPLY": "You cannot reply due to",
"24_HOURS_WINDOW": "24 hour message window restriction",
"48_HOURS_WINDOW": "48 hour message window restriction",
"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?",
@@ -44,9 +44,9 @@
"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.",
"REPLYING_TO": "Sumasagot ka kay:",
"REMOVE_SELECTION": "Alisin ang Pinili",
"DOWNLOAD": "I-download",
"REPLYING_TO": "You are replying to:",
"REMOVE_SELECTION": "Remove Selection",
"DOWNLOAD": "Download",
"UNKNOWN_FILE_TYPE": "Unknown File",
"SAVE_CONTACT": "Save Contact",
"NO_CONTENT": "No content to display",
@@ -85,13 +85,13 @@
"YOU_ANSWERED": "You answered"
},
"HEADER": {
"RESOLVE_ACTION": "Tapusin",
"REOPEN_ACTION": "Buksan muli",
"RESOLVE_ACTION": "Resolve",
"REOPEN_ACTION": "Reopen",
"OPEN_ACTION": "Open",
"MORE_ACTIONS": "More actions",
"OPEN": "Higit pa",
"CLOSE": "Isara",
"DETAILS": "detalye",
"OPEN": "More",
"CLOSE": "Close",
"DETAILS": "details",
"SNOOZED_UNTIL": "Snoozed until",
"SNOOZED_UNTIL_TOMORROW": "Snoozed until tomorrow",
"SNOOZED_UNTIL_NEXT_WEEK": "Snoozed until next week",
@@ -188,8 +188,8 @@
"MESSAGE_SIGN_TOOLTIP": "Message signature",
"ENABLE_SIGN_TOOLTIP": "Enable signature",
"DISABLE_SIGN_TOOLTIP": "Disable signature",
"MSG_INPUT": "Shift + enter para sa bagong linya. Simulan sa '/' para pumili ng Canned Response.",
"PRIVATE_MSG_INPUT": "Shift + enter para sa bagong linya. Makikita lang ito ng mga Ahente",
"MSG_INPUT": "Shift + enter for new line. Start with '/' to select a Canned Response.",
"PRIVATE_MSG_INPUT": "Shift + enter for new line. This will be visible only to Agents",
"MESSAGING_RESTRICTED": "You cannot reply to this conversation",
"MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction",
"MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction",
@@ -199,10 +199,10 @@
"WHATSAPP_TEMPLATES": "Whatsapp Templates"
},
"REPLYBOX": {
"REPLY": "Tumugon",
"PRIVATE_NOTE": "Pribadong Tala",
"SEND": "Ipadala",
"CREATE": "Magdagdag ng Tala",
"REPLY": "Reply",
"PRIVATE_NOTE": "Private Note",
"SEND": "Send",
"CREATE": "Add Note",
"INSERT_READ_MORE": "Read more",
"DISMISS_REPLY": "Dismiss reply",
"REPLYING_TO": "Replying to:",
@@ -245,10 +245,10 @@
"EXPAND": "Expand preview"
}
},
"VISIBLE_TO_AGENTS": "Pribadong Tala: Ikaw at ang iyong team lang ang makakakita",
"CHANGE_STATUS": "Nagbago ang status ng usapan",
"VISIBLE_TO_AGENTS": "Private Note: Only visible to you and your team",
"CHANGE_STATUS": "Conversation status changed",
"CHANGE_STATUS_FAILED": "Conversation status change failed",
"CHANGE_AGENT": "Nagbago ang nakatalagang ahente sa usapan",
"CHANGE_AGENT": "Conversation Assignee changed",
"CHANGE_AGENT_FAILED": "Assignee change failed",
"ASSIGN_LABEL_SUCCESFUL": "Label assigned successfully",
"ASSIGN_LABEL_FAILED": "Label assignment failed",
@@ -300,20 +300,20 @@
}
},
"EMAIL_TRANSCRIPT": {
"TITLE": "Ipadala ang transcript ng usapan",
"DESC": "Ipadala ang kopya ng transcript ng usapan sa tinukoy na email address",
"SUBMIT": "Isumite",
"CANCEL": "Kanselahin",
"SEND_EMAIL_SUCCESS": "Matagumpay na naipadala ang transcript ng chat",
"SEND_EMAIL_ERROR": "Nagkaroon ng error, pakisubukang muli",
"TITLE": "Send conversation transcript",
"DESC": "Send a copy of the conversation transcript to the specified email address",
"SUBMIT": "Submit",
"CANCEL": "Cancel",
"SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully",
"SEND_EMAIL_ERROR": "There was an error, please try again",
"SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.",
"FORM": {
"SEND_TO_CONTACT": "Ipadala ang transcript sa customer",
"SEND_TO_CONTACT": "Send the transcript to the customer",
"SEND_TO_AGENT": "Send the transcript to the assigned agent",
"SEND_TO_OTHER_EMAIL_ADDRESS": "Ipadala ang transcript sa ibang email address",
"SEND_TO_OTHER_EMAIL_ADDRESS": "Send the transcript to another email address",
"EMAIL": {
"PLACEHOLDER": "Ilagay ang email address",
"ERROR": "Pakilagay ang wastong email address"
"PLACEHOLDER": "Enter an email address",
"ERROR": "Please enter a valid email address"
}
}
},
File diff suppressed because it is too large Load Diff
@@ -3,34 +3,34 @@
"SHOPIFY": {
"HEADER": "Shopify",
"DELETE": {
"TITLE": "Tanggalin ang Shopify Integration",
"MESSAGE": "Sigurado ka bang gusto mong tanggalin ang Shopify integration?"
"TITLE": "Delete Shopify Integration",
"MESSAGE": "Are you sure you want to delete the Shopify integration?"
},
"STORE_URL": {
"TITLE": "Ikonekta ang Shopify Store",
"TITLE": "Connect Shopify Store",
"LABEL": "URL ng Tindahan",
"PLACEHOLDER": "your-store.myshopify.com",
"HELP": "Ilagay ang myshopify.com URL ng iyong Shopify store",
"HELP": "Enter your Shopify store's myshopify.com URL",
"CANCEL": "Kanselahin",
"SUBMIT": "Ikonekta ang Store"
"SUBMIT": "Connect Store"
},
"ERROR": "Nagkaroon ng error sa pagkonekta sa Shopify. Pakisubukang muli o kontakin ang suporta kung magpapatuloy ang problema."
"ERROR": "There was an error connecting to Shopify. Please try again or contact support if the issue persists."
},
"HEADER": "Mga Integrasyon",
"DESCRIPTION": "Ang Chatwoot ay nakakonekta sa iba't ibang mga tool at serbisyo upang mapabuti ang kahusayan ng iyong koponan. Tuklasin ang listahan sa ibaba upang i-configure ang iyong mga paboritong app.",
"DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.",
"LEARN_MORE": "Alamin pa tungkol sa mga integrasyon",
"LOADING": "Kinuha ang mga integrasyon",
"SEARCH_PLACEHOLDER": "Search integrations...",
"NO_RESULTS": "No integrations found matching your search",
"CAPTAIN": {
"DISABLED": "Hindi naka-enable ang Captain sa iyong account.",
"CLICK_HERE_TO_CONFIGURE": "I-click dito upang i-configure",
"LOADING_CONSOLE": "Naglo-load ang Captain Console...",
"FAILED_TO_LOAD_CONSOLE": "Nabigong i-load ang Captain Console. Pakirefresh at subukang muli."
"DISABLED": "Captain is not enabled on your account.",
"CLICK_HERE_TO_CONFIGURE": "Click here to configure",
"LOADING_CONSOLE": "Loading Captain Console...",
"FAILED_TO_LOAD_CONSOLE": "Failed to load Captain Console. Please refresh and try again."
},
"WEBHOOK": {
"SUBSCRIBED_EVENTS": "Mga Nakalistang Kaganapan",
"LEARN_MORE": "Alamin pa tungkol sa webhooks",
"LEARN_MORE": "Learn more about webhooks",
"SECRET": {
"LABEL": "Lihim",
"COPY": "Copy secret to clipboard",
@@ -52,10 +52,10 @@
"CONVERSATION_STATUS_CHANGED": "Nagbago ang Katayuan ng Usapan",
"CONVERSATION_UPDATED": "Na-update ang Usapan",
"MESSAGE_CREATED": "Nalikha ang mensahe",
"MESSAGE_UPDATED": "Na-update ang mensahe",
"WEBWIDGET_TRIGGERED": "Binuksan ng user ang live chat widget",
"MESSAGE_UPDATED": "Message updated",
"WEBWIDGET_TRIGGERED": "Live chat widget opened by the user",
"CONTACT_CREATED": "Nalikha ang kontak",
"CONTACT_UPDATED": "Na-update ang contact",
"CONTACT_UPDATED": "Contact updated",
"CONVERSATION_TYPING_ON": "Nagsusulat sa Pag-uusap On",
"CONVERSATION_TYPING_OFF": "Nagsusulat sa Pag-uusap Off"
}
@@ -65,52 +65,52 @@
"PLACEHOLDER": "Enter the name of the webhook"
},
"END_POINT": {
"LABEL": "URL ng Webhook",
"LABEL": "Webhook URL",
"PLACEHOLDER": "Halimbawa: {webhookExampleURL}",
"ERROR": "Mangyaring maglagay ng wastong URL"
},
"EDIT_SUBMIT": "I-update ang webhook",
"ADD_SUBMIT": "Gumawa ng webhook"
"EDIT_SUBMIT": "Update webhook",
"ADD_SUBMIT": "Create webhook"
},
"TITLE": "Webhook",
"CONFIGURE": "I-configure",
"HEADER": "Mga setting ng webhook",
"HEADER_BTN_TXT": "Magdagdag ng bagong webhook",
"LOADING": "Kinuha ang mga naka-attach na webhook",
"SEARCH_404": "Walang mga item na tumutugma sa query na ito",
"CONFIGURE": "Configure",
"HEADER": "Webhook settings",
"HEADER_BTN_TXT": "Add new webhook",
"LOADING": "Fetching attached webhooks",
"SEARCH_404": "There are no items matching this query",
"SIDEBAR_TXT": "<p><b>Mga Webhook</b> </p> <p>Ang mga webhook ay mga HTTP callback na maaaring idefine para sa bawat account. Ito ay na-trigger ng mga pangyayari tulad ng paglikha ng mensahe sa Chatwoot. Maaari kang gumawa ng higit sa isang webhook para sa account na ito. <br /><br /> Para gumawa ng <b>webhook</b>, i-click ang <b>Magdagdag ng bagong webhook</b> na button. Maaari mo ring alisin ang anumang umiiral na webhook sa pamamagitan ng pag-click sa Delete na button.</p>",
"LIST": {
"404": "Walang mga webhook na naka-configure para sa account na ito.",
"TITLE": "Pamahalaan ang mga webhook",
"404": "There are no webhooks configured for this account.",
"TITLE": "Manage webhooks",
"TABLE_HEADER": {
"WEBHOOK_ENDPOINT": "Webhook endpoint",
"ACTIONS": "Mga aksyon"
}
},
"EDIT": {
"BUTTON_TEXT": "I-edit",
"TITLE": "I-edit ang webhook",
"BUTTON_TEXT": "Edit",
"TITLE": "Edit webhook",
"API": {
"SUCCESS_MESSAGE": "Matagumpay na na-update ang webhook configuration",
"ERROR_MESSAGE": "Hindi makakonekta sa Woot Server, subukan muli mamaya"
"SUCCESS_MESSAGE": "Webhook configuration updated successfully",
"ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later"
}
},
"ADD": {
"CANCEL": "Kanselahin",
"TITLE": "Magdagdag ng bagong webhook",
"TITLE": "Add new webhook",
"API": {
"SUCCESS_MESSAGE": "Matagumpay na naidagdag ang configuration ng webhook",
"ERROR_MESSAGE": "Hindi makakonekta sa Woot Server, pakisubukan muli mamaya"
"SUCCESS_MESSAGE": "Webhook configuration added successfully",
"ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later"
}
},
"DELETE": {
"BUTTON_TEXT": "Tanggalin",
"API": {
"SUCCESS_MESSAGE": "Matagumpay na natanggal ang webhook",
"ERROR_MESSAGE": "Hindi makakonekta sa Woot Server, subukan muli mamaya"
"SUCCESS_MESSAGE": "Webhook deleted successfully",
"ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later"
},
"CONFIRM": {
"TITLE": "Kumpirmahin ang Pag-delete",
"TITLE": "Confirm Deletion",
"MESSAGE": "Are you sure to delete the webhook? ({webhookURL})",
"YES": "Oo, Tanggalin ",
"NO": "Hindi, Panatilihin"
@@ -125,27 +125,27 @@
"MESSAGE": "Sigurado ka bang gusto mong tanggalin ang integrasyon? Kapag ginawa mo ito, mawawala ang kakayahan mong tingnan ang mga pag-uusap sa iyong Slack account."
},
"HELP_TEXT": {
"TITLE": "Paano gamitin ang Slack Integration?",
"TITLE": "How to use the Slack Integration?",
"BODY": "With this integration, all of your incoming conversations will be synced to the ***{selectedChannelName}*** channel in your Slack workspace. You can manage all your customer conversations right within the channel and never miss a message.\n\nHere are the main features of the integration:\n\n**Respond to conversations from within Slack:** To respond to a conversation in the ***{selectedChannelName}*** Slack channel, simply type out your message and send it as a thread. This will create a response back to the customer through Chatwoot. It's that simple!\n\n **Create private notes:** If you want to create private notes instead of replies, start your message with ***`note:`***. This ensures that your message is kept private and won't be visible to the customer.\n\n**Associate an agent profile:** If the person who replied on Slack has an agent profile in Chatwoot under the same email, the replies will be associated with that agent profile automatically. This means you can easily track who said what and when. On the other hand, when the replier doesn't have an associated agent profile, the replies will appear from the bot profile to the customer.",
"SELECTED": "napili"
},
"SELECT_CHANNEL": {
"OPTION_LABEL": "Pumili ng channel",
"OPTION_LABEL": "Select a channel",
"UPDATE": "I-update",
"BUTTON_TEXT": "Ikonekta ang channel",
"BUTTON_TEXT": "Connect channel",
"DESCRIPTION": "Ang iyong Slack account ay naka-link na sa Chatwoot. Gayunpaman, kasalukuyang hindi aktibo ang integrasyon. Upang paganahin ang integrasyon at ikonekta ang isang channel sa Chatwoot, pakiklik ang button sa ibaba.\n\n**Tandaan:** Kung sinusubukan mong ikonekta ang isang pribadong channel, idagdag muna ang Chatwoot app sa Slack channel bago magpatuloy sa hakbang na ito.",
"ATTENTION_REQUIRED": "Kinakailangan ang pansin",
"EXPIRED": "Nag-expire na ang iyong Slack integration. Upang magpatuloy sa pagtanggap ng mga mensahe sa Slack, pakitanggal ang integrasyon at ikonekta muli ang iyong Slack account."
},
"UPDATE_ERROR": "Nagkaroon ng error sa pag-update ng integration, pakisubukang muli",
"UPDATE_SUCCESS": "Matagumpay na nakakonekta ang channel",
"FAILED_TO_FETCH_CHANNELS": "Nagkaroon ng error sa pagkuha ng mga channel mula sa Slack, pakisubukang muli"
"UPDATE_ERROR": "There was an error updating the integration, please try again",
"UPDATE_SUCCESS": "The channel is connected successfully",
"FAILED_TO_FETCH_CHANNELS": "There was an error fetching the channels from Slack, please try again"
},
"DYTE": {
"CLICK_HERE_TO_JOIN": "Pindutin dito upang sumali",
"LEAVE_THE_ROOM": "Umalis sa silid",
"START_VIDEO_CALL_HELP_TEXT": "Magsimula ng bagong video call kasama ang customer",
"JOIN_ERROR": "Nagkaroon ng error sa pagsali sa tawag, pakisubukang muli",
"START_VIDEO_CALL_HELP_TEXT": "Start a new video call with the customer",
"JOIN_ERROR": "There was an error joining the call, please try again",
"CREATE_ERROR": "Nagkaroon ng error sa paglikha ng link ng meeting, pakisubukang muli"
},
"OPEN_AI": {
@@ -153,14 +153,14 @@
"WITH_AI": " {option} gamit ang AI ",
"OPTIONS": {
"REPLY_SUGGESTION": "Mungkahi ng sagot",
"SUMMARIZE": "Buodin",
"SUMMARIZE": "Summarize",
"REPHRASE": "Pagandahin ang pagsulat",
"FIX_SPELLING_GRAMMAR": "Ayusin ang Baybay at Gramatika",
"SHORTEN": "Paikliin",
"FIX_SPELLING_GRAMMAR": "Fix Spelling and Grammar",
"SHORTEN": "Shorten",
"EXPAND": "Palawakin",
"MAKE_FRIENDLY": "Baguhin ang tono ng mensahe upang maging palakaibigan",
"MAKE_FRIENDLY": "Change message tone to friendly",
"MAKE_FORMAL": "Gamitin ang pormal na tono",
"SIMPLIFY": "Pagsimplehin",
"SIMPLIFY": "Simplify",
"CONFIDENT": "Use confident tone",
"PROFESSIONAL": "Gamitin ang propesyonal na tono",
"CASUAL": "Gamitin ang kaswal na tono",
@@ -185,9 +185,9 @@
"ASK_COPILOT": "Ask Copilot"
},
"ASSISTANCE_MODAL": {
"DRAFT_TITLE": "Gumawa ng draft ng nilalaman",
"DRAFT_TITLE": "Draft content",
"GENERATED_TITLE": "Nilikha na nilalaman",
"AI_WRITING": "Nagsusulat ang AI",
"AI_WRITING": "AI is writing",
"BUTTONS": {
"APPLY": "Gamitin ang mungkahing ito",
"CANCEL": "Kanselahin"
@@ -195,25 +195,25 @@
},
"CTA_MODAL": {
"TITLE": "Isama sa OpenAI",
"DESC": "Magdala ng mga advanced na tampok ng AI sa iyong dashboard gamit ang mga GPT model ng OpenAI. Upang magsimula, ilagay ang API key mula sa iyong OpenAI account.",
"KEY_PLACEHOLDER": "Ilagay ang iyong OpenAI API key",
"DESC": "Bring advanced AI features to your dashboard with OpenAI's GPT models. To begin, enter the API key from your OpenAI account.",
"KEY_PLACEHOLDER": "Enter your OpenAI API key",
"BUTTONS": {
"NEED_HELP": "Kailangan ng tulong?",
"DISMISS": "Isara",
"FINISH": "Tapusin ang Setup"
"FINISH": "Finish Setup"
},
"DISMISS_MESSAGE": "Maaari mong i-setup ang OpenAI integration anumang oras na gusto mo.",
"SUCCESS_MESSAGE": "Matagumpay na na-setup ang OpenAI integration"
"DISMISS_MESSAGE": "You can setup OpenAI integration later Whenever you want.",
"SUCCESS_MESSAGE": "OpenAI integration setup successfully"
},
"TITLE": "Pagbutihin Gamit ang AI",
"SUMMARY_TITLE": "Buod gamit ang AI",
"REPLY_TITLE": "Mungkahi ng sagot gamit ang AI",
"SUBTITLE": "Gagamit ang AI ng isang pinahusay na sagot batay sa iyong kasalukuyang draft.",
"SUBTITLE": "An improved reply will be generated using AI, based on your current draft.",
"TONE": {
"TITLE": "Tono",
"OPTIONS": {
"PROFESSIONAL": "Propesyonal",
"FRIENDLY": "Palakaibigan"
"FRIENDLY": "Friendly"
}
},
"BUTTONS": {
@@ -221,7 +221,7 @@
"GENERATING": "Gumagawa...",
"CANCEL": "Kanselahin"
},
"GENERATE_ERROR": "Nagkaroon ng error sa pagproseso ng nilalaman, pakisuri ang iyong OpenAI API key at subukang muli"
"GENERATE_ERROR": "There was an error processing the content, please verify your OpenAI API key and try again"
},
"DELETE": {
"BUTTON_TEXT": "Tanggalin",
@@ -230,79 +230,79 @@
}
},
"CONNECT": {
"BUTTON_TEXT": "Ikonekta"
"BUTTON_TEXT": "Connect"
},
"DASHBOARD_APPS": {
"TITLE": "Mga App sa Dashboard",
"HEADER_BTN_TXT": "Magdagdag ng bagong dashboard app",
"TITLE": "Dashboard Apps",
"HEADER_BTN_TXT": "Add a new dashboard app",
"SIDEBAR_TXT": "<p><b>Mga App sa Dashboard</b></p><p>Pinapayagan ng Mga App sa Dashboard ang mga organisasyon na isama ang isang aplikasyon sa loob ng Chatwoot dashboard upang magbigay ng konteksto para sa mga ahente ng suporta sa customer. Pinapayagan ka ng tampok na ito na gumawa ng isang aplikasyon nang nakapag-iisa at isama ito sa dashboard upang magbigay ng impormasyon tungkol sa gumagamit, kanilang mga order, o kanilang nakaraang kasaysayan ng pagbabayad.</p><p>Kapag isinama mo ang iyong aplikasyon gamit ang dashboard sa Chatwoot, makukuha ng iyong aplikasyon ang konteksto ng pag-uusap at kontak bilang isang window event. Magpatupad ng tagapakinig para sa message event sa iyong pahina upang matanggap ang konteksto.</p><p>Upang magdagdag ng bagong app sa dashboard, i-click ang button na 'Magdagdag ng bagong app sa dashboard'.</p>",
"DESCRIPTION": "Pinapayagan ng Mga App sa Dashboard ang mga organisasyon na isama ang isang aplikasyon sa loob ng dashboard upang magbigay ng konteksto para sa mga ahente ng suporta sa customer. Pinapayagan ka ng tampok na ito na gumawa ng isang aplikasyon nang nakapag-iisa at isama ito upang magbigay ng impormasyon tungkol sa gumagamit, kanilang mga order, o kanilang nakaraang kasaysayan ng pagbabayad.",
"LEARN_MORE": "Alamin pa tungkol sa Dashboard Apps",
"LEARN_MORE": "Learn more about Dashboard Apps",
"COUNT": "{n} dashboard app | {n} dashboard apps",
"SEARCH_PLACEHOLDER": "Search dashboard apps...",
"NO_RESULTS": "No dashboard apps found matching your search",
"LIST": {
"404": "Wala pang naka-configure na mga dashboard app sa account na ito",
"LOADING": "Kinuha ang mga dashboard app...",
"LOADING": "Fetching dashboard apps...",
"TABLE_HEADER": {
"NAME": "Pangalan",
"ENDPOINT": "Endpoint",
"ACTIONS": "Mga Aksyon"
},
"EDIT_TOOLTIP": "I-edit ang app",
"DELETE_TOOLTIP": "Tanggalin ang app"
"EDIT_TOOLTIP": "Edit app",
"DELETE_TOOLTIP": "Delete app"
},
"FORM": {
"TITLE_LABEL": "Pangalan",
"TITLE_PLACEHOLDER": "Ilagay ang pangalan para sa iyong dashboard app",
"TITLE_ERROR": "Kinakailangan ang pangalan para sa dashboard app",
"TITLE_PLACEHOLDER": "Enter a name for your dashboard app",
"TITLE_ERROR": "A name for the dashboard app is required",
"URL_LABEL": "Endpoint",
"URL_PLACEHOLDER": "Ilagay ang endpoint URL kung saan naka-host ang iyong app",
"URL_PLACEHOLDER": "Enter the endpoint URL where your app is hosted",
"URL_ERROR": "Kinakailangan ang isang wastong URL"
},
"CREATE": {
"HEADER": "Magdagdag ng bagong dashboard app",
"HEADER": "Add a new dashboard app",
"FORM_SUBMIT": "Isumite",
"FORM_CANCEL": "Kanselahin",
"API_SUCCESS": "Matagumpay na na-configure ang dashboard app",
"API_ERROR": "Hindi namin malikha ang app. Pakisubukang muli mamaya"
"API_SUCCESS": "Dashboard app configured successfully",
"API_ERROR": "We couldn't create an app. Please try again later"
},
"UPDATE": {
"HEADER": "I-edit ang dashboard app",
"HEADER": "Edit dashboard app",
"FORM_SUBMIT": "I-update",
"FORM_CANCEL": "Kanselahin",
"API_SUCCESS": "Matagumpay na na-update ang dashboard app",
"API_ERROR": "Hindi namin ma-update ang app. Pakisubukang muli mamaya"
"API_SUCCESS": "Dashboard app updated successfully",
"API_ERROR": "We couldn't update the app. Please try again later"
},
"DELETE": {
"CONFIRM_YES": "Oo, tanggalin ito",
"CONFIRM_NO": "Hindi, panatilihin ito",
"TITLE": "Kumpirmahin ang pagtanggal",
"TITLE": "Confirm deletion",
"MESSAGE": "Sigurado ka bang tatanggalin ang app - {appName}?",
"API_SUCCESS": "Matagumpay na natanggal ang dashboard app",
"API_ERROR": "Hindi namin matanggal ang app. Pakisubukang muli mamaya"
"API_SUCCESS": "Dashboard app deleted successfully",
"API_ERROR": "We couldn't delete the app. Please try again later"
}
},
"LINEAR": {
"HEADER": "Linear",
"ADD_OR_LINK_BUTTON": "Gumawa/I-link ang Linear Issue",
"LOADING": "Kinuha ang mga linear issue...",
"LOADING_ERROR": "Nagkaroon ng error sa pagkuha ng mga linear issue, pakisubukang muli",
"ADD_OR_LINK_BUTTON": "Create/Link Linear Issue",
"LOADING": "Fetching linear issues...",
"LOADING_ERROR": "There was an error fetching the linear issues, please try again",
"CREATE": "Gumawa",
"LINK": {
"SEARCH": "Maghanap ng mga isyu",
"SELECT": "Piliin ang isyu",
"TITLE": "I-link",
"EMPTY_LIST": "Walang nahanap na linear issue",
"LOADING": "Naglo-load",
"ERROR": "Nagkaroon ng error sa pagkuha ng mga linear issue, pakisubukang muli",
"LINK_SUCCESS": "Matagumpay na na-link ang isyu",
"LINK_ERROR": "Nagkaroon ng error sa pag-link ng isyu, pakisubukang muli",
"TITLE": "Link",
"EMPTY_LIST": "No linear issues found",
"LOADING": "Loading",
"ERROR": "There was an error fetching the linear issues, please try again",
"LINK_SUCCESS": "Issue linked successfully",
"LINK_ERROR": "There was an error linking the issue, please try again",
"LINK_TITLE": "Usapan (#{conversationId}) kasama si {name}"
},
"ADD_OR_LINK": {
"TITLE": "Gumawa/mag-link ng linear na isyu",
"DESCRIPTION": "Gumawa ng mga Linear issue mula sa mga pag-uusap, o i-link ang mga umiiral na para sa tuloy-tuloy na pagsubaybay.",
"DESCRIPTION": "Create Linear issues from conversations, or link existing ones for seamless tracking.",
"FORM": {
"TITLE": {
"LABEL": "Pamagat",
@@ -310,8 +310,8 @@
"REQUIRED_ERROR": "Kinakailangan ang pamagat"
},
"DESCRIPTION": {
"LABEL": "Paglalarawan",
"PLACEHOLDER": "Ilagay ang paglalarawan"
"LABEL": "Description",
"PLACEHOLDER": "Enter description"
},
"TEAM": {
"LABEL": "Koponan",
@@ -321,8 +321,8 @@
},
"ASSIGNEE": {
"LABEL": "Inatasan",
"PLACEHOLDER": "Pumili ng assignee",
"SEARCH": "Maghanap ng assignee"
"PLACEHOLDER": "Select assignee",
"SEARCH": "Search assignee"
},
"PRIORITY": {
"LABEL": "Prayoridad",
@@ -331,13 +331,13 @@
},
"LABEL": {
"LABEL": "Label",
"PLACEHOLDER": "Pumili ng label",
"SEARCH": "Maghanap ng label"
"PLACEHOLDER": "Select label",
"SEARCH": "Search label"
},
"STATUS": {
"LABEL": "Katayuan",
"PLACEHOLDER": "Pumili ng status",
"SEARCH": "Maghanap ng status"
"PLACEHOLDER": "Select status",
"SEARCH": "Search status"
},
"PROJECT": {
"LABEL": "Proyekto",
@@ -348,15 +348,15 @@
"CREATE": "Gumawa",
"CANCEL": "Kanselahin",
"CREATE_SUCCESS": "Matagumpay na nagawa ang isyu",
"CREATE_ERROR": "Nagkaroon ng error sa paglikha ng isyu, pakisubukang muli",
"LOADING_TEAM_ERROR": "Nagkaroon ng error sa pagkuha ng mga koponan, pakisubukang muli",
"LOADING_TEAM_ENTITIES_ERROR": "Nagkaroon ng error sa pagkuha ng mga entidad ng koponan, pakisubukang muli"
"CREATE_ERROR": "There was an error creating the issue, please try again",
"LOADING_TEAM_ERROR": "There was an error fetching the teams, please try again",
"LOADING_TEAM_ENTITIES_ERROR": "There was an error fetching the team entities, please try again"
},
"ISSUE": {
"STATUS": "Katayuan",
"PRIORITY": "Prayoridad",
"ASSIGNEE": "Inatasan",
"LABELS": "Mga label",
"LABELS": "Labels",
"CREATED_AT": "Nilikha noong {createdAt}"
},
"UNLINK": {
@@ -372,16 +372,16 @@
"CANCEL": "Kanselahin"
},
"CTA": {
"TITLE": "Ikonekta sa Linear",
"AGENT_DESCRIPTION": "Hindi nakakonekta ang Linear workspace. Hilingin sa iyong administrator na ikonekta ang workspace upang magamit ang integration na ito.",
"TITLE": "Connect to Linear",
"AGENT_DESCRIPTION": "Linear workspace is not connected. Request your administrator to connect a workspace to use this integration.",
"DESCRIPTION": "Hindi nakakonekta ang Linear workspace. I-click ang button sa ibaba upang ikonekta ang iyong workspace para magamit ang integrasyong ito.",
"BUTTON_TEXT": "Ikonekta ang Linear workspace"
"BUTTON_TEXT": "Connect Linear workspace"
}
},
"NOTION": {
"HEADER": "Notion",
"DELETE": {
"TITLE": "Sigurado ka bang gusto mong tanggalin ang Notion integration?",
"TITLE": "Are you sure you want to delete the Notion integration?",
"MESSAGE": "Ang pagtanggal sa integrasyong ito ay mag-aalis ng kakayahan mong gamitin ang iyong Notion account at hihinto ang lahat ng kaugnay na functionality.",
"CONFIRM": "Oo, tanggalin",
"CANCEL": "Kanselahin"
@@ -399,24 +399,24 @@
},
"COPILOT": {
"TITLE": "Copilot",
"TRY_THESE_PROMPTS": "Subukan ang mga prompt na ito",
"PANEL_TITLE": "Magsimula gamit ang Copilot",
"TRY_THESE_PROMPTS": "Try these prompts",
"PANEL_TITLE": "Get started with Copilot",
"KICK_OFF_MESSAGE": "Kailangan ng mabilis na buod, nais tingnan ang mga nakaraang pag-uusap, o gumawa ng mas magandang sagot? Narito ang Copilot para pabilisin ang mga bagay.",
"SEND_MESSAGE": "Magpadala ng mensahe...",
"EMPTY_MESSAGE": "Nagkaroon ng error sa pagbuo ng sagot. Pakisubukang muli.",
"LOADER": "Nag-iisip si Captain",
"EMPTY_MESSAGE": "There was an error generating the response. Please try again.",
"LOADER": "Captain is thinking",
"YOU": "Ikaw",
"USE": "Gamitin ito",
"RESET": "I-reset",
"RESET": "Reset",
"SHOW_STEPS": "Ipakita ang mga hakbang",
"SELECT_ASSISTANT": "Pumili ng Assistant",
"SELECT_ASSISTANT": "Select Assistant",
"PROMPTS": {
"SUMMARIZE": {
"LABEL": "Ibuod ang pag-uusap na ito",
"CONTENT": "Ibuod ang mga pangunahing punto na tinalakay sa pagitan ng customer at ng support agent, kabilang ang mga alalahanin ng customer, mga tanong, at ang mga solusyon o tugon na ibinigay ng support agent"
"CONTENT": "Summarize the key points discussed between the customer and the support agent, including the customer's concerns, questions, and the solutions or responses provided by the support agent"
},
"SUGGEST": {
"LABEL": "Magmungkahi ng sagot",
"LABEL": "Suggest an answer",
"CONTENT": "Suriin ang tanong ng customer, at gumawa ng draft ng sagot na epektibong tinutugunan ang kanilang mga alalahanin o tanong. Siguraduhing malinaw, maikli, at nagbibigay ng kapaki-pakinabang na impormasyon ang sagot."
},
"RATE": {
@@ -428,7 +428,7 @@
"CONTENT": "Bigyan ako ng buod ng lahat ng mataas na prayoridad na bukas na pag-uusap. Isama ang conversation ID, pangalan ng customer (kung mayroon), nilalaman ng huling mensahe, at naka-assign na ahente. I-grupo ayon sa status kung naaangkop."
},
"LIST_CONTACTS": {
"LABEL": "Ilista ang mga kontak",
"LABEL": "List contacts",
"CONTENT": "Ipakita sa akin ang listahan ng nangungunang 10 mga contact. Isama ang pangalan, email o numero ng telepono (kung mayroon), huling oras na nakita, mga tag (kung mayroon)."
}
}
@@ -436,21 +436,21 @@
"PLAYGROUND": {
"USER": "Ikaw",
"ASSISTANT": "Katulong",
"MESSAGE_PLACEHOLDER": "I-type ang iyong mensahe...",
"MESSAGE_PLACEHOLDER": "Type your message...",
"HEADER": "Palaruan",
"DESCRIPTION": "Gamitin ang playground na ito upang magpadala ng mga mensahe sa iyong assistant at suriin kung ito ay tumutugon nang tumpak, mabilis, at sa inaasahang tono.",
"CREDIT_NOTE": "Ang mga mensaheng ipinadala dito ay bibilangin para sa iyong Captain credits."
"CREDIT_NOTE": "Messages sent here will count toward your Captain credits."
},
"PAYWALL": {
"TITLE": "Mag-upgrade para magamit ang Captain AI",
"AVAILABLE_ON": "Hindi available ang Captain sa libreng plano.",
"UPGRADE_PROMPT": "I-upgrade ang iyong plano para ma-access ang aming mga assistant, copilot at iba pa.",
"UPGRADE_NOW": "Mag-upgrade ngayon",
"TITLE": "Upgrade to use Captain AI",
"AVAILABLE_ON": "Captain is not available on the free plan.",
"UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.",
"UPGRADE_NOW": "Upgrade now",
"CANCEL_ANYTIME": "Maaari mong baguhin o kanselahin ang iyong plano anumang oras"
},
"ENTERPRISE_PAYWALL": {
"AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.",
"UPGRADE_PROMPT": "I-upgrade ang iyong plano para ma-access ang aming mga assistant, copilot at iba pa.",
"UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.",
"ASK_ADMIN": "Mangyaring makipag-ugnayan sa iyong administrator para sa pag-upgrade."
},
"BANNER": {
@@ -471,13 +471,13 @@
"DESCRIPTION": "Pangmatagalang aksyon ito. Ang pagtanggal sa katulong na ito ay aalisin ito mula sa lahat ng nakakonektang kahon ng mensahe at permanenteng aalisin ang lahat ng nabuong kaalaman.",
"CONFIRM": "Oo, tanggalin",
"SUCCESS_MESSAGE": "Matagumpay na natanggal ang katulong",
"ERROR_MESSAGE": "Nagkaroon ng error sa pagtanggal ng assistant, pakisubukang muli."
"ERROR_MESSAGE": "There was an error deleting the assistant, please try again."
},
"FORM_DESCRIPTION": "Punan ang mga detalye sa ibaba upang pangalanan ang iyong assistant, ilarawan ang layunin nito, at tukuyin ang produktong susuportahan nito.",
"FORM_DESCRIPTION": "Fill out the details below to name your assistant, describe its purpose, and specify the product it will support.",
"CREATE": {
"TITLE": "Gumawa ng katulong",
"SUCCESS_MESSAGE": "Matagumpay na nagawa ang katulong",
"ERROR_MESSAGE": "Nagkaroon ng error sa paglikha ng assistant, pakisubukang muli."
"ERROR_MESSAGE": "There was an error creating the assistant, please try again."
},
"FORM": {
"UPDATE": "I-update",
@@ -490,7 +490,7 @@
},
"NAME": {
"LABEL": "Pangalan",
"PLACEHOLDER": "Ilagay ang pangalan ng assistant",
"PLACEHOLDER": "Enter assistant name",
"ERROR": "Kinakailangan ang pangalan"
},
"TEMPERATURE": {
@@ -499,7 +499,7 @@
},
"DESCRIPTION": {
"LABEL": "Paglalarawan",
"PLACEHOLDER": "Ilagay ang paglalarawan ng assistant",
"PLACEHOLDER": "Enter assistant description",
"ERROR": "Kinakailangan ang paglalarawan"
},
"PRODUCT_NAME": {
@@ -521,30 +521,30 @@
},
"INSTRUCTIONS": {
"LABEL": "Mga Tagubilin",
"PLACEHOLDER": "Ilagay ang mga tagubilin para sa assistant"
"PLACEHOLDER": "Enter instructions for the assistant"
},
"FEATURES": {
"TITLE": "Mga Tampok",
"ALLOW_CONVERSATION_FAQS": "Gumawa ng FAQs mula sa mga nalutas na pag-uusap",
"ALLOW_CONVERSATION_FAQS": "Generate FAQs from resolved conversations",
"ALLOW_MEMORIES": "Kuhain ang mahahalagang detalye bilang mga alaala mula sa mga interaksyon ng customer.",
"ALLOW_CITATIONS": "Isama ang mga sanggunian ng pinagmulan sa mga sagot",
"ALLOW_CONTACT_ATTRIBUTES": "Allow access to contact information"
}
},
"EDIT": {
"TITLE": "I-update ang assistant",
"SUCCESS_MESSAGE": "Matagumpay na na-update ang assistant",
"ERROR_MESSAGE": "Nagkaroon ng error sa pag-update ng assistant, pakisubukang muli.",
"NOT_FOUND": "Hindi mahanap ang assistant. Pakisubukang muli."
"TITLE": "Update the assistant",
"SUCCESS_MESSAGE": "The assistant has been successfully updated",
"ERROR_MESSAGE": "There was an error updating the assistant, please try again.",
"NOT_FOUND": "Could not find the assistant. Please try again."
},
"SETTINGS": {
"HEADER": "Mga Setting",
"BASIC_SETTINGS": {
"TITLE": "Pangunahing mga setting",
"TITLE": "Basic settings",
"DESCRIPTION": "I-customize kung ano ang sinasabi ng assistant kapag nagtatapos ng pag-uusap o naglilipat sa isang tao."
},
"SYSTEM_SETTINGS": {
"TITLE": "Mga setting ng sistema",
"TITLE": "System settings",
"DESCRIPTION": "I-customize kung ano ang sinasabi ng assistant kapag nagtatapos ng pag-uusap o naglilipat sa isang tao."
},
"CONTROL_ITEMS": {
@@ -568,9 +568,9 @@
}
},
"OPTIONS": {
"EDIT_ASSISTANT": "I-edit ang Assistant",
"EDIT_ASSISTANT": "Edit Assistant",
"DELETE_ASSISTANT": "Tanggalin ang Katulong",
"VIEW_CONNECTED_INBOXES": "Tingnan ang mga nakakonektang inbox"
"VIEW_CONNECTED_INBOXES": "View connected inboxes"
},
"EMPTY_STATE": {
"TITLE": "Walang mga assistant na magagamit",
@@ -594,14 +594,14 @@
"TITLE": "Mga halimbawa ng pananggalang",
"ADD": "Idagdag lahat",
"ADD_SINGLE": "Idagdag ito",
"SAVE": "Magdagdag at i-save (↵)",
"PLACEHOLDER": "Mag-type ng panibagong guardrail..."
"SAVE": "Add and save (↵)",
"PLACEHOLDER": "Type in another guardrail..."
},
"NEW": {
"TITLE": "Magdagdag ng pananggalang",
"CREATE": "Gumawa",
"CANCEL": "Kanselahin",
"PLACEHOLDER": "Mag-type ng panibagong guardrail...",
"PLACEHOLDER": "Type in another guardrail...",
"TEST_ALL": "Subukan lahat"
}
},
@@ -612,16 +612,16 @@
"SEARCH_EMPTY_MESSAGE": "No guardrails found for this search.",
"API": {
"ADD": {
"SUCCESS": "Matagumpay na naidagdag ang mga guardrail",
"ERROR": "Nagkaroon ng error sa pagdagdag ng mga guardrail, pakisubukang muli."
"SUCCESS": "Guardrails added successfully",
"ERROR": "There was an error adding guardrails, please try again."
},
"UPDATE": {
"SUCCESS": "Matagumpay na na-update ang guardrails",
"ERROR": "Nagkaroon ng error sa pag-update ng mga guardrail, pakisubukang muli."
"SUCCESS": "Guardrails updated successfully",
"ERROR": "There was an error updating guardrails, please try again."
},
"DELETE": {
"SUCCESS": "Matagumpay na natanggal ang mga pananggalang",
"ERROR": "Nagkaroon ng error sa pagtanggal ng guardrails, pakisubukang muli."
"ERROR": "There was an error deleting guardrails, please try again."
}
}
},
@@ -639,14 +639,14 @@
"TITLE": "Mga halimbawa ng patnubay sa tugon",
"ADD": "Idagdag lahat",
"ADD_SINGLE": "Idagdag ito",
"SAVE": "Idagdag at i-save (↵)",
"PLACEHOLDER": "Mag-type ng isa pang patnubay sa tugon..."
"SAVE": "Add and save (↵)",
"PLACEHOLDER": "Type in another response guideline..."
},
"NEW": {
"TITLE": "Magdagdag ng patnubay sa tugon",
"CREATE": "Gumawa",
"CANCEL": "Kanselahin",
"PLACEHOLDER": "Mag-type ng isa pang patnubay sa tugon...",
"PLACEHOLDER": "Type in another response guideline...",
"TEST_ALL": "Subukan lahat"
}
},
@@ -657,8 +657,8 @@
"SEARCH_EMPTY_MESSAGE": "Walang natagpuang patnubay sa tugon para sa paghahanap na ito.",
"API": {
"ADD": {
"SUCCESS": "Matagumpay na naidagdag ang mga Patnubay sa Tugon",
"ERROR": "Nagkaroon ng error sa pagdagdag ng mga patnubay sa tugon, pakisubukang muli."
"SUCCESS": "Response Guidelines added successfully",
"ERROR": "There was an error adding response guidelines, please try again."
},
"UPDATE": {
"SUCCESS": "Response Guidelines updated successfully",
@@ -742,11 +742,11 @@
"TITLE": "Mga Kaugnay na FAQ",
"DESCRIPTION": "Ang mga FAQ na ito ay direktang ginawa mula sa dokumento."
},
"FORM_DESCRIPTION": "Ilagay ang URL ng dokumento upang idagdag ito bilang pinagkukunan ng kaalaman at piliin ang assistant na iuugnay dito.",
"FORM_DESCRIPTION": "Enter the URL of the document to add it as a knowledge source and choose the assistant to associate it with.",
"CREATE": {
"TITLE": "Magdagdag ng dokumento",
"SUCCESS_MESSAGE": "Matagumpay na nagawa ang dokumento",
"ERROR_MESSAGE": "Nagkaroon ng error sa paglikha ng dokumento, pakisubukang muli."
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
"TYPE": {
@@ -777,7 +777,7 @@
"DESCRIPTION": "Pangmatagalang aksyon ito. Ang pagtanggal sa dokumentong ito ay permanenteng aalisin ang lahat ng nabuong kaalaman.",
"CONFIRM": "Oo, tanggalin",
"SUCCESS_MESSAGE": "Matagumpay na natanggal ang dokumento",
"ERROR_MESSAGE": "Nagkaroon ng error sa pagtanggal ng dokumento, pakisubukang muli."
"ERROR_MESSAGE": "There was an error deleting the document, please try again."
},
"OPTIONS": {
"VIEW_RELATED_RESPONSES": "Tingnan ang mga Kaugnay na Tugon",
@@ -785,10 +785,10 @@
},
"EMPTY_STATE": {
"TITLE": "Walang magagamit na mga dokumento",
"SUBTITLE": "Ginagamit ng iyong assistant ang mga dokumento para gumawa ng FAQs. Maaari kang mag-import ng mga dokumento upang magbigay ng konteksto para sa iyong assistant.",
"SUBTITLE": "Documents are used by your assistant to generate FAQs. You can import documents to provide context for your assistant.",
"FEATURE_SPOTLIGHT": {
"TITLE": "Captain Document",
"NOTE": "Ang isang dokumento sa Captain ay nagsisilbing pinagkukunan ng kaalaman para sa assistant. Sa pamamagitan ng pagkonekta ng iyong help center o mga gabay, maaaring suriin ni Captain ang nilalaman at magbigay ng tumpak na mga sagot para sa mga tanong ng customer."
"NOTE": "A document in Captain serves as a knowledge resource for the assistant. By connecting your help center or guides, Captain can analyze the content and provide accurate responses for customer inquiries."
}
}
},
@@ -916,21 +916,21 @@
"BULK_DELETE_BUTTON": "Tanggalin",
"BULK_APPROVE": {
"SUCCESS_MESSAGE": "Matagumpay na naaprubahan ang mga FAQ",
"ERROR_MESSAGE": "Nagkaroon ng error sa pag-apruba ng mga FAQ, pakisubukang muli."
"ERROR_MESSAGE": "There was an error approving the FAQs, please try again."
},
"BULK_DELETE": {
"TITLE": "Tanggalin ang mga FAQ?",
"DESCRIPTION": "Sigurado ka bang gusto mong tanggalin ang mga napiling FAQ? Hindi na ito maaaring bawiin.",
"CONFIRM": "Oo, tanggalin lahat",
"SUCCESS_MESSAGE": "Matagumpay na natanggal ang mga FAQ",
"ERROR_MESSAGE": "Nagkaroon ng error sa pagtanggal ng mga FAQ, pakisubukang muli."
"ERROR_MESSAGE": "There was an error deleting the FAQs, please try again."
},
"DELETE": {
"TITLE": "Sigurado ka bang tatanggalin ang FAQ?",
"DESCRIPTION": "",
"CONFIRM": "Oo, tanggalin",
"SUCCESS_MESSAGE": "Matagumpay na natanggal ang FAQ",
"ERROR_MESSAGE": "Nagkaroon ng error sa pagtanggal ng FAQ, pakisubukang muli."
"ERROR_MESSAGE": "There was an error deleting the FAQ, please try again."
},
"FILTER": {
"ASSISTANT": "Katulong: {selected}",
@@ -947,11 +947,11 @@
"TITLE": "Nakakita ang Captain ng ilang FAQ na hinahanap ng iyong mga customer.",
"ACTION": "Pindutin dito upang suriin"
},
"FORM_DESCRIPTION": "Magdagdag ng tanong at ang kaukulang sagot sa knowledge base at piliin ang assistant na iuugnay dito.",
"FORM_DESCRIPTION": "Add a question and its corresponding answer to the knowledge base and select the assistant it should be associated with.",
"CREATE": {
"TITLE": "Magdagdag ng FAQ",
"SUCCESS_MESSAGE": "Matagumpay na naidagdag ang sagot.",
"ERROR_MESSAGE": "Nagkaroon ng error sa pagdagdag ng sagot. Pakisubukang muli."
"SUCCESS_MESSAGE": "The response has been added successfully.",
"ERROR_MESSAGE": "An error occurred while adding the response. Please try again."
},
"FORM": {
"QUESTION": {
@@ -966,9 +966,9 @@
}
},
"EDIT": {
"TITLE": "I-update ang FAQ",
"SUCCESS_MESSAGE": "Matagumpay na na-update ang FAQ",
"ERROR_MESSAGE": "Nagkaroon ng error sa pag-update ng FAQ, pakisubukang muli",
"TITLE": "Update the FAQ",
"SUCCESS_MESSAGE": "The FAQ has been successfully updated",
"ERROR_MESSAGE": "There was an error updating the FAQ, please try again",
"APPROVE_SUCCESS_MESSAGE": "Naaprubahan ang FAQ"
},
"OPTIONS": {
@@ -988,34 +988,34 @@
}
},
"INBOXES": {
"HEADER": "Mga Nakakonektang Inbox",
"ADD_NEW": "Ikonekta ang bagong inbox",
"HEADER": "Connected Inboxes",
"ADD_NEW": "Connect a new inbox",
"OPTIONS": {
"DISCONNECT": "I-disconnect"
"DISCONNECT": "Disconnect"
},
"DELETE": {
"TITLE": "Sigurado ka bang ididiskonekta ang inbox?",
"TITLE": "Are you sure to disconnect the inbox?",
"DESCRIPTION": "",
"CONFIRM": "Oo, tanggalin",
"SUCCESS_MESSAGE": "Matagumpay na nadiskonekta ang inbox.",
"ERROR_MESSAGE": "Nagkaroon ng error sa pagdiskonekta ng inbox, pakisubukang muli."
"SUCCESS_MESSAGE": "The inbox was successfully disconnected.",
"ERROR_MESSAGE": "There was an error disconnecting the inbox, please try again."
},
"FORM_DESCRIPTION": "Pumili ng inbox na ikokonekta sa assistant.",
"FORM_DESCRIPTION": "Choose an inbox to connect with the assistant.",
"CREATE": {
"TITLE": "Ikonekta ang isang Inbox",
"SUCCESS_MESSAGE": "Matagumpay na naikonekta ang inbox.",
"ERROR_MESSAGE": "Nagkaroon ng error sa pagkonekta ng inbox. Pakisubukang muli."
"TITLE": "Connect an Inbox",
"SUCCESS_MESSAGE": "The inbox was successfully connected.",
"ERROR_MESSAGE": "An error occurred while connecting the inbox. Please try again."
},
"FORM": {
"INBOX": {
"LABEL": "Inbox",
"PLACEHOLDER": "Piliin ang inbox kung saan ide-deploy ang assistant.",
"ERROR": "Kinakailangan ang pagpili ng inbox."
"ERROR": "An inbox selection is required."
}
},
"EMPTY_STATE": {
"TITLE": "Walang Nakakonektang Inbox",
"SUBTITLE": "Ang pagkonekta ng inbox ay nagpapahintulot sa assistant na sagutin ang mga unang tanong mula sa iyong mga customer bago ito ipasa sa iyo."
"TITLE": "No Connected Inboxes",
"SUBTITLE": "Connecting an inbox allows the assistant to handle initial questions from your customers before transferring them to you."
}
}
}
@@ -1,39 +1,39 @@
{
"REPORT": {
"HEADER": "Conversations",
"LOADING_CHART": "Ikinakarga ang datos ng tsart...",
"NO_ENOUGH_DATA": "Walang sapat na datos para makagawa ng ulat. Pakisubukang muli mamaya.",
"LOADING_CHART": "Loading chart data...",
"NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.",
"DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports",
"DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.",
"SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.",
"METRICS": {
"CONVERSATIONS": {
"NAME": "Usapan",
"DESC": "(Kabuuan)"
"NAME": "Conversations",
"DESC": "( Total )"
},
"INCOMING_MESSAGES": {
"NAME": "Messages received",
"DESC": "(Kabuuan)"
"DESC": "( Total )"
},
"OUTGOING_MESSAGES": {
"NAME": "Messages sent",
"DESC": "(Kabuuan)"
"DESC": "( Total )"
},
"FIRST_RESPONSE_TIME": {
"NAME": "First Response Time",
"DESC": "(Average)",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "First Response Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_TIME": {
"NAME": "Oras ng Resolusyon",
"DESC": "(Average)",
"NAME": "Resolution Time",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "Resolution Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_COUNT": {
"NAME": "Bilang ng Resolusyon",
"DESC": "( Kabuuan )"
"NAME": "Resolution Count",
"DESC": "( Total )"
},
"BOT_RESOLUTION_COUNT": {
"NAME": "Resolution Count",
@@ -61,8 +61,8 @@
"CUSTOM_DATE_RANGE": "Custom date range"
},
"CUSTOM_DATE_RANGE": {
"CONFIRM": "Ilapat",
"PLACEHOLDER": "Pumili ng petsa"
"CONFIRM": "Apply",
"PLACEHOLDER": "Select date range"
},
"GROUP_BY_FILTER_DROPDOWN_LABEL": "Group By",
"DURATION_FILTER_LABEL": "Duration",
@@ -127,12 +127,12 @@
}
},
"AGENT_REPORTS": {
"HEADER": "Pangkalahatang-ideya ng mga Ahente",
"HEADER": "Agents Overview",
"DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.",
"LOADING_CHART": "Ikinakarga ang datos ng tsart...",
"NO_ENOUGH_DATA": "Wala pa kaming sapat na datos para makagawa ng ulat. Pakisubukan muli mamaya.",
"DOWNLOAD_AGENT_REPORTS": "I-download ang ulat ng ahente",
"FILTER_DROPDOWN_LABEL": "Piliin ang Ahente",
"LOADING_CHART": "Loading chart data...",
"NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.",
"DOWNLOAD_AGENT_REPORTS": "Download agent reports",
"FILTER_DROPDOWN_LABEL": "Select Agent",
"FILTERS": {
"INPUT_PLACEHOLDER": {
"AGENTS": "Search agents"
@@ -140,16 +140,16 @@
},
"METRICS": {
"CONVERSATIONS": {
"NAME": "Usapan",
"DESC": "(Kabuuan)"
"NAME": "Conversations",
"DESC": "( Total )"
},
"INCOMING_MESSAGES": {
"NAME": "Papasok na Mensahe",
"DESC": "(Kabuuan)"
"NAME": "Incoming Messages",
"DESC": "( Total )"
},
"OUTGOING_MESSAGES": {
"NAME": "Papalabas na Mensahe",
"DESC": "( Kabuuan )"
"NAME": "Outgoing Messages",
"DESC": "( Total )"
},
"FIRST_RESPONSE_TIME": {
"NAME": "First Response Time",
@@ -158,54 +158,54 @@
"TOOLTIP_TEXT": "First Response Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_TIME": {
"NAME": "Oras ng Pagsagot",
"NAME": "Resolution Time",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "Resolution Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_COUNT": {
"NAME": "Bilang ng Nalutas",
"DESC": "( Kabuuan )"
"NAME": "Resolution Count",
"DESC": "( Total )"
}
},
"DATE_RANGE": [
{
"id": 0,
"name": "Huling 7 araw"
"name": "Last 7 days"
},
{
"id": 1,
"name": "Huling 30 araw"
"name": "Last 30 days"
},
{
"id": 2,
"name": "Huling 3 buwan"
"name": "Last 3 months"
},
{
"id": 3,
"name": "Huling 6 na buwan"
"name": "Last 6 months"
},
{
"id": 4,
"name": "Nakaraang taon"
"name": "Last year"
},
{
"id": 5,
"name": "Pasadyang petsa"
"name": "Custom date range"
}
],
"CUSTOM_DATE_RANGE": {
"CONFIRM": "Ilapat",
"PLACEHOLDER": "Pumili ng petsa"
"CONFIRM": "Apply",
"PLACEHOLDER": "Select date range"
}
},
"LABEL_REPORTS": {
"HEADER": "Pangkalahatang-ideya ng Label",
"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.",
"LOADING_CHART": "Ikinakarga ang datos ng tsart...",
"NO_ENOUGH_DATA": "Walang sapat na datos para makagawa ng ulat. Pakisubukang muli mamaya.",
"DOWNLOAD_LABEL_REPORTS": "I-download ang mga ulat ng label",
"FILTER_DROPDOWN_LABEL": "Pumili ng Label",
"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",
"FILTER_DROPDOWN_LABEL": "Select Label",
"FILTERS": {
"INPUT_PLACEHOLDER": {
"LABELS": "Search labels"
@@ -213,16 +213,16 @@
},
"METRICS": {
"CONVERSATIONS": {
"NAME": "Usapan",
"DESC": "( Kabuuan )"
"NAME": "Conversations",
"DESC": "( Total )"
},
"INCOMING_MESSAGES": {
"NAME": "Papasok na Mensahe",
"DESC": "( Kabuuan )"
"NAME": "Incoming Messages",
"DESC": "( Total )"
},
"OUTGOING_MESSAGES": {
"NAME": "Papalabas na Mensahe",
"DESC": "( Kabuuan )"
"NAME": "Outgoing Messages",
"DESC": "( Total )"
},
"FIRST_RESPONSE_TIME": {
"NAME": "First Response Time",
@@ -231,54 +231,54 @@
"TOOLTIP_TEXT": "First Response Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_TIME": {
"NAME": "Oras ng Resolusyon",
"NAME": "Resolution Time",
"DESC": "( Avg )",
"INFO_TEXT": "Total number of conversations used for computation:",
"TOOLTIP_TEXT": "Resolution Time is {metricValue} (based on {conversationCount} conversations)"
},
"RESOLUTION_COUNT": {
"NAME": "Bilang ng Resolusyon",
"DESC": "( Kabuuan )"
"NAME": "Resolution Count",
"DESC": "( Total )"
}
},
"DATE_RANGE": [
{
"id": 0,
"name": "Huling 7 araw"
"name": "Last 7 days"
},
{
"id": 1,
"name": "Huling 30 araw"
"name": "Last 30 days"
},
{
"id": 2,
"name": "Huling 3 buwan"
"name": "Last 3 months"
},
{
"id": 3,
"name": "Huling 6 na buwan"
"name": "Last 6 months"
},
{
"id": 4,
"name": "Nakaraang taon"
"name": "Last year"
},
{
"id": 5,
"name": "Pasadyang petsa"
"name": "Custom date range"
}
],
"CUSTOM_DATE_RANGE": {
"CONFIRM": "Ilapat",
"PLACEHOLDER": "Pumili ng petsa"
"CONFIRM": "Apply",
"PLACEHOLDER": "Select date range"
}
},
"INBOX_REPORTS": {
"HEADER": "Buod ng Inbox",
"HEADER": "Inbox Overview",
"DESCRIPTION": "Quickly view your inbox performance with key metrics like conversations, response times, resolution times, and resolved cases—all in one place. Click an inbox name for more details.",
"LOADING_CHART": "Ikinakarga ang datos ng tsart...",
"NO_ENOUGH_DATA": "Walang sapat na datos para makagawa ng ulat. Pakisubukang muli mamaya.",
"DOWNLOAD_INBOX_REPORTS": "I-download ang mga ulat ng inbox",
"FILTER_DROPDOWN_LABEL": "Pumili ng Inbox",
"LOADING_CHART": "Loading chart data...",
"NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.",
"DOWNLOAD_INBOX_REPORTS": "Download inbox reports",
"FILTER_DROPDOWN_LABEL": "Select Inbox",
"ALL_INBOXES": "All Inboxes",
"SEARCH_INBOX": "Search Inbox",
"FILTERS": {
@@ -288,12 +288,12 @@
},
"METRICS": {
"CONVERSATIONS": {
"NAME": "Usapan",
"DESC": "(Kabuuan)"
"NAME": "Conversations",
"DESC": "( Total )"
},
"INCOMING_MESSAGES": {
"NAME": "Mga Papasok na Mensahe",
"DESC": "(Kabuuan)"
"NAME": "Incoming Messages",
"DESC": "( Total )"
},
"OUTGOING_MESSAGES": {
"NAME": "Outgoing Messages",
@@ -424,7 +424,7 @@
}
},
"CSAT_REPORTS": {
"HEADER": "Ulat ng CSAT",
"HEADER": "CSAT Reports",
"NO_RECORDS": "No responses yet",
"NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.",
"DOWNLOAD": "Download CSAT Reports",
@@ -454,10 +454,10 @@
},
"TABLE": {
"HEADER": {
"CONTACT_NAME": "Kontak",
"CONTACT_NAME": "Contact",
"AGENT_NAME": "Agent",
"RATING": "Rating",
"FEEDBACK_TEXT": "Komento ng feedback",
"FEEDBACK_TEXT": "Feedback comment",
"CONVERSATION": "Conversation",
"CUSTOMER": "Customer",
"RESPONSE": "Response",
@@ -469,16 +469,16 @@
"NO_FEEDBACK": "No feedback provided",
"METRIC": {
"TOTAL_RESPONSES": {
"LABEL": "Kabuuang tugon",
"TOOLTIP": "Kabuuang bilang ng nakuhang tugon"
"LABEL": "Total responses",
"TOOLTIP": "Total number of responses collected"
},
"SATISFACTION_SCORE": {
"LABEL": "Score ng kasiyahan",
"TOOLTIP": "Kabuuang bilang ng positibong tugon / Kabuuang bilang ng mga tugon * 100"
"LABEL": "Satisfaction score",
"TOOLTIP": "Total number of positive responses / Total number of responses * 100"
},
"RESPONSE_RATE": {
"LABEL": "Antas ng pagtugon",
"TOOLTIP": "Kabuuang bilang ng mga tugon / Kabuuang bilang ng ipinadalang CSAT survey messages * 100"
"LABEL": "Response rate",
"TOOLTIP": "Total number of responses / Total number of CSAT survey messages sent * 100"
},
"RATING_DISTRIBUTION": "Rating distribution"
},
@@ -34,7 +34,6 @@ import setNewPassword from './setNewPassword.json';
import settings from './settings.json';
import signup from './signup.json';
import sla from './sla.json';
import snooze from './snooze.json';
import teamsSettings from './teamsSettings.json';
import whatsappTemplates from './whatsappTemplates.json';
@@ -75,7 +74,6 @@ export default {
...settings,
...signup,
...sla,
...snooze,
...teamsSettings,
...whatsappTemplates,
};
@@ -1,72 +1,72 @@
{
"SNOOZE_PARSER": {
"UNITS": {
"MINUTE": "分鐘",
"MINUTES": "分鐘",
"HOUR": "小時",
"MINUTE": "minute",
"MINUTES": "minutes",
"HOUR": "hour",
"HOURS": "小時",
"DAY": "天",
"DAYS": "天",
"WEEK": "週",
"WEEKS": "週",
"MONTH": "月",
"MONTHS": "月",
"YEAR": "年",
"YEARS": "年"
"DAY": "day",
"DAYS": "days",
"WEEK": "week",
"WEEKS": "weeks",
"MONTH": "month",
"MONTHS": "months",
"YEAR": "month",
"YEARS": "years"
},
"HALF": "半",
"NEXT": "下一個",
"THIS": "這個",
"AT": "在",
"IN": "在",
"FROM_NOW": "之後",
"NEXT_YEAR": "明年",
"HALF": "half",
"NEXT": "next",
"THIS": "this",
"AT": "at",
"IN": "in",
"FROM_NOW": "from now",
"NEXT_YEAR": "next year",
"MERIDIEM": {
"AM": "上午",
"PM": "下午"
"AM": "am",
"PM": "pm"
},
"RELATIVE": {
"TOMORROW": "明天",
"DAY_AFTER_TOMORROW": "後天",
"DAY_AFTER_TOMORROW": "day after tomorrow",
"NEXT_WEEK": "下週",
"NEXT_MONTH": "下個月",
"THIS_WEEKEND": "這個週末",
"NEXT_WEEKEND": "下個週末"
"NEXT_MONTH": "next month",
"THIS_WEEKEND": "this weekend",
"NEXT_WEEKEND": "next weekend"
},
"TIME_OF_DAY": {
"MORNING": "早上",
"AFTERNOON": "下午",
"EVENING": "晚上",
"NIGHT": "夜晚",
"NOON": "中午",
"MIDNIGHT": "午夜"
"MORNING": "morning",
"AFTERNOON": "afternoon",
"EVENING": "evening",
"NIGHT": "night",
"NOON": "noon",
"MIDNIGHT": "midnight"
},
"WORD_NUMBERS": {
"ONE": "一",
"TWO": "二",
"THREE": "三",
"FOUR": "四",
"FIVE": "五",
"SIX": "六",
"SEVEN": "七",
"EIGHT": "八",
"NINE": "九",
"TEN": "十",
"TWELVE": "十二",
"FIFTEEN": "十五",
"TWENTY": "二十",
"THIRTY": "三十"
"ONE": "one",
"TWO": "two",
"THREE": "three",
"FOUR": "four",
"FIVE": "five",
"SIX": "six",
"SEVEN": "seven",
"EIGHT": "eight",
"NINE": "nine",
"TEN": "ten",
"TWELVE": "twelve",
"FIFTEEN": "fifteen",
"TWENTY": "twenty",
"THIRTY": "thirty"
},
"ORDINALS": {
"FIRST": "第一",
"SECOND": "第二",
"THIRD": "第三",
"FOURTH": "第四",
"FIFTH": "第五"
"FIRST": "first",
"SECOND": "second",
"THIRD": "third",
"FOURTH": "fourth",
"FIFTH": "fifth"
},
"OF": "的",
"AFTER": "後",
"WEEK": "週",
"DAY": "天"
"OF": "of",
"AFTER": "after",
"WEEK": "week",
"DAY": "day"
}
}
@@ -15,6 +15,7 @@ import * as Sentry from '@sentry/vue';
import {
handleVoiceCallCreated,
handleVoiceCallUpdated,
syncConversationCallVisibility,
} from 'dashboard/helper/voice';
export const hasMessageFailedWithExternalError = pendingMessage => {
@@ -391,18 +392,19 @@ const actions = {
}
},
updateConversation({ commit, dispatch }, conversation) {
const {
meta: { sender },
} = conversation;
updateConversation({ commit, dispatch, rootGetters }, conversation) {
const sender = conversation.meta?.sender;
commit(types.UPDATE_CONVERSATION, conversation);
syncConversationCallVisibility(conversation, rootGetters?.getCurrentUserID);
dispatch('conversationLabels/setConversationLabel', {
id: conversation.id,
data: conversation.labels,
});
dispatch('contacts/setContact', sender);
if (sender) {
dispatch('contacts/setContact', sender);
}
},
updateConversationLastActivity(
@@ -1,4 +1,5 @@
import axios from 'axios';
import { createPinia, setActivePinia } from 'pinia';
import actions, {
hasMessageFailedWithExternalError,
} from '../../conversations/actions';
@@ -56,6 +57,11 @@ describe('#hasMessageFailedWithExternalError', () => {
});
describe('#actions', () => {
beforeEach(() => {
setActivePinia(createPinia());
vi.clearAllMocks();
});
describe('#getConversation', () => {
it('sends correct actions if API is success', async () => {
axios.get.mockResolvedValue({
+14
View File
@@ -40,6 +40,20 @@ export const useCallsStore = defineStore('calls', {
this.calls = this.calls.filter(c => c.callSid !== callSid);
},
removeCallsForConversation(conversationId) {
const callsToRemove = this.calls.filter(
call => call.conversationId === conversationId
);
if (callsToRemove.some(call => call.isActive)) {
TwilioVoiceClient.endClientCall();
}
this.calls = this.calls.filter(
call => call.conversationId !== conversationId
);
},
setCallActive(callSid) {
this.calls = this.calls.map(call => ({
...call,
@@ -4,6 +4,7 @@ import {
dynamicTime,
dateFormat,
shortTimestamp,
formatDuration,
getDayDifferenceFromNow,
hasOneDayPassed,
} from 'shared/helpers/timeHelper';
@@ -54,7 +55,6 @@ describe('#dateFormat', () => {
describe('#shortTimestamp', () => {
// Test cases when withAgo is false or not provided
it('returns correct value without ago', () => {
expect(shortTimestamp('in less than a minute')).toEqual('now');
expect(shortTimestamp('less than a minute ago')).toEqual('now');
expect(shortTimestamp('1 minute ago')).toEqual('1m');
expect(shortTimestamp('12 minutes ago')).toEqual('12m');
@@ -94,6 +94,24 @@ describe('#shortTimestamp', () => {
});
});
describe('#formatDuration', () => {
it('returns empty string for invalid values', () => {
expect(formatDuration(null)).toEqual('');
expect(formatDuration(undefined)).toEqual('');
expect(formatDuration(-1)).toEqual('');
expect(formatDuration('abc')).toEqual('');
});
it('formats short durations as mm:ss', () => {
expect(formatDuration(0)).toEqual('00:00');
expect(formatDuration(133)).toEqual('02:13');
});
it('formats long durations as hh:mm:ss', () => {
expect(formatDuration(3733)).toEqual('01:02:13');
});
});
describe('#getDayDifferenceFromNow', () => {
it('returns 0 for timestamps from today', () => {
// Mock current date: May 5, 2023
+26 -1
View File
@@ -68,7 +68,6 @@ export const shortTimestamp = (time, withAgo = false) => {
const suffix = withAgo ? ' ago' : '';
const timeMappings = {
'less than a minute ago': 'now',
'in less than a minute': 'now',
'a minute ago': `1m${suffix}`,
'an hour ago': `1h${suffix}`,
'a day ago': `1d${suffix}`,
@@ -94,6 +93,32 @@ export const shortTimestamp = (time, withAgo = false) => {
return convertToShortTime;
};
/**
* Formats a duration in seconds into mm:ss or hh:mm:ss.
* @param {number|string} durationInSeconds - Duration in seconds.
* @returns {string} Formatted duration string.
*/
export const formatDuration = durationInSeconds => {
if (durationInSeconds === null || durationInSeconds === undefined) return '';
const totalSeconds = Number(durationInSeconds);
if (Number.isNaN(totalSeconds) || totalSeconds < 0) return '';
const hours = Math.floor(totalSeconds / 3600);
const minutes = Math.floor((totalSeconds % 3600) / 60);
const seconds = totalSeconds % 60;
if (hours > 0) {
return `${hours.toString().padStart(2, '0')}:${minutes
.toString()
.padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;
}
return `${minutes.toString().padStart(2, '0')}:${seconds
.toString()
.padStart(2, '0')}`;
};
/**
* Calculates the difference in days between now and a given timestamp.
* @param {Date} now - Current date/time.
@@ -60,8 +60,8 @@ export default {
},
agentName() {
if (this.isSenderExist(this.sender)) {
const { available_name: availableName, name } = this.sender;
return availableName || name || '';
const { available_name: availableName } = this.sender;
return availableName;
}
if (this.useInboxAvatarForBot) {
return this.channelConfig.websiteName;
+1 -1
View File
@@ -8,7 +8,7 @@ class AgentBots::WebhookJob < WebhookJob
def perform(url, payload, webhook_type = :agent_bot_webhook)
super(url, payload, webhook_type)
rescue RestClient::TooManyRequests, RestClient::InternalServerError => e
Rails.logger.warn("[AgentBots::WebhookJob] attempt #{executions} failed #{e.class.name} payload=#{payload.to_json}")
Rails.logger.warn("[AgentBots::WebhookJob] attempt #{executions} failed #{e.class.name}")
raise
end
end
+1 -6
View File
@@ -176,7 +176,7 @@ class Message < ApplicationRecord
additional_attributes: additional_attributes,
content_attributes: content_attributes,
content_type: content_type,
content: webhook_content,
content: outgoing_content,
conversation: conversation.webhook_data,
created_at: created_at,
id: id,
@@ -195,11 +195,6 @@ class Message < ApplicationRecord
MessageContentPresenter.new(self).outgoing_content
end
# Raw content with survey URL (no markdown rendering) for webhook consumers
def webhook_content
MessageContentPresenter.new(self).webhook_content
end
def email_notifiable_message?
return false if private?
return false if %w[outgoing template].exclude?(message_type)
+9 -15
View File
@@ -1,28 +1,22 @@
class MessageContentPresenter < SimpleDelegator
def outgoing_content
content_to_send = if should_append_survey_link?
survey_link = survey_url(conversation.uuid)
custom_message = inbox.csat_config&.dig('message')
custom_message.present? ? "#{custom_message} #{survey_link}" : I18n.t('conversations.survey.response', link: survey_link)
else
content
end
Messages::MarkdownRendererService.new(
content_with_survey_link,
content_to_send,
conversation.inbox.channel_type,
conversation.inbox.channel
).render
end
def webhook_content
content_with_survey_link
end
private
def content_with_survey_link
if should_append_survey_link?
survey_link = survey_url(conversation.uuid)
custom_message = inbox.csat_config&.dig('message')
custom_message.present? ? "#{custom_message} #{survey_link}" : I18n.t('conversations.survey.response', link: survey_link)
else
content
end
end
def should_append_survey_link?
input_csat? && !inbox.web_widget?
end
+1 -1
View File
@@ -1,5 +1,5 @@
shared: &shared
version: '4.12.1'
version: '4.12.0'
development:
<<: *shared
+45 -45
View File
@@ -17,7 +17,7 @@
#To learn more, please read the Rails Internationalization guide
#available at https://guides.rubyonrails.org/i18n.html.
et:
hello: 'Tere, maailm'
hello: 'Hello world'
inbox:
reauthorization:
success: 'Channel reauthorized successfully'
@@ -38,16 +38,16 @@ et:
reporting_timezone:
invalid: is not a valid timezone
validations:
presence: ei tohi olla tühi
presence: must not be blank
webhook:
invalid: Vigased sündmused
invalid: Invalid events
signup:
disposable_email: Ajutised e-posti aadressid pole lubatud
disposable_email: We do not allow disposable emails
blocked_domain: This domain is not allowed. If you believe this is a mistake, please contact support.
invalid_email: Sisestasid vigase e-posti aadressi
invalid_email: You have entered an invalid email
email_already_exists: 'You have already signed up for an account with %{email}'
invalid_params: 'Invalid, please check the signup paramters and try again'
failed: Registreerumine ebaõnnestus
failed: Signup failed
assignment_policy:
not_found: Assignment policy not found
attachments:
@@ -57,16 +57,16 @@ et:
sso_not_enabled: SAML SSO is not enabled for this installation
data_import:
data_type:
invalid: Vigane andmetüüp
invalid: Invalid data type
contacts:
import:
failed: Fail on tühi
failed: File is blank
export:
success: We will notify you once contacts export file is ready to view.
email:
invalid: Vigane e-post
invalid: Invalid email
phone_number:
invalid: peab olema e164 formaadis
invalid: should be in e164 format
companies:
domain:
invalid: must be a valid domain name
@@ -77,7 +77,7 @@ et:
time_range_limit_exceeded: 'Search is limited to the last %{days} days'
categories:
locale:
unique: peab olema kategoorias ja portaalis unikaalne
unique: should be unique in the category and portal
dyte:
invalid_message_type: 'Invalid message type. Action not permitted'
slack:
@@ -92,18 +92,18 @@ et:
not_supported: 'Reauthorization is not supported for this type of WhatsApp channel.'
inboxes:
imap:
socket_error: Kontrolli võrguühendust ja IMAP-aadressi ning proovi uuesti.
no_response_error: Kontrolli IMAP-i kasutajatunnuseid ja proovi uuesti.
host_unreachable_error: Host pole kättesaadav. Kontrolli IMAP-aadressi ja porti ning proovi uuesti.
socket_error: Please check the network connection, IMAP address and try again.
no_response_error: Please check the IMAP credentials and try again.
host_unreachable_error: Host unreachable, Please check the IMAP address, IMAP port and try again.
connection_timed_out_error: Connection timed out for %{address}:%{port}
connection_closed_error: Ühendus suleti.
connection_closed_error: Connection closed.
smtp:
authentication_error: SMTP authentication failed. Please verify your login credentials.
connection_error: Could not connect to SMTP server. Please check the server address and port.
ssl_error: SSL/TLS error. Please verify your encryption settings.
smtp_error: SMTP server error. Please check your configuration and try again.
validations:
name: ei tohi alata ega lõppeda sümbolitega ning ei tohi sisaldada < > / \ @ märke.
name: should not start or end with symbols, and it should not have < > / \ @ characters.
custom_filters:
number_of_records: Limit reached. The maximum number of allowed custom filters for a user per account is 1000.
invalid_attribute: Invalid attribute key - [%{key}]. The key should be one of [%{allowed_keys}] or a custom attribute defined in the account.
@@ -140,28 +140,28 @@ et:
period: Reporting period %{since} to %{until}
utc_warning: The report generated is in UTC timezone
agent_csv:
agent_name: Agent
agent_name: Agent name
conversations_count: Assigned conversations
avg_first_response_time: Avg first response time
avg_resolution_time: Avg resolution time
resolution_count: Resolution Count
avg_customer_waiting_time: Avg customer waiting time
inbox_csv:
inbox_name: Postkasti nimi
inbox_type: Postkasti tüüp
conversations_count: Vestluste arv
inbox_name: Inbox name
inbox_type: Inbox type
conversations_count: No. of conversations
avg_first_response_time: Avg first response time
avg_resolution_time: Avg resolution time
label_csv:
label_title: Silt
conversations_count: Vestluste arv
label_title: Label
conversations_count: No. of conversations
avg_first_response_time: Avg first response time
avg_resolution_time: Avg resolution time
avg_reply_time: Avg reply time
resolution_count: Resolution Count
team_csv:
team_name: Meeskonna nimi
conversations_count: Vestluste arv
team_name: Team name
conversations_count: Conversations count
avg_first_response_time: Avg first response time
avg_resolution_time: Avg resolution time
resolution_count: Resolution Count
@@ -185,17 +185,17 @@ et:
labels: Labels
conversation_link: Link to the Conversation
breached_events: Breached Events
default_group_by: päev
default_group_by: day
csat:
headers:
contact_name: Kontakti nimi
contact_email_address: Kontakti e-posti aadress
contact_phone_number: Kontakti telefoninumber
link_to_the_conversation: Vestluse link
agent_name: Agendi nimi
rating: Hinnang
feedback: Tagasiside kommentaar
recorded_at: Salvestamise kuupäev
contact_name: Contact Name
contact_email_address: Contact Email Address
contact_phone_number: Contact Phone Number
link_to_the_conversation: Link to the conversation
agent_name: Agent Name
rating: Rating
feedback: Feedback Comment
recorded_at: Recorded date
review_notes: Review Notes
notifications:
notification_title:
@@ -213,10 +213,10 @@ et:
handoff: 'Transferring to another agent for further assistance.'
messages:
instagram_story_content: '%{story_sender} mentioned you in the story: '
instagram_deleted_story_content: See lugu pole enam saadaval.
instagram_deleted_story_content: This story is no longer available.
instagram_shared_story_content: 'Shared story'
instagram_shared_post_content: 'Shared post'
deleted: See sõnum kustutati
deleted: This message was deleted
whatsapp:
list_button_label: 'Choose an item'
delivery_status:
@@ -272,9 +272,9 @@ et:
auto_resolution_message: 'Resolving the conversation as it has been inactive for a while. Please start a new conversation if you need further assistance.'
templates:
greeting_message_body: '%{account_name} typically replies in a few hours.'
ways_to_reach_you_message_body: 'Anna tiimile võimalus sinuga ühendust võtta.'
email_input_box_message_body: 'Saa teavitusi e-posti teel'
csat_input_message_body: 'Palun hinda vestlust'
ways_to_reach_you_message_body: 'Give the team a way to reach you.'
email_input_box_message_body: 'Get notified by email'
csat_input_message_body: 'Please rate the conversation'
reply:
email:
header:
@@ -287,8 +287,8 @@ et:
header:
reply_with_name: '%{assignee_name} from %{inbox_name} <%{from_email}>'
reply_with_inbox_name: '%{inbox_name} <%{from_email}>'
email_subject: 'Uued sõnumid selles vestluses'
transcript_subject: 'Vestluse väljavõte'
email_subject: 'New messages on this conversation'
transcript_subject: 'Conversation Transcript'
survey:
response: 'Please rate this conversation, %{link}'
contacts:
@@ -309,7 +309,7 @@ et:
short_description: 'Receive notifications and respond to conversations directly in Slack.'
description: "Integrate Chatwoot with Slack to keep your team in sync. This integration allows you to receive notifications for new conversations and respond to them directly within Slack's interface."
webhooks:
name: 'Veebikonksud'
name: 'Webhooks'
description: 'Webhook events provide real-time updates about activities in your Chatwoot account. You can subscribe to your preferred events, and Chatwoot will send you HTTP callbacks with the updates.'
dialogflow:
name: 'Dialogflow'
@@ -375,10 +375,10 @@ et:
slug_generation_failed: 'Unable to generate unique slug after 5 attempts'
public_portal:
search:
search_placeholder: Otsi artiklit pealkirja või sisuteksti järgi...
empty_placeholder: Tulemusi ei leitud.
loading_placeholder: Otsin...
results_title: Otsingutulemused
search_placeholder: Search for article by title or body...
empty_placeholder: No results found.
loading_placeholder: Searching...
results_title: Search results
toc_header: 'On this page'
hero:
sub_title: Search for the articles here or browse the categories below.
+46 -46
View File
@@ -17,7 +17,7 @@
#To learn more, please read the Rails Internationalization guide
#available at https://guides.rubyonrails.org/i18n.html.
sh:
hello: 'Zdravo svete'
hello: 'Hello world'
inbox:
reauthorization:
success: 'Channel reauthorized successfully'
@@ -38,16 +38,16 @@ sh:
reporting_timezone:
invalid: is not a valid timezone
validations:
presence: ne sme biti prazno
presence: must not be blank
webhook:
invalid: Nevažeći događaji
invalid: Invalid events
signup:
disposable_email: Privremeni emailovi nisu dozvoljeni
disposable_email: We do not allow disposable emails
blocked_domain: This domain is not allowed. If you believe this is a mistake, please contact support.
invalid_email: Uneli ste nevažeći email
invalid_email: You have entered an invalid email
email_already_exists: 'You have already signed up for an account with %{email}'
invalid_params: 'Invalid, please check the signup paramters and try again'
failed: Registracija nije uspela
failed: Signup failed
assignment_policy:
not_found: Assignment policy not found
attachments:
@@ -57,16 +57,16 @@ sh:
sso_not_enabled: SAML SSO is not enabled for this installation
data_import:
data_type:
invalid: Nevažeći tip podataka
invalid: Invalid data type
contacts:
import:
failed: Fajl je prazan
failed: File is blank
export:
success: We will notify you once contacts export file is ready to view.
email:
invalid: Neispravan email
invalid: Invalid email
phone_number:
invalid: mora biti u e164 formatu
invalid: should be in e164 format
companies:
domain:
invalid: must be a valid domain name
@@ -77,9 +77,9 @@ sh:
time_range_limit_exceeded: 'Search is limited to the last %{days} days'
categories:
locale:
unique: mora biti jedinstven u kategoriji i portalu
unique: should be unique in the category and portal
dyte:
invalid_message_type: 'Neispravan tip poruke. Akcija nije dozvoljena'
invalid_message_type: 'Invalid message type. Action not permitted'
slack:
invalid_channel_id: 'Invalid slack channel. Please try again'
whatsapp:
@@ -92,18 +92,18 @@ sh:
not_supported: 'Reauthorization is not supported for this type of WhatsApp channel.'
inboxes:
imap:
socket_error: Proverite mrežnu vezu, IMAP adresu i pokušajte ponovo.
no_response_error: Proverite IMAP podatke i pokušajte ponovo.
host_unreachable_error: Host nije dostupan. Proverite IMAP adresu, IMAP port i pokušajte ponovo.
socket_error: Please check the network connection, IMAP address and try again.
no_response_error: Please check the IMAP credentials and try again.
host_unreachable_error: Host unreachable, Please check the IMAP address, IMAP port and try again.
connection_timed_out_error: Connection timed out for %{address}:%{port}
connection_closed_error: Veza je prekinuta.
connection_closed_error: Connection closed.
smtp:
authentication_error: SMTP authentication failed. Please verify your login credentials.
connection_error: Could not connect to SMTP server. Please check the server address and port.
ssl_error: SSL/TLS error. Please verify your encryption settings.
smtp_error: SMTP server error. Please check your configuration and try again.
validations:
name: ne sme počinjati ili završavati simbolima i ne sme sadržati < > / \ @ karaktere.
name: should not start or end with symbols, and it should not have < > / \ @ characters.
custom_filters:
number_of_records: Limit reached. The maximum number of allowed custom filters for a user per account is 1000.
invalid_attribute: Invalid attribute key - [%{key}]. The key should be one of [%{allowed_keys}] or a custom attribute defined in the account.
@@ -140,28 +140,28 @@ sh:
period: Reporting period %{since} to %{until}
utc_warning: The report generated is in UTC timezone
agent_csv:
agent_name: Ime agenta
agent_name: Agent name
conversations_count: Assigned conversations
avg_first_response_time: Avg first response time
avg_resolution_time: Avg resolution time
resolution_count: Resolution Count
avg_customer_waiting_time: Avg customer waiting time
inbox_csv:
inbox_name: Naziv sandučeta
inbox_type: Tip sandučeta
conversations_count: Broj konverzacija
inbox_name: Inbox name
inbox_type: Inbox type
conversations_count: No. of conversations
avg_first_response_time: Avg first response time
avg_resolution_time: Avg resolution time
label_csv:
label_title: Oznaka
conversations_count: Broj razgovora
label_title: Label
conversations_count: No. of conversations
avg_first_response_time: Avg first response time
avg_resolution_time: Avg resolution time
avg_reply_time: Avg reply time
resolution_count: Resolution Count
team_csv:
team_name: Ime tima
conversations_count: Broj razgovora
team_name: Team name
conversations_count: Conversations count
avg_first_response_time: Avg first response time
avg_resolution_time: Avg resolution time
resolution_count: Resolution Count
@@ -185,17 +185,17 @@ sh:
labels: Labels
conversation_link: Link to the Conversation
breached_events: Breached Events
default_group_by: dan
default_group_by: day
csat:
headers:
contact_name: Ime kontakta
contact_email_address: Email adresa kontakta
contact_phone_number: Broj telefona kontakta
link_to_the_conversation: Link ka konverzaciji
agent_name: Ime agenta
rating: Ocena
feedback: Komentar povratne informacije
recorded_at: Datum evidentiranja
contact_name: Contact Name
contact_email_address: Contact Email Address
contact_phone_number: Contact Phone Number
link_to_the_conversation: Link to the conversation
agent_name: Agent Name
rating: Rating
feedback: Feedback Comment
recorded_at: Recorded date
review_notes: Review Notes
notifications:
notification_title:
@@ -213,10 +213,10 @@ sh:
handoff: 'Transferring to another agent for further assistance.'
messages:
instagram_story_content: '%{story_sender} mentioned you in the story: '
instagram_deleted_story_content: Ova priča više nije dostupna.
instagram_deleted_story_content: This story is no longer available.
instagram_shared_story_content: 'Shared story'
instagram_shared_post_content: 'Shared post'
deleted: Ova poruka je obrisana
deleted: This message was deleted
whatsapp:
list_button_label: 'Choose an item'
delivery_status:
@@ -272,9 +272,9 @@ sh:
auto_resolution_message: 'Resolving the conversation as it has been inactive for a while. Please start a new conversation if you need further assistance.'
templates:
greeting_message_body: '%{account_name} typically replies in a few hours.'
ways_to_reach_you_message_body: 'Ostavite timu način da vas kontaktira.'
email_input_box_message_body: 'Obaveštenja na email'
csat_input_message_body: 'Ocenite razgovor'
ways_to_reach_you_message_body: 'Give the team a way to reach you.'
email_input_box_message_body: 'Get notified by email'
csat_input_message_body: 'Please rate the conversation'
reply:
email:
header:
@@ -287,8 +287,8 @@ sh:
header:
reply_with_name: '%{assignee_name} from %{inbox_name} <%{from_email}>'
reply_with_inbox_name: '%{inbox_name} <%{from_email}>'
email_subject: 'Nove poruke u ovom razgovoru'
transcript_subject: 'Transkript razgovora'
email_subject: 'New messages on this conversation'
transcript_subject: 'Conversation Transcript'
survey:
response: 'Please rate this conversation, %{link}'
contacts:
@@ -375,13 +375,13 @@ sh:
slug_generation_failed: 'Unable to generate unique slug after 5 attempts'
public_portal:
search:
search_placeholder: Pretraži članak po naslovu ili sadržaju...
empty_placeholder: Nema pronađenih rezultata.
loading_placeholder: Pretraga...
results_title: Rezultati pretrage
search_placeholder: Search for article by title or body...
empty_placeholder: No results found.
loading_placeholder: Searching...
results_title: Search results
toc_header: 'On this page'
hero:
sub_title: Ovde pretražite članke ili pregledajte kategorije ispod.
sub_title: Search for the articles here or browse the categories below.
common:
home: Home
last_updated_on: Last updated on %{last_updated_on}
+1 -1
View File
@@ -507,7 +507,6 @@ Rails.application.routes.draw do
delete :destroy
end
end
resources :email_channel_migrations, only: [:create]
end
end
end
@@ -592,6 +591,7 @@ Rails.application.routes.draw do
post 'voice/call/:phone', to: 'voice#call_twiml', as: :voice_call
post 'voice/status/:phone', to: 'voice#status', as: :voice_status
post 'voice/conference_status/:phone', to: 'voice#conference_status', as: :voice_conference_status
post 'voice/recording_status/:phone', to: 'voice#recording_status', as: :voice_recording_status
end
end
-1
View File
@@ -15,7 +15,6 @@ TimeoutStopSec=30
KillMode=mixed
StandardInput=null
SyslogIdentifier=%p
LimitNOFILE=65536
Environment="PATH=/home/chatwoot/.rvm/gems/ruby-3.4.4/bin:/home/chatwoot/.rvm/gems/ruby-3.4.4@global/bin:/home/chatwoot/.rvm/rubies/ruby-3.4.4/bin:/home/chatwoot/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/home/chatwoot/.rvm/bin:/home/chatwoot/.rvm/bin"
Environment="PORT=3000"
-1
View File
@@ -15,7 +15,6 @@ TimeoutStopSec=30
KillMode=mixed
StandardInput=null
SyslogIdentifier=%p
LimitNOFILE=65536
MemoryMax=1.2G
MemoryHigh=infinity
@@ -57,7 +57,7 @@ class Api::V1::Accounts::Captain::TasksController < Api::V1::Accounts::BaseContr
if result.nil?
render json: { message: nil }
elsif result[:error]
render json: { error: result[:error] }, status: :unprocessable_content
render json: { error: result[:error] }, status: :unprocessable_entity
else
response_data = { message: result[:message] }
response_data[:follow_up_context] = result[:follow_up_context] if result[:follow_up_context]
@@ -69,5 +69,3 @@ class Api::V1::Accounts::Captain::TasksController < Api::V1::Accounts::BaseContr
authorize(:'captain/tasks')
end
end
Api::V1::Accounts::Captain::TasksController.prepend_mod_with('Api::V1::Accounts::Captain::TasksController')
@@ -11,7 +11,7 @@ class Api::V1::Accounts::ConferenceController < Api::V1::Accounts::BaseControlle
def create
conversation = fetch_conversation_by_display_id
ensure_call_sid!(conversation)
return if claim_conversation!(conversation) == false
conference_service = Voice::Provider::Twilio::ConferenceService.new(conversation: conversation)
conference_sid = conference_service.ensure_conference_sid
@@ -33,6 +33,22 @@ class Api::V1::Accounts::ConferenceController < Api::V1::Accounts::BaseControlle
private
def claim_conversation!(conversation)
conversation.with_lock do
if conversation.assignee_id == current_user.id
ensure_call_sid!(conversation)
true
elsif conversation.assignee.present?
render_conflict_for_assigned_agent!(conversation.assignee.name)
false
else
ensure_call_sid!(conversation)
conversation.update!(assignee: current_user)
true
end
end
end
def ensure_call_sid!(conversation)
return conversation.identifier if conversation.identifier.present?
@@ -55,4 +71,8 @@ class Api::V1::Accounts::ConferenceController < Api::V1::Accounts::BaseControlle
authorize conversation, :show?
conversation
end
def render_conflict_for_assigned_agent!(agent_name)
render json: { error: "#{agent_name} is already handling the call." }, status: :conflict
end
end
@@ -39,6 +39,7 @@ class Twilio::VoiceController < ApplicationController
friendly_name: params[:FriendlyName],
call_sid: twilio_call_sid
)
persist_twilio_conference_sid!(conversation, params[:ConferenceSid])
Voice::Conference::Manager.new(
conversation: conversation,
@@ -50,6 +51,14 @@ class Twilio::VoiceController < ApplicationController
head :no_content
end
def recording_status
Voice::RecordingStatusService.new(
account: current_account,
payload: params.to_unsafe_h
).perform
head :no_content
end
private
def twilio_call_sid
@@ -139,6 +148,10 @@ class Twilio::VoiceController < ApplicationController
response.dial do |dial|
dial.conference(
conference_sid,
record: 'record-from-start',
recording_status_callback: recording_status_callback_url,
recording_status_callback_event: 'completed',
recording_status_callback_method: 'POST',
start_conference_on_enter: agent_leg,
end_conference_on_exit: false,
status_callback: conference_status_callback_url,
@@ -155,6 +168,11 @@ class Twilio::VoiceController < ApplicationController
Rails.application.routes.url_helpers.twilio_voice_conference_status_url(phone: phone_digits)
end
def recording_status_callback_url
phone_digits = inbox_channel.phone_number.delete_prefix('+')
Rails.application.routes.url_helpers.twilio_voice_recording_status_url(phone: phone_digits)
end
def find_conversation_for_conference!(friendly_name:, call_sid:)
name = friendly_name.to_s
scope = current_account.conversations
@@ -167,6 +185,14 @@ class Twilio::VoiceController < ApplicationController
scope.find_by!(identifier: call_sid)
end
def persist_twilio_conference_sid!(conversation, conference_sid)
return if conference_sid.blank?
return if conversation.additional_attributes&.dig('twilio_conference_sid') == conference_sid
attrs = (conversation.additional_attributes || {}).merge('twilio_conference_sid' => conference_sid)
conversation.update!(additional_attributes: attrs)
end
def set_inbox!
digits = params[:phone].to_s.gsub(/\D/, '')
e164 = "+#{digits}"
@@ -138,7 +138,7 @@ class Captain::Conversation::ResponseBuilderJob < ApplicationJob
def handle_error(error)
log_error(error)
process_action('handoff') if conversation_pending?
process_action('handoff')
true
end
@@ -151,7 +151,7 @@ class Captain::Conversation::ResponseBuilderJob < ApplicationJob
end
def conversation_pending?
status = Conversation.uncached { Conversation.where(id: @conversation.id).pick(:status) }
status = Conversation.where(id: @conversation.id).pick(:status)
status == 'pending' || status == Conversation.statuses[:pending]
end
end
@@ -0,0 +1,17 @@
class Voice::Provider::Twilio::RecordingAttachmentJob < ApplicationJob
queue_as :low
retry_on Down::Error, wait: 5.seconds, attempts: 3
def perform(conversation_id, recording_sid, recording_url, recording_duration = nil)
conversation = Conversation.find_by(id: conversation_id)
return if conversation.blank?
Voice::Provider::Twilio::RecordingAttachmentService.new(
conversation: conversation,
recording_sid: recording_sid,
recording_url: recording_url,
recording_duration: recording_duration
).perform
end
end
@@ -9,6 +9,7 @@ class Voice::CallStatus::Manager
current_status = conversation.additional_attributes&.dig('call_status')
return if current_status == status
return if preserve_existing_terminal_status?(current_status, status)
apply_status(status, duration: duration, timestamp: timestamp)
update_message(status)
@@ -43,17 +44,10 @@ class Voice::CallStatus::Manager
end
def update_message(status)
message = conversation.messages
.where(content_type: 'voice_call')
.order(created_at: :desc)
.first
message = latest_voice_call_message
return unless message
data = (message.content_attributes || {}).dup
data['data'] ||= {}
data['data']['status'] = status
message.update!(content_attributes: data)
message.update!(content_attributes: updated_message_attributes(message, status))
end
def now_seconds
@@ -63,4 +57,35 @@ class Voice::CallStatus::Manager
def current_time
@current_time ||= Time.zone.now
end
def latest_voice_call_message
conversation.messages
.where(content_type: 'voice_call')
.order(created_at: :desc)
.first
end
def updated_message_attributes(message, status)
data = (message.content_attributes || {}).deep_dup
call_data = data['data'] ||= {}
call_data['status'] = status
call_data['meta'] ||= {}
update_duration_meta(data, status)
data
end
def update_duration_meta(data, status)
duration = conversation.additional_attributes['call_duration']
if status == 'completed' && duration.present?
data['data']['meta']['duration'] = duration
else
data['data']['meta'].delete('duration')
end
end
def preserve_existing_terminal_status?(current_status, next_status)
TERMINAL_STATUSES.include?(current_status) &&
TERMINAL_STATUSES.include?(next_status)
end
end
@@ -45,9 +45,9 @@ class Voice::Conference::Manager
def handle_leave!
case current_status
when 'ringing'
status_manager.process_status_update('no-answer', timestamp: current_timestamp)
status_manager.process_status_update('no-answer', timestamp: current_timestamp) if contact_participant?
when 'in-progress'
status_manager.process_status_update('completed', timestamp: current_timestamp)
status_manager.process_status_update('completed', timestamp: current_timestamp) if contact_participant?
end
end
@@ -65,6 +65,10 @@ class Voice::Conference::Manager
participant_label.to_s.start_with?('agent')
end
def contact_participant?
participant_label.to_s.start_with?('contact')
end
def current_timestamp
Time.zone.now.to_i
end
@@ -11,11 +11,15 @@ class Voice::Provider::Twilio::ConferenceService
end
def mark_agent_joined(user:)
joined_by = { id: user.id, name: user.name }
merge_attributes(
'agent_joined' => true,
'joined_at' => Time.current.to_i,
'joined_by' => { id: user.id, name: user.name }
'joined_by' => joined_by
)
sync_message_join_metadata!(joined_by)
end
def end_conference
@@ -32,6 +36,18 @@ class Voice::Provider::Twilio::ConferenceService
conversation.update!(additional_attributes: current.merge(attrs))
end
def sync_message_join_metadata!(joined_by)
message = conversation.messages.voice_calls.order(created_at: :desc).first
return unless message
content_attributes = (message.content_attributes || {}).deep_dup
content_attributes['data'] ||= {}
content_attributes['data']['meta'] ||= {}
content_attributes['data']['meta']['joined_by'] = joined_by
message.update!(content_attributes: content_attributes)
end
def twilio_client
@twilio_client ||= ::Twilio::REST::Client.new(account_sid, auth_token)
end
@@ -0,0 +1,97 @@
class Voice::Provider::Twilio::RecordingAttachmentService
DEFAULT_FILENAME_EXTENSION = 'wav'.freeze
pattr_initialize [:conversation!, :recording_sid!, :recording_url!, { recording_duration: nil }]
def perform
return if recording_sid.blank? || recording_url.blank?
message = voice_call_message
return if message.blank? || recording_already_attached?(message)
recording_file = download_recording
message.reload.with_lock do
next if recording_already_attached?(message)
attach_recording!(message, recording_file)
update_recording_metadata!(message)
end
ensure
recording_file.close! if recording_file.respond_to?(:close!)
end
private
def voice_call_message
@voice_call_message ||= conversation.messages.voice_calls.order(created_at: :desc).first
end
def recording_already_attached?(message)
message.content_attributes
&.dig('data', 'meta', 'recording', 'sid')
.to_s == recording_sid.to_s
end
def download_recording
Down.download(recording_url, http_basic_authentication: [account_sid, auth_token])
end
def attach_recording!(message, recording_file)
message.attachments.create!(
account_id: conversation.account_id,
file_type: :audio,
file: {
io: recording_file,
filename: recording_filename(recording_file),
content_type: recording_content_type(recording_file)
}
)
end
def update_recording_metadata!(message)
content_attributes = (message.content_attributes || {}).deep_dup
content_attributes['data'] ||= {}
content_attributes['data']['meta'] ||= {}
content_attributes['data']['meta']['recording'] = {
'sid' => recording_sid,
'duration' => normalized_recording_duration
}.compact
message.update!(content_attributes: content_attributes)
end
def normalized_recording_duration
return if recording_duration.blank?
recording_duration.to_i
end
def recording_filename(recording_file)
filename = recording_file.original_filename if recording_file.respond_to?(:original_filename)
return filename if filename.present?
"call-recording-#{recording_sid}.#{recording_extension(recording_file)}"
end
def recording_extension(recording_file)
content_type = recording_content_type(recording_file)
Rack::Mime::MIME_TYPES.invert[content_type].to_s.delete_prefix('.').presence || DEFAULT_FILENAME_EXTENSION
end
def recording_content_type(recording_file)
recording_file.content_type.presence || 'audio/wav'
end
def account_sid
@account_sid ||= channel_config.fetch('account_sid')
end
def auth_token
@auth_token ||= channel_config.fetch('auth_token')
end
def channel_config
@channel_config ||= conversation.inbox.channel.provider_config_hash
end
end
@@ -0,0 +1,43 @@
class Voice::RecordingStatusService
pattr_initialize [:account!, { payload: {} }]
def perform
return unless completed_recording?
return if conference_sid.blank? || recording_sid.blank? || recording_url.blank?
conversation = account.conversations.find_by(
"additional_attributes->>'twilio_conference_sid' = ?",
conference_sid
)
return if conversation.blank?
Voice::Provider::Twilio::RecordingAttachmentJob.perform_later(
conversation.id,
recording_sid,
recording_url,
recording_duration
)
end
private
def completed_recording?
payload['RecordingStatus'].to_s.casecmp('completed').zero?
end
def conference_sid
payload['ConferenceSid'].to_s
end
def recording_sid
payload['RecordingSid'].to_s
end
def recording_url
payload['RecordingUrl'].to_s
end
def recording_duration
payload['RecordingDuration']
end
end
@@ -21,6 +21,7 @@ class Voice::StatusUpdateService
conversation = account.conversations.find_by(identifier: call_sid)
return unless conversation
return if ignore_premature_in_progress?(conversation, normalized_status)
Voice::CallStatus::Manager.new(
conversation: conversation,
@@ -57,4 +58,10 @@ class Voice::StatusUpdateService
rescue ArgumentError
nil
end
def ignore_premature_in_progress?(conversation, normalized_status)
normalized_status == 'in-progress' &&
conversation.additional_attributes&.dig('call_direction') == 'inbound' &&
!conversation.additional_attributes&.dig('agent_joined')
end
end
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@chatwoot/chatwoot",
"version": "4.12.1",
"version": "4.12.0",
"license": "MIT",
"scripts": {
"eslint": "eslint app/**/*.{js,vue}",
@@ -1,266 +0,0 @@
require 'rails_helper'
RSpec.describe 'Platform Email Channel Migrations API', type: :request do
let!(:account) { create(:account) }
let(:platform_app) { create(:platform_app) }
let(:base_url) { "/platform/api/v1/accounts/#{account.id}/email_channel_migrations" }
let(:headers) { { api_access_token: platform_app.access_token.token } }
let(:google_provider_config) do
{ access_token: 'ya29.test-access-token', refresh_token: '1//test-refresh-token', expires_on: 1.hour.from_now.to_s }
end
let(:valid_migration_params) do
{
migrations: [
{
email: 'support@example.com',
provider: 'google',
provider_config: google_provider_config,
inbox_name: 'Migrated Support'
}
]
}
end
before do
create(:platform_app_permissible, platform_app: platform_app, permissible: account)
end
describe 'POST /platform/api/v1/accounts/:account_id/email_channel_migrations' do
context 'when unauthenticated' do
it 'returns unauthorized without token' do
with_modified_env EMAIL_CHANNEL_MIGRATION: 'true' do
post base_url, as: :json
expect(response).to have_http_status(:unauthorized)
end
end
it 'returns unauthorized with invalid token' do
with_modified_env EMAIL_CHANNEL_MIGRATION: 'true' do
post base_url, params: valid_migration_params, headers: { api_access_token: 'invalid' }, as: :json
expect(response).to have_http_status(:unauthorized)
end
end
end
context 'when account is not permissible' do
let(:other_account) { create(:account) }
let(:other_url) { "/platform/api/v1/accounts/#{other_account.id}/email_channel_migrations" }
it 'returns unauthorized' do
with_modified_env EMAIL_CHANNEL_MIGRATION: other_account.id.to_s do
post other_url, params: valid_migration_params, headers: headers, as: :json
expect(response).to have_http_status(:unauthorized)
end
end
end
context 'when account is not in allowed list' do
it 'returns forbidden' do
with_modified_env EMAIL_CHANNEL_MIGRATION: '' do
post base_url, params: valid_migration_params, headers: headers, as: :json
expect(response).to have_http_status(:forbidden)
expect(response.parsed_body['error']).to eq('Email channel migration is not enabled')
end
end
end
context 'when authenticated with permissible account' do
around do |example|
with_modified_env EMAIL_CHANNEL_MIGRATION: 'true' do
example.run
end
end
it 'creates a google email channel and inbox' do
expect do
post base_url, params: valid_migration_params, headers: headers, as: :json
end.to change(Channel::Email, :count).by(1).and change(Inbox, :count).by(1)
expect(response).to have_http_status(:ok)
result = response.parsed_body['results'].first
expect(result['status']).to eq('success')
expect(result['email']).to eq('support@example.com')
expect(result['inbox_id']).to be_present
expect(result['channel_id']).to be_present
end
it 'sets correct google channel attributes' do
post base_url, params: valid_migration_params, headers: headers, as: :json
channel = Channel::Email.find(response.parsed_body['results'].first['channel_id'])
expect(channel.provider).to eq('google')
expect(channel.imap_enabled).to be(true)
expect(channel.imap_address).to eq('imap.gmail.com')
expect(channel.imap_port).to eq(993)
expect(channel.imap_login).to eq('support@example.com')
expect(channel.provider_config['refresh_token']).to eq('1//test-refresh-token')
end
it 'sets correct inbox attributes' do
post base_url, params: valid_migration_params, headers: headers, as: :json
inbox = Inbox.find(response.parsed_body['results'].first['inbox_id'])
expect(inbox.name).to eq('Migrated Support')
expect(inbox.account_id).to eq(account.id)
end
it 'creates a microsoft email channel with correct defaults' do
params = {
migrations: [
{
email: 'support@outlook.com',
provider: 'microsoft',
provider_config: { access_token: 'test', refresh_token: 'test', expires_on: 1.hour.from_now.to_s }
}
]
}
post base_url, params: params, headers: headers, as: :json
expect(response).to have_http_status(:ok)
result = response.parsed_body['results'].first
channel = Channel::Email.find(result['channel_id'])
expect(channel.provider).to eq('microsoft')
expect(channel.imap_address).to eq('outlook.office365.com')
end
it 'uses default inbox name when not provided' do
params = { migrations: [{ email: 'test@example.com', provider: 'google', provider_config: google_provider_config }] }
post base_url, params: params, headers: headers, as: :json
inbox = Inbox.find(response.parsed_body['results'].first['inbox_id'])
expect(inbox.name).to eq('Migrated Google: test@example.com')
end
it 'defaults imap_login to email address' do
post base_url, params: valid_migration_params, headers: headers, as: :json
channel = Channel::Email.find(response.parsed_body['results'].first['channel_id'])
expect(channel.imap_login).to eq('support@example.com')
end
it 'allows overriding imap settings' do
params = {
migrations: [
{
email: 'custom@example.com',
provider: 'google',
provider_config: google_provider_config,
imap_address: 'custom.imap.server.com',
imap_port: 143,
imap_login: 'custom-login@example.com',
imap_enable_ssl: false
}
]
}
post base_url, params: params, headers: headers, as: :json
channel = Channel::Email.find(response.parsed_body['results'].first['channel_id'])
expect(channel.imap_address).to eq('custom.imap.server.com')
expect(channel.imap_port).to eq(143)
expect(channel.imap_login).to eq('custom-login@example.com')
expect(channel.imap_enable_ssl).to be(false)
end
end
context 'when migrating multiple channels' do
around do |example|
with_modified_env EMAIL_CHANNEL_MIGRATION: 'true' do
example.run
end
end
let(:bulk_params) do
{
migrations: [
{ email: 'first@example.com', provider: 'google', provider_config: google_provider_config },
{ email: 'second@example.com', provider: 'google', provider_config: google_provider_config },
{ email: 'third@example.com', provider: 'microsoft',
provider_config: { access_token: 'test', refresh_token: 'test', expires_on: 1.hour.from_now.to_s } }
]
}
end
it 'creates all channels and inboxes' do
expect do
post base_url, params: bulk_params, headers: headers, as: :json
end.to change(Channel::Email, :count).by(3).and change(Inbox, :count).by(3)
results = response.parsed_body['results']
expect(results.map { |r| r['status'] }).to all(eq('success'))
expect(results.map { |r| r['email'] }).to match_array(%w[first@example.com second@example.com third@example.com])
end
it 'continues processing when one migration fails' do
create(:channel_email, email: 'first@example.com', account: account)
expect do
post base_url, params: bulk_params, headers: headers, as: :json
end.to change(Channel::Email, :count).by(2).and change(Inbox, :count).by(2)
results = response.parsed_body['results']
failed = results.find { |r| r['email'] == 'first@example.com' }
succeeded = results.reject { |r| r['email'] == 'first@example.com' }
expect(failed['status']).to eq('error')
expect(failed['message']).to include('Email has already been taken')
expect(succeeded.map { |r| r['status'] }).to all(eq('success'))
end
end
context 'when params are invalid' do
around do |example|
with_modified_env EMAIL_CHANNEL_MIGRATION: 'true' do
example.run
end
end
it 'returns unprocessable entity when migrations param is missing' do
post base_url, params: {}, headers: headers, as: :json
expect(response).to have_http_status(:unprocessable_entity)
end
it 'returns unprocessable entity when migrations exceed max batch size' do
params = {
migrations: Array.new(26) { |i| { email: "user#{i}@example.com", provider: 'google', provider_config: google_provider_config } }
}
post base_url, params: params, headers: headers, as: :json
expect(response).to have_http_status(:unprocessable_entity)
expect(response.parsed_body['error']).to include('Too many migrations')
end
it 'returns error for unsupported provider' do
params = {
migrations: [{ email: 'test@example.com', provider: 'Yahoo', provider_config: google_provider_config }]
}
post base_url, params: params, headers: headers, as: :json
result = response.parsed_body['results'].first
expect(result['status']).to eq('error')
expect(result['message']).to include("Unsupported provider 'Yahoo'")
end
it 'returns error for duplicate email' do
create(:channel_email, email: 'existing@example.com', account: account)
params = {
migrations: [{ email: 'existing@example.com', provider: 'google', provider_config: google_provider_config }]
}
post base_url, params: params, headers: headers, as: :json
result = response.parsed_body['results'].first
expect(result['status']).to eq('error')
expect(result['message']).to include('Email has already been taken')
end
end
end
end
@@ -78,8 +78,9 @@ RSpec.describe Api::V1::Accounts::ConferenceController, type: :request do
expect(body['conference_sid']).to be_present
conversation.reload
expect(conversation.identifier).to eq('CALL123')
expect(conversation.assignee).to eq(agent)
expect(conference_service).to have_received(:ensure_conference_sid)
expect(conference_service).to have_received(:mark_agent_joined)
expect(conference_service).to have_received(:mark_agent_joined).with(user: agent)
end
it 'does not allow accessing conversations from inboxes without access' do
@@ -102,6 +103,39 @@ RSpec.describe Api::V1::Accounts::ConferenceController, type: :request do
expect(response).to have_http_status(:unprocessable_content)
end
it 'returns conflict when another agent is already assigned' do
other_agent = create(:user, account: account, role: :agent, name: 'Jane Agent')
create(:inbox_member, inbox: voice_inbox, user: other_agent)
conversation.update!(assignee: other_agent)
post "/api/v1/accounts/#{account.id}/inboxes/#{voice_inbox.id}/conference",
headers: agent.create_new_auth_token,
params: { conversation_id: conversation.display_id, call_sid: 'CALL123' }
expect(response).to have_http_status(:conflict)
expect(response.parsed_body['error']).to eq('Jane Agent is already handling the call.')
conversation.reload
expect(conversation.assignee).to eq(other_agent)
expect(conversation.identifier).to be_nil
expect(conference_service).not_to have_received(:ensure_conference_sid)
expect(conference_service).not_to have_received(:mark_agent_joined)
end
it 'allows the assigned agent to rejoin' do
conversation.update!(assignee: agent)
post "/api/v1/accounts/#{account.id}/inboxes/#{voice_inbox.id}/conference",
headers: agent.create_new_auth_token,
params: { conversation_id: conversation.display_id, call_sid: 'CALL123' }
expect(response).to have_http_status(:ok)
conversation.reload
expect(conversation.assignee).to eq(agent)
expect(conversation.identifier).to eq('CALL123')
expect(conference_service).to have_received(:ensure_conference_sid)
expect(conference_service).to have_received(:mark_agent_joined).with(user: agent)
end
end
end
@@ -3,12 +3,15 @@
require 'rails_helper'
RSpec.describe 'Twilio::VoiceController', type: :request do
include ActiveJob::TestHelper
let(:account) { create(:account) }
let(:channel) { create(:channel_voice, account: account, phone_number: '+15551230003') }
let(:inbox) { channel.inbox }
let(:digits) { channel.phone_number.delete_prefix('+') }
before do
clear_enqueued_jobs
allow(Twilio::VoiceWebhookSetupService).to receive(:new)
.and_return(instance_double(Twilio::VoiceWebhookSetupService, perform: "AP#{SecureRandom.hex(16)}"))
end
@@ -39,6 +42,8 @@ RSpec.describe 'Twilio::VoiceController', type: :request do
expect(response).to have_http_status(:ok)
expect(response.body).to include('<Response>')
expect(response.body).to include('<Dial>')
expect(response.body).to include('record="record-from-start"')
expect(response.body).to include("/twilio/voice/recording_status/#{digits}")
end
it 'syncs an existing outbound conversation when Twilio sends the PSTN leg' do
@@ -143,4 +148,74 @@ RSpec.describe 'Twilio::VoiceController', type: :request do
expect(response).to have_http_status(:not_found)
end
end
describe 'POST /twilio/voice/conference_status/:phone' do
let(:call_sid) { 'CA_conference_status_sid_456' }
let!(:conversation) do
create(
:conversation,
account: account,
inbox: inbox,
identifier: call_sid,
additional_attributes: { 'conference_sid' => 'friendly-conference-name' }
)
end
it 'persists the Twilio conference SID from the callback' do
manager_double = instance_double(Voice::Conference::Manager, process: nil)
allow(Voice::Conference::Manager).to receive(:new).and_return(manager_double)
post "/twilio/voice/conference_status/#{digits}", params: {
'CallSid' => call_sid,
'FriendlyName' => 'friendly-conference-name',
'ConferenceSid' => 'CF123456789',
'StatusCallbackEvent' => 'conference-start',
'ParticipantLabel' => 'contact'
}
expect(response).to have_http_status(:no_content)
expect(conversation.reload.additional_attributes['twilio_conference_sid']).to eq('CF123456789')
expect(manager_double).to have_received(:process)
end
end
describe 'POST /twilio/voice/recording_status/:phone' do
let!(:conversation) do
create(
:conversation,
account: account,
inbox: inbox,
identifier: 'CA_recording_sid_456',
additional_attributes: { 'twilio_conference_sid' => 'CF999' }
)
end
it 'enqueues recording attachment when recording completes' do
expect do
post "/twilio/voice/recording_status/#{digits}", params: {
'ConferenceSid' => 'CF999',
'RecordingSid' => 'RE123',
'RecordingUrl' => 'https://api.twilio.com/recordings/RE123',
'RecordingDuration' => '42',
'RecordingStatus' => 'completed'
}
end.to have_enqueued_job(Voice::Provider::Twilio::RecordingAttachmentJob)
.with(conversation.id, 'RE123', 'https://api.twilio.com/recordings/RE123', '42')
expect(response).to have_http_status(:no_content)
end
it 'ignores non-completed recording events' do
expect do
post "/twilio/voice/recording_status/#{digits}", params: {
'ConferenceSid' => 'CF999',
'RecordingSid' => 'RE123',
'RecordingUrl' => 'https://api.twilio.com/recordings/RE123',
'RecordingStatus' => 'in-progress'
}
end.not_to have_enqueued_job(Voice::Provider::Twilio::RecordingAttachmentJob)
expect(response).to have_http_status(:no_content)
end
end
end
@@ -0,0 +1,76 @@
# frozen_string_literal: true
require 'rails_helper'
RSpec.describe Voice::Conference::Manager do
let(:account) { create(:account) }
let(:channel) { create(:channel_voice, account: account, phone_number: '+15551230011') }
let(:conversation) do
create(
:conversation,
account: account,
inbox: channel.inbox,
additional_attributes: { 'call_status' => call_status }
)
end
let(:status_manager) { instance_double(Voice::CallStatus::Manager, process_status_update: true) }
let(:webhook_service) { instance_double(Twilio::VoiceWebhookSetupService, perform: true) }
before do
allow(Twilio::VoiceWebhookSetupService).to receive(:new).and_return(webhook_service)
allow(Voice::CallStatus::Manager).to receive(:new).and_return(status_manager)
end
describe '#process' do
context 'when an agent leaves an in-progress conference' do
let(:call_status) { 'in-progress' }
it 'does not mark the call as completed' do
described_class.new(
conversation: conversation,
event: 'leave',
call_sid: 'CA123',
participant_label: 'agent'
).process
expect(status_manager).not_to have_received(:process_status_update)
end
end
context 'when a contact leaves an in-progress conference' do
let(:call_status) { 'in-progress' }
it 'marks the call as completed' do
described_class.new(
conversation: conversation,
event: 'leave',
call_sid: 'CA123',
participant_label: 'contact'
).process
expect(status_manager).to have_received(:process_status_update).with(
'completed',
timestamp: kind_of(Integer)
)
end
end
context 'when a contact leaves before an agent joins' do
let(:call_status) { 'ringing' }
it 'marks the call as no-answer' do
described_class.new(
conversation: conversation,
event: 'leave',
call_sid: 'CA123',
participant_label: 'contact'
).process
expect(status_manager).to have_received(:process_status_update).with(
'no-answer',
timestamp: kind_of(Integer)
)
end
end
end
end
@@ -32,12 +32,29 @@ describe Voice::Provider::Twilio::ConferenceService do
describe '#mark_agent_joined' do
it 'stores agent join metadata' do
agent = create(:user, account: account)
message = create(
:message,
account: account,
conversation: conversation,
inbox: channel.inbox,
sender: conversation.contact,
content_type: 'voice_call',
content_attributes: {
'data' => {
'status' => 'ringing',
'meta' => {}
}
}
)
service.mark_agent_joined(user: agent)
attrs = conversation.reload.additional_attributes
expect(attrs['agent_joined']).to be true
expect(attrs['joined_by']['id']).to eq(agent.id)
expect(message.reload.content_attributes.dig('data', 'meta', 'joined_by')).to eq(
{ 'id' => agent.id, 'name' => agent.name }
)
end
end
@@ -0,0 +1,102 @@
# frozen_string_literal: true
require 'rails_helper'
RSpec.describe Voice::Provider::Twilio::RecordingAttachmentService do
let(:account) { create(:account) }
let(:channel) { create(:channel_voice, account: account, phone_number: '+15551230009') }
let(:inbox) { channel.inbox }
let(:contact) { create(:contact, account: account, phone_number: '+15550009999') }
let(:contact_inbox) { create(:contact_inbox, contact: contact, inbox: inbox, source_id: contact.phone_number) }
let(:conversation) do
create(
:conversation,
account: account,
inbox: inbox,
contact: contact,
contact_inbox: contact_inbox
)
end
let(:voice_call_message) do
create(
:message,
account: account,
conversation: conversation,
inbox: inbox,
sender: contact,
message_type: :incoming,
content: 'Voice Call',
content_type: 'voice_call',
content_attributes: {
'data' => {
'status' => 'completed',
'meta' => {
'duration' => 42
}
}
}
)
end
let(:recording_sid) { 'RE-recording-123' }
let(:recording_url) { 'https://api.twilio.com/2010-04-01/Accounts/AC123/Recordings/RE-recording-123' }
let(:recording_file) do
Tempfile.new(['call-recording', '.wav']).tap do |file|
file.write('fake wav content')
file.rewind
file.define_singleton_method(:content_type) { 'audio/wav' }
file.define_singleton_method(:original_filename) { 'call-recording.wav' }
file.define_singleton_method(:close!) do
close
unlink
end
end
end
before do
allow(Twilio::VoiceWebhookSetupService).to receive(:new)
.and_return(instance_double(Twilio::VoiceWebhookSetupService, perform: "AP#{SecureRandom.hex(16)}"))
channel
voice_call_message
allow(Down).to receive(:download).with(
recording_url,
http_basic_authentication: [
channel.provider_config_hash['account_sid'],
channel.provider_config_hash['auth_token']
]
).and_return(recording_file)
allow(Messages::AudioTranscriptionJob).to receive(:perform_later)
end
it 'attaches the recording to the existing voice_call message' do
described_class.new(
conversation: conversation,
recording_sid: recording_sid,
recording_url: recording_url,
recording_duration: '42'
).perform
voice_call_message.reload
expect(voice_call_message.attachments.size).to eq(1)
expect(voice_call_message.attachments.first.file_type).to eq('audio')
expect(voice_call_message.content_attributes.dig('data', 'meta', 'recording')).to eq(
{ 'sid' => recording_sid, 'duration' => 42 }
)
end
it 'is idempotent for the same recording sid' do
service = described_class.new(
conversation: conversation,
recording_sid: recording_sid,
recording_url: recording_url
)
service.perform
service.perform
voice_call_message.reload
expect(voice_call_message.attachments.count).to eq(1)
expect(voice_call_message.content_attributes.dig('data', 'meta', 'recording', 'sid')).to eq(recording_sid)
end
end
@@ -37,7 +37,7 @@ RSpec.describe Voice::StatusUpdateService do
.and_return(instance_double(Twilio::VoiceWebhookSetupService, perform: "AP#{SecureRandom.hex(16)}"))
end
it 'updates conversation and last voice message with call status' do
it 'updates conversation and last voice message with call status and duration' do
# Ensure records are created after stub setup
conversation
message
@@ -45,14 +45,17 @@ RSpec.describe Voice::StatusUpdateService do
described_class.new(
account: account,
call_sid: call_sid,
call_status: 'completed'
call_status: 'completed',
payload: { 'CallDuration' => '133' }
).perform
conversation.reload
message.reload
expect(conversation.additional_attributes['call_status']).to eq('completed')
expect(conversation.additional_attributes['call_duration']).to eq(133)
expect(message.content_attributes.dig('data', 'status')).to eq('completed')
expect(message.content_attributes.dig('data', 'meta', 'duration')).to eq(133)
end
it 'normalizes busy to no-answer' do
@@ -72,6 +75,43 @@ RSpec.describe Voice::StatusUpdateService do
expect(message.content_attributes.dig('data', 'status')).to eq('no-answer')
end
it 'does not overwrite no-answer with a later completed callback' do
conversation.update!(additional_attributes: { 'call_direction' => 'inbound', 'call_status' => 'no-answer' })
message.update!(content_attributes: { data: { call_sid: call_sid, status: 'no-answer' } })
described_class.new(
account: account,
call_sid: call_sid,
call_status: 'completed',
payload: { 'CallDuration' => '4' }
).perform
conversation.reload
message.reload
expect(conversation.additional_attributes['call_status']).to eq('no-answer')
expect(message.content_attributes.dig('data', 'status')).to eq('no-answer')
expect(message.content_attributes.dig('data', 'meta', 'duration')).to be_nil
end
it 'ignores inbound in-progress callbacks before any agent joins' do
conversation
message
described_class.new(
account: account,
call_sid: call_sid,
call_status: 'in-progress'
).perform
conversation.reload
message.reload
expect(conversation.additional_attributes['call_status']).to eq('ringing')
expect(conversation.additional_attributes['call_started_at']).to be_nil
expect(message.content_attributes.dig('data', 'status')).to eq('ringing')
end
it 'no-ops when conversation not found' do
expect do
described_class.new(account: account, call_sid: 'UNKNOWN', call_status: 'busy').perform
+5 -3
View File
@@ -401,11 +401,12 @@ RSpec.describe Message do
expect(message.webhook_data.key?(:attachments)).to be false
end
it 'uses raw content without markdown rendering for webhook content' do
message = create(:message, content: 'Test **bold** content')
it 'uses outgoing_content for webhook content' do
message = create(:message, content: 'Test content')
expect(message).to receive(:outgoing_content).and_return('Outgoing test content')
webhook_data = message.webhook_data
expect(webhook_data[:content]).to eq('Test **bold** content')
expect(webhook_data[:content]).to eq('Outgoing test content')
end
it 'includes CSAT survey link in webhook content for input_csat messages' do
@@ -413,6 +414,7 @@ RSpec.describe Message do
conversation = create(:conversation, inbox: inbox)
message = create(:message, conversation: conversation, content_type: 'input_csat', content: 'Rate your experience')
expect(message.outgoing_content).to include('survey/responses/')
expect(message.webhook_data[:content]).to include('survey/responses/')
end
end
@@ -55,34 +55,6 @@ RSpec.describe MessageContentPresenter do
end
end
describe '#webhook_content' do
context 'when message is not input_csat' do
let(:content_type) { 'text' }
let(:content) { 'Regular **bold** message' }
it 'returns raw content without markdown rendering' do
expect(presenter.webhook_content).to eq('Regular **bold** message')
end
end
context 'when message is input_csat and inbox is not web widget' do
let(:content_type) { 'input_csat' }
let(:content) { 'Rate your experience' }
before do
allow(message.inbox).to receive(:web_widget?).and_return(false)
end
it 'includes CSAT survey URL without markdown rendering' do
with_modified_env 'FRONTEND_URL' => 'https://app.chatwoot.com' do
expected_url = "https://app.chatwoot.com/survey/responses/#{conversation.uuid}"
expect(presenter.webhook_content).to include(expected_url)
expect(presenter.webhook_content).not_to include('<p>')
end
end
end
end
describe 'delegation' do
let(:content_type) { 'text' }
let(:content) { 'Test message' }