Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b9d8144709 | ||
|
|
63b7b91aad | ||
|
|
690b956f1c | ||
|
|
88b1dfb89d | ||
|
|
cc875bf277 | ||
|
|
9c04202871 | ||
|
|
40830f2707 | ||
|
|
cc83fdcc8e | ||
|
|
af1f7cc1d2 | ||
|
|
9ded118059 | ||
|
|
1a78b68625 | ||
|
|
43d2b37d64 | ||
|
|
5aaf331851 | ||
|
|
da61c9855b | ||
|
|
334aa09005 | ||
|
|
fea2a695f1 | ||
|
|
80018c58b9 | ||
|
|
c31200b9e5 | ||
|
|
86fa54dd13 | ||
|
|
7a9840717e | ||
|
|
f1f2b3f302 | ||
|
|
efbf837861 | ||
|
|
3a3f5c9469 | ||
|
|
e0a5a63f2e | ||
|
|
4f6facb6ac | ||
|
|
2634050f1a | ||
|
|
0f2b278dcd | ||
|
|
b15f408e6a | ||
|
|
92a04e4ab4 | ||
|
|
cedacac9eb | ||
|
|
85150dd418 | ||
|
|
56e7166ec7 | ||
|
|
1030bf69e1 | ||
|
|
4b12f13926 | ||
|
|
ab64f53e67 | ||
|
|
0d54ebf85b | ||
|
|
8859017642 | ||
|
|
315d471468 | ||
|
|
2b08ac4a02 | ||
|
|
d8f306ef5c | ||
|
|
66abb424e4 | ||
|
|
ba94ba3bf4 | ||
|
|
8b93241ed6 | ||
|
|
7cd0863487 | ||
|
|
468413158f | ||
|
|
a5cb283f42 | ||
|
|
cd75ac262a | ||
|
|
9081da755d | ||
|
|
2156598dde | ||
|
|
ac51a2b3d9 | ||
|
|
3d9cb97bbb | ||
|
|
5ba79036ea | ||
|
|
edd78ff4bc | ||
|
|
f6b3cb6295 | ||
|
|
5227b4169f | ||
|
|
61eb729a11 | ||
|
|
1f41e53ef5 | ||
|
|
73992bef97 | ||
|
|
2dbd43217c | ||
|
|
b81683a4de | ||
|
|
71321c2548 | ||
|
|
b22425d5fb | ||
|
|
9b8d6bfc74 | ||
|
|
d48a7aac64 | ||
|
|
eca7704bda | ||
|
|
cb887f0dd9 | ||
|
|
3c0f053983 | ||
|
|
35b09fd8b8 | ||
|
|
cbe5936b7b | ||
|
|
184b735846 | ||
|
|
594ca1f526 | ||
|
|
7c78fd3087 | ||
|
|
f818f462ea | ||
|
|
f17de99d1b | ||
|
|
94bbfff8fd | ||
|
|
abf07c44c2 | ||
|
|
0c9e4f430a | ||
|
|
846ea71e56 | ||
|
|
85fb20013e | ||
|
|
04cc25d55e | ||
|
|
b999fe6439 | ||
|
|
589daac302 | ||
|
|
87171c5b53 | ||
|
|
40f476315b | ||
|
|
2b533aa135 | ||
|
|
3fb2506aab | ||
|
|
9598021f87 | ||
|
|
d7265f21ad | ||
|
|
9f19c41b35 | ||
|
|
995f56f0ad | ||
|
|
34bc1dc4bb | ||
|
|
44e997e3bf | ||
|
|
73e6bc8ecd | ||
|
|
ea8446ecfe | ||
|
|
314ab83040 | ||
|
|
90a38d1065 | ||
|
|
d5b7068394 | ||
|
|
379ef876eb | ||
|
|
5fb0c80891 | ||
|
|
5419b949a4 | ||
|
|
f6fe1b130b | ||
|
|
ecc1857f63 | ||
|
|
5f0feae688 | ||
|
|
1dd8f73c90 | ||
|
|
f2eb8c37af | ||
|
|
9b09ae0e14 | ||
|
|
091586177c | ||
|
|
cac97c543b | ||
|
|
03dc1b6352 | ||
|
|
42ca3d97e6 | ||
|
|
2b1ded8f4d | ||
|
|
2eadb61b8e | ||
|
|
88115441b9 | ||
|
|
e17694da73 | ||
|
|
e8b0b24b36 | ||
|
|
4fcee3bbba | ||
|
|
f9d4816db1 | ||
|
|
6274f0f803 | ||
|
|
572df07365 | ||
|
|
5079e0b3b9 | ||
|
|
92df56f738 | ||
|
|
7a33065efe | ||
|
|
99ab1eadb5 | ||
|
|
7549a2a1d4 | ||
|
|
0562647ab1 | ||
|
|
f5c45c35f2 | ||
|
|
d06e2cfd98 | ||
|
|
e9d852969f | ||
|
|
71285b368c | ||
|
|
f7323b6dec | ||
|
|
94fab7ad1c | ||
|
|
b3fef8f110 | ||
|
|
81cf106578 | ||
|
|
a197f64d2c | ||
|
|
67b8674337 | ||
|
|
46f7390cbe |
@@ -95,7 +95,3 @@ yarn-debug.log*
|
||||
.claude/settings.local.json
|
||||
.cursor
|
||||
CLAUDE.local.md
|
||||
|
||||
# Histoire deployment
|
||||
.netlify
|
||||
.histoire
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
|
||||
|
||||
require_relative 'config/application'
|
||||
# Load Enterprise Edition rake tasks if they exist
|
||||
enterprise_tasks_path = Rails.root.join('enterprise/tasks_railtie.rb').to_s
|
||||
require enterprise_tasks_path if File.exist?(enterprise_tasks_path)
|
||||
|
||||
Rails.application.load_tasks
|
||||
|
||||
# Load Enterprise Edition rake tasks if they exist
|
||||
enterprise_tasks_path = Rails.root.join('enterprise/lib/tasks.rb').to_s
|
||||
require enterprise_tasks_path if File.exist?(enterprise_tasks_path)
|
||||
|
||||
@@ -52,5 +52,3 @@ class AgentBuilder
|
||||
}.compact))
|
||||
end
|
||||
end
|
||||
|
||||
AgentBuilder.prepend_mod_with('AgentBuilder')
|
||||
|
||||
@@ -85,8 +85,7 @@ class Api::V1::Accounts::PortalsController < Api::V1::Accounts::BaseController
|
||||
|
||||
def live_chat_widget_params
|
||||
permitted_params = params.permit(:inbox_id)
|
||||
return {} unless permitted_params.key?(:inbox_id)
|
||||
return { channel_web_widget_id: nil } if permitted_params[:inbox_id].blank?
|
||||
return {} if permitted_params[:inbox_id].blank?
|
||||
|
||||
inbox = Inbox.find(permitted_params[:inbox_id])
|
||||
return {} unless inbox.web_widget?
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
class Api::V1::Accounts::Whatsapp::AuthorizationsController < Api::V1::Accounts::BaseController
|
||||
before_action :validate_feature_enabled!
|
||||
before_action :fetch_and_validate_inbox, if: -> { params[:inbox_id].present? }
|
||||
|
||||
# POST /api/v1/accounts/:account_id/whatsapp/authorization
|
||||
@@ -64,6 +65,15 @@ class Api::V1::Accounts::Whatsapp::AuthorizationsController < Api::V1::Accounts:
|
||||
}, status: :unprocessable_entity
|
||||
end
|
||||
|
||||
def validate_feature_enabled!
|
||||
return if Current.account.feature_whatsapp_embedded_signup?
|
||||
|
||||
render json: {
|
||||
success: false,
|
||||
error: 'WhatsApp embedded signup is not enabled for this account'
|
||||
}, status: :forbidden
|
||||
end
|
||||
|
||||
def validate_embedded_signup_params!
|
||||
missing_params = []
|
||||
missing_params << 'code' if params[:code].blank?
|
||||
|
||||
@@ -70,12 +70,7 @@ class WidgetsController < ActionController::Base
|
||||
end
|
||||
|
||||
def allow_iframe_requests
|
||||
if @web_widget.allowed_domains.blank?
|
||||
response.headers.delete('X-Frame-Options')
|
||||
else
|
||||
domains = @web_widget.allowed_domains.split(',').map(&:strip).join(' ')
|
||||
response.headers['Content-Security-Policy'] = "frame-ancestors #{domains}"
|
||||
end
|
||||
response.headers.delete('X-Frame-Options')
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
module PortalHelper
|
||||
include UrlHelper
|
||||
def set_og_image_url(portal_name, title)
|
||||
cdn_url = GlobalConfig.get('OG_IMAGE_CDN_URL')['OG_IMAGE_CDN_URL']
|
||||
return if cdn_url.blank?
|
||||
@@ -80,7 +79,7 @@ module PortalHelper
|
||||
query_params = Rack::Utils.parse_query(url.query)
|
||||
query_params['utm_medium'] = 'helpcenter'
|
||||
query_params['utm_campaign'] = 'branding'
|
||||
query_params['utm_source'] = URI.parse(referer).host if url_valid?(referer)
|
||||
query_params['utm_source'] = URI.parse(referer).host if referer.present? && referer.match?(URI::DEFAULT_PARSER.make_regexp)
|
||||
|
||||
url.query = query_params.to_query
|
||||
url.to_s
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
/* global axios */
|
||||
|
||||
import ApiClient from './ApiClient';
|
||||
|
||||
class AgentCapacityPolicies extends ApiClient {
|
||||
constructor() {
|
||||
super('agent_capacity_policies', { accountScoped: true });
|
||||
}
|
||||
|
||||
getUsers(policyId) {
|
||||
return axios.get(`${this.url}/${policyId}/users`);
|
||||
}
|
||||
|
||||
addUser(policyId, userData) {
|
||||
return axios.post(`${this.url}/${policyId}/users`, {
|
||||
user_id: userData.id,
|
||||
capacity: userData.capacity,
|
||||
});
|
||||
}
|
||||
|
||||
removeUser(policyId, userId) {
|
||||
return axios.delete(`${this.url}/${policyId}/users/${userId}`);
|
||||
}
|
||||
|
||||
createInboxLimit(policyId, limitData) {
|
||||
return axios.post(`${this.url}/${policyId}/inbox_limits`, {
|
||||
inbox_id: limitData.inboxId,
|
||||
conversation_limit: limitData.conversationLimit,
|
||||
});
|
||||
}
|
||||
|
||||
updateInboxLimit(policyId, limitId, limitData) {
|
||||
return axios.put(`${this.url}/${policyId}/inbox_limits/${limitId}`, {
|
||||
conversation_limit: limitData.conversationLimit,
|
||||
});
|
||||
}
|
||||
|
||||
deleteInboxLimit(policyId, limitId) {
|
||||
return axios.delete(`${this.url}/${policyId}/inbox_limits/${limitId}`);
|
||||
}
|
||||
}
|
||||
|
||||
export default new AgentCapacityPolicies();
|
||||
@@ -1,98 +0,0 @@
|
||||
import agentCapacityPolicies from '../agentCapacityPolicies';
|
||||
import ApiClient from '../ApiClient';
|
||||
|
||||
describe('#AgentCapacityPoliciesAPI', () => {
|
||||
it('creates correct instance', () => {
|
||||
expect(agentCapacityPolicies).toBeInstanceOf(ApiClient);
|
||||
expect(agentCapacityPolicies).toHaveProperty('get');
|
||||
expect(agentCapacityPolicies).toHaveProperty('show');
|
||||
expect(agentCapacityPolicies).toHaveProperty('create');
|
||||
expect(agentCapacityPolicies).toHaveProperty('update');
|
||||
expect(agentCapacityPolicies).toHaveProperty('delete');
|
||||
expect(agentCapacityPolicies).toHaveProperty('getUsers');
|
||||
expect(agentCapacityPolicies).toHaveProperty('addUser');
|
||||
expect(agentCapacityPolicies).toHaveProperty('removeUser');
|
||||
expect(agentCapacityPolicies).toHaveProperty('createInboxLimit');
|
||||
expect(agentCapacityPolicies).toHaveProperty('updateInboxLimit');
|
||||
expect(agentCapacityPolicies).toHaveProperty('deleteInboxLimit');
|
||||
});
|
||||
|
||||
describe('API calls', () => {
|
||||
const originalAxios = window.axios;
|
||||
const axiosMock = {
|
||||
get: vi.fn(() => Promise.resolve()),
|
||||
post: vi.fn(() => Promise.resolve()),
|
||||
put: vi.fn(() => Promise.resolve()),
|
||||
delete: vi.fn(() => Promise.resolve()),
|
||||
};
|
||||
|
||||
beforeEach(() => {
|
||||
window.axios = axiosMock;
|
||||
// Mock accountIdFromRoute
|
||||
Object.defineProperty(agentCapacityPolicies, 'accountIdFromRoute', {
|
||||
get: () => '1',
|
||||
configurable: true,
|
||||
});
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
window.axios = originalAxios;
|
||||
});
|
||||
|
||||
it('#getUsers', () => {
|
||||
agentCapacityPolicies.getUsers(123);
|
||||
expect(axiosMock.get).toHaveBeenCalledWith(
|
||||
'/api/v1/accounts/1/agent_capacity_policies/123/users'
|
||||
);
|
||||
});
|
||||
|
||||
it('#addUser', () => {
|
||||
const userData = { id: 456, capacity: 20 };
|
||||
agentCapacityPolicies.addUser(123, userData);
|
||||
expect(axiosMock.post).toHaveBeenCalledWith(
|
||||
'/api/v1/accounts/1/agent_capacity_policies/123/users',
|
||||
{
|
||||
user_id: 456,
|
||||
capacity: 20,
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
it('#removeUser', () => {
|
||||
agentCapacityPolicies.removeUser(123, 456);
|
||||
expect(axiosMock.delete).toHaveBeenCalledWith(
|
||||
'/api/v1/accounts/1/agent_capacity_policies/123/users/456'
|
||||
);
|
||||
});
|
||||
|
||||
it('#createInboxLimit', () => {
|
||||
const limitData = { inboxId: 1, conversationLimit: 10 };
|
||||
agentCapacityPolicies.createInboxLimit(123, limitData);
|
||||
expect(axiosMock.post).toHaveBeenCalledWith(
|
||||
'/api/v1/accounts/1/agent_capacity_policies/123/inbox_limits',
|
||||
{
|
||||
inbox_id: 1,
|
||||
conversation_limit: 10,
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
it('#updateInboxLimit', () => {
|
||||
const limitData = { conversationLimit: 15 };
|
||||
agentCapacityPolicies.updateInboxLimit(123, 789, limitData);
|
||||
expect(axiosMock.put).toHaveBeenCalledWith(
|
||||
'/api/v1/accounts/1/agent_capacity_policies/123/inbox_limits/789',
|
||||
{
|
||||
conversation_limit: 15,
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
it('#deleteInboxLimit', () => {
|
||||
agentCapacityPolicies.deleteInboxLimit(123, 789);
|
||||
expect(axiosMock.delete).toHaveBeenCalledWith(
|
||||
'/api/v1/accounts/1/agent_capacity_policies/123/inbox_limits/789'
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
-116
@@ -1,116 +0,0 @@
|
||||
<script setup>
|
||||
import AgentCapacityPolicyCard from './AgentCapacityPolicyCard.vue';
|
||||
|
||||
const mockUsers = [
|
||||
{
|
||||
id: 1,
|
||||
name: 'John Smith',
|
||||
email: 'john.smith@example.com',
|
||||
avatarUrl: 'https://i.pravatar.cc/150?img=1',
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: 'Sarah Johnson',
|
||||
email: 'sarah.johnson@example.com',
|
||||
avatarUrl: 'https://i.pravatar.cc/150?img=2',
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
name: 'Mike Chen',
|
||||
email: 'mike.chen@example.com',
|
||||
avatarUrl: 'https://i.pravatar.cc/150?img=3',
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
name: 'Emily Davis',
|
||||
email: 'emily.davis@example.com',
|
||||
avatarUrl: 'https://i.pravatar.cc/150?img=4',
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
name: 'Alex Rodriguez',
|
||||
email: 'alex.rodriguez@example.com',
|
||||
avatarUrl: 'https://i.pravatar.cc/150?img=5',
|
||||
},
|
||||
];
|
||||
|
||||
const withCount = policy => ({
|
||||
...policy,
|
||||
assignedAgentCount: policy.users.length,
|
||||
});
|
||||
|
||||
const policyA = withCount({
|
||||
id: 1,
|
||||
name: 'High Volume Support',
|
||||
description:
|
||||
'Capacity-based policy for handling high conversation volumes with experienced agents',
|
||||
users: [mockUsers[0], mockUsers[1], mockUsers[2]],
|
||||
isFetchingUsers: false,
|
||||
});
|
||||
|
||||
const policyB = withCount({
|
||||
id: 2,
|
||||
name: 'Specialized Team',
|
||||
description: 'Custom capacity limits for specialized support team members',
|
||||
users: [mockUsers[3], mockUsers[4]],
|
||||
isFetchingUsers: false,
|
||||
});
|
||||
|
||||
const emptyPolicy = withCount({
|
||||
id: 3,
|
||||
name: 'New Policy',
|
||||
description: 'Recently created policy with no assigned agents yet',
|
||||
users: [],
|
||||
isFetchingUsers: false,
|
||||
});
|
||||
|
||||
const loadingPolicy = withCount({
|
||||
id: 4,
|
||||
name: 'Loading Policy',
|
||||
description: 'Policy currently loading agent information',
|
||||
users: [],
|
||||
isFetchingUsers: true,
|
||||
});
|
||||
|
||||
const onEdit = id => console.log('Edit policy:', id);
|
||||
const onDelete = id => console.log('Delete policy:', id);
|
||||
const onFetchUsers = id => console.log('Fetch users for policy:', id);
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<Story
|
||||
title="Components/AgentManagementPolicy/AgentCapacityPolicyCard"
|
||||
:layout="{ type: 'grid', width: '1200px' }"
|
||||
>
|
||||
<Variant title="Multiple Cards (Various States)">
|
||||
<div class="p-4 bg-n-background">
|
||||
<div class="grid grid-cols-1 gap-4">
|
||||
<AgentCapacityPolicyCard
|
||||
v-bind="policyA"
|
||||
@edit="onEdit"
|
||||
@delete="onDelete"
|
||||
@fetch-users="onFetchUsers"
|
||||
/>
|
||||
<AgentCapacityPolicyCard
|
||||
v-bind="policyB"
|
||||
@edit="onEdit"
|
||||
@delete="onDelete"
|
||||
@fetch-users="onFetchUsers"
|
||||
/>
|
||||
<AgentCapacityPolicyCard
|
||||
v-bind="emptyPolicy"
|
||||
@edit="onEdit"
|
||||
@delete="onDelete"
|
||||
@fetch-users="onFetchUsers"
|
||||
/>
|
||||
<AgentCapacityPolicyCard
|
||||
v-bind="loadingPolicy"
|
||||
@edit="onEdit"
|
||||
@delete="onDelete"
|
||||
@fetch-users="onFetchUsers"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</Variant>
|
||||
</Story>
|
||||
</template>
|
||||
-86
@@ -1,86 +0,0 @@
|
||||
<script setup>
|
||||
import { computed } from 'vue';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
import Button from 'dashboard/components-next/button/Button.vue';
|
||||
import CardLayout from 'dashboard/components-next/CardLayout.vue';
|
||||
import CardPopover from '../components/CardPopover.vue';
|
||||
|
||||
const props = defineProps({
|
||||
id: { type: Number, required: true },
|
||||
name: { type: String, default: '' },
|
||||
description: { type: String, default: '' },
|
||||
assignedAgentCount: { type: Number, default: 0 },
|
||||
users: { type: Array, default: () => [] },
|
||||
isFetchingUsers: { type: Boolean, default: false },
|
||||
});
|
||||
|
||||
const emit = defineEmits(['edit', 'delete', 'fetchUsers']);
|
||||
|
||||
const { t } = useI18n();
|
||||
|
||||
const users = computed(() => {
|
||||
return props.users.map(user => {
|
||||
return {
|
||||
name: user.name,
|
||||
key: user.id,
|
||||
email: user.email,
|
||||
avatarUrl: user.avatarUrl,
|
||||
};
|
||||
});
|
||||
});
|
||||
|
||||
const handleEdit = () => {
|
||||
emit('edit', props.id);
|
||||
};
|
||||
|
||||
const handleDelete = () => {
|
||||
emit('delete', props.id);
|
||||
};
|
||||
|
||||
const handleFetchUsers = () => {
|
||||
if (props.users?.length > 0) return;
|
||||
emit('fetchUsers', props.id);
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<CardLayout class="[&>div]:px-5">
|
||||
<div class="flex flex-col gap-2 relative justify-between w-full">
|
||||
<div class="flex items-center gap-3 justify-between w-full">
|
||||
<div class="flex items-center gap-3">
|
||||
<h3 class="text-base font-medium text-n-slate-12 line-clamp-1">
|
||||
{{ name }}
|
||||
</h3>
|
||||
<CardPopover
|
||||
:title="
|
||||
t('ASSIGNMENT_POLICY.AGENT_CAPACITY_POLICY.INDEX.CARD.POPOVER')
|
||||
"
|
||||
icon="i-lucide-users-round"
|
||||
:count="assignedAgentCount"
|
||||
:items="users"
|
||||
:is-fetching="isFetchingUsers"
|
||||
@fetch="handleFetchUsers"
|
||||
/>
|
||||
</div>
|
||||
<div class="flex items-center gap-2">
|
||||
<Button
|
||||
:label="
|
||||
t('ASSIGNMENT_POLICY.AGENT_CAPACITY_POLICY.INDEX.CARD.EDIT')
|
||||
"
|
||||
sm
|
||||
slate
|
||||
link
|
||||
class="px-2"
|
||||
@click="handleEdit"
|
||||
/>
|
||||
<div class="w-px h-2.5 bg-n-slate-5" />
|
||||
<Button icon="i-lucide-trash" sm slate ghost @click="handleDelete" />
|
||||
</div>
|
||||
</div>
|
||||
<p class="text-n-slate-11 text-sm line-clamp-1 mb-0 py-1">
|
||||
{{ description }}
|
||||
</p>
|
||||
</div>
|
||||
</CardLayout>
|
||||
</template>
|
||||
-169
@@ -1,169 +0,0 @@
|
||||
<script setup>
|
||||
import { computed, ref } from 'vue';
|
||||
import { useToggle, useWindowSize, useElementBounding } from '@vueuse/core';
|
||||
import { vOnClickOutside } from '@vueuse/components';
|
||||
import { picoSearch } from '@scmmishra/pico-search';
|
||||
|
||||
import Avatar from 'next/avatar/Avatar.vue';
|
||||
import Icon from 'dashboard/components-next/icon/Icon.vue';
|
||||
import Button from 'dashboard/components-next/button/Button.vue';
|
||||
import Input from 'dashboard/components-next/input/Input.vue';
|
||||
|
||||
const props = defineProps({
|
||||
label: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
searchPlaceholder: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
items: {
|
||||
type: Array,
|
||||
default: () => [],
|
||||
},
|
||||
});
|
||||
|
||||
const emit = defineEmits(['add']);
|
||||
|
||||
const BUFFER_SPACE = 20;
|
||||
|
||||
const [showPopover, togglePopover] = useToggle();
|
||||
const buttonRef = ref();
|
||||
const dropdownRef = ref();
|
||||
|
||||
const searchValue = ref('');
|
||||
|
||||
const { width: windowWidth, height: windowHeight } = useWindowSize();
|
||||
const {
|
||||
top: buttonTop,
|
||||
left: buttonLeft,
|
||||
width: buttonWidth,
|
||||
height: buttonHeight,
|
||||
} = useElementBounding(buttonRef);
|
||||
const { width: dropdownWidth, height: dropdownHeight } =
|
||||
useElementBounding(dropdownRef);
|
||||
|
||||
const filteredItems = computed(() => {
|
||||
if (!searchValue.value) return props.items;
|
||||
const query = searchValue.value.toLowerCase();
|
||||
|
||||
return picoSearch(props.items, query, ['name']);
|
||||
});
|
||||
|
||||
const handleAdd = item => {
|
||||
emit('add', item);
|
||||
togglePopover(false);
|
||||
};
|
||||
|
||||
const shouldShowAbove = computed(() => {
|
||||
if (!buttonRef.value || !dropdownRef.value) return false;
|
||||
const spaceBelow =
|
||||
windowHeight.value - (buttonTop.value + buttonHeight.value);
|
||||
const spaceAbove = buttonTop.value;
|
||||
return (
|
||||
spaceBelow < dropdownHeight.value + BUFFER_SPACE && spaceAbove > spaceBelow
|
||||
);
|
||||
});
|
||||
|
||||
const shouldAlignRight = computed(() => {
|
||||
if (!buttonRef.value || !dropdownRef.value) return false;
|
||||
const spaceRight = windowWidth.value - buttonLeft.value;
|
||||
const spaceLeft = buttonLeft.value + buttonWidth.value;
|
||||
|
||||
return (
|
||||
spaceRight < dropdownWidth.value + BUFFER_SPACE && spaceLeft > spaceRight
|
||||
);
|
||||
});
|
||||
|
||||
const handleClickOutside = () => {
|
||||
if (showPopover.value) {
|
||||
togglePopover(false);
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div
|
||||
v-on-click-outside="handleClickOutside"
|
||||
class="relative flex items-center group"
|
||||
>
|
||||
<Button
|
||||
ref="buttonRef"
|
||||
slate
|
||||
type="button"
|
||||
icon="i-lucide-plus"
|
||||
sm
|
||||
:label="label"
|
||||
@click="togglePopover(!showPopover)"
|
||||
/>
|
||||
<div
|
||||
v-if="showPopover"
|
||||
ref="dropdownRef"
|
||||
class="z-50 flex flex-col items-start absolute bg-n-alpha-3 backdrop-blur-[50px] border-0 gap-4 outline outline-1 outline-n-weak rounded-xl max-w-96 min-w-80 max-h-[20rem] overflow-y-auto py-2"
|
||||
:class="[
|
||||
shouldShowAbove ? 'bottom-full mb-2' : 'top-full mt-2',
|
||||
shouldAlignRight ? 'right-0' : 'left-0',
|
||||
]"
|
||||
>
|
||||
<div class="flex flex-col divide-y divide-n-slate-4 w-full">
|
||||
<Input
|
||||
v-model="searchValue"
|
||||
:placeholder="searchPlaceholder"
|
||||
custom-input-class="bg-transparent !outline-none w-full ltr:!pl-10 rtl:!pr-10 h-10"
|
||||
>
|
||||
<template #prefix>
|
||||
<Icon
|
||||
icon="i-lucide-search"
|
||||
class="absolute -translate-y-1/2 text-n-slate-11 size-4 top-1/2 ltr:left-3 rtl:right-3"
|
||||
/>
|
||||
</template>
|
||||
</Input>
|
||||
|
||||
<div
|
||||
v-for="item in filteredItems"
|
||||
:key="item.id"
|
||||
class="flex gap-3 min-w-0 w-full py-4 px-3 hover:bg-n-alpha-2 cursor-pointer"
|
||||
:class="{ 'items-center': item.color, 'items-start': !item.color }"
|
||||
@click="handleAdd(item)"
|
||||
>
|
||||
<Icon
|
||||
v-if="item.icon"
|
||||
:icon="item.icon"
|
||||
class="size-4 text-n-slate-12 flex-shrink-0 mt-0.5"
|
||||
/>
|
||||
<span
|
||||
v-else-if="item.color"
|
||||
:style="{ backgroundColor: item.color }"
|
||||
class="size-3 rounded-sm"
|
||||
/>
|
||||
<Avatar
|
||||
v-else
|
||||
:title="item.name"
|
||||
:src="item.avatarUrl"
|
||||
:name="item.name"
|
||||
:size="20"
|
||||
rounded-full
|
||||
/>
|
||||
<div class="flex flex-col items-start gap-2 min-w-0 flex-1">
|
||||
<div class="flex items-center gap-1 min-w-0 w-full">
|
||||
<span
|
||||
:title="item.name || item.title"
|
||||
class="text-sm text-n-slate-12 truncate min-w-0 flex-1"
|
||||
>
|
||||
{{ item.name || item.title }}
|
||||
</span>
|
||||
</div>
|
||||
<span
|
||||
v-if="item.email || item.phoneNumber"
|
||||
:title="item.email || item.phoneNumber"
|
||||
class="text-sm text-n-slate-11 truncate min-w-0 w-full block"
|
||||
>
|
||||
{{ item.email || item.phoneNumber }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -1,127 +0,0 @@
|
||||
<script setup>
|
||||
import { computed, watch } from 'vue';
|
||||
import { useVuelidate } from '@vuelidate/core';
|
||||
import { required, minLength } from '@vuelidate/validators';
|
||||
|
||||
import WithLabel from 'v3/components/Form/WithLabel.vue';
|
||||
import Input from 'dashboard/components-next/input/Input.vue';
|
||||
import Switch from 'dashboard/components-next/switch/Switch.vue';
|
||||
|
||||
defineProps({
|
||||
nameLabel: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
namePlaceholder: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
descriptionLabel: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
descriptionPlaceholder: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
statusLabel: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
statusPlaceholder: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
});
|
||||
|
||||
const emit = defineEmits(['validationChange']);
|
||||
|
||||
const policyName = defineModel('policyName', {
|
||||
type: String,
|
||||
default: '',
|
||||
});
|
||||
|
||||
const description = defineModel('description', {
|
||||
type: String,
|
||||
default: '',
|
||||
});
|
||||
|
||||
const enabled = defineModel('enabled', {
|
||||
type: Boolean,
|
||||
default: true,
|
||||
});
|
||||
|
||||
const validationRules = {
|
||||
policyName: { required, minLength: minLength(1) },
|
||||
description: { required, minLength: minLength(1) },
|
||||
};
|
||||
|
||||
const v$ = useVuelidate(validationRules, { policyName, description });
|
||||
|
||||
const isValid = computed(() => !v$.value.$invalid);
|
||||
|
||||
watch(
|
||||
isValid,
|
||||
() => {
|
||||
emit('validationChange', {
|
||||
isValid: isValid.value,
|
||||
section: 'baseInfo',
|
||||
});
|
||||
},
|
||||
{ immediate: true }
|
||||
);
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="flex flex-col gap-4 pb-4">
|
||||
<!-- Policy Name Field -->
|
||||
<div class="flex items-center gap-6">
|
||||
<WithLabel
|
||||
:label="nameLabel"
|
||||
name="policyName"
|
||||
class="flex items-center w-full [&>label]:min-w-[120px]"
|
||||
>
|
||||
<div class="flex-1">
|
||||
<Input
|
||||
v-model="policyName"
|
||||
type="text"
|
||||
:placeholder="namePlaceholder"
|
||||
/>
|
||||
</div>
|
||||
</WithLabel>
|
||||
</div>
|
||||
|
||||
<!-- Description Field -->
|
||||
<div class="flex items-center gap-6">
|
||||
<WithLabel
|
||||
:label="descriptionLabel"
|
||||
name="description"
|
||||
class="flex items-center w-full [&>label]:min-w-[120px]"
|
||||
>
|
||||
<div class="flex-1">
|
||||
<Input
|
||||
v-model="description"
|
||||
type="text"
|
||||
:placeholder="descriptionPlaceholder"
|
||||
/>
|
||||
</div>
|
||||
</WithLabel>
|
||||
</div>
|
||||
|
||||
<!-- Status Field -->
|
||||
<div v-if="statusLabel" class="flex items-center gap-6">
|
||||
<WithLabel
|
||||
:label="statusLabel"
|
||||
name="enabled"
|
||||
class="flex items-center w-full [&>label]:min-w-[120px]"
|
||||
>
|
||||
<div class="flex items-center gap-2">
|
||||
<Switch v-model="enabled" />
|
||||
<span class="text-sm text-n-slate-11">
|
||||
{{ statusPlaceholder }}
|
||||
</span>
|
||||
</div>
|
||||
</WithLabel>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
+17
-35
@@ -1,8 +1,6 @@
|
||||
<script setup>
|
||||
import { useToggle } from '@vueuse/core';
|
||||
import { vOnClickOutside } from '@vueuse/components';
|
||||
|
||||
import Avatar from 'next/avatar/Avatar.vue';
|
||||
import Icon from 'dashboard/components-next/icon/Icon.vue';
|
||||
import Spinner from 'dashboard/components-next/spinner/Spinner.vue';
|
||||
|
||||
@@ -55,7 +53,7 @@ const handleClickOutside = () => {
|
||||
class="h-6 px-2 rounded-md bg-n-alpha-2 gap-1.5 flex items-center"
|
||||
@click="handleButtonClick()"
|
||||
>
|
||||
<Icon :icon="icon" class="size-3.5 text-n-slate-12" />
|
||||
<Icon icon="i-lucide-inbox" class="size-3.5 text-n-slate-12" />
|
||||
<span class="text-n-slate-12 text-sm">
|
||||
{{ count }}
|
||||
</span>
|
||||
@@ -76,44 +74,28 @@ const handleClickOutside = () => {
|
||||
<Spinner />
|
||||
</div>
|
||||
|
||||
<div v-else class="flex flex-col gap-4 w-full">
|
||||
<div v-else class="flex flex-col gap-4">
|
||||
<div
|
||||
v-for="item in items"
|
||||
:key="item.id"
|
||||
class="flex items-center justify-between gap-2 min-w-0 w-full"
|
||||
class="flex items-center gap-2 min-w-0 w-full"
|
||||
>
|
||||
<div class="flex items-center gap-2 min-w-0 w-full">
|
||||
<Icon
|
||||
v-if="item.icon"
|
||||
:icon="item.icon"
|
||||
class="size-4 text-n-slate-12 flex-shrink-0"
|
||||
/>
|
||||
<Avatar
|
||||
v-else
|
||||
<Icon
|
||||
v-if="item.icon"
|
||||
:icon="item.icon"
|
||||
class="size-4 text-n-slate-12 flex-shrink-0"
|
||||
/>
|
||||
<div class="flex items-center gap-1 min-w-0 flex-1">
|
||||
<span
|
||||
:title="item.name"
|
||||
:src="item.avatarUrl"
|
||||
:name="item.name"
|
||||
:size="20"
|
||||
rounded-full
|
||||
/>
|
||||
<div class="flex items-center gap-1 min-w-0 flex-1">
|
||||
<span
|
||||
:title="item.name"
|
||||
class="text-sm text-n-slate-12 truncate min-w-0"
|
||||
>
|
||||
{{ item.name }}
|
||||
</span>
|
||||
<span
|
||||
v-if="item.id"
|
||||
class="text-sm text-n-slate-11 flex-shrink-0"
|
||||
>
|
||||
{{ `#${item.id}` }}
|
||||
</span>
|
||||
</div>
|
||||
class="text-sm text-n-slate-12 truncate min-w-0"
|
||||
>
|
||||
{{ item.name }}
|
||||
</span>
|
||||
<span v-if="item.id" class="text-sm text-n-slate-11 flex-shrink-0">
|
||||
{{ `#${item.id}` }}
|
||||
</span>
|
||||
</div>
|
||||
<span v-if="item.email" class="text-sm text-n-slate-11 flex-shrink-0">
|
||||
{{ item.email }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,90 +0,0 @@
|
||||
<script setup>
|
||||
import Avatar from 'next/avatar/Avatar.vue';
|
||||
import Icon from 'dashboard/components-next/icon/Icon.vue';
|
||||
import Button from 'dashboard/components-next/button/Button.vue';
|
||||
import Spinner from 'dashboard/components-next/spinner/Spinner.vue';
|
||||
|
||||
defineProps({
|
||||
items: {
|
||||
type: Array,
|
||||
default: () => [],
|
||||
},
|
||||
isFetching: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
emptyStateMessage: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
});
|
||||
|
||||
const emit = defineEmits(['delete']);
|
||||
|
||||
const handleDelete = itemId => {
|
||||
emit('delete', itemId);
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div
|
||||
v-if="isFetching"
|
||||
class="flex items-center justify-center py-3 w-full text-n-slate-11"
|
||||
>
|
||||
<Spinner />
|
||||
</div>
|
||||
<div
|
||||
v-else-if="items.length === 0 && emptyStateMessage"
|
||||
class="custom-dashed-border flex items-center justify-center py-6 w-full"
|
||||
>
|
||||
<span class="text-sm text-n-slate-11">
|
||||
{{ emptyStateMessage }}
|
||||
</span>
|
||||
</div>
|
||||
<div v-else class="flex flex-col divide-y divide-n-weak">
|
||||
<div
|
||||
v-for="item in items"
|
||||
:key="item.id"
|
||||
class="grid grid-cols-4 items-center gap-3 min-w-0 w-full justify-between h-[3.25rem] ltr:pr-2 rtl:pl-2"
|
||||
>
|
||||
<div class="flex items-center gap-2 col-span-2">
|
||||
<Icon
|
||||
v-if="item.icon"
|
||||
:icon="item.icon"
|
||||
class="size-4 text-n-slate-12 flex-shrink-0"
|
||||
/>
|
||||
<Avatar
|
||||
v-else
|
||||
:title="item.name"
|
||||
:src="item.avatarUrl"
|
||||
:name="item.name"
|
||||
:size="20"
|
||||
rounded-full
|
||||
/>
|
||||
<span class="text-sm text-n-slate-12 truncate min-w-0">
|
||||
{{ item.name }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="flex items-start gap-2 col-span-1">
|
||||
<span
|
||||
:title="item.email || item.phoneNumber"
|
||||
class="text-sm text-n-slate-12 truncate min-w-0"
|
||||
>
|
||||
{{ item.email || item.phoneNumber }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="col-span-1 justify-end flex items-center">
|
||||
<Button
|
||||
icon="i-lucide-trash"
|
||||
slate
|
||||
ghost
|
||||
sm
|
||||
type="button"
|
||||
@click="handleDelete(item.id)"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
-149
@@ -1,149 +0,0 @@
|
||||
<script setup>
|
||||
import { computed, ref, onMounted } from 'vue';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
import AddDataDropdown from 'dashboard/components-next/AssignmentPolicy/components/AddDataDropdown.vue';
|
||||
import LabelItem from 'dashboard/components-next/Label/LabelItem.vue';
|
||||
import DurationInput from 'dashboard/components-next/input/DurationInput.vue';
|
||||
import { DURATION_UNITS } from 'dashboard/components-next/input/constants';
|
||||
|
||||
const props = defineProps({
|
||||
tagsList: {
|
||||
type: Array,
|
||||
default: () => [],
|
||||
},
|
||||
});
|
||||
|
||||
const excludedLabels = defineModel('excludedLabels', {
|
||||
type: Array,
|
||||
default: () => [],
|
||||
});
|
||||
|
||||
const excludeOlderThanMinutes = defineModel('excludeOlderThanMinutes', {
|
||||
type: Number,
|
||||
default: 10,
|
||||
});
|
||||
|
||||
// Duration limits: 10 minutes to 999 days (in minutes)
|
||||
const MIN_DURATION_MINUTES = 10;
|
||||
const MAX_DURATION_MINUTES = 1438560; // 999 days * 24 hours * 60 minutes
|
||||
|
||||
const { t } = useI18n();
|
||||
|
||||
const hoveredLabel = ref(null);
|
||||
const windowUnit = ref(DURATION_UNITS.MINUTES);
|
||||
|
||||
const addedTags = computed(() =>
|
||||
props.tagsList
|
||||
.filter(label => excludedLabels.value.includes(label.name))
|
||||
.map(label => ({ id: label.id, title: label.name, ...label }))
|
||||
);
|
||||
|
||||
const filteredTags = computed(() =>
|
||||
props.tagsList.filter(
|
||||
label => !addedTags.value.some(tag => tag.id === label.id)
|
||||
)
|
||||
);
|
||||
|
||||
const detectUnit = minutes => {
|
||||
const m = Number(minutes) || 0;
|
||||
if (m === 0) return DURATION_UNITS.MINUTES;
|
||||
if (m % (24 * 60) === 0) return DURATION_UNITS.DAYS;
|
||||
if (m % 60 === 0) return DURATION_UNITS.HOURS;
|
||||
return DURATION_UNITS.MINUTES;
|
||||
};
|
||||
|
||||
const onClickAddTag = tag => {
|
||||
excludedLabels.value = [...excludedLabels.value, tag.name];
|
||||
};
|
||||
|
||||
const onClickRemoveTag = tag => {
|
||||
excludedLabels.value = excludedLabels.value.filter(
|
||||
name => name !== tag.title
|
||||
);
|
||||
};
|
||||
|
||||
onMounted(() => {
|
||||
windowUnit.value = detectUnit(excludeOlderThanMinutes.value);
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="py-4 flex-col flex gap-6">
|
||||
<div class="flex flex-col items-start gap-1 py-1">
|
||||
<label class="text-sm font-medium text-n-slate-12 py-1">
|
||||
{{
|
||||
t(
|
||||
'ASSIGNMENT_POLICY.AGENT_CAPACITY_POLICY.FORM.EXCLUSION_RULES.LABEL'
|
||||
)
|
||||
}}
|
||||
</label>
|
||||
<p class="mb-0 text-n-slate-11 text-sm">
|
||||
{{
|
||||
t(
|
||||
'ASSIGNMENT_POLICY.AGENT_CAPACITY_POLICY.FORM.EXCLUSION_RULES.DESCRIPTION'
|
||||
)
|
||||
}}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col items-start gap-4">
|
||||
<label class="text-sm font-medium text-n-slate-12 py-1">
|
||||
{{
|
||||
t(
|
||||
'ASSIGNMENT_POLICY.AGENT_CAPACITY_POLICY.FORM.EXCLUSION_RULES.TAGS.LABEL'
|
||||
)
|
||||
}}
|
||||
</label>
|
||||
<div
|
||||
class="flex items-start gap-2 flex-wrap"
|
||||
@mouseleave="hoveredLabel = null"
|
||||
>
|
||||
<LabelItem
|
||||
v-for="tag in addedTags"
|
||||
:key="tag.id"
|
||||
:label="tag"
|
||||
:is-hovered="hoveredLabel === tag.id"
|
||||
class="h-8"
|
||||
@remove="onClickRemoveTag"
|
||||
@hover="hoveredLabel = tag.id"
|
||||
/>
|
||||
<AddDataDropdown
|
||||
:label="
|
||||
t(
|
||||
'ASSIGNMENT_POLICY.AGENT_CAPACITY_POLICY.FORM.EXCLUSION_RULES.TAGS.ADD_TAG'
|
||||
)
|
||||
"
|
||||
:search-placeholder="
|
||||
t(
|
||||
'ASSIGNMENT_POLICY.AGENT_CAPACITY_POLICY.FORM.EXCLUSION_RULES.TAGS.DROPDOWN.SEARCH_PLACEHOLDER'
|
||||
)
|
||||
"
|
||||
:items="filteredTags"
|
||||
class="[&>button]:!text-n-blue-text [&>div]:min-w-64"
|
||||
@add="onClickAddTag"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col items-start gap-4">
|
||||
<label class="text-sm font-medium text-n-slate-12 py-1">
|
||||
{{
|
||||
t(
|
||||
'ASSIGNMENT_POLICY.AGENT_CAPACITY_POLICY.FORM.EXCLUSION_RULES.DURATION.LABEL'
|
||||
)
|
||||
}}
|
||||
</label>
|
||||
<div
|
||||
class="flex items-center gap-2 flex-1 [&>select]:!bg-n-alpha-2 [&>select]:!outline-none [&>select]:hover:brightness-110"
|
||||
>
|
||||
<!-- allow 10 mins to 999 days -->
|
||||
<DurationInput
|
||||
v-model:unit="windowUnit"
|
||||
v-model:model-value="excludeOlderThanMinutes"
|
||||
:min="MIN_DURATION_MINUTES"
|
||||
:max="MAX_DURATION_MINUTES"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
-86
@@ -1,86 +0,0 @@
|
||||
<script setup>
|
||||
import { ref, onMounted } from 'vue';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
import Input from 'dashboard/components-next/input/Input.vue';
|
||||
import DurationInput from 'dashboard/components-next/input/DurationInput.vue';
|
||||
import { DURATION_UNITS } from 'dashboard/components-next/input/constants';
|
||||
|
||||
const { t } = useI18n();
|
||||
|
||||
const fairDistributionLimit = defineModel('fairDistributionLimit', {
|
||||
type: Number,
|
||||
default: 100,
|
||||
set(value) {
|
||||
return Number(value) || 0;
|
||||
},
|
||||
});
|
||||
|
||||
const fairDistributionWindow = defineModel('fairDistributionWindow', {
|
||||
type: Number,
|
||||
default: 3600,
|
||||
set(value) {
|
||||
return Number(value) || 0;
|
||||
},
|
||||
});
|
||||
|
||||
const windowUnit = ref(DURATION_UNITS.MINUTES);
|
||||
|
||||
const detectUnit = minutes => {
|
||||
const m = Number(minutes) || 0;
|
||||
if (m === 0) return DURATION_UNITS.MINUTES;
|
||||
if (m % (24 * 60) === 0) return DURATION_UNITS.DAYS;
|
||||
if (m % 60 === 0) return DURATION_UNITS.HOURS;
|
||||
return DURATION_UNITS.MINUTES;
|
||||
};
|
||||
|
||||
onMounted(() => {
|
||||
windowUnit.value = detectUnit(fairDistributionWindow.value);
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div
|
||||
class="flex items-start xl:items-center flex-col md:flex-row gap-4 lg:gap-3 bg-n-solid-1 p-4 outline outline-1 outline-n-weak rounded-xl"
|
||||
>
|
||||
<div class="flex items-center gap-3">
|
||||
<label class="text-sm font-medium text-n-slate-12">
|
||||
{{
|
||||
t(
|
||||
'ASSIGNMENT_POLICY.AGENT_ASSIGNMENT_POLICY.FORM.FAIR_DISTRIBUTION.INPUT_MAX'
|
||||
)
|
||||
}}
|
||||
</label>
|
||||
<div class="flex-1">
|
||||
<Input
|
||||
v-model="fairDistributionLimit"
|
||||
type="number"
|
||||
placeholder="100"
|
||||
max="100000"
|
||||
class="w-full"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex sm:flex-row flex-col items-start sm:items-center gap-4">
|
||||
<label class="text-sm font-medium text-n-slate-12">
|
||||
{{
|
||||
t(
|
||||
'ASSIGNMENT_POLICY.AGENT_ASSIGNMENT_POLICY.FORM.FAIR_DISTRIBUTION.DURATION'
|
||||
)
|
||||
}}
|
||||
</label>
|
||||
|
||||
<div
|
||||
class="flex items-center gap-2 flex-1 [&>select]:!bg-n-alpha-2 [&>select]:!outline-none [&>select]:hover:brightness-110"
|
||||
>
|
||||
<!-- allow 10 mins to 999 days -->
|
||||
<DurationInput
|
||||
v-model:model-value="fairDistributionWindow"
|
||||
v-model:unit="windowUnit"
|
||||
:min="10"
|
||||
:max="1438560"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
-177
@@ -1,177 +0,0 @@
|
||||
<script setup>
|
||||
import { computed } from 'vue';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
import Button from 'dashboard/components-next/button/Button.vue';
|
||||
import Spinner from 'dashboard/components-next/spinner/Spinner.vue';
|
||||
import AddDataDropdown from 'dashboard/components-next/AssignmentPolicy/components/AddDataDropdown.vue';
|
||||
|
||||
const props = defineProps({
|
||||
inboxList: {
|
||||
type: Array,
|
||||
default: () => [],
|
||||
},
|
||||
isFetching: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
});
|
||||
|
||||
const emit = defineEmits(['delete', 'add', 'update']);
|
||||
|
||||
const inboxCapacityLimits = defineModel('inboxCapacityLimits', {
|
||||
type: Array,
|
||||
default: () => [],
|
||||
});
|
||||
|
||||
const { t } = useI18n();
|
||||
|
||||
const BASE_KEY = 'ASSIGNMENT_POLICY.AGENT_CAPACITY_POLICY';
|
||||
const DEFAULT_CONVERSATION_LIMIT = 10;
|
||||
const MIN_CONVERSATION_LIMIT = 1;
|
||||
const MAX_CONVERSATION_LIMIT = 100000;
|
||||
|
||||
const selectedInboxIds = computed(
|
||||
() => new Set(inboxCapacityLimits.value.map(limit => limit.inboxId))
|
||||
);
|
||||
|
||||
const availableInboxes = computed(() =>
|
||||
props.inboxList.filter(
|
||||
inbox => inbox && !selectedInboxIds.value.has(inbox.id)
|
||||
)
|
||||
);
|
||||
|
||||
const isLimitValid = limit => {
|
||||
return (
|
||||
limit.conversationLimit >= MIN_CONVERSATION_LIMIT &&
|
||||
limit.conversationLimit <= MAX_CONVERSATION_LIMIT
|
||||
);
|
||||
};
|
||||
|
||||
const inboxMap = computed(
|
||||
() => new Map(props.inboxList.map(inbox => [inbox.id, inbox]))
|
||||
);
|
||||
|
||||
const handleAddInbox = inbox => {
|
||||
emit('add', {
|
||||
inboxId: inbox.id,
|
||||
conversationLimit: DEFAULT_CONVERSATION_LIMIT,
|
||||
});
|
||||
};
|
||||
|
||||
const handleRemoveLimit = limitId => {
|
||||
emit('delete', limitId);
|
||||
};
|
||||
|
||||
const handleLimitChange = limit => {
|
||||
if (isLimitValid(limit)) {
|
||||
emit('update', limit);
|
||||
}
|
||||
};
|
||||
|
||||
const getInboxName = inboxId => {
|
||||
return inboxMap.value.get(inboxId)?.name || '';
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="py-4 flex-col flex gap-3">
|
||||
<div class="flex items-center w-full gap-8 justify-between pt-1 pb-3">
|
||||
<label class="text-sm font-medium text-n-slate-12">
|
||||
{{ t(`${BASE_KEY}.FORM.INBOX_CAPACITY_LIMIT.LABEL`) }}
|
||||
</label>
|
||||
|
||||
<AddDataDropdown
|
||||
:label="t(`${BASE_KEY}.FORM.INBOX_CAPACITY_LIMIT.ADD_BUTTON`)"
|
||||
:search-placeholder="
|
||||
t(`${BASE_KEY}.FORM.INBOX_CAPACITY_LIMIT.FIELD.SELECT_INBOX`)
|
||||
"
|
||||
:items="availableInboxes"
|
||||
@add="handleAddInbox"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div
|
||||
v-if="isFetching"
|
||||
class="flex items-center justify-center py-3 w-full text-n-slate-11"
|
||||
>
|
||||
<Spinner />
|
||||
</div>
|
||||
|
||||
<div
|
||||
v-else-if="!inboxCapacityLimits.length"
|
||||
class="custom-dashed-border flex items-center justify-center py-6 w-full"
|
||||
>
|
||||
<span class="text-sm text-n-slate-11">
|
||||
{{ t(`${BASE_KEY}.FORM.INBOX_CAPACITY_LIMIT.EMPTY_STATE`) }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div v-else class="flex-col flex gap-3">
|
||||
<div
|
||||
v-for="(limit, index) in inboxCapacityLimits"
|
||||
:key="limit.id || `temp-${index}`"
|
||||
class="flex flex-col xs:flex-row items-stretch gap-3"
|
||||
>
|
||||
<div
|
||||
class="flex items-center rounded-lg outline-1 outline cursor-not-allowed text-n-slate-11 outline-n-weak py-2.5 px-3 text-sm w-full min-w-0"
|
||||
:title="getInboxName(limit.inboxId)"
|
||||
>
|
||||
<span class="truncate min-w-0">
|
||||
{{ getInboxName(limit.inboxId) }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="flex items-center gap-3 w-full xs:w-auto">
|
||||
<div
|
||||
class="py-2.5 px-3 rounded-lg gap-2 outline outline-1 flex-1 xs:flex-shrink-0 flex items-center min-w-0"
|
||||
:class="[
|
||||
!isLimitValid(limit) ? 'outline-n-ruby-8' : 'outline-n-weak',
|
||||
]"
|
||||
>
|
||||
<label
|
||||
class="text-sm text-n-slate-12 ltr:pr-2 rtl:pl-2 truncate min-w-0 flex-shrink"
|
||||
:title="
|
||||
t(
|
||||
`${BASE_KEY}.FORM.INBOX_CAPACITY_LIMIT.FIELD.MAX_CONVERSATIONS`
|
||||
)
|
||||
"
|
||||
>
|
||||
{{
|
||||
t(
|
||||
`${BASE_KEY}.FORM.INBOX_CAPACITY_LIMIT.FIELD.MAX_CONVERSATIONS`
|
||||
)
|
||||
}}
|
||||
</label>
|
||||
|
||||
<div class="h-5 w-px bg-n-weak" />
|
||||
|
||||
<input
|
||||
v-model.number="limit.conversationLimit"
|
||||
type="number"
|
||||
:min="MIN_CONVERSATION_LIMIT"
|
||||
:max="MAX_CONVERSATION_LIMIT"
|
||||
class="reset-base bg-transparent focus:outline-none min-w-16 w-24 text-sm flex-shrink-0"
|
||||
:class="[
|
||||
!isLimitValid(limit)
|
||||
? 'placeholder:text-n-ruby-9 !text-n-ruby-9'
|
||||
: 'placeholder:text-n-slate-10 text-n-slate-12',
|
||||
]"
|
||||
:placeholder="
|
||||
t(`${BASE_KEY}.FORM.INBOX_CAPACITY_LIMIT.FIELD.SET_LIMIT`)
|
||||
"
|
||||
@blur="handleLimitChange(limit)"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<Button
|
||||
type="button"
|
||||
slate
|
||||
icon="i-lucide-trash"
|
||||
class="flex-shrink-0"
|
||||
@click="handleRemoveLimit(limit.id)"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -1,60 +0,0 @@
|
||||
<script setup>
|
||||
const props = defineProps({
|
||||
id: {
|
||||
type: String,
|
||||
required: true,
|
||||
},
|
||||
label: {
|
||||
type: String,
|
||||
required: true,
|
||||
},
|
||||
description: {
|
||||
type: String,
|
||||
required: true,
|
||||
},
|
||||
isActive: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
});
|
||||
|
||||
const emit = defineEmits(['select']);
|
||||
|
||||
const handleChange = () => {
|
||||
if (!props.isActive) {
|
||||
emit('select', props.id);
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div
|
||||
class="relative cursor-pointer rounded-xl outline outline-1 p-4 transition-all duration-200 bg-n-solid-1 py-4 ltr:pl-4 rtl:pr-4 ltr:pr-6 rtl:pl-6"
|
||||
:class="[
|
||||
isActive ? 'outline-n-blue-9' : 'outline-n-weak hover:outline-n-strong',
|
||||
]"
|
||||
@click="handleChange"
|
||||
>
|
||||
<div class="absolute top-4 right-4">
|
||||
<input
|
||||
:id="`${id}`"
|
||||
:checked="isActive"
|
||||
:value="id"
|
||||
:name="id"
|
||||
type="radio"
|
||||
class="h-4 w-4 border-n-slate-6 text-n-brand focus:ring-n-brand focus:ring-offset-0"
|
||||
@change="handleChange"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- Content -->
|
||||
<div class="flex flex-col gap-3 items-start">
|
||||
<h3 class="text-sm font-medium text-n-slate-12">
|
||||
{{ label }}
|
||||
</h3>
|
||||
<p class="text-sm text-n-slate-11">
|
||||
{{ description }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
-92
@@ -1,92 +0,0 @@
|
||||
<script setup>
|
||||
import AddDataDropdown from '../AddDataDropdown.vue';
|
||||
|
||||
const mockInboxes = [
|
||||
{
|
||||
id: 1,
|
||||
name: 'Website Support',
|
||||
email: 'support@company.com',
|
||||
icon: 'i-lucide-globe',
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: 'Email Support',
|
||||
email: 'help@company.com',
|
||||
icon: 'i-lucide-mail',
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
name: 'WhatsApp Business',
|
||||
phoneNumber: '+1 555-0123',
|
||||
icon: 'i-lucide-message-circle',
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
name: 'Facebook Messenger',
|
||||
email: 'messenger@company.com',
|
||||
icon: 'i-lucide-facebook',
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
name: 'Twitter DM',
|
||||
email: 'twitter@company.com',
|
||||
icon: 'i-lucide-twitter',
|
||||
},
|
||||
];
|
||||
|
||||
const mockTags = [
|
||||
{
|
||||
id: 1,
|
||||
name: 'urgent',
|
||||
color: '#ff4757',
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: 'bug',
|
||||
color: '#ff6b6b',
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
name: 'feature-request',
|
||||
color: '#4834d4',
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
name: 'documentation',
|
||||
color: '#26de81',
|
||||
},
|
||||
];
|
||||
|
||||
const handleAdd = item => {
|
||||
console.log('Add item:', item);
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<Story
|
||||
title="Components/AgentManagementPolicy/AddDataDropdown"
|
||||
:layout="{ type: 'grid', width: '500px' }"
|
||||
>
|
||||
<Variant title="Basic Usage - Inboxes">
|
||||
<div class="p-8 bg-n-background flex gap-4 h-[400px] items-start">
|
||||
<AddDataDropdown
|
||||
label="Add Inbox"
|
||||
search-placeholder="Search inboxes..."
|
||||
:items="mockInboxes"
|
||||
@add="handleAdd"
|
||||
/>
|
||||
</div>
|
||||
</Variant>
|
||||
|
||||
<Variant title="Basic Usage - Tags">
|
||||
<div class="p-8 bg-n-background flex gap-4 h-[400px] items-start">
|
||||
<AddDataDropdown
|
||||
label="Add Tag"
|
||||
search-placeholder="Search tags..."
|
||||
:items="mockTags"
|
||||
@add="handleAdd"
|
||||
/>
|
||||
</div>
|
||||
</Variant>
|
||||
</Story>
|
||||
</template>
|
||||
-33
@@ -1,33 +0,0 @@
|
||||
<script setup>
|
||||
import { ref } from 'vue';
|
||||
import BaseInfo from '../BaseInfo.vue';
|
||||
|
||||
const policyName = ref('Round Robin Policy');
|
||||
const description = ref(
|
||||
'Distributes conversations evenly among available agents'
|
||||
);
|
||||
const enabled = ref(true);
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<Story
|
||||
title="Components/AgentManagementPolicy/BaseInfo"
|
||||
:layout="{ type: 'grid', width: '600px' }"
|
||||
>
|
||||
<Variant title="Basic Usage">
|
||||
<div class="p-8 bg-n-background">
|
||||
<BaseInfo
|
||||
v-model:policy-name="policyName"
|
||||
v-model:description="description"
|
||||
v-model:enabled="enabled"
|
||||
name-label="Policy Name"
|
||||
name-placeholder="Enter policy name"
|
||||
description-label="Description"
|
||||
description-placeholder="Enter policy description"
|
||||
status-label="Status"
|
||||
status-placeholder="Active"
|
||||
/>
|
||||
</div>
|
||||
</Variant>
|
||||
</Story>
|
||||
</template>
|
||||
-44
@@ -23,39 +23,6 @@ const mockItems = [
|
||||
icon: 'i-lucide-facebook',
|
||||
},
|
||||
];
|
||||
|
||||
const mockUsers = [
|
||||
{
|
||||
id: 1,
|
||||
name: 'John Smith',
|
||||
email: 'john.smith@example.com',
|
||||
avatarUrl: 'https://i.pravatar.cc/150?img=1',
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: 'Sarah Johnson',
|
||||
email: 'sarah.johnson@example.com',
|
||||
avatarUrl: 'https://i.pravatar.cc/150?img=2',
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
name: 'Mike Chen',
|
||||
email: 'mike.chen@example.com',
|
||||
avatarUrl: 'https://i.pravatar.cc/150?img=3',
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
name: 'Emily Davis',
|
||||
email: 'emily.davis@example.com',
|
||||
avatarUrl: 'https://i.pravatar.cc/150?img=4',
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
name: 'Alex Rodriguez',
|
||||
email: 'alex.rodriguez@example.com',
|
||||
avatarUrl: 'https://i.pravatar.cc/150?img=5',
|
||||
},
|
||||
];
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@@ -74,16 +41,5 @@ const mockUsers = [
|
||||
/>
|
||||
</div>
|
||||
</Variant>
|
||||
<Variant title="Basic Usage">
|
||||
<div class="p-8 bg-n-background flex gap-4 h-96 items-start">
|
||||
<CardPopover
|
||||
:count="3"
|
||||
title="Added Agents"
|
||||
icon="i-lucide-users-round"
|
||||
:items="mockUsers.slice(0, 3)"
|
||||
@fetch="() => console.log('Fetch triggered')"
|
||||
/>
|
||||
</div>
|
||||
</Variant>
|
||||
</Story>
|
||||
</template>
|
||||
|
||||
-87
@@ -1,87 +0,0 @@
|
||||
<script setup>
|
||||
import DataTable from '../DataTable.vue';
|
||||
|
||||
const mockItems = [
|
||||
{
|
||||
id: 1,
|
||||
name: 'Website Support',
|
||||
email: 'support@company.com',
|
||||
icon: 'i-lucide-globe',
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: 'Email Support',
|
||||
email: 'help@company.com',
|
||||
icon: 'i-lucide-mail',
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
name: 'WhatsApp Business',
|
||||
phoneNumber: '+1 555-0123',
|
||||
icon: 'i-lucide-message-circle',
|
||||
},
|
||||
];
|
||||
|
||||
const mockAgentList = [
|
||||
{
|
||||
id: 1,
|
||||
name: 'John Doe',
|
||||
email: 'john.doe@example.com',
|
||||
avatarUrl: 'https://i.pravatar.cc/150?img=1',
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: 'Jane Smith',
|
||||
email: 'jane.smith@example.com',
|
||||
avatarUrl: 'https://i.pravatar.cc/150?img=2',
|
||||
},
|
||||
];
|
||||
|
||||
const handleDelete = itemId => {
|
||||
console.log('Delete item:', itemId);
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<Story
|
||||
title="Components/AgentManagementPolicy/DataTable"
|
||||
:layout="{ type: 'grid', width: '800px' }"
|
||||
>
|
||||
<Variant title="With Data">
|
||||
<div class="p-8 bg-n-background">
|
||||
<DataTable
|
||||
:items="mockItems"
|
||||
:is-fetching="false"
|
||||
@delete="handleDelete"
|
||||
/>
|
||||
</div>
|
||||
</Variant>
|
||||
|
||||
<Variant title="With Agents">
|
||||
<div class="p-8 bg-n-background">
|
||||
<DataTable
|
||||
:items="mockAgentList"
|
||||
:is-fetching="false"
|
||||
@delete="handleDelete"
|
||||
/>
|
||||
</div>
|
||||
</Variant>
|
||||
|
||||
<Variant title="Loading State">
|
||||
<div class="p-8 bg-n-background">
|
||||
<DataTable :items="[]" is-fetching @delete="handleDelete" />
|
||||
</div>
|
||||
</Variant>
|
||||
|
||||
<Variant title="Empty State">
|
||||
<div class="p-8 bg-n-background">
|
||||
<DataTable
|
||||
:items="[]"
|
||||
:is-fetching="false"
|
||||
empty-state-message="No items found"
|
||||
@delete="handleDelete"
|
||||
/>
|
||||
</div>
|
||||
</Variant>
|
||||
</Story>
|
||||
</template>
|
||||
-67
@@ -1,67 +0,0 @@
|
||||
<script setup>
|
||||
import ExclusionRules from '../ExclusionRules.vue';
|
||||
import { ref } from 'vue';
|
||||
|
||||
const mockTagsList = [
|
||||
{
|
||||
id: 1,
|
||||
name: 'urgent',
|
||||
color: '#ff4757',
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: 'bug',
|
||||
color: '#ff6b6b',
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
name: 'feature-request',
|
||||
color: '#4834d4',
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
name: 'documentation',
|
||||
color: '#26de81',
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
name: 'enhancement',
|
||||
color: '#2ed573',
|
||||
},
|
||||
{
|
||||
id: 6,
|
||||
name: 'question',
|
||||
color: '#ffa502',
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
name: 'duplicate',
|
||||
color: '#747d8c',
|
||||
},
|
||||
{
|
||||
id: 8,
|
||||
name: 'wontfix',
|
||||
color: '#57606f',
|
||||
},
|
||||
];
|
||||
|
||||
const excludedLabelsBasic = ref([]);
|
||||
const excludeOlderThanHoursBasic = ref(10);
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<Story
|
||||
title="Components/AgentManagementPolicy/ExclusionRules"
|
||||
:layout="{ type: 'grid', width: '1200px' }"
|
||||
>
|
||||
<Variant title="Basic Usage">
|
||||
<div class="p-8 bg-n-background h-[600px]">
|
||||
<ExclusionRules
|
||||
v-model:excluded-labels="excludedLabelsBasic"
|
||||
v-model:exclude-older-than-minutes="excludeOlderThanHoursBasic"
|
||||
:tags-list="mockTagsList"
|
||||
/>
|
||||
</div>
|
||||
</Variant>
|
||||
</Story>
|
||||
</template>
|
||||
-25
@@ -1,25 +0,0 @@
|
||||
<script setup>
|
||||
import { ref } from 'vue';
|
||||
import FairDistribution from '../FairDistribution.vue';
|
||||
|
||||
const fairDistributionLimit = ref(100);
|
||||
const fairDistributionWindow = ref(3600);
|
||||
const windowUnit = ref('minutes');
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<Story
|
||||
title="Components/AgentManagementPolicy/FairDistribution"
|
||||
:layout="{ type: 'grid', width: '800px' }"
|
||||
>
|
||||
<Variant title="Basic Usage">
|
||||
<div class="p-8 bg-n-background">
|
||||
<FairDistribution
|
||||
v-model:fair-distribution-limit="fairDistributionLimit"
|
||||
v-model:fair-distribution-window="fairDistributionWindow"
|
||||
v-model:window-unit="windowUnit"
|
||||
/>
|
||||
</div>
|
||||
</Variant>
|
||||
</Story>
|
||||
</template>
|
||||
-108
@@ -1,108 +0,0 @@
|
||||
<script setup>
|
||||
import InboxCapacityLimits from '../InboxCapacityLimits.vue';
|
||||
import { ref } from 'vue';
|
||||
|
||||
const mockInboxList = [
|
||||
{
|
||||
value: 1,
|
||||
label: 'Website Support',
|
||||
icon: 'i-lucide-globe',
|
||||
},
|
||||
{
|
||||
value: 2,
|
||||
label: 'Email Support',
|
||||
icon: 'i-lucide-mail',
|
||||
},
|
||||
{
|
||||
value: 3,
|
||||
label: 'WhatsApp Business',
|
||||
icon: 'i-lucide-message-circle',
|
||||
},
|
||||
{
|
||||
value: 4,
|
||||
label: 'Facebook Messenger',
|
||||
icon: 'i-lucide-facebook',
|
||||
},
|
||||
{
|
||||
value: 5,
|
||||
label: 'Twitter DM',
|
||||
icon: 'i-lucide-twitter',
|
||||
},
|
||||
{
|
||||
value: 6,
|
||||
label: 'Telegram',
|
||||
icon: 'i-lucide-send',
|
||||
},
|
||||
];
|
||||
|
||||
const inboxCapacityLimitsEmpty = ref([]);
|
||||
const inboxCapacityLimitsNew = ref([
|
||||
{ id: 1, inboxId: 1, conversationLimit: 5 },
|
||||
{ inboxId: null, conversationLimit: null },
|
||||
]);
|
||||
|
||||
const handleDelete = id => {
|
||||
console.log('Delete capacity limit:', id);
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<Story
|
||||
title="Components/AgentManagementPolicy/InboxCapacityLimits"
|
||||
:layout="{ type: 'grid', width: '900px' }"
|
||||
>
|
||||
<Variant title="Empty State">
|
||||
<div class="p-8 bg-n-background">
|
||||
<InboxCapacityLimits
|
||||
v-model:inbox-capacity-limits="inboxCapacityLimitsEmpty"
|
||||
:inbox-list="mockInboxList"
|
||||
:is-fetching="false"
|
||||
:is-updating="false"
|
||||
@delete="handleDelete"
|
||||
/>
|
||||
</div>
|
||||
</Variant>
|
||||
|
||||
<Variant title="Loading State">
|
||||
<div class="p-8 bg-n-background">
|
||||
<InboxCapacityLimits
|
||||
v-model:inbox-capacity-limits="inboxCapacityLimitsEmpty"
|
||||
:inbox-list="mockInboxList"
|
||||
is-fetching
|
||||
:is-updating="false"
|
||||
@delete="handleDelete"
|
||||
/>
|
||||
</div>
|
||||
</Variant>
|
||||
|
||||
<Variant title="With New Row and existing data">
|
||||
<div class="p-8 bg-n-background">
|
||||
<InboxCapacityLimits
|
||||
v-model:inbox-capacity-limits="inboxCapacityLimitsNew"
|
||||
:inbox-list="mockInboxList"
|
||||
:is-fetching="false"
|
||||
:is-updating="false"
|
||||
@delete="handleDelete"
|
||||
/>
|
||||
</div>
|
||||
</Variant>
|
||||
|
||||
<Variant title="Interactive Demo">
|
||||
<div class="p-8 bg-n-background">
|
||||
<InboxCapacityLimits
|
||||
v-model:inbox-capacity-limits="inboxCapacityLimitsEmpty"
|
||||
:inbox-list="mockInboxList"
|
||||
:is-fetching="false"
|
||||
:is-updating="false"
|
||||
@delete="handleDelete"
|
||||
/>
|
||||
<div class="mt-4 p-4 bg-n-alpha-2 rounded-lg">
|
||||
<h4 class="text-sm font-medium mb-2">Current Limits:</h4>
|
||||
<pre class="text-xs">{{
|
||||
JSON.stringify(inboxCapacityLimitsEmpty, null, 2)
|
||||
}}</pre>
|
||||
</div>
|
||||
</div>
|
||||
</Variant>
|
||||
</Story>
|
||||
</template>
|
||||
-61
@@ -1,61 +0,0 @@
|
||||
<script setup>
|
||||
import { ref } from 'vue';
|
||||
import RadioCard from '../RadioCard.vue';
|
||||
|
||||
const selectedOption = ref('round_robin');
|
||||
|
||||
const handleSelect = value => {
|
||||
selectedOption.value = value;
|
||||
console.log('Selected:', value);
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<Story
|
||||
title="Components/AgentManagementPolicy/RadioCard"
|
||||
:layout="{ type: 'grid', width: '600px' }"
|
||||
>
|
||||
<Variant title="Basic Usage">
|
||||
<div class="p-8 bg-n-background space-y-4">
|
||||
<RadioCard
|
||||
id="round_robin"
|
||||
label="Round Robin"
|
||||
description="Distributes conversations evenly among all available agents in a rotating manner"
|
||||
:is-active="selectedOption === 'round_robin'"
|
||||
@select="handleSelect"
|
||||
/>
|
||||
<RadioCard
|
||||
id="balanced"
|
||||
label="Balanced Assignment"
|
||||
description="Assigns conversations based on agent workload to maintain balance"
|
||||
:is-active="selectedOption === 'balanced'"
|
||||
@select="handleSelect"
|
||||
/>
|
||||
</div>
|
||||
</Variant>
|
||||
|
||||
<Variant title="Active State">
|
||||
<div class="p-8 bg-n-background">
|
||||
<RadioCard
|
||||
id="active_option"
|
||||
label="Active Option"
|
||||
description="This option is currently selected and active"
|
||||
is-active
|
||||
@select="handleSelect"
|
||||
/>
|
||||
</div>
|
||||
</Variant>
|
||||
|
||||
<Variant title="Inactive State">
|
||||
<div class="p-8 bg-n-background">
|
||||
<RadioCard
|
||||
id="inactive_option"
|
||||
label="Inactive Option"
|
||||
description="This option is not selected and can be clicked to activate"
|
||||
is-active
|
||||
@select="handleSelect"
|
||||
/>
|
||||
</div>
|
||||
</Variant>
|
||||
</Story>
|
||||
</template>
|
||||
@@ -86,8 +86,8 @@ const handleLabelAction = async ({ value }) => {
|
||||
}
|
||||
};
|
||||
|
||||
const handleRemoveLabel = label => {
|
||||
return handleLabelAction({ value: label.id });
|
||||
const handleRemoveLabel = labelId => {
|
||||
return handleLabelAction({ value: labelId });
|
||||
};
|
||||
|
||||
watch(
|
||||
|
||||
+2
-10
@@ -51,20 +51,12 @@ const originalState = reactive({ ...state });
|
||||
|
||||
const liveChatWidgets = computed(() => {
|
||||
const inboxes = store.getters['inboxes/getInboxes'];
|
||||
const widgetOptions = inboxes
|
||||
return inboxes
|
||||
.filter(inbox => inbox.channel_type === 'Channel::WebWidget')
|
||||
.map(inbox => ({
|
||||
value: inbox.id,
|
||||
label: inbox.name,
|
||||
}));
|
||||
|
||||
return [
|
||||
{
|
||||
value: '',
|
||||
label: t('HELP_CENTER.PORTAL_SETTINGS.FORM.LIVE_CHAT_WIDGET.NONE_OPTION'),
|
||||
},
|
||||
...widgetOptions,
|
||||
];
|
||||
});
|
||||
|
||||
const rules = {
|
||||
@@ -116,7 +108,7 @@ watch(
|
||||
widgetColor: newVal.color,
|
||||
homePageLink: newVal.homepage_link,
|
||||
slug: newVal.slug,
|
||||
liveChatWidgetInboxId: newVal.inbox?.id || '',
|
||||
liveChatWidgetInboxId: newVal.inbox?.id,
|
||||
});
|
||||
if (newVal.logo) {
|
||||
const {
|
||||
|
||||
@@ -15,7 +15,7 @@ const props = defineProps({
|
||||
const emit = defineEmits(['remove', 'hover']);
|
||||
|
||||
const handleRemoveLabel = () => {
|
||||
emit('remove', props.label);
|
||||
emit('remove', props.label?.id);
|
||||
};
|
||||
|
||||
const handleMouseEnter = () => {
|
||||
@@ -45,7 +45,6 @@ const handleMouseEnter = () => {
|
||||
<Button
|
||||
class="transition-opacity duration-200 !h-7 ltr:rounded-r-md rtl:rounded-l-md ltr:rounded-l-none rtl:rounded-r-none w-6 bg-transparent"
|
||||
:class="{ 'opacity-0': !isHovered, 'opacity-100': isHovered }"
|
||||
type="button"
|
||||
slate
|
||||
xs
|
||||
faded
|
||||
|
||||
@@ -103,12 +103,6 @@ const validationError = computed(() => {
|
||||
);
|
||||
});
|
||||
|
||||
const inputFieldType = computed(() => {
|
||||
if (inputType.value === 'date') return 'date';
|
||||
if (inputType.value === 'number') return 'number';
|
||||
return 'text';
|
||||
});
|
||||
|
||||
const resetModelOnAttributeKeyChange = newAttributeKey => {
|
||||
/**
|
||||
* Resets the filter values and operator when the attribute key changes. This ensures that
|
||||
@@ -188,7 +182,7 @@ defineExpose({ validate });
|
||||
<Input
|
||||
v-else
|
||||
v-model="values"
|
||||
:type="inputFieldType"
|
||||
:type="inputType === 'date' ? 'date' : 'text'"
|
||||
class="[&>input]:h-8 [&>input]:py-1.5 [&>input]:outline-offset-0"
|
||||
:placeholder="t('FILTER.INPUT_PLACEHOLDER')"
|
||||
/>
|
||||
|
||||
@@ -164,8 +164,8 @@ export function useConversationFilterContext() {
|
||||
value: CONVERSATION_ATTRIBUTES.DISPLAY_ID,
|
||||
attributeName: t('FILTER.ATTRIBUTES.CONVERSATION_IDENTIFIER'),
|
||||
label: t('FILTER.ATTRIBUTES.CONVERSATION_IDENTIFIER'),
|
||||
inputType: 'number',
|
||||
dataType: 'number',
|
||||
inputType: 'plainText',
|
||||
datatype: 'number',
|
||||
filterOperators: containmentOperators.value,
|
||||
attributeModel: 'standard',
|
||||
},
|
||||
@@ -179,7 +179,7 @@ export function useConversationFilterContext() {
|
||||
id: campaign.id,
|
||||
name: campaign.title,
|
||||
})),
|
||||
dataType: 'number',
|
||||
datatype: 'number',
|
||||
filterOperators: presenceOperators.value,
|
||||
attributeModel: 'standard',
|
||||
},
|
||||
|
||||
@@ -78,8 +78,6 @@ watch(unit, () => {
|
||||
<option :value="DURATION_UNITS.HOURS">
|
||||
{{ t('DURATION_INPUT.HOURS') }}
|
||||
</option>
|
||||
<option :value="DURATION_UNITS.DAYS">
|
||||
{{ t('DURATION_INPUT.DAYS') }}
|
||||
</option>
|
||||
<option :value="DURATION_UNITS.DAYS">{{ t('DURATION_INPUT.DAYS') }}</option>
|
||||
</select>
|
||||
</template>
|
||||
|
||||
@@ -15,7 +15,6 @@ const props = defineProps({
|
||||
validator: value => ['info', 'error', 'success'].includes(value),
|
||||
},
|
||||
min: { type: String, default: '' },
|
||||
max: { type: String, default: '' },
|
||||
autofocus: { type: Boolean, default: false },
|
||||
});
|
||||
|
||||
@@ -55,12 +54,7 @@ const inputOutlineClass = computed(() => {
|
||||
});
|
||||
|
||||
const handleInput = event => {
|
||||
let value = event.target.value;
|
||||
// Convert to number if type is number and value is not empty
|
||||
if (props.type === 'number' && value !== '') {
|
||||
value = Number(value);
|
||||
}
|
||||
emit('update:modelValue', value);
|
||||
emit('update:modelValue', event.target.value);
|
||||
emit('input', event);
|
||||
};
|
||||
|
||||
@@ -114,12 +108,7 @@ onMounted(() => {
|
||||
:placeholder="placeholder"
|
||||
:disabled="disabled"
|
||||
:min="['date', 'datetime-local', 'time'].includes(type) ? min : undefined"
|
||||
:max="
|
||||
['date', 'datetime-local', 'time', 'number'].includes(type)
|
||||
? max
|
||||
: undefined
|
||||
"
|
||||
class="block w-full reset-base text-sm h-10 !px-3 !py-2.5 !mb-0 outline outline-1 border-none border-0 outline-offset-[-1px] rounded-lg bg-n-alpha-black2 file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-n-slate-10 dark:placeholder:text-n-slate-10 disabled:cursor-not-allowed disabled:opacity-50 text-n-slate-12 transition-all duration-500 ease-in-out [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none"
|
||||
class="block w-full reset-base text-sm h-10 !px-3 !py-2.5 !mb-0 outline outline-1 border-none border-0 outline-offset-[-1px] rounded-lg bg-n-alpha-black2 file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-n-slate-10 dark:placeholder:text-n-slate-10 disabled:cursor-not-allowed disabled:opacity-50 text-n-slate-12 transition-all duration-500 ease-in-out"
|
||||
@input="handleInput"
|
||||
@focus="handleFocus"
|
||||
@blur="handleBlur"
|
||||
|
||||
@@ -131,8 +131,6 @@ const props = defineProps({
|
||||
sourceId: { type: String, default: '' }, // eslint-disable-line vue/no-unused-properties
|
||||
});
|
||||
|
||||
const emit = defineEmits(['retry']);
|
||||
|
||||
const contextMenuPosition = ref({});
|
||||
const showBackgroundHighlight = ref(false);
|
||||
const showContextMenu = ref(false);
|
||||
@@ -526,7 +524,6 @@ provideMessageContext({
|
||||
class="[grid-area:meta]"
|
||||
:class="flexOrientationClass"
|
||||
:error="contentAttributes.externalError"
|
||||
@retry="emit('retry')"
|
||||
/>
|
||||
</div>
|
||||
<div v-if="shouldShowContextMenu" class="context-menu-wrap">
|
||||
|
||||
@@ -1,22 +1,16 @@
|
||||
<script setup>
|
||||
import { computed } from 'vue';
|
||||
import Icon from 'next/icon/Icon.vue';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
import { useMessageContext } from './provider.js';
|
||||
import { hasOneDayPassed } from 'shared/helpers/timeHelper';
|
||||
import { ORIENTATION, MESSAGE_STATUS } from './constants';
|
||||
import { ORIENTATION } from './constants';
|
||||
|
||||
defineProps({
|
||||
error: { type: String, required: true },
|
||||
});
|
||||
|
||||
const emit = defineEmits(['retry']);
|
||||
|
||||
const { orientation, status, createdAt } = useMessageContext();
|
||||
const { orientation } = useMessageContext();
|
||||
|
||||
const { t } = useI18n();
|
||||
|
||||
const canRetry = computed(() => !hasOneDayPassed(createdAt.value));
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@@ -41,14 +35,5 @@ const canRetry = computed(() => !hasOneDayPassed(createdAt.value));
|
||||
{{ error }}
|
||||
</div>
|
||||
</div>
|
||||
<button
|
||||
v-if="canRetry"
|
||||
type="button"
|
||||
:disabled="status !== MESSAGE_STATUS.FAILED"
|
||||
class="bg-n-alpha-2 rounded-md size-5 grid place-content-center cursor-pointer"
|
||||
@click="emit('retry')"
|
||||
>
|
||||
<Icon icon="i-lucide-refresh-ccw" class="text-n-ruby-11 size-[14px]" />
|
||||
</button>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -37,8 +37,6 @@ const props = defineProps({
|
||||
},
|
||||
});
|
||||
|
||||
const emit = defineEmits(['retry']);
|
||||
|
||||
const allMessages = computed(() => {
|
||||
return useCamelCase(props.messages, { deep: true });
|
||||
});
|
||||
@@ -115,7 +113,6 @@ const getInReplyToMessage = parentMessage => {
|
||||
:inbox-supports-reply-to="inboxSupportsReplyTo"
|
||||
:current-user-id="currentUserId"
|
||||
data-clarity-mask="True"
|
||||
@retry="emit('retry', message)"
|
||||
/>
|
||||
</template>
|
||||
<slot name="after" />
|
||||
|
||||
@@ -126,11 +126,6 @@ const updateMediaUrl = value => {
|
||||
processedParams.value.header.media_url = value;
|
||||
};
|
||||
|
||||
const updateMediaName = value => {
|
||||
processedParams.value.header ??= {};
|
||||
processedParams.value.header.media_name = value;
|
||||
};
|
||||
|
||||
const sendMessage = () => {
|
||||
v$.value.$touch();
|
||||
if (v$.value.$invalid) return;
|
||||
@@ -177,7 +172,6 @@ defineExpose({
|
||||
renderedTemplate,
|
||||
v$,
|
||||
updateMediaUrl,
|
||||
updateMediaName,
|
||||
sendMessage,
|
||||
resetTemplate,
|
||||
goBack,
|
||||
@@ -231,21 +225,6 @@ defineExpose({
|
||||
@update:model-value="updateMediaUrl"
|
||||
/>
|
||||
</div>
|
||||
<div
|
||||
v-if="headerComponent?.format === 'DOCUMENT'"
|
||||
class="flex items-center mb-2.5"
|
||||
>
|
||||
<Input
|
||||
:model-value="processedParams.header?.media_name || ''"
|
||||
type="text"
|
||||
class="flex-1"
|
||||
:placeholder="
|
||||
t('WHATSAPP_TEMPLATES.PARSER.MEDIA_NAME_PLACEHOLDER') ||
|
||||
'Enter custom filename (optional)'
|
||||
"
|
||||
@update:model-value="updateMediaName"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Body Variables Section -->
|
||||
|
||||
@@ -4,7 +4,6 @@ import { ref, provide } from 'vue';
|
||||
import { useConfig } from 'dashboard/composables/useConfig';
|
||||
import { useKeyboardEvents } from 'dashboard/composables/useKeyboardEvents';
|
||||
import { useAI } from 'dashboard/composables/useAI';
|
||||
import { useSnakeCase } from 'dashboard/composables/useTransformKeys';
|
||||
|
||||
// components
|
||||
import ReplyBox from './ReplyBox.vue';
|
||||
@@ -438,11 +437,6 @@ export default {
|
||||
makeMessagesRead() {
|
||||
this.$store.dispatch('markMessagesRead', { id: this.currentChat.id });
|
||||
},
|
||||
async handleMessageRetry(message) {
|
||||
if (!message) return;
|
||||
const payload = useSnakeCase(message);
|
||||
await this.$store.dispatch('sendMessageWithData', payload);
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
@@ -471,7 +465,6 @@ export default {
|
||||
:is-an-email-channel="isAnEmailChannel"
|
||||
:inbox-supports-reply-to="inboxSupportsReplyTo"
|
||||
:messages="getMessages"
|
||||
@retry="handleMessageRetry"
|
||||
>
|
||||
<template #beforeAll>
|
||||
<transition name="slide-up">
|
||||
|
||||
@@ -35,8 +35,6 @@ export default {
|
||||
HELP_CENTER_DOCS_URL:
|
||||
'https://www.chatwoot.com/docs/product/others/help-center',
|
||||
TESTIMONIAL_URL: 'https://testimonials.cdn.chatwoot.com/content.json',
|
||||
WHATSAPP_EMBEDDED_SIGNUP_DOCS_URL:
|
||||
'https://developers.facebook.com/docs/whatsapp/embedded-signup/custom-flows/onboarding-business-app-users#limitations',
|
||||
SMALL_SCREEN_BREAKPOINT: 768,
|
||||
AVAILABILITY_STATUS_KEYS: ['online', 'busy', 'offline'],
|
||||
SNOOZE_OPTIONS: {
|
||||
|
||||
@@ -38,6 +38,7 @@ export const FEATURE_FLAGS = {
|
||||
REPORT_V4: 'report_v4',
|
||||
CHANNEL_INSTAGRAM: 'channel_instagram',
|
||||
CONTACT_CHATWOOT_SUPPORT_TEAM: 'contact_chatwoot_support_team',
|
||||
WHATSAPP_EMBEDDED_SIGNUP: 'whatsapp_embedded_signup',
|
||||
CAPTAIN_V2: 'captain_integration_v2',
|
||||
SAML: 'saml',
|
||||
};
|
||||
@@ -49,4 +50,5 @@ export const PREMIUM_FEATURES = [
|
||||
FEATURE_FLAGS.AUDIT_LOGS,
|
||||
FEATURE_FLAGS.HELP_CENTER,
|
||||
FEATURE_FLAGS.CAPTAIN_V2,
|
||||
FEATURE_FLAGS.SAML,
|
||||
];
|
||||
|
||||
@@ -51,9 +51,6 @@ export const buildTemplateParameters = (template, hasMediaHeaderValue) => {
|
||||
if (!allVariables.header) allVariables.header = {};
|
||||
allVariables.header.media_url = '';
|
||||
allVariables.header.media_type = headerComponent.format.toLowerCase();
|
||||
if (headerComponent.format === 'DOCUMENT') {
|
||||
allVariables.header.media_name = '';
|
||||
}
|
||||
}
|
||||
|
||||
// Process button variables
|
||||
|
||||
@@ -71,17 +71,6 @@
|
||||
"SHOW_LABELS": "Show labels",
|
||||
"HIDE_LABELS": "Hide labels"
|
||||
},
|
||||
"VOICE_CALL": {
|
||||
"INCOMING_CALL": "Incoming call",
|
||||
"OUTGOING_CALL": "Outgoing call",
|
||||
"CALL_IN_PROGRESS": "Call in progress",
|
||||
"NO_ANSWER": "No answer",
|
||||
"MISSED_CALL": "Missed call",
|
||||
"CALL_ENDED": "Call ended",
|
||||
"NOT_ANSWERED_YET": "Not answered yet",
|
||||
"THEY_ANSWERED": "They answered",
|
||||
"YOU_ANSWERED": "You answered"
|
||||
},
|
||||
"HEADER": {
|
||||
"RESOLVE_ACTION": "Resolve",
|
||||
"REOPEN_ACTION": "Reopen",
|
||||
|
||||
@@ -51,13 +51,6 @@
|
||||
"LARGER": "Larger",
|
||||
"EXTRA_LARGE": "Extra Large"
|
||||
}
|
||||
},
|
||||
"LANGUAGE": {
|
||||
"TITLE": "Preferred Language",
|
||||
"NOTE": "Choose the language you want to use.",
|
||||
"UPDATE_SUCCESS": "Your Language settings have been updated successfully",
|
||||
"UPDATE_ERROR": "There is an error while updating the language settings, please try again",
|
||||
"USE_ACCOUNT_DEFAULT": "Use account default"
|
||||
}
|
||||
},
|
||||
"MESSAGE_SIGNATURE_SECTION": {
|
||||
@@ -337,7 +330,6 @@
|
||||
"REPORTS_LABEL": "Labels",
|
||||
"REPORTS_INBOX": "Inbox",
|
||||
"REPORTS_TEAM": "Team",
|
||||
"AGENT_ASSIGNMENT": "Agent Assignment",
|
||||
"SET_AVAILABILITY_TITLE": "Set yourself as",
|
||||
"SET_YOUR_AVAILABILITY": "Set your availability",
|
||||
"SLA": "SLA",
|
||||
@@ -426,255 +418,5 @@
|
||||
"SWITCH_TO_REPLY": "Switch to Reply",
|
||||
"TOGGLE_SNOOZE_DROPDOWN": "Toggle snooze dropdown"
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent assignment",
|
||||
"DESCRIPTION": "Define policies to effectively manage workload and route conversations based on the needs of inboxes and agents. Learn more here"
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"TITLE": "Assignment policy",
|
||||
"DESCRIPTION": "Manage how conversations get assigned in inboxes.",
|
||||
"FEATURES": [
|
||||
"Assign by conversations evenly or by available capacity",
|
||||
"Add fair distribution rules to avoid overloading any agent",
|
||||
"Add inboxes to a policy - one policy per inbox"
|
||||
]
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"TITLE": "Agent capacity policy",
|
||||
"DESCRIPTION": "Manage workload for agents.",
|
||||
"FEATURES": [
|
||||
"Define maximum conversations per inbox",
|
||||
"Create exceptions based on labels and time",
|
||||
"Add agents to a policy - one policy per agent"
|
||||
]
|
||||
}
|
||||
},
|
||||
"AGENT_ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Assignment policy",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"ORDER": "Order",
|
||||
"PRIORITY": "Priority",
|
||||
"ACTIVE": "Active",
|
||||
"INACTIVE": "Inactive",
|
||||
"POPOVER": "Added inboxes",
|
||||
"EDIT": "Edit"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No assignment policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create assignment policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create assignment policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit assignment policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_INBOX_DIALOG": {
|
||||
"TITLE": "Add inbox",
|
||||
"DESCRIPTION": "{inboxName} inbox is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Cancel"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update assignment policy"
|
||||
},
|
||||
"INBOX_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Inbox added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Inbox removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove inbox from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Description:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"STATUS": {
|
||||
"LABEL": "Status:",
|
||||
"PLACEHOLDER": "Select status",
|
||||
"ACTIVE": "Policy is active",
|
||||
"INACTIVE": "Policy is inactive"
|
||||
},
|
||||
"ASSIGNMENT_ORDER": {
|
||||
"LABEL": "Assignment order",
|
||||
"ROUND_ROBIN": {
|
||||
"LABEL": "Round robin",
|
||||
"DESCRIPTION": "Assign conversations evenly among agents."
|
||||
},
|
||||
"BALANCED": {
|
||||
"LABEL": "Balanced",
|
||||
"DESCRIPTION": "Assign conversations based on available capacity."
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_PRIORITY": {
|
||||
"LABEL": "Assignment priority",
|
||||
"EARLIEST_CREATED": {
|
||||
"LABEL": "Earliest created",
|
||||
"DESCRIPTION": "The conversation that was created first gets assigned first."
|
||||
},
|
||||
"LONGEST_WAITING": {
|
||||
"LABEL": "Longest waiting",
|
||||
"DESCRIPTION": "The conversation waiting the longest gets assigned first."
|
||||
}
|
||||
},
|
||||
"FAIR_DISTRIBUTION": {
|
||||
"LABEL": "Fair distribution policy",
|
||||
"DESCRIPTION": "Set the maximum number of conversations that can be assigned per agent within a time window to avoid overloading any one agent. This required field defaults to 100 conversations per hour.",
|
||||
"INPUT_MAX": "Assign max",
|
||||
"DURATION": "Conversations per agent in every"
|
||||
},
|
||||
"INBOXES": {
|
||||
"LABEL": "Added inboxes",
|
||||
"DESCRIPTION": "Add inboxes for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select inboxes to add",
|
||||
"ADD_BUTTON": "Add"
|
||||
},
|
||||
"EMPTY_STATE": "No inboxes added to this policy, add an inbox to get started",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Inbox successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete assignment policy"
|
||||
}
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent capacity",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"POPOVER": "Added agents",
|
||||
"EDIT": "Edit"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No agent capacity policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create agent capacity policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create agent capacity policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit agent capacity policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_AGENT_DIALOG": {
|
||||
"TITLE": "Add agent",
|
||||
"DESCRIPTION": "{agentName} is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Cancel"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update agent capacity policy"
|
||||
},
|
||||
"AGENT_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Agent added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Agent removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove agent from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Description:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"INBOX_CAPACITY_LIMIT": {
|
||||
"LABEL": "Inbox capacity limits",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"FIELD": {
|
||||
"SELECT_INBOX": "Select inbox",
|
||||
"MAX_CONVERSATIONS": "Max conversations",
|
||||
"SET_LIMIT": "Set limit"
|
||||
},
|
||||
"EMPTY_STATE": "No inbox limit set"
|
||||
},
|
||||
"EXCLUSION_RULES": {
|
||||
"LABEL": "Exclusion rules",
|
||||
"DESCRIPTION": "Conversations that satisfy the following conditions would not count towards agent capacity",
|
||||
"TAGS": {
|
||||
"LABEL": "Exclude conversations tagged with specific labels",
|
||||
"ADD_TAG": "add tag",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select tags to add"
|
||||
},
|
||||
"EMPTY_STATE": "No tags added to this policy."
|
||||
},
|
||||
"DURATION": {
|
||||
"LABEL": "Exclude conversations older than a specified duration",
|
||||
"PLACEHOLDER": "Set time"
|
||||
}
|
||||
},
|
||||
"USERS": {
|
||||
"LABEL": "Assigned agents",
|
||||
"DESCRIPTION": "Add agents for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add agent",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select agents to add",
|
||||
"ADD_BUTTON": "Add"
|
||||
},
|
||||
"EMPTY_STATE": "No agents added",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete agent capacity policy"
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"TITLE": "Delete policy",
|
||||
"DESCRIPTION": "Are you sure you want to delete this policy? This action cannot be undone.",
|
||||
"CONFIRM_BUTTON_LABEL": "Delete",
|
||||
"CANCEL_BUTTON_LABEL": "Cancel"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,17 +71,6 @@
|
||||
"SHOW_LABELS": "إظهار السمات",
|
||||
"HIDE_LABELS": "إخفاء السمات"
|
||||
},
|
||||
"VOICE_CALL": {
|
||||
"INCOMING_CALL": "Incoming call",
|
||||
"OUTGOING_CALL": "Outgoing call",
|
||||
"CALL_IN_PROGRESS": "Call in progress",
|
||||
"NO_ANSWER": "No answer",
|
||||
"MISSED_CALL": "Missed call",
|
||||
"CALL_ENDED": "Call ended",
|
||||
"NOT_ANSWERED_YET": "Not answered yet",
|
||||
"THEY_ANSWERED": "They answered",
|
||||
"YOU_ANSWERED": "You answered"
|
||||
},
|
||||
"HEADER": {
|
||||
"RESOLVE_ACTION": "حل المحادثة",
|
||||
"REOPEN_ACTION": "إعادة فتح",
|
||||
|
||||
@@ -51,13 +51,6 @@
|
||||
"LARGER": "Larger",
|
||||
"EXTRA_LARGE": "Extra Large"
|
||||
}
|
||||
},
|
||||
"LANGUAGE": {
|
||||
"TITLE": "Preferred Language",
|
||||
"NOTE": "Choose the language you want to use.",
|
||||
"UPDATE_SUCCESS": "Your Language settings have been updated successfully",
|
||||
"UPDATE_ERROR": "There is an error while updating the language settings, please try again",
|
||||
"USE_ACCOUNT_DEFAULT": "Use account default"
|
||||
}
|
||||
},
|
||||
"MESSAGE_SIGNATURE_SECTION": {
|
||||
@@ -337,7 +330,6 @@
|
||||
"REPORTS_LABEL": "الوسوم",
|
||||
"REPORTS_INBOX": "صندوق الوارد",
|
||||
"REPORTS_TEAM": "الفريق",
|
||||
"AGENT_ASSIGNMENT": "Agent Assignment",
|
||||
"SET_AVAILABILITY_TITLE": "تعيين نفسك كـ",
|
||||
"SET_YOUR_AVAILABILITY": "قم بتعيين توافرك",
|
||||
"SLA": "SLA",
|
||||
@@ -426,255 +418,5 @@
|
||||
"SWITCH_TO_REPLY": "التبديل إلى الرد",
|
||||
"TOGGLE_SNOOZE_DROPDOWN": "تبديل القائمة المنسدلة"
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent assignment",
|
||||
"DESCRIPTION": "Define policies to effectively manage workload and route conversations based on the needs of inboxes and agents. Learn more here"
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"TITLE": "Assignment policy",
|
||||
"DESCRIPTION": "Manage how conversations get assigned in inboxes.",
|
||||
"FEATURES": [
|
||||
"Assign by conversations evenly or by available capacity",
|
||||
"Add fair distribution rules to avoid overloading any agent",
|
||||
"Add inboxes to a policy - one policy per inbox"
|
||||
]
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"TITLE": "Agent capacity policy",
|
||||
"DESCRIPTION": "Manage workload for agents.",
|
||||
"FEATURES": [
|
||||
"Define maximum conversations per inbox",
|
||||
"Create exceptions based on labels and time",
|
||||
"Add agents to a policy - one policy per agent"
|
||||
]
|
||||
}
|
||||
},
|
||||
"AGENT_ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Assignment policy",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"ORDER": "Order",
|
||||
"PRIORITY": "الأولوية",
|
||||
"ACTIVE": "مفعل",
|
||||
"INACTIVE": "Inactive",
|
||||
"POPOVER": "Added inboxes",
|
||||
"EDIT": "تعديل"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No assignment policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create assignment policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create assignment policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit assignment policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_INBOX_DIALOG": {
|
||||
"TITLE": "Add inbox",
|
||||
"DESCRIPTION": "{inboxName} inbox is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "إلغاء"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update assignment policy"
|
||||
},
|
||||
"INBOX_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Inbox added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Inbox removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove inbox from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "الوصف:",
|
||||
"PLACEHOLDER": "أدخل الوصف"
|
||||
},
|
||||
"STATUS": {
|
||||
"LABEL": "الحالة:",
|
||||
"PLACEHOLDER": "اختر الحالة",
|
||||
"ACTIVE": "Policy is active",
|
||||
"INACTIVE": "Policy is inactive"
|
||||
},
|
||||
"ASSIGNMENT_ORDER": {
|
||||
"LABEL": "Assignment order",
|
||||
"ROUND_ROBIN": {
|
||||
"LABEL": "Round robin",
|
||||
"DESCRIPTION": "Assign conversations evenly among agents."
|
||||
},
|
||||
"BALANCED": {
|
||||
"LABEL": "Balanced",
|
||||
"DESCRIPTION": "Assign conversations based on available capacity."
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_PRIORITY": {
|
||||
"LABEL": "Assignment priority",
|
||||
"EARLIEST_CREATED": {
|
||||
"LABEL": "Earliest created",
|
||||
"DESCRIPTION": "The conversation that was created first gets assigned first."
|
||||
},
|
||||
"LONGEST_WAITING": {
|
||||
"LABEL": "Longest waiting",
|
||||
"DESCRIPTION": "The conversation waiting the longest gets assigned first."
|
||||
}
|
||||
},
|
||||
"FAIR_DISTRIBUTION": {
|
||||
"LABEL": "Fair distribution policy",
|
||||
"DESCRIPTION": "Set the maximum number of conversations that can be assigned per agent within a time window to avoid overloading any one agent. This required field defaults to 100 conversations per hour.",
|
||||
"INPUT_MAX": "Assign max",
|
||||
"DURATION": "Conversations per agent in every"
|
||||
},
|
||||
"INBOXES": {
|
||||
"LABEL": "Added inboxes",
|
||||
"DESCRIPTION": "Add inboxes for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select inboxes to add",
|
||||
"ADD_BUTTON": "إضافة"
|
||||
},
|
||||
"EMPTY_STATE": "No inboxes added to this policy, add an inbox to get started",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Inbox successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete assignment policy"
|
||||
}
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent capacity",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"POPOVER": "Added agents",
|
||||
"EDIT": "تعديل"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No agent capacity policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create agent capacity policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create agent capacity policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit agent capacity policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_AGENT_DIALOG": {
|
||||
"TITLE": "Add agent",
|
||||
"DESCRIPTION": "{agentName} is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "إلغاء"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update agent capacity policy"
|
||||
},
|
||||
"AGENT_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Agent added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Agent removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove agent from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "الوصف:",
|
||||
"PLACEHOLDER": "أدخل الوصف"
|
||||
},
|
||||
"INBOX_CAPACITY_LIMIT": {
|
||||
"LABEL": "Inbox capacity limits",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"FIELD": {
|
||||
"SELECT_INBOX": "Select inbox",
|
||||
"MAX_CONVERSATIONS": "Max conversations",
|
||||
"SET_LIMIT": "Set limit"
|
||||
},
|
||||
"EMPTY_STATE": "No inbox limit set"
|
||||
},
|
||||
"EXCLUSION_RULES": {
|
||||
"LABEL": "Exclusion rules",
|
||||
"DESCRIPTION": "Conversations that satisfy the following conditions would not count towards agent capacity",
|
||||
"TAGS": {
|
||||
"LABEL": "Exclude conversations tagged with specific labels",
|
||||
"ADD_TAG": "add tag",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select tags to add"
|
||||
},
|
||||
"EMPTY_STATE": "No tags added to this policy."
|
||||
},
|
||||
"DURATION": {
|
||||
"LABEL": "Exclude conversations older than a specified duration",
|
||||
"PLACEHOLDER": "Set time"
|
||||
}
|
||||
},
|
||||
"USERS": {
|
||||
"LABEL": "Assigned agents",
|
||||
"DESCRIPTION": "Add agents for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add agent",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select agents to add",
|
||||
"ADD_BUTTON": "إضافة"
|
||||
},
|
||||
"EMPTY_STATE": "No agents added",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete agent capacity policy"
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"TITLE": "Delete policy",
|
||||
"DESCRIPTION": "Are you sure you want to delete this policy? This action cannot be undone.",
|
||||
"CONFIRM_BUTTON_LABEL": "حذف",
|
||||
"CANCEL_BUTTON_LABEL": "إلغاء"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,17 +71,6 @@
|
||||
"SHOW_LABELS": "Show labels",
|
||||
"HIDE_LABELS": "Hide labels"
|
||||
},
|
||||
"VOICE_CALL": {
|
||||
"INCOMING_CALL": "Incoming call",
|
||||
"OUTGOING_CALL": "Outgoing call",
|
||||
"CALL_IN_PROGRESS": "Call in progress",
|
||||
"NO_ANSWER": "No answer",
|
||||
"MISSED_CALL": "Missed call",
|
||||
"CALL_ENDED": "Call ended",
|
||||
"NOT_ANSWERED_YET": "Not answered yet",
|
||||
"THEY_ANSWERED": "They answered",
|
||||
"YOU_ANSWERED": "You answered"
|
||||
},
|
||||
"HEADER": {
|
||||
"RESOLVE_ACTION": "Resolve",
|
||||
"REOPEN_ACTION": "Reopen",
|
||||
|
||||
@@ -51,13 +51,6 @@
|
||||
"LARGER": "Larger",
|
||||
"EXTRA_LARGE": "Extra Large"
|
||||
}
|
||||
},
|
||||
"LANGUAGE": {
|
||||
"TITLE": "Preferred Language",
|
||||
"NOTE": "Choose the language you want to use.",
|
||||
"UPDATE_SUCCESS": "Your Language settings have been updated successfully",
|
||||
"UPDATE_ERROR": "There is an error while updating the language settings, please try again",
|
||||
"USE_ACCOUNT_DEFAULT": "Use account default"
|
||||
}
|
||||
},
|
||||
"MESSAGE_SIGNATURE_SECTION": {
|
||||
@@ -337,7 +330,6 @@
|
||||
"REPORTS_LABEL": "Labels",
|
||||
"REPORTS_INBOX": "Inbox",
|
||||
"REPORTS_TEAM": "Team",
|
||||
"AGENT_ASSIGNMENT": "Agent Assignment",
|
||||
"SET_AVAILABILITY_TITLE": "Set yourself as",
|
||||
"SET_YOUR_AVAILABILITY": "Set your availability",
|
||||
"SLA": "SLA",
|
||||
@@ -426,255 +418,5 @@
|
||||
"SWITCH_TO_REPLY": "Switch to Reply",
|
||||
"TOGGLE_SNOOZE_DROPDOWN": "Toggle snooze dropdown"
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent assignment",
|
||||
"DESCRIPTION": "Define policies to effectively manage workload and route conversations based on the needs of inboxes and agents. Learn more here"
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"TITLE": "Assignment policy",
|
||||
"DESCRIPTION": "Manage how conversations get assigned in inboxes.",
|
||||
"FEATURES": [
|
||||
"Assign by conversations evenly or by available capacity",
|
||||
"Add fair distribution rules to avoid overloading any agent",
|
||||
"Add inboxes to a policy - one policy per inbox"
|
||||
]
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"TITLE": "Agent capacity policy",
|
||||
"DESCRIPTION": "Manage workload for agents.",
|
||||
"FEATURES": [
|
||||
"Define maximum conversations per inbox",
|
||||
"Create exceptions based on labels and time",
|
||||
"Add agents to a policy - one policy per agent"
|
||||
]
|
||||
}
|
||||
},
|
||||
"AGENT_ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Assignment policy",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"ORDER": "Order",
|
||||
"PRIORITY": "Priority",
|
||||
"ACTIVE": "Active",
|
||||
"INACTIVE": "Inactive",
|
||||
"POPOVER": "Added inboxes",
|
||||
"EDIT": "Edit"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No assignment policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create assignment policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create assignment policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit assignment policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_INBOX_DIALOG": {
|
||||
"TITLE": "Add inbox",
|
||||
"DESCRIPTION": "{inboxName} inbox is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Cancel"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update assignment policy"
|
||||
},
|
||||
"INBOX_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Inbox added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Inbox removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove inbox from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Description:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"STATUS": {
|
||||
"LABEL": "Status:",
|
||||
"PLACEHOLDER": "Select status",
|
||||
"ACTIVE": "Policy is active",
|
||||
"INACTIVE": "Policy is inactive"
|
||||
},
|
||||
"ASSIGNMENT_ORDER": {
|
||||
"LABEL": "Assignment order",
|
||||
"ROUND_ROBIN": {
|
||||
"LABEL": "Round robin",
|
||||
"DESCRIPTION": "Assign conversations evenly among agents."
|
||||
},
|
||||
"BALANCED": {
|
||||
"LABEL": "Balanced",
|
||||
"DESCRIPTION": "Assign conversations based on available capacity."
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_PRIORITY": {
|
||||
"LABEL": "Assignment priority",
|
||||
"EARLIEST_CREATED": {
|
||||
"LABEL": "Earliest created",
|
||||
"DESCRIPTION": "The conversation that was created first gets assigned first."
|
||||
},
|
||||
"LONGEST_WAITING": {
|
||||
"LABEL": "Longest waiting",
|
||||
"DESCRIPTION": "The conversation waiting the longest gets assigned first."
|
||||
}
|
||||
},
|
||||
"FAIR_DISTRIBUTION": {
|
||||
"LABEL": "Fair distribution policy",
|
||||
"DESCRIPTION": "Set the maximum number of conversations that can be assigned per agent within a time window to avoid overloading any one agent. This required field defaults to 100 conversations per hour.",
|
||||
"INPUT_MAX": "Assign max",
|
||||
"DURATION": "Conversations per agent in every"
|
||||
},
|
||||
"INBOXES": {
|
||||
"LABEL": "Added inboxes",
|
||||
"DESCRIPTION": "Add inboxes for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select inboxes to add",
|
||||
"ADD_BUTTON": "Add"
|
||||
},
|
||||
"EMPTY_STATE": "No inboxes added to this policy, add an inbox to get started",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Inbox successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete assignment policy"
|
||||
}
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent capacity",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"POPOVER": "Added agents",
|
||||
"EDIT": "Edit"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No agent capacity policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create agent capacity policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create agent capacity policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit agent capacity policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_AGENT_DIALOG": {
|
||||
"TITLE": "Add agent",
|
||||
"DESCRIPTION": "{agentName} is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Cancel"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update agent capacity policy"
|
||||
},
|
||||
"AGENT_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Agent added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Agent removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove agent from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Description:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"INBOX_CAPACITY_LIMIT": {
|
||||
"LABEL": "Inbox capacity limits",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"FIELD": {
|
||||
"SELECT_INBOX": "Select inbox",
|
||||
"MAX_CONVERSATIONS": "Max conversations",
|
||||
"SET_LIMIT": "Set limit"
|
||||
},
|
||||
"EMPTY_STATE": "No inbox limit set"
|
||||
},
|
||||
"EXCLUSION_RULES": {
|
||||
"LABEL": "Exclusion rules",
|
||||
"DESCRIPTION": "Conversations that satisfy the following conditions would not count towards agent capacity",
|
||||
"TAGS": {
|
||||
"LABEL": "Exclude conversations tagged with specific labels",
|
||||
"ADD_TAG": "add tag",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select tags to add"
|
||||
},
|
||||
"EMPTY_STATE": "No tags added to this policy."
|
||||
},
|
||||
"DURATION": {
|
||||
"LABEL": "Exclude conversations older than a specified duration",
|
||||
"PLACEHOLDER": "Set time"
|
||||
}
|
||||
},
|
||||
"USERS": {
|
||||
"LABEL": "Assigned agents",
|
||||
"DESCRIPTION": "Add agents for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add agent",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select agents to add",
|
||||
"ADD_BUTTON": "Add"
|
||||
},
|
||||
"EMPTY_STATE": "No agents added",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete agent capacity policy"
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"TITLE": "Delete policy",
|
||||
"DESCRIPTION": "Are you sure you want to delete this policy? This action cannot be undone.",
|
||||
"CONFIRM_BUTTON_LABEL": "Delete",
|
||||
"CANCEL_BUTTON_LABEL": "Cancel"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,17 +71,6 @@
|
||||
"SHOW_LABELS": "Show labels",
|
||||
"HIDE_LABELS": "Hide labels"
|
||||
},
|
||||
"VOICE_CALL": {
|
||||
"INCOMING_CALL": "Incoming call",
|
||||
"OUTGOING_CALL": "Outgoing call",
|
||||
"CALL_IN_PROGRESS": "Call in progress",
|
||||
"NO_ANSWER": "No answer",
|
||||
"MISSED_CALL": "Missed call",
|
||||
"CALL_ENDED": "Call ended",
|
||||
"NOT_ANSWERED_YET": "Not answered yet",
|
||||
"THEY_ANSWERED": "They answered",
|
||||
"YOU_ANSWERED": "You answered"
|
||||
},
|
||||
"HEADER": {
|
||||
"RESOLVE_ACTION": "Resolve",
|
||||
"REOPEN_ACTION": "Reopen",
|
||||
|
||||
@@ -51,13 +51,6 @@
|
||||
"LARGER": "Larger",
|
||||
"EXTRA_LARGE": "Extra Large"
|
||||
}
|
||||
},
|
||||
"LANGUAGE": {
|
||||
"TITLE": "Preferred Language",
|
||||
"NOTE": "Choose the language you want to use.",
|
||||
"UPDATE_SUCCESS": "Your Language settings have been updated successfully",
|
||||
"UPDATE_ERROR": "There is an error while updating the language settings, please try again",
|
||||
"USE_ACCOUNT_DEFAULT": "Use account default"
|
||||
}
|
||||
},
|
||||
"MESSAGE_SIGNATURE_SECTION": {
|
||||
@@ -337,7 +330,6 @@
|
||||
"REPORTS_LABEL": "Labels",
|
||||
"REPORTS_INBOX": "Входяща кутия",
|
||||
"REPORTS_TEAM": "Team",
|
||||
"AGENT_ASSIGNMENT": "Agent Assignment",
|
||||
"SET_AVAILABILITY_TITLE": "Set yourself as",
|
||||
"SET_YOUR_AVAILABILITY": "Set your availability",
|
||||
"SLA": "SLA",
|
||||
@@ -426,255 +418,5 @@
|
||||
"SWITCH_TO_REPLY": "Switch to Reply",
|
||||
"TOGGLE_SNOOZE_DROPDOWN": "Toggle snooze dropdown"
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent assignment",
|
||||
"DESCRIPTION": "Define policies to effectively manage workload and route conversations based on the needs of inboxes and agents. Learn more here"
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"TITLE": "Assignment policy",
|
||||
"DESCRIPTION": "Manage how conversations get assigned in inboxes.",
|
||||
"FEATURES": [
|
||||
"Assign by conversations evenly or by available capacity",
|
||||
"Add fair distribution rules to avoid overloading any agent",
|
||||
"Add inboxes to a policy - one policy per inbox"
|
||||
]
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"TITLE": "Agent capacity policy",
|
||||
"DESCRIPTION": "Manage workload for agents.",
|
||||
"FEATURES": [
|
||||
"Define maximum conversations per inbox",
|
||||
"Create exceptions based on labels and time",
|
||||
"Add agents to a policy - one policy per agent"
|
||||
]
|
||||
}
|
||||
},
|
||||
"AGENT_ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Assignment policy",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"ORDER": "Order",
|
||||
"PRIORITY": "Priority",
|
||||
"ACTIVE": "Активен",
|
||||
"INACTIVE": "Inactive",
|
||||
"POPOVER": "Added inboxes",
|
||||
"EDIT": "Редактирай"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No assignment policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create assignment policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create assignment policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit assignment policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_INBOX_DIALOG": {
|
||||
"TITLE": "Add inbox",
|
||||
"DESCRIPTION": "{inboxName} inbox is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Отмени"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update assignment policy"
|
||||
},
|
||||
"INBOX_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Inbox added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Inbox removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove inbox from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Описание:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"STATUS": {
|
||||
"LABEL": "Статус:",
|
||||
"PLACEHOLDER": "Select status",
|
||||
"ACTIVE": "Policy is active",
|
||||
"INACTIVE": "Policy is inactive"
|
||||
},
|
||||
"ASSIGNMENT_ORDER": {
|
||||
"LABEL": "Assignment order",
|
||||
"ROUND_ROBIN": {
|
||||
"LABEL": "Round robin",
|
||||
"DESCRIPTION": "Assign conversations evenly among agents."
|
||||
},
|
||||
"BALANCED": {
|
||||
"LABEL": "Balanced",
|
||||
"DESCRIPTION": "Assign conversations based on available capacity."
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_PRIORITY": {
|
||||
"LABEL": "Assignment priority",
|
||||
"EARLIEST_CREATED": {
|
||||
"LABEL": "Earliest created",
|
||||
"DESCRIPTION": "The conversation that was created first gets assigned first."
|
||||
},
|
||||
"LONGEST_WAITING": {
|
||||
"LABEL": "Longest waiting",
|
||||
"DESCRIPTION": "The conversation waiting the longest gets assigned first."
|
||||
}
|
||||
},
|
||||
"FAIR_DISTRIBUTION": {
|
||||
"LABEL": "Fair distribution policy",
|
||||
"DESCRIPTION": "Set the maximum number of conversations that can be assigned per agent within a time window to avoid overloading any one agent. This required field defaults to 100 conversations per hour.",
|
||||
"INPUT_MAX": "Assign max",
|
||||
"DURATION": "Conversations per agent in every"
|
||||
},
|
||||
"INBOXES": {
|
||||
"LABEL": "Added inboxes",
|
||||
"DESCRIPTION": "Add inboxes for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select inboxes to add",
|
||||
"ADD_BUTTON": "Добавяне"
|
||||
},
|
||||
"EMPTY_STATE": "No inboxes added to this policy, add an inbox to get started",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Inbox successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete assignment policy"
|
||||
}
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent capacity",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"POPOVER": "Added agents",
|
||||
"EDIT": "Редактирай"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No agent capacity policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create agent capacity policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create agent capacity policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit agent capacity policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_AGENT_DIALOG": {
|
||||
"TITLE": "Add agent",
|
||||
"DESCRIPTION": "{agentName} is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Отмени"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update agent capacity policy"
|
||||
},
|
||||
"AGENT_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Agent added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Agent removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove agent from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Описание:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"INBOX_CAPACITY_LIMIT": {
|
||||
"LABEL": "Inbox capacity limits",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"FIELD": {
|
||||
"SELECT_INBOX": "Select inbox",
|
||||
"MAX_CONVERSATIONS": "Max conversations",
|
||||
"SET_LIMIT": "Set limit"
|
||||
},
|
||||
"EMPTY_STATE": "No inbox limit set"
|
||||
},
|
||||
"EXCLUSION_RULES": {
|
||||
"LABEL": "Exclusion rules",
|
||||
"DESCRIPTION": "Conversations that satisfy the following conditions would not count towards agent capacity",
|
||||
"TAGS": {
|
||||
"LABEL": "Exclude conversations tagged with specific labels",
|
||||
"ADD_TAG": "add tag",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select tags to add"
|
||||
},
|
||||
"EMPTY_STATE": "No tags added to this policy."
|
||||
},
|
||||
"DURATION": {
|
||||
"LABEL": "Exclude conversations older than a specified duration",
|
||||
"PLACEHOLDER": "Set time"
|
||||
}
|
||||
},
|
||||
"USERS": {
|
||||
"LABEL": "Assigned agents",
|
||||
"DESCRIPTION": "Add agents for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add agent",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select agents to add",
|
||||
"ADD_BUTTON": "Добавяне"
|
||||
},
|
||||
"EMPTY_STATE": "No agents added",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete agent capacity policy"
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"TITLE": "Delete policy",
|
||||
"DESCRIPTION": "Are you sure you want to delete this policy? This action cannot be undone.",
|
||||
"CONFIRM_BUTTON_LABEL": "Изтрий",
|
||||
"CANCEL_BUTTON_LABEL": "Отмени"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,17 +71,6 @@
|
||||
"SHOW_LABELS": "Mostra etiquetes",
|
||||
"HIDE_LABELS": "Amaga etiquetes"
|
||||
},
|
||||
"VOICE_CALL": {
|
||||
"INCOMING_CALL": "Incoming call",
|
||||
"OUTGOING_CALL": "Outgoing call",
|
||||
"CALL_IN_PROGRESS": "Call in progress",
|
||||
"NO_ANSWER": "No answer",
|
||||
"MISSED_CALL": "Missed call",
|
||||
"CALL_ENDED": "Call ended",
|
||||
"NOT_ANSWERED_YET": "Not answered yet",
|
||||
"THEY_ANSWERED": "They answered",
|
||||
"YOU_ANSWERED": "You answered"
|
||||
},
|
||||
"HEADER": {
|
||||
"RESOLVE_ACTION": "Resoldre",
|
||||
"REOPEN_ACTION": "Tornar a obrir",
|
||||
|
||||
@@ -51,13 +51,6 @@
|
||||
"LARGER": "Larger",
|
||||
"EXTRA_LARGE": "Extra Large"
|
||||
}
|
||||
},
|
||||
"LANGUAGE": {
|
||||
"TITLE": "Preferred Language",
|
||||
"NOTE": "Choose the language you want to use.",
|
||||
"UPDATE_SUCCESS": "Your Language settings have been updated successfully",
|
||||
"UPDATE_ERROR": "There is an error while updating the language settings, please try again",
|
||||
"USE_ACCOUNT_DEFAULT": "Use account default"
|
||||
}
|
||||
},
|
||||
"MESSAGE_SIGNATURE_SECTION": {
|
||||
@@ -337,7 +330,6 @@
|
||||
"REPORTS_LABEL": "Etiquetes",
|
||||
"REPORTS_INBOX": "Safata d'entrada",
|
||||
"REPORTS_TEAM": "Equip",
|
||||
"AGENT_ASSIGNMENT": "Agent Assignment",
|
||||
"SET_AVAILABILITY_TITLE": "Posa't com",
|
||||
"SET_YOUR_AVAILABILITY": "Estableix la vostra disponibilitat",
|
||||
"SLA": "SLA",
|
||||
@@ -426,255 +418,5 @@
|
||||
"SWITCH_TO_REPLY": "Canvia a Respon",
|
||||
"TOGGLE_SNOOZE_DROPDOWN": "Commuta el menú desplegable de posposar"
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent assignment",
|
||||
"DESCRIPTION": "Define policies to effectively manage workload and route conversations based on the needs of inboxes and agents. Learn more here"
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"TITLE": "Assignment policy",
|
||||
"DESCRIPTION": "Manage how conversations get assigned in inboxes.",
|
||||
"FEATURES": [
|
||||
"Assign by conversations evenly or by available capacity",
|
||||
"Add fair distribution rules to avoid overloading any agent",
|
||||
"Add inboxes to a policy - one policy per inbox"
|
||||
]
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"TITLE": "Agent capacity policy",
|
||||
"DESCRIPTION": "Manage workload for agents.",
|
||||
"FEATURES": [
|
||||
"Define maximum conversations per inbox",
|
||||
"Create exceptions based on labels and time",
|
||||
"Add agents to a policy - one policy per agent"
|
||||
]
|
||||
}
|
||||
},
|
||||
"AGENT_ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Assignment policy",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"ORDER": "Order",
|
||||
"PRIORITY": "Prioritat",
|
||||
"ACTIVE": "Actiu",
|
||||
"INACTIVE": "Inactive",
|
||||
"POPOVER": "Added inboxes",
|
||||
"EDIT": "Edita"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No assignment policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create assignment policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create assignment policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit assignment policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_INBOX_DIALOG": {
|
||||
"TITLE": "Add inbox",
|
||||
"DESCRIPTION": "{inboxName} inbox is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Cancel·la"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update assignment policy"
|
||||
},
|
||||
"INBOX_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Inbox added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Inbox removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove inbox from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Descripció:",
|
||||
"PLACEHOLDER": "Introdueix la descripció"
|
||||
},
|
||||
"STATUS": {
|
||||
"LABEL": "Estat:",
|
||||
"PLACEHOLDER": "Selecciona l'estat",
|
||||
"ACTIVE": "Policy is active",
|
||||
"INACTIVE": "Policy is inactive"
|
||||
},
|
||||
"ASSIGNMENT_ORDER": {
|
||||
"LABEL": "Assignment order",
|
||||
"ROUND_ROBIN": {
|
||||
"LABEL": "Round robin",
|
||||
"DESCRIPTION": "Assign conversations evenly among agents."
|
||||
},
|
||||
"BALANCED": {
|
||||
"LABEL": "Balanced",
|
||||
"DESCRIPTION": "Assign conversations based on available capacity."
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_PRIORITY": {
|
||||
"LABEL": "Assignment priority",
|
||||
"EARLIEST_CREATED": {
|
||||
"LABEL": "Earliest created",
|
||||
"DESCRIPTION": "The conversation that was created first gets assigned first."
|
||||
},
|
||||
"LONGEST_WAITING": {
|
||||
"LABEL": "Longest waiting",
|
||||
"DESCRIPTION": "The conversation waiting the longest gets assigned first."
|
||||
}
|
||||
},
|
||||
"FAIR_DISTRIBUTION": {
|
||||
"LABEL": "Fair distribution policy",
|
||||
"DESCRIPTION": "Set the maximum number of conversations that can be assigned per agent within a time window to avoid overloading any one agent. This required field defaults to 100 conversations per hour.",
|
||||
"INPUT_MAX": "Assign max",
|
||||
"DURATION": "Conversations per agent in every"
|
||||
},
|
||||
"INBOXES": {
|
||||
"LABEL": "Added inboxes",
|
||||
"DESCRIPTION": "Add inboxes for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select inboxes to add",
|
||||
"ADD_BUTTON": "Afegir"
|
||||
},
|
||||
"EMPTY_STATE": "No inboxes added to this policy, add an inbox to get started",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Inbox successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete assignment policy"
|
||||
}
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent capacity",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"POPOVER": "Added agents",
|
||||
"EDIT": "Edita"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No agent capacity policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create agent capacity policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create agent capacity policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit agent capacity policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_AGENT_DIALOG": {
|
||||
"TITLE": "Add agent",
|
||||
"DESCRIPTION": "{agentName} is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Cancel·la"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update agent capacity policy"
|
||||
},
|
||||
"AGENT_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Agent added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Agent removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove agent from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Descripció:",
|
||||
"PLACEHOLDER": "Introdueix la descripció"
|
||||
},
|
||||
"INBOX_CAPACITY_LIMIT": {
|
||||
"LABEL": "Inbox capacity limits",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"FIELD": {
|
||||
"SELECT_INBOX": "Select inbox",
|
||||
"MAX_CONVERSATIONS": "Max conversations",
|
||||
"SET_LIMIT": "Set limit"
|
||||
},
|
||||
"EMPTY_STATE": "No inbox limit set"
|
||||
},
|
||||
"EXCLUSION_RULES": {
|
||||
"LABEL": "Exclusion rules",
|
||||
"DESCRIPTION": "Conversations that satisfy the following conditions would not count towards agent capacity",
|
||||
"TAGS": {
|
||||
"LABEL": "Exclude conversations tagged with specific labels",
|
||||
"ADD_TAG": "add tag",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select tags to add"
|
||||
},
|
||||
"EMPTY_STATE": "No tags added to this policy."
|
||||
},
|
||||
"DURATION": {
|
||||
"LABEL": "Exclude conversations older than a specified duration",
|
||||
"PLACEHOLDER": "Set time"
|
||||
}
|
||||
},
|
||||
"USERS": {
|
||||
"LABEL": "Assigned agents",
|
||||
"DESCRIPTION": "Add agents for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add agent",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select agents to add",
|
||||
"ADD_BUTTON": "Afegir"
|
||||
},
|
||||
"EMPTY_STATE": "No agents added",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete agent capacity policy"
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"TITLE": "Delete policy",
|
||||
"DESCRIPTION": "Are you sure you want to delete this policy? This action cannot be undone.",
|
||||
"CONFIRM_BUTTON_LABEL": "Esborrar",
|
||||
"CANCEL_BUTTON_LABEL": "Cancel·la"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,17 +71,6 @@
|
||||
"SHOW_LABELS": "Show labels",
|
||||
"HIDE_LABELS": "Hide labels"
|
||||
},
|
||||
"VOICE_CALL": {
|
||||
"INCOMING_CALL": "Incoming call",
|
||||
"OUTGOING_CALL": "Outgoing call",
|
||||
"CALL_IN_PROGRESS": "Call in progress",
|
||||
"NO_ANSWER": "No answer",
|
||||
"MISSED_CALL": "Missed call",
|
||||
"CALL_ENDED": "Call ended",
|
||||
"NOT_ANSWERED_YET": "Not answered yet",
|
||||
"THEY_ANSWERED": "They answered",
|
||||
"YOU_ANSWERED": "You answered"
|
||||
},
|
||||
"HEADER": {
|
||||
"RESOLVE_ACTION": "Vyřešit",
|
||||
"REOPEN_ACTION": "Znovu otevřít",
|
||||
|
||||
@@ -51,13 +51,6 @@
|
||||
"LARGER": "Larger",
|
||||
"EXTRA_LARGE": "Extra Large"
|
||||
}
|
||||
},
|
||||
"LANGUAGE": {
|
||||
"TITLE": "Preferred Language",
|
||||
"NOTE": "Choose the language you want to use.",
|
||||
"UPDATE_SUCCESS": "Your Language settings have been updated successfully",
|
||||
"UPDATE_ERROR": "There is an error while updating the language settings, please try again",
|
||||
"USE_ACCOUNT_DEFAULT": "Use account default"
|
||||
}
|
||||
},
|
||||
"MESSAGE_SIGNATURE_SECTION": {
|
||||
@@ -337,7 +330,6 @@
|
||||
"REPORTS_LABEL": "Štítky",
|
||||
"REPORTS_INBOX": "Inbox",
|
||||
"REPORTS_TEAM": "Team",
|
||||
"AGENT_ASSIGNMENT": "Agent Assignment",
|
||||
"SET_AVAILABILITY_TITLE": "Set yourself as",
|
||||
"SET_YOUR_AVAILABILITY": "Nastavte svou dostupnost",
|
||||
"SLA": "SLA",
|
||||
@@ -426,255 +418,5 @@
|
||||
"SWITCH_TO_REPLY": "Switch to Reply",
|
||||
"TOGGLE_SNOOZE_DROPDOWN": "Toggle snooze dropdown"
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent assignment",
|
||||
"DESCRIPTION": "Define policies to effectively manage workload and route conversations based on the needs of inboxes and agents. Learn more here"
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"TITLE": "Assignment policy",
|
||||
"DESCRIPTION": "Manage how conversations get assigned in inboxes.",
|
||||
"FEATURES": [
|
||||
"Assign by conversations evenly or by available capacity",
|
||||
"Add fair distribution rules to avoid overloading any agent",
|
||||
"Add inboxes to a policy - one policy per inbox"
|
||||
]
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"TITLE": "Agent capacity policy",
|
||||
"DESCRIPTION": "Manage workload for agents.",
|
||||
"FEATURES": [
|
||||
"Define maximum conversations per inbox",
|
||||
"Create exceptions based on labels and time",
|
||||
"Add agents to a policy - one policy per agent"
|
||||
]
|
||||
}
|
||||
},
|
||||
"AGENT_ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Assignment policy",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"ORDER": "Order",
|
||||
"PRIORITY": "Priority",
|
||||
"ACTIVE": "Active",
|
||||
"INACTIVE": "Inactive",
|
||||
"POPOVER": "Added inboxes",
|
||||
"EDIT": "Upravit"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No assignment policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create assignment policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create assignment policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit assignment policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_INBOX_DIALOG": {
|
||||
"TITLE": "Add inbox",
|
||||
"DESCRIPTION": "{inboxName} inbox is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Zrušit"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update assignment policy"
|
||||
},
|
||||
"INBOX_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Inbox added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Inbox removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove inbox from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Description:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"STATUS": {
|
||||
"LABEL": "Stav:",
|
||||
"PLACEHOLDER": "Select status",
|
||||
"ACTIVE": "Policy is active",
|
||||
"INACTIVE": "Policy is inactive"
|
||||
},
|
||||
"ASSIGNMENT_ORDER": {
|
||||
"LABEL": "Assignment order",
|
||||
"ROUND_ROBIN": {
|
||||
"LABEL": "Round robin",
|
||||
"DESCRIPTION": "Assign conversations evenly among agents."
|
||||
},
|
||||
"BALANCED": {
|
||||
"LABEL": "Balanced",
|
||||
"DESCRIPTION": "Assign conversations based on available capacity."
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_PRIORITY": {
|
||||
"LABEL": "Assignment priority",
|
||||
"EARLIEST_CREATED": {
|
||||
"LABEL": "Earliest created",
|
||||
"DESCRIPTION": "The conversation that was created first gets assigned first."
|
||||
},
|
||||
"LONGEST_WAITING": {
|
||||
"LABEL": "Longest waiting",
|
||||
"DESCRIPTION": "The conversation waiting the longest gets assigned first."
|
||||
}
|
||||
},
|
||||
"FAIR_DISTRIBUTION": {
|
||||
"LABEL": "Fair distribution policy",
|
||||
"DESCRIPTION": "Set the maximum number of conversations that can be assigned per agent within a time window to avoid overloading any one agent. This required field defaults to 100 conversations per hour.",
|
||||
"INPUT_MAX": "Assign max",
|
||||
"DURATION": "Conversations per agent in every"
|
||||
},
|
||||
"INBOXES": {
|
||||
"LABEL": "Added inboxes",
|
||||
"DESCRIPTION": "Add inboxes for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select inboxes to add",
|
||||
"ADD_BUTTON": "Přidat"
|
||||
},
|
||||
"EMPTY_STATE": "No inboxes added to this policy, add an inbox to get started",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Inbox successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete assignment policy"
|
||||
}
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent capacity",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"POPOVER": "Added agents",
|
||||
"EDIT": "Upravit"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No agent capacity policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create agent capacity policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create agent capacity policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit agent capacity policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_AGENT_DIALOG": {
|
||||
"TITLE": "Add agent",
|
||||
"DESCRIPTION": "{agentName} is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Zrušit"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update agent capacity policy"
|
||||
},
|
||||
"AGENT_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Agent added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Agent removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove agent from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Description:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"INBOX_CAPACITY_LIMIT": {
|
||||
"LABEL": "Inbox capacity limits",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"FIELD": {
|
||||
"SELECT_INBOX": "Select inbox",
|
||||
"MAX_CONVERSATIONS": "Max conversations",
|
||||
"SET_LIMIT": "Set limit"
|
||||
},
|
||||
"EMPTY_STATE": "No inbox limit set"
|
||||
},
|
||||
"EXCLUSION_RULES": {
|
||||
"LABEL": "Exclusion rules",
|
||||
"DESCRIPTION": "Conversations that satisfy the following conditions would not count towards agent capacity",
|
||||
"TAGS": {
|
||||
"LABEL": "Exclude conversations tagged with specific labels",
|
||||
"ADD_TAG": "add tag",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select tags to add"
|
||||
},
|
||||
"EMPTY_STATE": "No tags added to this policy."
|
||||
},
|
||||
"DURATION": {
|
||||
"LABEL": "Exclude conversations older than a specified duration",
|
||||
"PLACEHOLDER": "Set time"
|
||||
}
|
||||
},
|
||||
"USERS": {
|
||||
"LABEL": "Assigned agents",
|
||||
"DESCRIPTION": "Add agents for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add agent",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select agents to add",
|
||||
"ADD_BUTTON": "Přidat"
|
||||
},
|
||||
"EMPTY_STATE": "No agents added",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete agent capacity policy"
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"TITLE": "Delete policy",
|
||||
"DESCRIPTION": "Are you sure you want to delete this policy? This action cannot be undone.",
|
||||
"CONFIRM_BUTTON_LABEL": "Vymazat",
|
||||
"CANCEL_BUTTON_LABEL": "Zrušit"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,17 +71,6 @@
|
||||
"SHOW_LABELS": "Vis etiketter",
|
||||
"HIDE_LABELS": "Skjul etiketter"
|
||||
},
|
||||
"VOICE_CALL": {
|
||||
"INCOMING_CALL": "Incoming call",
|
||||
"OUTGOING_CALL": "Outgoing call",
|
||||
"CALL_IN_PROGRESS": "Call in progress",
|
||||
"NO_ANSWER": "No answer",
|
||||
"MISSED_CALL": "Missed call",
|
||||
"CALL_ENDED": "Call ended",
|
||||
"NOT_ANSWERED_YET": "Not answered yet",
|
||||
"THEY_ANSWERED": "They answered",
|
||||
"YOU_ANSWERED": "You answered"
|
||||
},
|
||||
"HEADER": {
|
||||
"RESOLVE_ACTION": "Løs",
|
||||
"REOPEN_ACTION": "Genåben",
|
||||
|
||||
@@ -51,13 +51,6 @@
|
||||
"LARGER": "Larger",
|
||||
"EXTRA_LARGE": "Extra Large"
|
||||
}
|
||||
},
|
||||
"LANGUAGE": {
|
||||
"TITLE": "Preferred Language",
|
||||
"NOTE": "Choose the language you want to use.",
|
||||
"UPDATE_SUCCESS": "Your Language settings have been updated successfully",
|
||||
"UPDATE_ERROR": "There is an error while updating the language settings, please try again",
|
||||
"USE_ACCOUNT_DEFAULT": "Use account default"
|
||||
}
|
||||
},
|
||||
"MESSAGE_SIGNATURE_SECTION": {
|
||||
@@ -337,7 +330,6 @@
|
||||
"REPORTS_LABEL": "Etiketter",
|
||||
"REPORTS_INBOX": "Indbakke",
|
||||
"REPORTS_TEAM": "Team",
|
||||
"AGENT_ASSIGNMENT": "Agent Assignment",
|
||||
"SET_AVAILABILITY_TITLE": "Sæt dig selv som",
|
||||
"SET_YOUR_AVAILABILITY": "Indstil din tilgængelighed",
|
||||
"SLA": "SLA",
|
||||
@@ -426,255 +418,5 @@
|
||||
"SWITCH_TO_REPLY": "Skift til svar",
|
||||
"TOGGLE_SNOOZE_DROPDOWN": "Skift snooze dropdown"
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent assignment",
|
||||
"DESCRIPTION": "Define policies to effectively manage workload and route conversations based on the needs of inboxes and agents. Learn more here"
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"TITLE": "Assignment policy",
|
||||
"DESCRIPTION": "Manage how conversations get assigned in inboxes.",
|
||||
"FEATURES": [
|
||||
"Assign by conversations evenly or by available capacity",
|
||||
"Add fair distribution rules to avoid overloading any agent",
|
||||
"Add inboxes to a policy - one policy per inbox"
|
||||
]
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"TITLE": "Agent capacity policy",
|
||||
"DESCRIPTION": "Manage workload for agents.",
|
||||
"FEATURES": [
|
||||
"Define maximum conversations per inbox",
|
||||
"Create exceptions based on labels and time",
|
||||
"Add agents to a policy - one policy per agent"
|
||||
]
|
||||
}
|
||||
},
|
||||
"AGENT_ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Assignment policy",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"ORDER": "Order",
|
||||
"PRIORITY": "Priority",
|
||||
"ACTIVE": "Aktiv",
|
||||
"INACTIVE": "Inactive",
|
||||
"POPOVER": "Added inboxes",
|
||||
"EDIT": "Rediger"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No assignment policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create assignment policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create assignment policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit assignment policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_INBOX_DIALOG": {
|
||||
"TITLE": "Add inbox",
|
||||
"DESCRIPTION": "{inboxName} inbox is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Annuller"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update assignment policy"
|
||||
},
|
||||
"INBOX_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Inbox added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Inbox removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove inbox from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Beskrivelse:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"STATUS": {
|
||||
"LABEL": "Status:",
|
||||
"PLACEHOLDER": "Select status",
|
||||
"ACTIVE": "Policy is active",
|
||||
"INACTIVE": "Policy is inactive"
|
||||
},
|
||||
"ASSIGNMENT_ORDER": {
|
||||
"LABEL": "Assignment order",
|
||||
"ROUND_ROBIN": {
|
||||
"LABEL": "Round robin",
|
||||
"DESCRIPTION": "Assign conversations evenly among agents."
|
||||
},
|
||||
"BALANCED": {
|
||||
"LABEL": "Balanced",
|
||||
"DESCRIPTION": "Assign conversations based on available capacity."
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_PRIORITY": {
|
||||
"LABEL": "Assignment priority",
|
||||
"EARLIEST_CREATED": {
|
||||
"LABEL": "Earliest created",
|
||||
"DESCRIPTION": "The conversation that was created first gets assigned first."
|
||||
},
|
||||
"LONGEST_WAITING": {
|
||||
"LABEL": "Longest waiting",
|
||||
"DESCRIPTION": "The conversation waiting the longest gets assigned first."
|
||||
}
|
||||
},
|
||||
"FAIR_DISTRIBUTION": {
|
||||
"LABEL": "Fair distribution policy",
|
||||
"DESCRIPTION": "Set the maximum number of conversations that can be assigned per agent within a time window to avoid overloading any one agent. This required field defaults to 100 conversations per hour.",
|
||||
"INPUT_MAX": "Assign max",
|
||||
"DURATION": "Conversations per agent in every"
|
||||
},
|
||||
"INBOXES": {
|
||||
"LABEL": "Added inboxes",
|
||||
"DESCRIPTION": "Add inboxes for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select inboxes to add",
|
||||
"ADD_BUTTON": "Tilføj"
|
||||
},
|
||||
"EMPTY_STATE": "No inboxes added to this policy, add an inbox to get started",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Inbox successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete assignment policy"
|
||||
}
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent capacity",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"POPOVER": "Added agents",
|
||||
"EDIT": "Rediger"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No agent capacity policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create agent capacity policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create agent capacity policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit agent capacity policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_AGENT_DIALOG": {
|
||||
"TITLE": "Add agent",
|
||||
"DESCRIPTION": "{agentName} is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Annuller"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update agent capacity policy"
|
||||
},
|
||||
"AGENT_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Agent added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Agent removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove agent from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Beskrivelse:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"INBOX_CAPACITY_LIMIT": {
|
||||
"LABEL": "Inbox capacity limits",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"FIELD": {
|
||||
"SELECT_INBOX": "Select inbox",
|
||||
"MAX_CONVERSATIONS": "Max conversations",
|
||||
"SET_LIMIT": "Set limit"
|
||||
},
|
||||
"EMPTY_STATE": "No inbox limit set"
|
||||
},
|
||||
"EXCLUSION_RULES": {
|
||||
"LABEL": "Exclusion rules",
|
||||
"DESCRIPTION": "Conversations that satisfy the following conditions would not count towards agent capacity",
|
||||
"TAGS": {
|
||||
"LABEL": "Exclude conversations tagged with specific labels",
|
||||
"ADD_TAG": "add tag",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select tags to add"
|
||||
},
|
||||
"EMPTY_STATE": "No tags added to this policy."
|
||||
},
|
||||
"DURATION": {
|
||||
"LABEL": "Exclude conversations older than a specified duration",
|
||||
"PLACEHOLDER": "Set time"
|
||||
}
|
||||
},
|
||||
"USERS": {
|
||||
"LABEL": "Assigned agents",
|
||||
"DESCRIPTION": "Add agents for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add agent",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select agents to add",
|
||||
"ADD_BUTTON": "Tilføj"
|
||||
},
|
||||
"EMPTY_STATE": "No agents added",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete agent capacity policy"
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"TITLE": "Delete policy",
|
||||
"DESCRIPTION": "Are you sure you want to delete this policy? This action cannot be undone.",
|
||||
"CONFIRM_BUTTON_LABEL": "Slet",
|
||||
"CANCEL_BUTTON_LABEL": "Annuller"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,17 +71,6 @@
|
||||
"SHOW_LABELS": "Labels anzeigen",
|
||||
"HIDE_LABELS": "Labels ausblenden"
|
||||
},
|
||||
"VOICE_CALL": {
|
||||
"INCOMING_CALL": "Incoming call",
|
||||
"OUTGOING_CALL": "Outgoing call",
|
||||
"CALL_IN_PROGRESS": "Call in progress",
|
||||
"NO_ANSWER": "No answer",
|
||||
"MISSED_CALL": "Missed call",
|
||||
"CALL_ENDED": "Call ended",
|
||||
"NOT_ANSWERED_YET": "Not answered yet",
|
||||
"THEY_ANSWERED": "They answered",
|
||||
"YOU_ANSWERED": "You answered"
|
||||
},
|
||||
"HEADER": {
|
||||
"RESOLVE_ACTION": "Fall schließen",
|
||||
"REOPEN_ACTION": "Wieder öffnen",
|
||||
|
||||
@@ -51,13 +51,6 @@
|
||||
"LARGER": "Larger",
|
||||
"EXTRA_LARGE": "Extra Large"
|
||||
}
|
||||
},
|
||||
"LANGUAGE": {
|
||||
"TITLE": "Preferred Language",
|
||||
"NOTE": "Choose the language you want to use.",
|
||||
"UPDATE_SUCCESS": "Your Language settings have been updated successfully",
|
||||
"UPDATE_ERROR": "There is an error while updating the language settings, please try again",
|
||||
"USE_ACCOUNT_DEFAULT": "Use account default"
|
||||
}
|
||||
},
|
||||
"MESSAGE_SIGNATURE_SECTION": {
|
||||
@@ -337,7 +330,6 @@
|
||||
"REPORTS_LABEL": "Labels",
|
||||
"REPORTS_INBOX": "Posteingang",
|
||||
"REPORTS_TEAM": "Team",
|
||||
"AGENT_ASSIGNMENT": "Agent Assignment",
|
||||
"SET_AVAILABILITY_TITLE": "Setzen Sie sich als",
|
||||
"SET_YOUR_AVAILABILITY": "Legen Sie Ihre Verfügbarkeit fest",
|
||||
"SLA": "SLA",
|
||||
@@ -426,255 +418,5 @@
|
||||
"SWITCH_TO_REPLY": "Zur Antwort wechseln",
|
||||
"TOGGLE_SNOOZE_DROPDOWN": "Schlummer-Dropdown ein-/ausblenden"
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent assignment",
|
||||
"DESCRIPTION": "Define policies to effectively manage workload and route conversations based on the needs of inboxes and agents. Learn more here"
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"TITLE": "Assignment policy",
|
||||
"DESCRIPTION": "Manage how conversations get assigned in inboxes.",
|
||||
"FEATURES": [
|
||||
"Assign by conversations evenly or by available capacity",
|
||||
"Add fair distribution rules to avoid overloading any agent",
|
||||
"Add inboxes to a policy - one policy per inbox"
|
||||
]
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"TITLE": "Agent capacity policy",
|
||||
"DESCRIPTION": "Manage workload for agents.",
|
||||
"FEATURES": [
|
||||
"Define maximum conversations per inbox",
|
||||
"Create exceptions based on labels and time",
|
||||
"Add agents to a policy - one policy per agent"
|
||||
]
|
||||
}
|
||||
},
|
||||
"AGENT_ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Assignment policy",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"ORDER": "Order",
|
||||
"PRIORITY": "Priorität",
|
||||
"ACTIVE": "Aktiv",
|
||||
"INACTIVE": "Inactive",
|
||||
"POPOVER": "Added inboxes",
|
||||
"EDIT": "Bearbeiten"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No assignment policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create assignment policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create assignment policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit assignment policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_INBOX_DIALOG": {
|
||||
"TITLE": "Add inbox",
|
||||
"DESCRIPTION": "{inboxName} inbox is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Stornieren"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update assignment policy"
|
||||
},
|
||||
"INBOX_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Inbox added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Inbox removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove inbox from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Beschreibung:",
|
||||
"PLACEHOLDER": "Beschreibung eingeben"
|
||||
},
|
||||
"STATUS": {
|
||||
"LABEL": "Status:",
|
||||
"PLACEHOLDER": "Status auswählen",
|
||||
"ACTIVE": "Policy is active",
|
||||
"INACTIVE": "Policy is inactive"
|
||||
},
|
||||
"ASSIGNMENT_ORDER": {
|
||||
"LABEL": "Assignment order",
|
||||
"ROUND_ROBIN": {
|
||||
"LABEL": "Round robin",
|
||||
"DESCRIPTION": "Assign conversations evenly among agents."
|
||||
},
|
||||
"BALANCED": {
|
||||
"LABEL": "Balanced",
|
||||
"DESCRIPTION": "Assign conversations based on available capacity."
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_PRIORITY": {
|
||||
"LABEL": "Assignment priority",
|
||||
"EARLIEST_CREATED": {
|
||||
"LABEL": "Earliest created",
|
||||
"DESCRIPTION": "The conversation that was created first gets assigned first."
|
||||
},
|
||||
"LONGEST_WAITING": {
|
||||
"LABEL": "Longest waiting",
|
||||
"DESCRIPTION": "The conversation waiting the longest gets assigned first."
|
||||
}
|
||||
},
|
||||
"FAIR_DISTRIBUTION": {
|
||||
"LABEL": "Fair distribution policy",
|
||||
"DESCRIPTION": "Set the maximum number of conversations that can be assigned per agent within a time window to avoid overloading any one agent. This required field defaults to 100 conversations per hour.",
|
||||
"INPUT_MAX": "Assign max",
|
||||
"DURATION": "Conversations per agent in every"
|
||||
},
|
||||
"INBOXES": {
|
||||
"LABEL": "Added inboxes",
|
||||
"DESCRIPTION": "Add inboxes for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select inboxes to add",
|
||||
"ADD_BUTTON": "Hinzufügen"
|
||||
},
|
||||
"EMPTY_STATE": "No inboxes added to this policy, add an inbox to get started",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Inbox successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete assignment policy"
|
||||
}
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent capacity",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"POPOVER": "Added agents",
|
||||
"EDIT": "Bearbeiten"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No agent capacity policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create agent capacity policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create agent capacity policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit agent capacity policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_AGENT_DIALOG": {
|
||||
"TITLE": "Add agent",
|
||||
"DESCRIPTION": "{agentName} is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Stornieren"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update agent capacity policy"
|
||||
},
|
||||
"AGENT_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Agent added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Agent removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove agent from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Beschreibung:",
|
||||
"PLACEHOLDER": "Beschreibung eingeben"
|
||||
},
|
||||
"INBOX_CAPACITY_LIMIT": {
|
||||
"LABEL": "Inbox capacity limits",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"FIELD": {
|
||||
"SELECT_INBOX": "Select inbox",
|
||||
"MAX_CONVERSATIONS": "Max conversations",
|
||||
"SET_LIMIT": "Set limit"
|
||||
},
|
||||
"EMPTY_STATE": "No inbox limit set"
|
||||
},
|
||||
"EXCLUSION_RULES": {
|
||||
"LABEL": "Exclusion rules",
|
||||
"DESCRIPTION": "Conversations that satisfy the following conditions would not count towards agent capacity",
|
||||
"TAGS": {
|
||||
"LABEL": "Exclude conversations tagged with specific labels",
|
||||
"ADD_TAG": "add tag",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select tags to add"
|
||||
},
|
||||
"EMPTY_STATE": "No tags added to this policy."
|
||||
},
|
||||
"DURATION": {
|
||||
"LABEL": "Exclude conversations older than a specified duration",
|
||||
"PLACEHOLDER": "Set time"
|
||||
}
|
||||
},
|
||||
"USERS": {
|
||||
"LABEL": "Assigned agents",
|
||||
"DESCRIPTION": "Add agents for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add agent",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select agents to add",
|
||||
"ADD_BUTTON": "Hinzufügen"
|
||||
},
|
||||
"EMPTY_STATE": "No agents added",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete agent capacity policy"
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"TITLE": "Delete policy",
|
||||
"DESCRIPTION": "Are you sure you want to delete this policy? This action cannot be undone.",
|
||||
"CONFIRM_BUTTON_LABEL": "Löschen",
|
||||
"CANCEL_BUTTON_LABEL": "Stornieren"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,17 +71,6 @@
|
||||
"SHOW_LABELS": "Προβολή ετικετών",
|
||||
"HIDE_LABELS": "Απόκρυψη ετικετών"
|
||||
},
|
||||
"VOICE_CALL": {
|
||||
"INCOMING_CALL": "Incoming call",
|
||||
"OUTGOING_CALL": "Outgoing call",
|
||||
"CALL_IN_PROGRESS": "Call in progress",
|
||||
"NO_ANSWER": "No answer",
|
||||
"MISSED_CALL": "Missed call",
|
||||
"CALL_ENDED": "Call ended",
|
||||
"NOT_ANSWERED_YET": "Not answered yet",
|
||||
"THEY_ANSWERED": "They answered",
|
||||
"YOU_ANSWERED": "You answered"
|
||||
},
|
||||
"HEADER": {
|
||||
"RESOLVE_ACTION": "Επίλυση",
|
||||
"REOPEN_ACTION": "Επαναφορά",
|
||||
|
||||
@@ -51,13 +51,6 @@
|
||||
"LARGER": "Larger",
|
||||
"EXTRA_LARGE": "Extra Large"
|
||||
}
|
||||
},
|
||||
"LANGUAGE": {
|
||||
"TITLE": "Preferred Language",
|
||||
"NOTE": "Choose the language you want to use.",
|
||||
"UPDATE_SUCCESS": "Your Language settings have been updated successfully",
|
||||
"UPDATE_ERROR": "There is an error while updating the language settings, please try again",
|
||||
"USE_ACCOUNT_DEFAULT": "Use account default"
|
||||
}
|
||||
},
|
||||
"MESSAGE_SIGNATURE_SECTION": {
|
||||
@@ -337,7 +330,6 @@
|
||||
"REPORTS_LABEL": "Ετικέτες",
|
||||
"REPORTS_INBOX": "Εισερχόμενα",
|
||||
"REPORTS_TEAM": "Ομάδα",
|
||||
"AGENT_ASSIGNMENT": "Agent Assignment",
|
||||
"SET_AVAILABILITY_TITLE": "Ορίστε τον εαυτό σας ως",
|
||||
"SET_YOUR_AVAILABILITY": "Ορίστε τη διαθεσιμότητά σας",
|
||||
"SLA": "SLA",
|
||||
@@ -426,255 +418,5 @@
|
||||
"SWITCH_TO_REPLY": "Εναλλαγή σε απάντηση",
|
||||
"TOGGLE_SNOOZE_DROPDOWN": "Εναλλαγή αναβολής dropdown"
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent assignment",
|
||||
"DESCRIPTION": "Define policies to effectively manage workload and route conversations based on the needs of inboxes and agents. Learn more here"
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"TITLE": "Assignment policy",
|
||||
"DESCRIPTION": "Manage how conversations get assigned in inboxes.",
|
||||
"FEATURES": [
|
||||
"Assign by conversations evenly or by available capacity",
|
||||
"Add fair distribution rules to avoid overloading any agent",
|
||||
"Add inboxes to a policy - one policy per inbox"
|
||||
]
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"TITLE": "Agent capacity policy",
|
||||
"DESCRIPTION": "Manage workload for agents.",
|
||||
"FEATURES": [
|
||||
"Define maximum conversations per inbox",
|
||||
"Create exceptions based on labels and time",
|
||||
"Add agents to a policy - one policy per agent"
|
||||
]
|
||||
}
|
||||
},
|
||||
"AGENT_ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Assignment policy",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"ORDER": "Order",
|
||||
"PRIORITY": "Priority",
|
||||
"ACTIVE": "Ενεργή",
|
||||
"INACTIVE": "Inactive",
|
||||
"POPOVER": "Added inboxes",
|
||||
"EDIT": "Επεξεργασία"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No assignment policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create assignment policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create assignment policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit assignment policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_INBOX_DIALOG": {
|
||||
"TITLE": "Add inbox",
|
||||
"DESCRIPTION": "{inboxName} inbox is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Άκυρο"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update assignment policy"
|
||||
},
|
||||
"INBOX_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Inbox added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Inbox removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove inbox from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Περιγραφή:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"STATUS": {
|
||||
"LABEL": "Κατάσταση:",
|
||||
"PLACEHOLDER": "Select status",
|
||||
"ACTIVE": "Policy is active",
|
||||
"INACTIVE": "Policy is inactive"
|
||||
},
|
||||
"ASSIGNMENT_ORDER": {
|
||||
"LABEL": "Assignment order",
|
||||
"ROUND_ROBIN": {
|
||||
"LABEL": "Round robin",
|
||||
"DESCRIPTION": "Assign conversations evenly among agents."
|
||||
},
|
||||
"BALANCED": {
|
||||
"LABEL": "Balanced",
|
||||
"DESCRIPTION": "Assign conversations based on available capacity."
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_PRIORITY": {
|
||||
"LABEL": "Assignment priority",
|
||||
"EARLIEST_CREATED": {
|
||||
"LABEL": "Earliest created",
|
||||
"DESCRIPTION": "The conversation that was created first gets assigned first."
|
||||
},
|
||||
"LONGEST_WAITING": {
|
||||
"LABEL": "Longest waiting",
|
||||
"DESCRIPTION": "The conversation waiting the longest gets assigned first."
|
||||
}
|
||||
},
|
||||
"FAIR_DISTRIBUTION": {
|
||||
"LABEL": "Fair distribution policy",
|
||||
"DESCRIPTION": "Set the maximum number of conversations that can be assigned per agent within a time window to avoid overloading any one agent. This required field defaults to 100 conversations per hour.",
|
||||
"INPUT_MAX": "Assign max",
|
||||
"DURATION": "Conversations per agent in every"
|
||||
},
|
||||
"INBOXES": {
|
||||
"LABEL": "Added inboxes",
|
||||
"DESCRIPTION": "Add inboxes for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select inboxes to add",
|
||||
"ADD_BUTTON": "Προσθήκη"
|
||||
},
|
||||
"EMPTY_STATE": "No inboxes added to this policy, add an inbox to get started",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Inbox successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete assignment policy"
|
||||
}
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent capacity",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"POPOVER": "Added agents",
|
||||
"EDIT": "Επεξεργασία"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No agent capacity policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create agent capacity policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create agent capacity policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit agent capacity policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_AGENT_DIALOG": {
|
||||
"TITLE": "Add agent",
|
||||
"DESCRIPTION": "{agentName} is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Άκυρο"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update agent capacity policy"
|
||||
},
|
||||
"AGENT_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Agent added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Agent removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove agent from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Περιγραφή:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"INBOX_CAPACITY_LIMIT": {
|
||||
"LABEL": "Inbox capacity limits",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"FIELD": {
|
||||
"SELECT_INBOX": "Select inbox",
|
||||
"MAX_CONVERSATIONS": "Max conversations",
|
||||
"SET_LIMIT": "Set limit"
|
||||
},
|
||||
"EMPTY_STATE": "No inbox limit set"
|
||||
},
|
||||
"EXCLUSION_RULES": {
|
||||
"LABEL": "Exclusion rules",
|
||||
"DESCRIPTION": "Conversations that satisfy the following conditions would not count towards agent capacity",
|
||||
"TAGS": {
|
||||
"LABEL": "Exclude conversations tagged with specific labels",
|
||||
"ADD_TAG": "add tag",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select tags to add"
|
||||
},
|
||||
"EMPTY_STATE": "No tags added to this policy."
|
||||
},
|
||||
"DURATION": {
|
||||
"LABEL": "Exclude conversations older than a specified duration",
|
||||
"PLACEHOLDER": "Set time"
|
||||
}
|
||||
},
|
||||
"USERS": {
|
||||
"LABEL": "Assigned agents",
|
||||
"DESCRIPTION": "Add agents for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add agent",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select agents to add",
|
||||
"ADD_BUTTON": "Προσθήκη"
|
||||
},
|
||||
"EMPTY_STATE": "No agents added",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete agent capacity policy"
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"TITLE": "Delete policy",
|
||||
"DESCRIPTION": "Are you sure you want to delete this policy? This action cannot be undone.",
|
||||
"CONFIRM_BUTTON_LABEL": "Διαγραφή",
|
||||
"CANCEL_BUTTON_LABEL": "Άκυρο"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -741,8 +741,7 @@
|
||||
"LIVE_CHAT_WIDGET": {
|
||||
"LABEL": "Live chat widget",
|
||||
"PLACEHOLDER": "Select live chat widget",
|
||||
"HELP_TEXT": "Select a live chat widget that will appear on your help center",
|
||||
"NONE_OPTION": "No widget"
|
||||
"HELP_TEXT": "Select a live chat widget that will appear on your help center"
|
||||
},
|
||||
"BRAND_COLOR": {
|
||||
"LABEL": "Brand color"
|
||||
|
||||
@@ -272,8 +272,8 @@
|
||||
},
|
||||
"SUBMIT_BUTTON": "Create WhatsApp Channel",
|
||||
"EMBEDDED_SIGNUP": {
|
||||
"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.",
|
||||
"TITLE": "Quick Setup with Meta",
|
||||
"DESC": "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": "Benefits of Embedded Signup:",
|
||||
"EASY_SETUP": "No manual configuration required",
|
||||
@@ -281,8 +281,9 @@
|
||||
"AUTO_CONFIG": "Automatic webhook and phone number configuration"
|
||||
},
|
||||
"LEARN_MORE": {
|
||||
"TEXT": "To learn more about integrated signup, pricing, and limitations, visit {link}.",
|
||||
"LINK_TEXT": "this link"
|
||||
"TEXT": "To learn more about integrated signup, pricing, and limitations, visit",
|
||||
"LINK_TEXT": "this link.",
|
||||
"LINK_URL": "https://developers.facebook.com/docs/whatsapp/embedded-signup/custom-flows/onboarding-business-app-users#limitations"
|
||||
},
|
||||
"SUBMIT_BUTTON": "Connect with WhatsApp Business",
|
||||
"AUTH_PROCESSING": "Authenticating with Meta",
|
||||
@@ -295,9 +296,7 @@
|
||||
"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"
|
||||
"SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured"
|
||||
},
|
||||
"API": {
|
||||
"ERROR_MESSAGE": "We were not able to save the WhatsApp channel"
|
||||
|
||||
@@ -540,213 +540,14 @@
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No assignment policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create assignment policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create assignment policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit assignment policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_INBOX_DIALOG": {
|
||||
"TITLE": "Add inbox",
|
||||
"DESCRIPTION": "{inboxName} inbox is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Cancel"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update assignment policy"
|
||||
},
|
||||
"INBOX_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Inbox added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Inbox removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove inbox from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Description:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"STATUS": {
|
||||
"LABEL": "Status:",
|
||||
"PLACEHOLDER": "Select status",
|
||||
"ACTIVE": "Policy is active",
|
||||
"INACTIVE": "Policy is inactive"
|
||||
},
|
||||
"ASSIGNMENT_ORDER": {
|
||||
"LABEL": "Assignment order",
|
||||
"ROUND_ROBIN": {
|
||||
"LABEL": "Round robin",
|
||||
"DESCRIPTION": "Assign conversations evenly among agents."
|
||||
},
|
||||
"BALANCED": {
|
||||
"LABEL": "Balanced",
|
||||
"DESCRIPTION": "Assign conversations based on available capacity."
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_PRIORITY": {
|
||||
"LABEL": "Assignment priority",
|
||||
"EARLIEST_CREATED": {
|
||||
"LABEL": "Earliest created",
|
||||
"DESCRIPTION": "The conversation that was created first gets assigned first."
|
||||
},
|
||||
"LONGEST_WAITING": {
|
||||
"LABEL": "Longest waiting",
|
||||
"DESCRIPTION": "The conversation waiting the longest gets assigned first."
|
||||
}
|
||||
},
|
||||
"FAIR_DISTRIBUTION": {
|
||||
"LABEL": "Fair distribution policy",
|
||||
"DESCRIPTION": "Set the maximum number of conversations that can be assigned per agent within a time window to avoid overloading any one agent. This required field defaults to 100 conversations per hour.",
|
||||
"INPUT_MAX": "Assign max",
|
||||
"DURATION": "Conversations per agent in every"
|
||||
},
|
||||
"INBOXES": {
|
||||
"LABEL": "Added inboxes",
|
||||
"DESCRIPTION": "Add inboxes for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select inboxes to add",
|
||||
"ADD_BUTTON": "Add"
|
||||
},
|
||||
"EMPTY_STATE": "No inboxes added to this policy, add an inbox to get started",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Inbox successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"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",
|
||||
"SUCCESS_MESSAGE": "Assignment policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete assignment policy"
|
||||
}
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent capacity",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"POPOVER": "Added agents",
|
||||
"EDIT": "Edit"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No agent capacity policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create agent capacity policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create agent capacity policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit agent capacity policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_AGENT_DIALOG": {
|
||||
"TITLE": "Add agent",
|
||||
"DESCRIPTION": "{agentName} is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Cancel"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update agent capacity policy"
|
||||
},
|
||||
"AGENT_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Agent added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Agent removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove agent from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Description:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"INBOX_CAPACITY_LIMIT": {
|
||||
"LABEL": "Inbox capacity limits",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"FIELD": {
|
||||
"SELECT_INBOX": "Select inbox",
|
||||
"MAX_CONVERSATIONS": "Max conversations",
|
||||
"SET_LIMIT": "Set limit"
|
||||
},
|
||||
"EMPTY_STATE": "No inbox limit set"
|
||||
},
|
||||
"EXCLUSION_RULES": {
|
||||
"LABEL": "Exclusion rules",
|
||||
"DESCRIPTION": "Conversations that satisfy the following conditions would not count towards agent capacity",
|
||||
"TAGS": {
|
||||
"LABEL": "Exclude conversations tagged with specific labels",
|
||||
"ADD_TAG": "add tag",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select tags to add"
|
||||
},
|
||||
"EMPTY_STATE": "No tags added to this policy."
|
||||
},
|
||||
"DURATION": {
|
||||
"LABEL": "Exclude conversations older than a specified duration",
|
||||
"PLACEHOLDER": "Set time"
|
||||
}
|
||||
},
|
||||
"USERS": {
|
||||
"LABEL": "Assigned agents",
|
||||
"DESCRIPTION": "Add agents for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add agent",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select agents to add",
|
||||
"ADD_BUTTON": "Add"
|
||||
},
|
||||
"EMPTY_STATE": "No agents added",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete agent capacity policy"
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"TITLE": "Delete policy",
|
||||
"DESCRIPTION": "Are you sure you want to delete this policy? This action cannot be undone.",
|
||||
"CONFIRM_BUTTON_LABEL": "Delete",
|
||||
"CANCEL_BUTTON_LABEL": "Cancel"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,7 +40,6 @@
|
||||
"BUTTON_LABEL": "Button {index}",
|
||||
"COUPON_CODE": "Enter coupon code (max 15 chars)",
|
||||
"MEDIA_URL_LABEL": "Enter {type} URL",
|
||||
"MEDIA_NAME_PLACEHOLDER": "Enter custom filename",
|
||||
"BUTTON_PARAMETER": "Enter button parameter"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -142,7 +142,7 @@
|
||||
"NEW_CAMPAIGN": "Crear campaña",
|
||||
"EMPTY_STATE": {
|
||||
"TITLE": "No WhatsApp campaigns are available",
|
||||
"SUBTITLE": "Lanza una campaña de WhatsApp para conectar con tus clientes directamente. Envía ofertas o has anuncios fácilmente. Haz clic en 'Crear campaña' para comenzar."
|
||||
"SUBTITLE": "Launch a WhatsApp campaign to reach your customers directly. Send offers or make announcements with ease. Click 'Create campaign' to get started."
|
||||
},
|
||||
"CARD": {
|
||||
"STATUS": {
|
||||
@@ -155,7 +155,7 @@
|
||||
}
|
||||
},
|
||||
"CREATE": {
|
||||
"TITLE": "Crear campaña de WhatsApp",
|
||||
"TITLE": "Create WhatsApp campaign",
|
||||
"CANCEL_BUTTON_TEXT": "Cancelar",
|
||||
"CREATE_BUTTON_TEXT": "Crear",
|
||||
"FORM": {
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
"SEND_MESSAGE_LABEL": "Enviar mensaje",
|
||||
"FORM_ERROR_MESSAGE": "Por favor, rellene todas las variables antes de enviar",
|
||||
"MEDIA_HEADER_LABEL": "{type} Header",
|
||||
"MEDIA_URL_LABEL": "Ingrese la URL completa",
|
||||
"MEDIA_URL_LABEL": "Enter full media URL",
|
||||
"MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
|
||||
},
|
||||
"FORM": {
|
||||
|
||||
@@ -71,17 +71,6 @@
|
||||
"SHOW_LABELS": "Mostrar etiquetas",
|
||||
"HIDE_LABELS": "Ocultar etiquetas"
|
||||
},
|
||||
"VOICE_CALL": {
|
||||
"INCOMING_CALL": "Incoming call",
|
||||
"OUTGOING_CALL": "Outgoing call",
|
||||
"CALL_IN_PROGRESS": "Call in progress",
|
||||
"NO_ANSWER": "No answer",
|
||||
"MISSED_CALL": "Missed call",
|
||||
"CALL_ENDED": "Call ended",
|
||||
"NOT_ANSWERED_YET": "Not answered yet",
|
||||
"THEY_ANSWERED": "They answered",
|
||||
"YOU_ANSWERED": "You answered"
|
||||
},
|
||||
"HEADER": {
|
||||
"RESOLVE_ACTION": "Resolver",
|
||||
"REOPEN_ACTION": "Reabrir",
|
||||
|
||||
@@ -51,13 +51,6 @@
|
||||
"LARGER": "Larger",
|
||||
"EXTRA_LARGE": "Extra Large"
|
||||
}
|
||||
},
|
||||
"LANGUAGE": {
|
||||
"TITLE": "Preferred Language",
|
||||
"NOTE": "Choose the language you want to use.",
|
||||
"UPDATE_SUCCESS": "Your Language settings have been updated successfully",
|
||||
"UPDATE_ERROR": "There is an error while updating the language settings, please try again",
|
||||
"USE_ACCOUNT_DEFAULT": "Use account default"
|
||||
}
|
||||
},
|
||||
"MESSAGE_SIGNATURE_SECTION": {
|
||||
@@ -233,7 +226,7 @@
|
||||
"APPEARANCE": "Cambiar apariencia",
|
||||
"SUPER_ADMIN_CONSOLE": "Consola SuperAdmin",
|
||||
"DOCS": "Leer la documentación",
|
||||
"CHANGELOG": "Notas de versión",
|
||||
"CHANGELOG": "Changelog",
|
||||
"LOGOUT": "Cerrar sesión"
|
||||
},
|
||||
"APP_GLOBAL": {
|
||||
@@ -337,7 +330,6 @@
|
||||
"REPORTS_LABEL": "Etiquetas",
|
||||
"REPORTS_INBOX": "Bandeja de entrada",
|
||||
"REPORTS_TEAM": "Equipo",
|
||||
"AGENT_ASSIGNMENT": "Agent Assignment",
|
||||
"SET_AVAILABILITY_TITLE": "Ponte como",
|
||||
"SET_YOUR_AVAILABILITY": "Establecer su disponibilidad",
|
||||
"SLA": "SLA",
|
||||
@@ -426,255 +418,5 @@
|
||||
"SWITCH_TO_REPLY": "Cambiar a respuesta",
|
||||
"TOGGLE_SNOOZE_DROPDOWN": "Cambiar el menú desplegable"
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent assignment",
|
||||
"DESCRIPTION": "Define policies to effectively manage workload and route conversations based on the needs of inboxes and agents. Learn more here"
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"TITLE": "Assignment policy",
|
||||
"DESCRIPTION": "Manage how conversations get assigned in inboxes.",
|
||||
"FEATURES": [
|
||||
"Assign by conversations evenly or by available capacity",
|
||||
"Add fair distribution rules to avoid overloading any agent",
|
||||
"Add inboxes to a policy - one policy per inbox"
|
||||
]
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"TITLE": "Agent capacity policy",
|
||||
"DESCRIPTION": "Manage workload for agents.",
|
||||
"FEATURES": [
|
||||
"Define maximum conversations per inbox",
|
||||
"Create exceptions based on labels and time",
|
||||
"Add agents to a policy - one policy per agent"
|
||||
]
|
||||
}
|
||||
},
|
||||
"AGENT_ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Assignment policy",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"ORDER": "Order",
|
||||
"PRIORITY": "Prioridad",
|
||||
"ACTIVE": "Activo",
|
||||
"INACTIVE": "Inactive",
|
||||
"POPOVER": "Added inboxes",
|
||||
"EDIT": "Editar"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No assignment policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create assignment policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create assignment policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit assignment policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_INBOX_DIALOG": {
|
||||
"TITLE": "Add inbox",
|
||||
"DESCRIPTION": "{inboxName} inbox is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Cancelar"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update assignment policy"
|
||||
},
|
||||
"INBOX_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Inbox added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Inbox removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove inbox from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Descripción:",
|
||||
"PLACEHOLDER": "Introducir descripción"
|
||||
},
|
||||
"STATUS": {
|
||||
"LABEL": "Estado:",
|
||||
"PLACEHOLDER": "Seleccionar estado",
|
||||
"ACTIVE": "Policy is active",
|
||||
"INACTIVE": "Policy is inactive"
|
||||
},
|
||||
"ASSIGNMENT_ORDER": {
|
||||
"LABEL": "Assignment order",
|
||||
"ROUND_ROBIN": {
|
||||
"LABEL": "Round robin",
|
||||
"DESCRIPTION": "Assign conversations evenly among agents."
|
||||
},
|
||||
"BALANCED": {
|
||||
"LABEL": "Balanced",
|
||||
"DESCRIPTION": "Assign conversations based on available capacity."
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_PRIORITY": {
|
||||
"LABEL": "Assignment priority",
|
||||
"EARLIEST_CREATED": {
|
||||
"LABEL": "Earliest created",
|
||||
"DESCRIPTION": "The conversation that was created first gets assigned first."
|
||||
},
|
||||
"LONGEST_WAITING": {
|
||||
"LABEL": "Longest waiting",
|
||||
"DESCRIPTION": "The conversation waiting the longest gets assigned first."
|
||||
}
|
||||
},
|
||||
"FAIR_DISTRIBUTION": {
|
||||
"LABEL": "Fair distribution policy",
|
||||
"DESCRIPTION": "Set the maximum number of conversations that can be assigned per agent within a time window to avoid overloading any one agent. This required field defaults to 100 conversations per hour.",
|
||||
"INPUT_MAX": "Assign max",
|
||||
"DURATION": "Conversations per agent in every"
|
||||
},
|
||||
"INBOXES": {
|
||||
"LABEL": "Added inboxes",
|
||||
"DESCRIPTION": "Add inboxes for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select inboxes to add",
|
||||
"ADD_BUTTON": "Añadir"
|
||||
},
|
||||
"EMPTY_STATE": "No inboxes added to this policy, add an inbox to get started",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Inbox successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete assignment policy"
|
||||
}
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent capacity",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"POPOVER": "Added agents",
|
||||
"EDIT": "Editar"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No agent capacity policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create agent capacity policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create agent capacity policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit agent capacity policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_AGENT_DIALOG": {
|
||||
"TITLE": "Add agent",
|
||||
"DESCRIPTION": "{agentName} is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Cancelar"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update agent capacity policy"
|
||||
},
|
||||
"AGENT_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Agent added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Agent removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove agent from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Descripción:",
|
||||
"PLACEHOLDER": "Introducir descripción"
|
||||
},
|
||||
"INBOX_CAPACITY_LIMIT": {
|
||||
"LABEL": "Inbox capacity limits",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"FIELD": {
|
||||
"SELECT_INBOX": "Select inbox",
|
||||
"MAX_CONVERSATIONS": "Max conversations",
|
||||
"SET_LIMIT": "Set limit"
|
||||
},
|
||||
"EMPTY_STATE": "No inbox limit set"
|
||||
},
|
||||
"EXCLUSION_RULES": {
|
||||
"LABEL": "Exclusion rules",
|
||||
"DESCRIPTION": "Conversations that satisfy the following conditions would not count towards agent capacity",
|
||||
"TAGS": {
|
||||
"LABEL": "Exclude conversations tagged with specific labels",
|
||||
"ADD_TAG": "add tag",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select tags to add"
|
||||
},
|
||||
"EMPTY_STATE": "No tags added to this policy."
|
||||
},
|
||||
"DURATION": {
|
||||
"LABEL": "Exclude conversations older than a specified duration",
|
||||
"PLACEHOLDER": "Set time"
|
||||
}
|
||||
},
|
||||
"USERS": {
|
||||
"LABEL": "Assigned agents",
|
||||
"DESCRIPTION": "Add agents for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add agent",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select agents to add",
|
||||
"ADD_BUTTON": "Añadir"
|
||||
},
|
||||
"EMPTY_STATE": "No agents added",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete agent capacity policy"
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"TITLE": "Delete policy",
|
||||
"DESCRIPTION": "Are you sure you want to delete this policy? This action cannot be undone.",
|
||||
"CONFIRM_BUTTON_LABEL": "Eliminar",
|
||||
"CANCEL_BUTTON_LABEL": "Cancelar"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
"IP_ADDRESS": "آدرس آیپی",
|
||||
"CREATED_AT_LABEL": "ایجاد شده",
|
||||
"NEW_MESSAGE": "پیام جدید",
|
||||
"CALL": "تماس",
|
||||
"CALL": "Call",
|
||||
"CALL_UNDER_DEVELOPMENT": "Calling is under development",
|
||||
"VOICE_INBOX_PICKER": {
|
||||
"TITLE": "Choose a voice inbox"
|
||||
|
||||
@@ -71,17 +71,6 @@
|
||||
"SHOW_LABELS": "مشاهده کردن برچسبها",
|
||||
"HIDE_LABELS": "پنهان کردن برچسبها"
|
||||
},
|
||||
"VOICE_CALL": {
|
||||
"INCOMING_CALL": "Incoming call",
|
||||
"OUTGOING_CALL": "Outgoing call",
|
||||
"CALL_IN_PROGRESS": "Call in progress",
|
||||
"NO_ANSWER": "No answer",
|
||||
"MISSED_CALL": "Missed call",
|
||||
"CALL_ENDED": "Call ended",
|
||||
"NOT_ANSWERED_YET": "Not answered yet",
|
||||
"THEY_ANSWERED": "They answered",
|
||||
"YOU_ANSWERED": "You answered"
|
||||
},
|
||||
"HEADER": {
|
||||
"RESOLVE_ACTION": "حل شد",
|
||||
"REOPEN_ACTION": "دوباره باز کنید",
|
||||
|
||||
@@ -51,13 +51,6 @@
|
||||
"LARGER": "Larger",
|
||||
"EXTRA_LARGE": "Extra Large"
|
||||
}
|
||||
},
|
||||
"LANGUAGE": {
|
||||
"TITLE": "Preferred Language",
|
||||
"NOTE": "Choose the language you want to use.",
|
||||
"UPDATE_SUCCESS": "Your Language settings have been updated successfully",
|
||||
"UPDATE_ERROR": "There is an error while updating the language settings, please try again",
|
||||
"USE_ACCOUNT_DEFAULT": "Use account default"
|
||||
}
|
||||
},
|
||||
"MESSAGE_SIGNATURE_SECTION": {
|
||||
@@ -337,7 +330,6 @@
|
||||
"REPORTS_LABEL": "برچسبها",
|
||||
"REPORTS_INBOX": "صندوق ورودی",
|
||||
"REPORTS_TEAM": "تیم",
|
||||
"AGENT_ASSIGNMENT": "Agent Assignment",
|
||||
"SET_AVAILABILITY_TITLE": "خود را به عنوان",
|
||||
"SET_YOUR_AVAILABILITY": "در دسترس بودن خود را تنظیم کنید",
|
||||
"SLA": "SLA",
|
||||
@@ -426,255 +418,5 @@
|
||||
"SWITCH_TO_REPLY": "رفتن به پاسخ",
|
||||
"TOGGLE_SNOOZE_DROPDOWN": "تغییر حالت بازکردن تعویق"
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent assignment",
|
||||
"DESCRIPTION": "Define policies to effectively manage workload and route conversations based on the needs of inboxes and agents. Learn more here"
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"TITLE": "Assignment policy",
|
||||
"DESCRIPTION": "Manage how conversations get assigned in inboxes.",
|
||||
"FEATURES": [
|
||||
"Assign by conversations evenly or by available capacity",
|
||||
"Add fair distribution rules to avoid overloading any agent",
|
||||
"Add inboxes to a policy - one policy per inbox"
|
||||
]
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"TITLE": "Agent capacity policy",
|
||||
"DESCRIPTION": "Manage workload for agents.",
|
||||
"FEATURES": [
|
||||
"Define maximum conversations per inbox",
|
||||
"Create exceptions based on labels and time",
|
||||
"Add agents to a policy - one policy per agent"
|
||||
]
|
||||
}
|
||||
},
|
||||
"AGENT_ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Assignment policy",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"ORDER": "Order",
|
||||
"PRIORITY": "اولویت",
|
||||
"ACTIVE": "فعال",
|
||||
"INACTIVE": "Inactive",
|
||||
"POPOVER": "Added inboxes",
|
||||
"EDIT": "ویرایش"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No assignment policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create assignment policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create assignment policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit assignment policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_INBOX_DIALOG": {
|
||||
"TITLE": "Add inbox",
|
||||
"DESCRIPTION": "{inboxName} inbox is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "انصراف"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update assignment policy"
|
||||
},
|
||||
"INBOX_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Inbox added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Inbox removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove inbox from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "توضیحات:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"STATUS": {
|
||||
"LABEL": "وضعیت:",
|
||||
"PLACEHOLDER": "Select status",
|
||||
"ACTIVE": "Policy is active",
|
||||
"INACTIVE": "Policy is inactive"
|
||||
},
|
||||
"ASSIGNMENT_ORDER": {
|
||||
"LABEL": "Assignment order",
|
||||
"ROUND_ROBIN": {
|
||||
"LABEL": "Round robin",
|
||||
"DESCRIPTION": "Assign conversations evenly among agents."
|
||||
},
|
||||
"BALANCED": {
|
||||
"LABEL": "Balanced",
|
||||
"DESCRIPTION": "Assign conversations based on available capacity."
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_PRIORITY": {
|
||||
"LABEL": "Assignment priority",
|
||||
"EARLIEST_CREATED": {
|
||||
"LABEL": "Earliest created",
|
||||
"DESCRIPTION": "The conversation that was created first gets assigned first."
|
||||
},
|
||||
"LONGEST_WAITING": {
|
||||
"LABEL": "Longest waiting",
|
||||
"DESCRIPTION": "The conversation waiting the longest gets assigned first."
|
||||
}
|
||||
},
|
||||
"FAIR_DISTRIBUTION": {
|
||||
"LABEL": "Fair distribution policy",
|
||||
"DESCRIPTION": "Set the maximum number of conversations that can be assigned per agent within a time window to avoid overloading any one agent. This required field defaults to 100 conversations per hour.",
|
||||
"INPUT_MAX": "Assign max",
|
||||
"DURATION": "Conversations per agent in every"
|
||||
},
|
||||
"INBOXES": {
|
||||
"LABEL": "Added inboxes",
|
||||
"DESCRIPTION": "Add inboxes for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select inboxes to add",
|
||||
"ADD_BUTTON": "افزودن"
|
||||
},
|
||||
"EMPTY_STATE": "No inboxes added to this policy, add an inbox to get started",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Inbox successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete assignment policy"
|
||||
}
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent capacity",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"POPOVER": "Added agents",
|
||||
"EDIT": "ویرایش"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No agent capacity policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create agent capacity policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create agent capacity policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit agent capacity policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_AGENT_DIALOG": {
|
||||
"TITLE": "Add agent",
|
||||
"DESCRIPTION": "{agentName} is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "انصراف"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update agent capacity policy"
|
||||
},
|
||||
"AGENT_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Agent added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Agent removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove agent from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "توضیحات:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"INBOX_CAPACITY_LIMIT": {
|
||||
"LABEL": "Inbox capacity limits",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"FIELD": {
|
||||
"SELECT_INBOX": "Select inbox",
|
||||
"MAX_CONVERSATIONS": "Max conversations",
|
||||
"SET_LIMIT": "Set limit"
|
||||
},
|
||||
"EMPTY_STATE": "No inbox limit set"
|
||||
},
|
||||
"EXCLUSION_RULES": {
|
||||
"LABEL": "Exclusion rules",
|
||||
"DESCRIPTION": "Conversations that satisfy the following conditions would not count towards agent capacity",
|
||||
"TAGS": {
|
||||
"LABEL": "Exclude conversations tagged with specific labels",
|
||||
"ADD_TAG": "add tag",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select tags to add"
|
||||
},
|
||||
"EMPTY_STATE": "No tags added to this policy."
|
||||
},
|
||||
"DURATION": {
|
||||
"LABEL": "Exclude conversations older than a specified duration",
|
||||
"PLACEHOLDER": "Set time"
|
||||
}
|
||||
},
|
||||
"USERS": {
|
||||
"LABEL": "Assigned agents",
|
||||
"DESCRIPTION": "Add agents for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add agent",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select agents to add",
|
||||
"ADD_BUTTON": "افزودن"
|
||||
},
|
||||
"EMPTY_STATE": "No agents added",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete agent capacity policy"
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"TITLE": "Delete policy",
|
||||
"DESCRIPTION": "Are you sure you want to delete this policy? This action cannot be undone.",
|
||||
"CONFIRM_BUTTON_LABEL": "حذف",
|
||||
"CANCEL_BUTTON_LABEL": "انصراف"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,17 +71,6 @@
|
||||
"SHOW_LABELS": "Show labels",
|
||||
"HIDE_LABELS": "Hide labels"
|
||||
},
|
||||
"VOICE_CALL": {
|
||||
"INCOMING_CALL": "Incoming call",
|
||||
"OUTGOING_CALL": "Outgoing call",
|
||||
"CALL_IN_PROGRESS": "Call in progress",
|
||||
"NO_ANSWER": "No answer",
|
||||
"MISSED_CALL": "Missed call",
|
||||
"CALL_ENDED": "Call ended",
|
||||
"NOT_ANSWERED_YET": "Not answered yet",
|
||||
"THEY_ANSWERED": "They answered",
|
||||
"YOU_ANSWERED": "You answered"
|
||||
},
|
||||
"HEADER": {
|
||||
"RESOLVE_ACTION": "Ratkaise",
|
||||
"REOPEN_ACTION": "Uudelleenavaa",
|
||||
|
||||
@@ -51,13 +51,6 @@
|
||||
"LARGER": "Larger",
|
||||
"EXTRA_LARGE": "Extra Large"
|
||||
}
|
||||
},
|
||||
"LANGUAGE": {
|
||||
"TITLE": "Preferred Language",
|
||||
"NOTE": "Choose the language you want to use.",
|
||||
"UPDATE_SUCCESS": "Your Language settings have been updated successfully",
|
||||
"UPDATE_ERROR": "There is an error while updating the language settings, please try again",
|
||||
"USE_ACCOUNT_DEFAULT": "Use account default"
|
||||
}
|
||||
},
|
||||
"MESSAGE_SIGNATURE_SECTION": {
|
||||
@@ -337,7 +330,6 @@
|
||||
"REPORTS_LABEL": "Tunnisteet",
|
||||
"REPORTS_INBOX": "Inbox",
|
||||
"REPORTS_TEAM": "Team",
|
||||
"AGENT_ASSIGNMENT": "Agent Assignment",
|
||||
"SET_AVAILABILITY_TITLE": "Set yourself as",
|
||||
"SET_YOUR_AVAILABILITY": "Set your availability",
|
||||
"SLA": "SLA",
|
||||
@@ -426,255 +418,5 @@
|
||||
"SWITCH_TO_REPLY": "Switch to Reply",
|
||||
"TOGGLE_SNOOZE_DROPDOWN": "Toggle snooze dropdown"
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent assignment",
|
||||
"DESCRIPTION": "Define policies to effectively manage workload and route conversations based on the needs of inboxes and agents. Learn more here"
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"TITLE": "Assignment policy",
|
||||
"DESCRIPTION": "Manage how conversations get assigned in inboxes.",
|
||||
"FEATURES": [
|
||||
"Assign by conversations evenly or by available capacity",
|
||||
"Add fair distribution rules to avoid overloading any agent",
|
||||
"Add inboxes to a policy - one policy per inbox"
|
||||
]
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"TITLE": "Agent capacity policy",
|
||||
"DESCRIPTION": "Manage workload for agents.",
|
||||
"FEATURES": [
|
||||
"Define maximum conversations per inbox",
|
||||
"Create exceptions based on labels and time",
|
||||
"Add agents to a policy - one policy per agent"
|
||||
]
|
||||
}
|
||||
},
|
||||
"AGENT_ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Assignment policy",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"ORDER": "Order",
|
||||
"PRIORITY": "Priority",
|
||||
"ACTIVE": "Active",
|
||||
"INACTIVE": "Inactive",
|
||||
"POPOVER": "Added inboxes",
|
||||
"EDIT": "Muokkaa"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No assignment policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create assignment policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create assignment policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit assignment policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_INBOX_DIALOG": {
|
||||
"TITLE": "Add inbox",
|
||||
"DESCRIPTION": "{inboxName} inbox is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Peruuta"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update assignment policy"
|
||||
},
|
||||
"INBOX_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Inbox added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Inbox removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove inbox from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Kuvaus:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"STATUS": {
|
||||
"LABEL": "Tila:",
|
||||
"PLACEHOLDER": "Select status",
|
||||
"ACTIVE": "Policy is active",
|
||||
"INACTIVE": "Policy is inactive"
|
||||
},
|
||||
"ASSIGNMENT_ORDER": {
|
||||
"LABEL": "Assignment order",
|
||||
"ROUND_ROBIN": {
|
||||
"LABEL": "Round robin",
|
||||
"DESCRIPTION": "Assign conversations evenly among agents."
|
||||
},
|
||||
"BALANCED": {
|
||||
"LABEL": "Balanced",
|
||||
"DESCRIPTION": "Assign conversations based on available capacity."
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_PRIORITY": {
|
||||
"LABEL": "Assignment priority",
|
||||
"EARLIEST_CREATED": {
|
||||
"LABEL": "Earliest created",
|
||||
"DESCRIPTION": "The conversation that was created first gets assigned first."
|
||||
},
|
||||
"LONGEST_WAITING": {
|
||||
"LABEL": "Longest waiting",
|
||||
"DESCRIPTION": "The conversation waiting the longest gets assigned first."
|
||||
}
|
||||
},
|
||||
"FAIR_DISTRIBUTION": {
|
||||
"LABEL": "Fair distribution policy",
|
||||
"DESCRIPTION": "Set the maximum number of conversations that can be assigned per agent within a time window to avoid overloading any one agent. This required field defaults to 100 conversations per hour.",
|
||||
"INPUT_MAX": "Assign max",
|
||||
"DURATION": "Conversations per agent in every"
|
||||
},
|
||||
"INBOXES": {
|
||||
"LABEL": "Added inboxes",
|
||||
"DESCRIPTION": "Add inboxes for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select inboxes to add",
|
||||
"ADD_BUTTON": "Add"
|
||||
},
|
||||
"EMPTY_STATE": "No inboxes added to this policy, add an inbox to get started",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Inbox successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete assignment policy"
|
||||
}
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent capacity",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"POPOVER": "Added agents",
|
||||
"EDIT": "Muokkaa"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No agent capacity policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create agent capacity policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create agent capacity policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit agent capacity policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_AGENT_DIALOG": {
|
||||
"TITLE": "Add agent",
|
||||
"DESCRIPTION": "{agentName} is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Peruuta"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update agent capacity policy"
|
||||
},
|
||||
"AGENT_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Agent added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Agent removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove agent from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Kuvaus:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"INBOX_CAPACITY_LIMIT": {
|
||||
"LABEL": "Inbox capacity limits",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"FIELD": {
|
||||
"SELECT_INBOX": "Select inbox",
|
||||
"MAX_CONVERSATIONS": "Max conversations",
|
||||
"SET_LIMIT": "Set limit"
|
||||
},
|
||||
"EMPTY_STATE": "No inbox limit set"
|
||||
},
|
||||
"EXCLUSION_RULES": {
|
||||
"LABEL": "Exclusion rules",
|
||||
"DESCRIPTION": "Conversations that satisfy the following conditions would not count towards agent capacity",
|
||||
"TAGS": {
|
||||
"LABEL": "Exclude conversations tagged with specific labels",
|
||||
"ADD_TAG": "add tag",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select tags to add"
|
||||
},
|
||||
"EMPTY_STATE": "No tags added to this policy."
|
||||
},
|
||||
"DURATION": {
|
||||
"LABEL": "Exclude conversations older than a specified duration",
|
||||
"PLACEHOLDER": "Set time"
|
||||
}
|
||||
},
|
||||
"USERS": {
|
||||
"LABEL": "Assigned agents",
|
||||
"DESCRIPTION": "Add agents for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add agent",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select agents to add",
|
||||
"ADD_BUTTON": "Add"
|
||||
},
|
||||
"EMPTY_STATE": "No agents added",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete agent capacity policy"
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"TITLE": "Delete policy",
|
||||
"DESCRIPTION": "Are you sure you want to delete this policy? This action cannot be undone.",
|
||||
"CONFIRM_BUTTON_LABEL": "Poista",
|
||||
"CANCEL_BUTTON_LABEL": "Peruuta"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
"EDIT": "{agentName} updated the account configuration (#{id})"
|
||||
},
|
||||
"CONVERSATION": {
|
||||
"DELETE": "{agentName} a supprimé la conversation #{id}"
|
||||
"DELETE": "{agentName} deleted conversation #{id}"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
"CONVERSATION_CREATED": "Conversation créée",
|
||||
"CONVERSATION_UPDATED": "Conversation mise à jour",
|
||||
"MESSAGE_CREATED": "Message créé",
|
||||
"CONVERSATION_RESOLVED": "Conversation terminée",
|
||||
"CONVERSATION_RESOLVED": "Conversation Resolved",
|
||||
"CONVERSATION_OPENED": "Conversation ouverte"
|
||||
},
|
||||
"ACTIONS": {
|
||||
@@ -153,8 +153,8 @@
|
||||
"OPEN_CONVERSATION": "Ouvrir la conversation"
|
||||
},
|
||||
"MESSAGE_TYPES": {
|
||||
"INCOMING": "Boite de réception",
|
||||
"OUTGOING": "Message envoyé"
|
||||
"INCOMING": "Incoming Message",
|
||||
"OUTGOING": "Outgoing Message"
|
||||
},
|
||||
"PRIORITY_TYPES": {
|
||||
"NONE": "Aucun",
|
||||
|
||||
@@ -138,11 +138,11 @@
|
||||
}
|
||||
},
|
||||
"WHATSAPP": {
|
||||
"HEADER_TITLE": "Campagnes WhatsApp",
|
||||
"HEADER_TITLE": "WhatsApp campaigns",
|
||||
"NEW_CAMPAIGN": "Create campaign",
|
||||
"EMPTY_STATE": {
|
||||
"TITLE": "Aucune campagne WhatsApp n’est disponible",
|
||||
"SUBTITLE": "Lancez une campagne WhatsApp pour toucher directement vos clients. Envoyez des offres ou faites des annonces en toute simplicité. Cliquez sur “Créer une campagne” pour commencer."
|
||||
"TITLE": "No WhatsApp campaigns are available",
|
||||
"SUBTITLE": "Launch a WhatsApp campaign to reach your customers directly. Send offers or make announcements with ease. Click 'Create campaign' to get started."
|
||||
},
|
||||
"CARD": {
|
||||
"STATUS": {
|
||||
@@ -155,7 +155,7 @@
|
||||
}
|
||||
},
|
||||
"CREATE": {
|
||||
"TITLE": "Créer une campagne WhatsApp",
|
||||
"TITLE": "Create WhatsApp campaign",
|
||||
"CANCEL_BUTTON_TEXT": "Annuler",
|
||||
"CREATE_BUTTON_TEXT": "Créer",
|
||||
"FORM": {
|
||||
@@ -170,15 +170,15 @@
|
||||
"ERROR": "La boîte de réception est requise"
|
||||
},
|
||||
"TEMPLATE": {
|
||||
"LABEL": "Modèle WhatsApp",
|
||||
"PLACEHOLDER": "Sélectionner un modèle",
|
||||
"INFO": "Sélectionnez un modèle pour cette campagne.",
|
||||
"ERROR": "Un modèle est requis",
|
||||
"LABEL": "WhatsApp Template",
|
||||
"PLACEHOLDER": "Select a template",
|
||||
"INFO": "Select a template to use for this campaign.",
|
||||
"ERROR": "Template is required",
|
||||
"PREVIEW_TITLE": "Traiter {templateName}",
|
||||
"LANGUAGE": "Langue",
|
||||
"CATEGORY": "Catégorie",
|
||||
"VARIABLES_LABEL": "Variables",
|
||||
"VARIABLE_PLACEHOLDER": "Entrez une valeur pour {variable}"
|
||||
"VARIABLE_PLACEHOLDER": "Enter value for {variable}"
|
||||
},
|
||||
"AUDIENCE": {
|
||||
"LABEL": "Audience",
|
||||
@@ -195,7 +195,7 @@
|
||||
"CANCEL": "Annuler"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Campagne WhatsApp créée avec succès",
|
||||
"SUCCESS_MESSAGE": "WhatsApp campaign created successfully",
|
||||
"ERROR_MESSAGE": "Une erreur est survenue, veuillez réessayer."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,6 +51,6 @@
|
||||
"PLACEHOLDER": "Entrez la durée"
|
||||
},
|
||||
"CHANNEL_SELECTOR": {
|
||||
"COMING_SOON": "Bientôt disponible !"
|
||||
"COMING_SOON": "Coming Soon!"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,10 +17,10 @@
|
||||
"IP_ADDRESS": "Adresse IP",
|
||||
"CREATED_AT_LABEL": "Créé",
|
||||
"NEW_MESSAGE": "Nouveau message",
|
||||
"CALL": "Appel",
|
||||
"CALL_UNDER_DEVELOPMENT": "Appel en cours de développement",
|
||||
"CALL": "Call",
|
||||
"CALL_UNDER_DEVELOPMENT": "Calling is under development",
|
||||
"VOICE_INBOX_PICKER": {
|
||||
"TITLE": "Choisir une boîte de réception vocale"
|
||||
"TITLE": "Choose a voice inbox"
|
||||
},
|
||||
"CONVERSATIONS": {
|
||||
"NO_RECORDS_FOUND": "Il n'y a aucune conversation précédente associée à ce contact.",
|
||||
@@ -290,7 +290,7 @@
|
||||
"HEADER": {
|
||||
"TITLE": "Contacts",
|
||||
"SEARCH_TITLE": "Search contacts",
|
||||
"ACTIVE_TITLE": "Contacts actifs",
|
||||
"ACTIVE_TITLE": "Active contacts",
|
||||
"SEARCH_PLACEHOLDER": "Search...",
|
||||
"MESSAGE_BUTTON": "Message",
|
||||
"SEND_MESSAGE": "Envoyer un message",
|
||||
@@ -465,8 +465,8 @@
|
||||
}
|
||||
},
|
||||
"DELETE_CONTACT": {
|
||||
"MESSAGE": "Cette action est permanente et irréversible.",
|
||||
"BUTTON": "Supprimer maintenant"
|
||||
"MESSAGE": "This action is permanent and irreversible.",
|
||||
"BUTTON": "Delete now"
|
||||
}
|
||||
},
|
||||
"DETAILS": {
|
||||
@@ -476,7 +476,7 @@
|
||||
"DELETE_CONTACT": "Supprimer le contact",
|
||||
"DELETE_DIALOG": {
|
||||
"TITLE": "Confirmer la suppression",
|
||||
"DESCRIPTION": "Êtes-vous sûr de vouloir supprimer ce contact ?",
|
||||
"DESCRIPTION": "Are you sure you want to delete this contact?",
|
||||
"CONFIRM": "Oui, supprimer",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Contact supprimé avec succès",
|
||||
@@ -566,7 +566,7 @@
|
||||
"BUTTON_LABEL": "Add contact",
|
||||
"SEARCH_EMPTY_STATE_TITLE": "Aucun contact ne correspond à votre recherche 🔍",
|
||||
"LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋",
|
||||
"ACTIVE_EMPTY_STATE_TITLE": "Aucun contact n'est actif pour le moment 🌙"
|
||||
"ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙"
|
||||
}
|
||||
},
|
||||
"COMPOSE_NEW_CONVERSATION": {
|
||||
|
||||
@@ -1,33 +1,33 @@
|
||||
{
|
||||
"CONTENT_TEMPLATES": {
|
||||
"MODAL": {
|
||||
"TITLE": "Modèles Twilio",
|
||||
"SUBTITLE": "Sélectionnez le modèle Twilio que vous souhaitez envoyer",
|
||||
"TEMPLATE_SELECTED_SUBTITLE": "Configurer le modèle : {templateName}"
|
||||
"TITLE": "Twilio Templates",
|
||||
"SUBTITLE": "Select the Twilio template you want to send",
|
||||
"TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
|
||||
},
|
||||
"PICKER": {
|
||||
"SEARCH_PLACEHOLDER": "Rechercher des modèles",
|
||||
"NO_TEMPLATES_FOUND": "Aucun modèle trouvé pour",
|
||||
"NO_CONTENT": "No content",
|
||||
"HEADER": "En-tête",
|
||||
"BODY": "Corps",
|
||||
"FOOTER": "Pied de page",
|
||||
"BUTTONS": "Boutons",
|
||||
"HEADER": "Header",
|
||||
"BODY": "Body",
|
||||
"FOOTER": "Footer",
|
||||
"BUTTONS": "Buttons",
|
||||
"CATEGORY": "Catégorie",
|
||||
"MEDIA_CONTENT": "Contenu média",
|
||||
"MEDIA_CONTENT_FALLBACK": "contenu multimédia",
|
||||
"NO_TEMPLATES_AVAILABLE": "Aucun modèle Twilio disponible. Cliquez sur Actualiser pour synchroniser les modèles de Twilio.",
|
||||
"REFRESH_BUTTON": "Rafraîchir les modèles",
|
||||
"REFRESH_SUCCESS": "Mise à jour des modèles. La mise à jour peut prendre quelques minutes.",
|
||||
"REFRESH_ERROR": "Échec de la mise à jour des modèles. Veuillez réessayer.",
|
||||
"MEDIA_CONTENT": "Media Content",
|
||||
"MEDIA_CONTENT_FALLBACK": "media content",
|
||||
"NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
|
||||
"REFRESH_BUTTON": "Refresh templates",
|
||||
"REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
|
||||
"REFRESH_ERROR": "Failed to refresh templates. Please try again.",
|
||||
"LABELS": {
|
||||
"LANGUAGE": "Langue",
|
||||
"TEMPLATE_BODY": "Corps du modèle",
|
||||
"CATEGORY": "Catégorie"
|
||||
},
|
||||
"TYPES": {
|
||||
"MEDIA": "Média",
|
||||
"QUICK_REPLY": "Réponse rapide",
|
||||
"MEDIA": "Media",
|
||||
"QUICK_REPLY": "Quick Reply",
|
||||
"TEXT": "Texte"
|
||||
}
|
||||
},
|
||||
@@ -39,8 +39,8 @@
|
||||
"GO_BACK_LABEL": "Retour",
|
||||
"SEND_MESSAGE_LABEL": "Envoyer un message",
|
||||
"FORM_ERROR_MESSAGE": "Veuillez remplir toutes les variables avant d'envoyer",
|
||||
"MEDIA_HEADER_LABEL": "En-tête {type}",
|
||||
"MEDIA_URL_LABEL": "Saisissez l'URL complète du média",
|
||||
"MEDIA_HEADER_LABEL": "{type} Header",
|
||||
"MEDIA_URL_LABEL": "Enter full media URL",
|
||||
"MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
|
||||
},
|
||||
"FORM": {
|
||||
|
||||
@@ -35,11 +35,11 @@
|
||||
"API_HOURS_WINDOW": "Vous ne pouvez répondre à cette conversation que dans un délai de {hours} heures",
|
||||
"NOT_ASSIGNED_TO_YOU": "Cette conversation ne vous est pas assignée. Voulez-vous vous assigner cette conversation ?",
|
||||
"ASSIGN_TO_ME": "M’assigner la conversation",
|
||||
"BOT_HANDOFF_MESSAGE": "Vous répondez à une conversation actuellement gérée par un assistant ou un bot.",
|
||||
"BOT_HANDOFF_ACTION": "Ouvrir et m’attribuer",
|
||||
"BOT_HANDOFF_REOPEN_ACTION": "Marquer la conversation comme ouverte",
|
||||
"BOT_HANDOFF_SUCCESS": "La conversation vous a été attribuée",
|
||||
"BOT_HANDOFF_ERROR": "Impossible de reprendre la conversation. Veuillez réessayer.",
|
||||
"BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
|
||||
"BOT_HANDOFF_ACTION": "Mark open and assign to you",
|
||||
"BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
|
||||
"BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
|
||||
"BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
|
||||
"TWILIO_WHATSAPP_CAN_REPLY": "Vous pouvez seulement répondre à cette conversation en utilisant un modèle de message en raison de",
|
||||
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "Restriction de fenêtre de message de 24 heures",
|
||||
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "Ce compte Instagram a été migré vers la nouvelle boîte de réception du canal Instagram. Tous les nouveaux messages y apparaîtront. Vous ne pourrez plus envoyer de messages depuis cette conversation.",
|
||||
@@ -71,22 +71,11 @@
|
||||
"SHOW_LABELS": "Afficher les étiquettes",
|
||||
"HIDE_LABELS": "Masquer les étiquettes"
|
||||
},
|
||||
"VOICE_CALL": {
|
||||
"INCOMING_CALL": "Appel entrant",
|
||||
"OUTGOING_CALL": "Appel sortant",
|
||||
"CALL_IN_PROGRESS": "Appel en cours",
|
||||
"NO_ANSWER": "Pas de réponse",
|
||||
"MISSED_CALL": "Appel manqué",
|
||||
"CALL_ENDED": "Appel terminé",
|
||||
"NOT_ANSWERED_YET": "Pas encore répondu",
|
||||
"THEY_ANSWERED": "Il a répondu",
|
||||
"YOU_ANSWERED": "Vous avez répondu"
|
||||
},
|
||||
"HEADER": {
|
||||
"RESOLVE_ACTION": "Résoudre",
|
||||
"REOPEN_ACTION": "Ré-ouvrir",
|
||||
"OPEN_ACTION": "Ouvert",
|
||||
"MORE_ACTIONS": "Plus d'actions",
|
||||
"MORE_ACTIONS": "More actions",
|
||||
"OPEN": "Plus",
|
||||
"CLOSE": "Fermer",
|
||||
"DETAILS": "détails",
|
||||
@@ -139,8 +128,8 @@
|
||||
}
|
||||
},
|
||||
"DELETE_CONVERSATION": {
|
||||
"TITLE": "Supprimer la conversation #{conversationId}",
|
||||
"DESCRIPTION": "Êtes-vous sûr de vouloir supprimer cette conversation ?",
|
||||
"TITLE": "Delete conversation #{conversationId}",
|
||||
"DESCRIPTION": "Are you sure you want to delete this conversation?",
|
||||
"CONFIRM": "Supprimer"
|
||||
},
|
||||
"CARD_CONTEXT_MENU": {
|
||||
@@ -159,10 +148,10 @@
|
||||
"ASSIGN_LABEL": "Assigner une étiquette",
|
||||
"AGENTS_LOADING": "Chargement des agents...",
|
||||
"ASSIGN_TEAM": "Assigner une équipe",
|
||||
"DELETE": "Supprimer la conversation",
|
||||
"OPEN_IN_NEW_TAB": "Ouvrir dans un nouvel onglet",
|
||||
"COPY_LINK": "Copier le lien de la conversation",
|
||||
"COPY_LINK_SUCCESS": "Le lien de conversation a été copié dans le presse-papiers",
|
||||
"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} assignée à \"{agentName}\"",
|
||||
@@ -237,8 +226,8 @@
|
||||
"ASSIGN_LABEL_SUCCESFUL": "Étiquette attribuée avec succès",
|
||||
"ASSIGN_LABEL_FAILED": "Échec de l'attribution de l'étiquette",
|
||||
"CHANGE_TEAM": "L'équipe de conversation a été modifiée",
|
||||
"SUCCESS_DELETE_CONVERSATION": "Conversation supprimée avec succès",
|
||||
"FAIL_DELETE_CONVERSATION": "Impossible de supprimer la conversation ! Veuillez réessayer",
|
||||
"SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully",
|
||||
"FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again",
|
||||
"FILE_SIZE_LIMIT": "Le fichier dépasse la limite de {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} pour les pièces jointes",
|
||||
"MESSAGE_ERROR": "Impossible d'envoyer ce message, veuillez réessayer plus tard",
|
||||
"SENT_BY": "Envoyé par:",
|
||||
|
||||
@@ -51,13 +51,6 @@
|
||||
"LARGER": "Larger",
|
||||
"EXTRA_LARGE": "Extra Large"
|
||||
}
|
||||
},
|
||||
"LANGUAGE": {
|
||||
"TITLE": "Preferred Language",
|
||||
"NOTE": "Choose the language you want to use.",
|
||||
"UPDATE_SUCCESS": "Your Language settings have been updated successfully",
|
||||
"UPDATE_ERROR": "There is an error while updating the language settings, please try again",
|
||||
"USE_ACCOUNT_DEFAULT": "Use account default"
|
||||
}
|
||||
},
|
||||
"MESSAGE_SIGNATURE_SECTION": {
|
||||
@@ -337,7 +330,6 @@
|
||||
"REPORTS_LABEL": "Étiquettes",
|
||||
"REPORTS_INBOX": "Boîte de réception",
|
||||
"REPORTS_TEAM": "Équipes",
|
||||
"AGENT_ASSIGNMENT": "Agent Assignment",
|
||||
"SET_AVAILABILITY_TITLE": "Se définir comme",
|
||||
"SET_YOUR_AVAILABILITY": "Définissez votre disponibilité",
|
||||
"SLA": "SLA",
|
||||
@@ -426,255 +418,5 @@
|
||||
"SWITCH_TO_REPLY": "Basculer vers la réponse",
|
||||
"TOGGLE_SNOOZE_DROPDOWN": "Activer/désactiver la liste déroulante de répétition"
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent assignment",
|
||||
"DESCRIPTION": "Define policies to effectively manage workload and route conversations based on the needs of inboxes and agents. Learn more here"
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"TITLE": "Assignment policy",
|
||||
"DESCRIPTION": "Manage how conversations get assigned in inboxes.",
|
||||
"FEATURES": [
|
||||
"Assign by conversations evenly or by available capacity",
|
||||
"Add fair distribution rules to avoid overloading any agent",
|
||||
"Add inboxes to a policy - one policy per inbox"
|
||||
]
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"TITLE": "Agent capacity policy",
|
||||
"DESCRIPTION": "Manage workload for agents.",
|
||||
"FEATURES": [
|
||||
"Define maximum conversations per inbox",
|
||||
"Create exceptions based on labels and time",
|
||||
"Add agents to a policy - one policy per agent"
|
||||
]
|
||||
}
|
||||
},
|
||||
"AGENT_ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Assignment policy",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"ORDER": "Order",
|
||||
"PRIORITY": "Priorité",
|
||||
"ACTIVE": "Actif",
|
||||
"INACTIVE": "Inactive",
|
||||
"POPOVER": "Added inboxes",
|
||||
"EDIT": "Modifier"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No assignment policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create assignment policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create assignment policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit assignment policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_INBOX_DIALOG": {
|
||||
"TITLE": "Add inbox",
|
||||
"DESCRIPTION": "{inboxName} inbox is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Annuler"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update assignment policy"
|
||||
},
|
||||
"INBOX_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Inbox added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Inbox removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove inbox from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Description:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"STATUS": {
|
||||
"LABEL": "État:",
|
||||
"PLACEHOLDER": "Select status",
|
||||
"ACTIVE": "Policy is active",
|
||||
"INACTIVE": "Policy is inactive"
|
||||
},
|
||||
"ASSIGNMENT_ORDER": {
|
||||
"LABEL": "Assignment order",
|
||||
"ROUND_ROBIN": {
|
||||
"LABEL": "Round robin",
|
||||
"DESCRIPTION": "Assign conversations evenly among agents."
|
||||
},
|
||||
"BALANCED": {
|
||||
"LABEL": "Balanced",
|
||||
"DESCRIPTION": "Assign conversations based on available capacity."
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_PRIORITY": {
|
||||
"LABEL": "Assignment priority",
|
||||
"EARLIEST_CREATED": {
|
||||
"LABEL": "Earliest created",
|
||||
"DESCRIPTION": "The conversation that was created first gets assigned first."
|
||||
},
|
||||
"LONGEST_WAITING": {
|
||||
"LABEL": "Longest waiting",
|
||||
"DESCRIPTION": "The conversation waiting the longest gets assigned first."
|
||||
}
|
||||
},
|
||||
"FAIR_DISTRIBUTION": {
|
||||
"LABEL": "Fair distribution policy",
|
||||
"DESCRIPTION": "Set the maximum number of conversations that can be assigned per agent within a time window to avoid overloading any one agent. This required field defaults to 100 conversations per hour.",
|
||||
"INPUT_MAX": "Assign max",
|
||||
"DURATION": "Conversations per agent in every"
|
||||
},
|
||||
"INBOXES": {
|
||||
"LABEL": "Added inboxes",
|
||||
"DESCRIPTION": "Add inboxes for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select inboxes to add",
|
||||
"ADD_BUTTON": "Ajouter"
|
||||
},
|
||||
"EMPTY_STATE": "No inboxes added to this policy, add an inbox to get started",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Inbox successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete assignment policy"
|
||||
}
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent capacity",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"POPOVER": "Added agents",
|
||||
"EDIT": "Modifier"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No agent capacity policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create agent capacity policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create agent capacity policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit agent capacity policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_AGENT_DIALOG": {
|
||||
"TITLE": "Add agent",
|
||||
"DESCRIPTION": "{agentName} is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Annuler"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update agent capacity policy"
|
||||
},
|
||||
"AGENT_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Agent added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Agent removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove agent from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Description:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"INBOX_CAPACITY_LIMIT": {
|
||||
"LABEL": "Inbox capacity limits",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"FIELD": {
|
||||
"SELECT_INBOX": "Select inbox",
|
||||
"MAX_CONVERSATIONS": "Max conversations",
|
||||
"SET_LIMIT": "Set limit"
|
||||
},
|
||||
"EMPTY_STATE": "No inbox limit set"
|
||||
},
|
||||
"EXCLUSION_RULES": {
|
||||
"LABEL": "Exclusion rules",
|
||||
"DESCRIPTION": "Conversations that satisfy the following conditions would not count towards agent capacity",
|
||||
"TAGS": {
|
||||
"LABEL": "Exclude conversations tagged with specific labels",
|
||||
"ADD_TAG": "add tag",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select tags to add"
|
||||
},
|
||||
"EMPTY_STATE": "No tags added to this policy."
|
||||
},
|
||||
"DURATION": {
|
||||
"LABEL": "Exclude conversations older than a specified duration",
|
||||
"PLACEHOLDER": "Set time"
|
||||
}
|
||||
},
|
||||
"USERS": {
|
||||
"LABEL": "Assigned agents",
|
||||
"DESCRIPTION": "Add agents for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add agent",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select agents to add",
|
||||
"ADD_BUTTON": "Ajouter"
|
||||
},
|
||||
"EMPTY_STATE": "No agents added",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete agent capacity policy"
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"TITLE": "Delete policy",
|
||||
"DESCRIPTION": "Are you sure you want to delete this policy? This action cannot be undone.",
|
||||
"CONFIRM_BUTTON_LABEL": "Supprimer",
|
||||
"CANCEL_BUTTON_LABEL": "Annuler"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,17 +71,6 @@
|
||||
"SHOW_LABELS": "הצג תויות",
|
||||
"HIDE_LABELS": "הסתר תוויות"
|
||||
},
|
||||
"VOICE_CALL": {
|
||||
"INCOMING_CALL": "Incoming call",
|
||||
"OUTGOING_CALL": "Outgoing call",
|
||||
"CALL_IN_PROGRESS": "Call in progress",
|
||||
"NO_ANSWER": "No answer",
|
||||
"MISSED_CALL": "Missed call",
|
||||
"CALL_ENDED": "Call ended",
|
||||
"NOT_ANSWERED_YET": "Not answered yet",
|
||||
"THEY_ANSWERED": "They answered",
|
||||
"YOU_ANSWERED": "You answered"
|
||||
},
|
||||
"HEADER": {
|
||||
"RESOLVE_ACTION": "פתרון",
|
||||
"REOPEN_ACTION": "פתח מחדש",
|
||||
|
||||
@@ -51,13 +51,6 @@
|
||||
"LARGER": "Larger",
|
||||
"EXTRA_LARGE": "Extra Large"
|
||||
}
|
||||
},
|
||||
"LANGUAGE": {
|
||||
"TITLE": "Preferred Language",
|
||||
"NOTE": "Choose the language you want to use.",
|
||||
"UPDATE_SUCCESS": "Your Language settings have been updated successfully",
|
||||
"UPDATE_ERROR": "There is an error while updating the language settings, please try again",
|
||||
"USE_ACCOUNT_DEFAULT": "Use account default"
|
||||
}
|
||||
},
|
||||
"MESSAGE_SIGNATURE_SECTION": {
|
||||
@@ -337,7 +330,6 @@
|
||||
"REPORTS_LABEL": "תוויות",
|
||||
"REPORTS_INBOX": "תיבת הדואר הנכנס",
|
||||
"REPORTS_TEAM": "צוות",
|
||||
"AGENT_ASSIGNMENT": "Agent Assignment",
|
||||
"SET_AVAILABILITY_TITLE": "הגדר את עצמך בתור",
|
||||
"SET_YOUR_AVAILABILITY": "הגדר את הזמינות שלך",
|
||||
"SLA": "SLA",
|
||||
@@ -426,255 +418,5 @@
|
||||
"SWITCH_TO_REPLY": "עבור לתשובה",
|
||||
"TOGGLE_SNOOZE_DROPDOWN": "החלפת תפריט נודניק"
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent assignment",
|
||||
"DESCRIPTION": "Define policies to effectively manage workload and route conversations based on the needs of inboxes and agents. Learn more here"
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"TITLE": "Assignment policy",
|
||||
"DESCRIPTION": "Manage how conversations get assigned in inboxes.",
|
||||
"FEATURES": [
|
||||
"Assign by conversations evenly or by available capacity",
|
||||
"Add fair distribution rules to avoid overloading any agent",
|
||||
"Add inboxes to a policy - one policy per inbox"
|
||||
]
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"TITLE": "Agent capacity policy",
|
||||
"DESCRIPTION": "Manage workload for agents.",
|
||||
"FEATURES": [
|
||||
"Define maximum conversations per inbox",
|
||||
"Create exceptions based on labels and time",
|
||||
"Add agents to a policy - one policy per agent"
|
||||
]
|
||||
}
|
||||
},
|
||||
"AGENT_ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Assignment policy",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"ORDER": "Order",
|
||||
"PRIORITY": "Priority",
|
||||
"ACTIVE": "פעיל",
|
||||
"INACTIVE": "Inactive",
|
||||
"POPOVER": "Added inboxes",
|
||||
"EDIT": "ערוך"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No assignment policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create assignment policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create assignment policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit assignment policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_INBOX_DIALOG": {
|
||||
"TITLE": "Add inbox",
|
||||
"DESCRIPTION": "{inboxName} inbox is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "ביטול"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update assignment policy"
|
||||
},
|
||||
"INBOX_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Inbox added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Inbox removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove inbox from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "תיאור:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"STATUS": {
|
||||
"LABEL": "מצב:",
|
||||
"PLACEHOLDER": "Select status",
|
||||
"ACTIVE": "Policy is active",
|
||||
"INACTIVE": "Policy is inactive"
|
||||
},
|
||||
"ASSIGNMENT_ORDER": {
|
||||
"LABEL": "Assignment order",
|
||||
"ROUND_ROBIN": {
|
||||
"LABEL": "Round robin",
|
||||
"DESCRIPTION": "Assign conversations evenly among agents."
|
||||
},
|
||||
"BALANCED": {
|
||||
"LABEL": "Balanced",
|
||||
"DESCRIPTION": "Assign conversations based on available capacity."
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_PRIORITY": {
|
||||
"LABEL": "Assignment priority",
|
||||
"EARLIEST_CREATED": {
|
||||
"LABEL": "Earliest created",
|
||||
"DESCRIPTION": "The conversation that was created first gets assigned first."
|
||||
},
|
||||
"LONGEST_WAITING": {
|
||||
"LABEL": "Longest waiting",
|
||||
"DESCRIPTION": "The conversation waiting the longest gets assigned first."
|
||||
}
|
||||
},
|
||||
"FAIR_DISTRIBUTION": {
|
||||
"LABEL": "Fair distribution policy",
|
||||
"DESCRIPTION": "Set the maximum number of conversations that can be assigned per agent within a time window to avoid overloading any one agent. This required field defaults to 100 conversations per hour.",
|
||||
"INPUT_MAX": "Assign max",
|
||||
"DURATION": "Conversations per agent in every"
|
||||
},
|
||||
"INBOXES": {
|
||||
"LABEL": "Added inboxes",
|
||||
"DESCRIPTION": "Add inboxes for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select inboxes to add",
|
||||
"ADD_BUTTON": "הוסף"
|
||||
},
|
||||
"EMPTY_STATE": "No inboxes added to this policy, add an inbox to get started",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Inbox successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete assignment policy"
|
||||
}
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent capacity",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"POPOVER": "Added agents",
|
||||
"EDIT": "ערוך"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No agent capacity policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create agent capacity policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create agent capacity policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit agent capacity policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_AGENT_DIALOG": {
|
||||
"TITLE": "Add agent",
|
||||
"DESCRIPTION": "{agentName} is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "ביטול"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update agent capacity policy"
|
||||
},
|
||||
"AGENT_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Agent added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Agent removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove agent from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "תיאור:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"INBOX_CAPACITY_LIMIT": {
|
||||
"LABEL": "Inbox capacity limits",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"FIELD": {
|
||||
"SELECT_INBOX": "Select inbox",
|
||||
"MAX_CONVERSATIONS": "Max conversations",
|
||||
"SET_LIMIT": "Set limit"
|
||||
},
|
||||
"EMPTY_STATE": "No inbox limit set"
|
||||
},
|
||||
"EXCLUSION_RULES": {
|
||||
"LABEL": "Exclusion rules",
|
||||
"DESCRIPTION": "Conversations that satisfy the following conditions would not count towards agent capacity",
|
||||
"TAGS": {
|
||||
"LABEL": "Exclude conversations tagged with specific labels",
|
||||
"ADD_TAG": "add tag",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select tags to add"
|
||||
},
|
||||
"EMPTY_STATE": "No tags added to this policy."
|
||||
},
|
||||
"DURATION": {
|
||||
"LABEL": "Exclude conversations older than a specified duration",
|
||||
"PLACEHOLDER": "Set time"
|
||||
}
|
||||
},
|
||||
"USERS": {
|
||||
"LABEL": "Assigned agents",
|
||||
"DESCRIPTION": "Add agents for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add agent",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select agents to add",
|
||||
"ADD_BUTTON": "הוסף"
|
||||
},
|
||||
"EMPTY_STATE": "No agents added",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete agent capacity policy"
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"TITLE": "Delete policy",
|
||||
"DESCRIPTION": "Are you sure you want to delete this policy? This action cannot be undone.",
|
||||
"CONFIRM_BUTTON_LABEL": "מחק",
|
||||
"CANCEL_BUTTON_LABEL": "ביטול"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,17 +71,6 @@
|
||||
"SHOW_LABELS": "Show labels",
|
||||
"HIDE_LABELS": "Hide labels"
|
||||
},
|
||||
"VOICE_CALL": {
|
||||
"INCOMING_CALL": "Incoming call",
|
||||
"OUTGOING_CALL": "Outgoing call",
|
||||
"CALL_IN_PROGRESS": "Call in progress",
|
||||
"NO_ANSWER": "No answer",
|
||||
"MISSED_CALL": "Missed call",
|
||||
"CALL_ENDED": "Call ended",
|
||||
"NOT_ANSWERED_YET": "Not answered yet",
|
||||
"THEY_ANSWERED": "They answered",
|
||||
"YOU_ANSWERED": "You answered"
|
||||
},
|
||||
"HEADER": {
|
||||
"RESOLVE_ACTION": "Resolve",
|
||||
"REOPEN_ACTION": "Reopen",
|
||||
|
||||
@@ -51,13 +51,6 @@
|
||||
"LARGER": "Larger",
|
||||
"EXTRA_LARGE": "Extra Large"
|
||||
}
|
||||
},
|
||||
"LANGUAGE": {
|
||||
"TITLE": "Preferred Language",
|
||||
"NOTE": "Choose the language you want to use.",
|
||||
"UPDATE_SUCCESS": "Your Language settings have been updated successfully",
|
||||
"UPDATE_ERROR": "There is an error while updating the language settings, please try again",
|
||||
"USE_ACCOUNT_DEFAULT": "Use account default"
|
||||
}
|
||||
},
|
||||
"MESSAGE_SIGNATURE_SECTION": {
|
||||
@@ -337,7 +330,6 @@
|
||||
"REPORTS_LABEL": "Labels",
|
||||
"REPORTS_INBOX": "Inbox",
|
||||
"REPORTS_TEAM": "Team",
|
||||
"AGENT_ASSIGNMENT": "Agent Assignment",
|
||||
"SET_AVAILABILITY_TITLE": "Set yourself as",
|
||||
"SET_YOUR_AVAILABILITY": "Set your availability",
|
||||
"SLA": "SLA",
|
||||
@@ -426,255 +418,5 @@
|
||||
"SWITCH_TO_REPLY": "Switch to Reply",
|
||||
"TOGGLE_SNOOZE_DROPDOWN": "Toggle snooze dropdown"
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent assignment",
|
||||
"DESCRIPTION": "Define policies to effectively manage workload and route conversations based on the needs of inboxes and agents. Learn more here"
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"TITLE": "Assignment policy",
|
||||
"DESCRIPTION": "Manage how conversations get assigned in inboxes.",
|
||||
"FEATURES": [
|
||||
"Assign by conversations evenly or by available capacity",
|
||||
"Add fair distribution rules to avoid overloading any agent",
|
||||
"Add inboxes to a policy - one policy per inbox"
|
||||
]
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"TITLE": "Agent capacity policy",
|
||||
"DESCRIPTION": "Manage workload for agents.",
|
||||
"FEATURES": [
|
||||
"Define maximum conversations per inbox",
|
||||
"Create exceptions based on labels and time",
|
||||
"Add agents to a policy - one policy per agent"
|
||||
]
|
||||
}
|
||||
},
|
||||
"AGENT_ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Assignment policy",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"ORDER": "Order",
|
||||
"PRIORITY": "Priority",
|
||||
"ACTIVE": "Active",
|
||||
"INACTIVE": "Inactive",
|
||||
"POPOVER": "Added inboxes",
|
||||
"EDIT": "Edit"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No assignment policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create assignment policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create assignment policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit assignment policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_INBOX_DIALOG": {
|
||||
"TITLE": "Add inbox",
|
||||
"DESCRIPTION": "{inboxName} inbox is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Cancel"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update assignment policy"
|
||||
},
|
||||
"INBOX_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Inbox added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Inbox removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove inbox from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Description:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"STATUS": {
|
||||
"LABEL": "Status:",
|
||||
"PLACEHOLDER": "Select status",
|
||||
"ACTIVE": "Policy is active",
|
||||
"INACTIVE": "Policy is inactive"
|
||||
},
|
||||
"ASSIGNMENT_ORDER": {
|
||||
"LABEL": "Assignment order",
|
||||
"ROUND_ROBIN": {
|
||||
"LABEL": "Round robin",
|
||||
"DESCRIPTION": "Assign conversations evenly among agents."
|
||||
},
|
||||
"BALANCED": {
|
||||
"LABEL": "Balanced",
|
||||
"DESCRIPTION": "Assign conversations based on available capacity."
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_PRIORITY": {
|
||||
"LABEL": "Assignment priority",
|
||||
"EARLIEST_CREATED": {
|
||||
"LABEL": "Earliest created",
|
||||
"DESCRIPTION": "The conversation that was created first gets assigned first."
|
||||
},
|
||||
"LONGEST_WAITING": {
|
||||
"LABEL": "Longest waiting",
|
||||
"DESCRIPTION": "The conversation waiting the longest gets assigned first."
|
||||
}
|
||||
},
|
||||
"FAIR_DISTRIBUTION": {
|
||||
"LABEL": "Fair distribution policy",
|
||||
"DESCRIPTION": "Set the maximum number of conversations that can be assigned per agent within a time window to avoid overloading any one agent. This required field defaults to 100 conversations per hour.",
|
||||
"INPUT_MAX": "Assign max",
|
||||
"DURATION": "Conversations per agent in every"
|
||||
},
|
||||
"INBOXES": {
|
||||
"LABEL": "Added inboxes",
|
||||
"DESCRIPTION": "Add inboxes for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select inboxes to add",
|
||||
"ADD_BUTTON": "Add"
|
||||
},
|
||||
"EMPTY_STATE": "No inboxes added to this policy, add an inbox to get started",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Inbox successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete assignment policy"
|
||||
}
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent capacity",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"POPOVER": "Added agents",
|
||||
"EDIT": "Edit"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No agent capacity policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create agent capacity policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create agent capacity policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit agent capacity policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_AGENT_DIALOG": {
|
||||
"TITLE": "Add agent",
|
||||
"DESCRIPTION": "{agentName} is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Cancel"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update agent capacity policy"
|
||||
},
|
||||
"AGENT_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Agent added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Agent removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove agent from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Description:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"INBOX_CAPACITY_LIMIT": {
|
||||
"LABEL": "Inbox capacity limits",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"FIELD": {
|
||||
"SELECT_INBOX": "Select inbox",
|
||||
"MAX_CONVERSATIONS": "Max conversations",
|
||||
"SET_LIMIT": "Set limit"
|
||||
},
|
||||
"EMPTY_STATE": "No inbox limit set"
|
||||
},
|
||||
"EXCLUSION_RULES": {
|
||||
"LABEL": "Exclusion rules",
|
||||
"DESCRIPTION": "Conversations that satisfy the following conditions would not count towards agent capacity",
|
||||
"TAGS": {
|
||||
"LABEL": "Exclude conversations tagged with specific labels",
|
||||
"ADD_TAG": "add tag",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select tags to add"
|
||||
},
|
||||
"EMPTY_STATE": "No tags added to this policy."
|
||||
},
|
||||
"DURATION": {
|
||||
"LABEL": "Exclude conversations older than a specified duration",
|
||||
"PLACEHOLDER": "Set time"
|
||||
}
|
||||
},
|
||||
"USERS": {
|
||||
"LABEL": "Assigned agents",
|
||||
"DESCRIPTION": "Add agents for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add agent",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select agents to add",
|
||||
"ADD_BUTTON": "Add"
|
||||
},
|
||||
"EMPTY_STATE": "No agents added",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete agent capacity policy"
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"TITLE": "Delete policy",
|
||||
"DESCRIPTION": "Are you sure you want to delete this policy? This action cannot be undone.",
|
||||
"CONFIRM_BUTTON_LABEL": "Delete",
|
||||
"CANCEL_BUTTON_LABEL": "Cancel"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,17 +71,6 @@
|
||||
"SHOW_LABELS": "Show labels",
|
||||
"HIDE_LABELS": "Hide labels"
|
||||
},
|
||||
"VOICE_CALL": {
|
||||
"INCOMING_CALL": "Incoming call",
|
||||
"OUTGOING_CALL": "Outgoing call",
|
||||
"CALL_IN_PROGRESS": "Call in progress",
|
||||
"NO_ANSWER": "No answer",
|
||||
"MISSED_CALL": "Missed call",
|
||||
"CALL_ENDED": "Call ended",
|
||||
"NOT_ANSWERED_YET": "Not answered yet",
|
||||
"THEY_ANSWERED": "They answered",
|
||||
"YOU_ANSWERED": "You answered"
|
||||
},
|
||||
"HEADER": {
|
||||
"RESOLVE_ACTION": "Resolve",
|
||||
"REOPEN_ACTION": "Reopen",
|
||||
|
||||
@@ -51,13 +51,6 @@
|
||||
"LARGER": "Larger",
|
||||
"EXTRA_LARGE": "Extra Large"
|
||||
}
|
||||
},
|
||||
"LANGUAGE": {
|
||||
"TITLE": "Preferred Language",
|
||||
"NOTE": "Choose the language you want to use.",
|
||||
"UPDATE_SUCCESS": "Your Language settings have been updated successfully",
|
||||
"UPDATE_ERROR": "There is an error while updating the language settings, please try again",
|
||||
"USE_ACCOUNT_DEFAULT": "Use account default"
|
||||
}
|
||||
},
|
||||
"MESSAGE_SIGNATURE_SECTION": {
|
||||
@@ -337,7 +330,6 @@
|
||||
"REPORTS_LABEL": "Labels",
|
||||
"REPORTS_INBOX": "Inbox",
|
||||
"REPORTS_TEAM": "Tim",
|
||||
"AGENT_ASSIGNMENT": "Agent Assignment",
|
||||
"SET_AVAILABILITY_TITLE": "Postavi sebe kao",
|
||||
"SET_YOUR_AVAILABILITY": "Set your availability",
|
||||
"SLA": "SLA",
|
||||
@@ -426,255 +418,5 @@
|
||||
"SWITCH_TO_REPLY": "Switch to Reply",
|
||||
"TOGGLE_SNOOZE_DROPDOWN": "Toggle snooze dropdown"
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent assignment",
|
||||
"DESCRIPTION": "Define policies to effectively manage workload and route conversations based on the needs of inboxes and agents. Learn more here"
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"TITLE": "Assignment policy",
|
||||
"DESCRIPTION": "Manage how conversations get assigned in inboxes.",
|
||||
"FEATURES": [
|
||||
"Assign by conversations evenly or by available capacity",
|
||||
"Add fair distribution rules to avoid overloading any agent",
|
||||
"Add inboxes to a policy - one policy per inbox"
|
||||
]
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"TITLE": "Agent capacity policy",
|
||||
"DESCRIPTION": "Manage workload for agents.",
|
||||
"FEATURES": [
|
||||
"Define maximum conversations per inbox",
|
||||
"Create exceptions based on labels and time",
|
||||
"Add agents to a policy - one policy per agent"
|
||||
]
|
||||
}
|
||||
},
|
||||
"AGENT_ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Assignment policy",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"ORDER": "Order",
|
||||
"PRIORITY": "Prioritet",
|
||||
"ACTIVE": "Active",
|
||||
"INACTIVE": "Inactive",
|
||||
"POPOVER": "Added inboxes",
|
||||
"EDIT": "Uredi"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No assignment policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create assignment policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create assignment policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit assignment policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_INBOX_DIALOG": {
|
||||
"TITLE": "Add inbox",
|
||||
"DESCRIPTION": "{inboxName} inbox is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Odustani"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update assignment policy"
|
||||
},
|
||||
"INBOX_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Inbox added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Inbox removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove inbox from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Description:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"STATUS": {
|
||||
"LABEL": "Status:",
|
||||
"PLACEHOLDER": "Select status",
|
||||
"ACTIVE": "Policy is active",
|
||||
"INACTIVE": "Policy is inactive"
|
||||
},
|
||||
"ASSIGNMENT_ORDER": {
|
||||
"LABEL": "Assignment order",
|
||||
"ROUND_ROBIN": {
|
||||
"LABEL": "Round robin",
|
||||
"DESCRIPTION": "Assign conversations evenly among agents."
|
||||
},
|
||||
"BALANCED": {
|
||||
"LABEL": "Balanced",
|
||||
"DESCRIPTION": "Assign conversations based on available capacity."
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_PRIORITY": {
|
||||
"LABEL": "Assignment priority",
|
||||
"EARLIEST_CREATED": {
|
||||
"LABEL": "Earliest created",
|
||||
"DESCRIPTION": "The conversation that was created first gets assigned first."
|
||||
},
|
||||
"LONGEST_WAITING": {
|
||||
"LABEL": "Longest waiting",
|
||||
"DESCRIPTION": "The conversation waiting the longest gets assigned first."
|
||||
}
|
||||
},
|
||||
"FAIR_DISTRIBUTION": {
|
||||
"LABEL": "Fair distribution policy",
|
||||
"DESCRIPTION": "Set the maximum number of conversations that can be assigned per agent within a time window to avoid overloading any one agent. This required field defaults to 100 conversations per hour.",
|
||||
"INPUT_MAX": "Assign max",
|
||||
"DURATION": "Conversations per agent in every"
|
||||
},
|
||||
"INBOXES": {
|
||||
"LABEL": "Added inboxes",
|
||||
"DESCRIPTION": "Add inboxes for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select inboxes to add",
|
||||
"ADD_BUTTON": "Add"
|
||||
},
|
||||
"EMPTY_STATE": "No inboxes added to this policy, add an inbox to get started",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Inbox successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete assignment policy"
|
||||
}
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent capacity",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"POPOVER": "Added agents",
|
||||
"EDIT": "Uredi"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No agent capacity policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create agent capacity policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create agent capacity policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit agent capacity policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_AGENT_DIALOG": {
|
||||
"TITLE": "Add agent",
|
||||
"DESCRIPTION": "{agentName} is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Odustani"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update agent capacity policy"
|
||||
},
|
||||
"AGENT_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Agent added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Agent removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove agent from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Description:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"INBOX_CAPACITY_LIMIT": {
|
||||
"LABEL": "Inbox capacity limits",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"FIELD": {
|
||||
"SELECT_INBOX": "Select inbox",
|
||||
"MAX_CONVERSATIONS": "Max conversations",
|
||||
"SET_LIMIT": "Set limit"
|
||||
},
|
||||
"EMPTY_STATE": "No inbox limit set"
|
||||
},
|
||||
"EXCLUSION_RULES": {
|
||||
"LABEL": "Exclusion rules",
|
||||
"DESCRIPTION": "Conversations that satisfy the following conditions would not count towards agent capacity",
|
||||
"TAGS": {
|
||||
"LABEL": "Exclude conversations tagged with specific labels",
|
||||
"ADD_TAG": "add tag",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select tags to add"
|
||||
},
|
||||
"EMPTY_STATE": "No tags added to this policy."
|
||||
},
|
||||
"DURATION": {
|
||||
"LABEL": "Exclude conversations older than a specified duration",
|
||||
"PLACEHOLDER": "Set time"
|
||||
}
|
||||
},
|
||||
"USERS": {
|
||||
"LABEL": "Assigned agents",
|
||||
"DESCRIPTION": "Add agents for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add agent",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select agents to add",
|
||||
"ADD_BUTTON": "Add"
|
||||
},
|
||||
"EMPTY_STATE": "No agents added",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete agent capacity policy"
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"TITLE": "Delete policy",
|
||||
"DESCRIPTION": "Are you sure you want to delete this policy? This action cannot be undone.",
|
||||
"CONFIRM_BUTTON_LABEL": "Izbriši",
|
||||
"CANCEL_BUTTON_LABEL": "Odustani"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,17 +71,6 @@
|
||||
"SHOW_LABELS": "Cimkék mutatása",
|
||||
"HIDE_LABELS": "Cimkék elrejtése"
|
||||
},
|
||||
"VOICE_CALL": {
|
||||
"INCOMING_CALL": "Incoming call",
|
||||
"OUTGOING_CALL": "Outgoing call",
|
||||
"CALL_IN_PROGRESS": "Call in progress",
|
||||
"NO_ANSWER": "No answer",
|
||||
"MISSED_CALL": "Missed call",
|
||||
"CALL_ENDED": "Call ended",
|
||||
"NOT_ANSWERED_YET": "Not answered yet",
|
||||
"THEY_ANSWERED": "They answered",
|
||||
"YOU_ANSWERED": "You answered"
|
||||
},
|
||||
"HEADER": {
|
||||
"RESOLVE_ACTION": "Megoldva",
|
||||
"REOPEN_ACTION": "Újranyitás",
|
||||
|
||||
@@ -51,13 +51,6 @@
|
||||
"LARGER": "Larger",
|
||||
"EXTRA_LARGE": "Extra Large"
|
||||
}
|
||||
},
|
||||
"LANGUAGE": {
|
||||
"TITLE": "Preferred Language",
|
||||
"NOTE": "Choose the language you want to use.",
|
||||
"UPDATE_SUCCESS": "Your Language settings have been updated successfully",
|
||||
"UPDATE_ERROR": "There is an error while updating the language settings, please try again",
|
||||
"USE_ACCOUNT_DEFAULT": "Use account default"
|
||||
}
|
||||
},
|
||||
"MESSAGE_SIGNATURE_SECTION": {
|
||||
@@ -337,7 +330,6 @@
|
||||
"REPORTS_LABEL": "Cimkék",
|
||||
"REPORTS_INBOX": "Fiók",
|
||||
"REPORTS_TEAM": "Csapat",
|
||||
"AGENT_ASSIGNMENT": "Agent Assignment",
|
||||
"SET_AVAILABILITY_TITLE": "Ugrás a Beszélgetések Irányítópultjához",
|
||||
"SET_YOUR_AVAILABILITY": "Elérhetőség beállítása",
|
||||
"SLA": "SLA",
|
||||
@@ -426,255 +418,5 @@
|
||||
"SWITCH_TO_REPLY": "Válts a válasz fülre",
|
||||
"TOGGLE_SNOOZE_DROPDOWN": "Alvómód bekapcsolása a legördülő menüben"
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent assignment",
|
||||
"DESCRIPTION": "Define policies to effectively manage workload and route conversations based on the needs of inboxes and agents. Learn more here"
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"TITLE": "Assignment policy",
|
||||
"DESCRIPTION": "Manage how conversations get assigned in inboxes.",
|
||||
"FEATURES": [
|
||||
"Assign by conversations evenly or by available capacity",
|
||||
"Add fair distribution rules to avoid overloading any agent",
|
||||
"Add inboxes to a policy - one policy per inbox"
|
||||
]
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"TITLE": "Agent capacity policy",
|
||||
"DESCRIPTION": "Manage workload for agents.",
|
||||
"FEATURES": [
|
||||
"Define maximum conversations per inbox",
|
||||
"Create exceptions based on labels and time",
|
||||
"Add agents to a policy - one policy per agent"
|
||||
]
|
||||
}
|
||||
},
|
||||
"AGENT_ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Assignment policy",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"ORDER": "Order",
|
||||
"PRIORITY": "Prioritás",
|
||||
"ACTIVE": "Aktív",
|
||||
"INACTIVE": "Inactive",
|
||||
"POPOVER": "Added inboxes",
|
||||
"EDIT": "Szerkesztés"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No assignment policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create assignment policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create assignment policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit assignment policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_INBOX_DIALOG": {
|
||||
"TITLE": "Add inbox",
|
||||
"DESCRIPTION": "{inboxName} inbox is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Mégse"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update assignment policy"
|
||||
},
|
||||
"INBOX_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Inbox added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Inbox removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove inbox from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Leírás:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"STATUS": {
|
||||
"LABEL": "Státusz:",
|
||||
"PLACEHOLDER": "Select status",
|
||||
"ACTIVE": "Policy is active",
|
||||
"INACTIVE": "Policy is inactive"
|
||||
},
|
||||
"ASSIGNMENT_ORDER": {
|
||||
"LABEL": "Assignment order",
|
||||
"ROUND_ROBIN": {
|
||||
"LABEL": "Round robin",
|
||||
"DESCRIPTION": "Assign conversations evenly among agents."
|
||||
},
|
||||
"BALANCED": {
|
||||
"LABEL": "Balanced",
|
||||
"DESCRIPTION": "Assign conversations based on available capacity."
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_PRIORITY": {
|
||||
"LABEL": "Assignment priority",
|
||||
"EARLIEST_CREATED": {
|
||||
"LABEL": "Earliest created",
|
||||
"DESCRIPTION": "The conversation that was created first gets assigned first."
|
||||
},
|
||||
"LONGEST_WAITING": {
|
||||
"LABEL": "Longest waiting",
|
||||
"DESCRIPTION": "The conversation waiting the longest gets assigned first."
|
||||
}
|
||||
},
|
||||
"FAIR_DISTRIBUTION": {
|
||||
"LABEL": "Fair distribution policy",
|
||||
"DESCRIPTION": "Set the maximum number of conversations that can be assigned per agent within a time window to avoid overloading any one agent. This required field defaults to 100 conversations per hour.",
|
||||
"INPUT_MAX": "Assign max",
|
||||
"DURATION": "Conversations per agent in every"
|
||||
},
|
||||
"INBOXES": {
|
||||
"LABEL": "Added inboxes",
|
||||
"DESCRIPTION": "Add inboxes for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select inboxes to add",
|
||||
"ADD_BUTTON": "Hozzáadás"
|
||||
},
|
||||
"EMPTY_STATE": "No inboxes added to this policy, add an inbox to get started",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Inbox successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete assignment policy"
|
||||
}
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent capacity",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"POPOVER": "Added agents",
|
||||
"EDIT": "Szerkesztés"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No agent capacity policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create agent capacity policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create agent capacity policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit agent capacity policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_AGENT_DIALOG": {
|
||||
"TITLE": "Add agent",
|
||||
"DESCRIPTION": "{agentName} is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Mégse"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update agent capacity policy"
|
||||
},
|
||||
"AGENT_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Agent added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Agent removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove agent from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Leírás:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"INBOX_CAPACITY_LIMIT": {
|
||||
"LABEL": "Inbox capacity limits",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"FIELD": {
|
||||
"SELECT_INBOX": "Select inbox",
|
||||
"MAX_CONVERSATIONS": "Max conversations",
|
||||
"SET_LIMIT": "Set limit"
|
||||
},
|
||||
"EMPTY_STATE": "No inbox limit set"
|
||||
},
|
||||
"EXCLUSION_RULES": {
|
||||
"LABEL": "Exclusion rules",
|
||||
"DESCRIPTION": "Conversations that satisfy the following conditions would not count towards agent capacity",
|
||||
"TAGS": {
|
||||
"LABEL": "Exclude conversations tagged with specific labels",
|
||||
"ADD_TAG": "add tag",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select tags to add"
|
||||
},
|
||||
"EMPTY_STATE": "No tags added to this policy."
|
||||
},
|
||||
"DURATION": {
|
||||
"LABEL": "Exclude conversations older than a specified duration",
|
||||
"PLACEHOLDER": "Set time"
|
||||
}
|
||||
},
|
||||
"USERS": {
|
||||
"LABEL": "Assigned agents",
|
||||
"DESCRIPTION": "Add agents for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add agent",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select agents to add",
|
||||
"ADD_BUTTON": "Hozzáadás"
|
||||
},
|
||||
"EMPTY_STATE": "No agents added",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete agent capacity policy"
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"TITLE": "Delete policy",
|
||||
"DESCRIPTION": "Are you sure you want to delete this policy? This action cannot be undone.",
|
||||
"CONFIRM_BUTTON_LABEL": "Törlés",
|
||||
"CANCEL_BUTTON_LABEL": "Mégse"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,17 +71,6 @@
|
||||
"SHOW_LABELS": "Show labels",
|
||||
"HIDE_LABELS": "Hide labels"
|
||||
},
|
||||
"VOICE_CALL": {
|
||||
"INCOMING_CALL": "Incoming call",
|
||||
"OUTGOING_CALL": "Outgoing call",
|
||||
"CALL_IN_PROGRESS": "Call in progress",
|
||||
"NO_ANSWER": "No answer",
|
||||
"MISSED_CALL": "Missed call",
|
||||
"CALL_ENDED": "Call ended",
|
||||
"NOT_ANSWERED_YET": "Not answered yet",
|
||||
"THEY_ANSWERED": "They answered",
|
||||
"YOU_ANSWERED": "You answered"
|
||||
},
|
||||
"HEADER": {
|
||||
"RESOLVE_ACTION": "Resolve",
|
||||
"REOPEN_ACTION": "Reopen",
|
||||
|
||||
@@ -51,13 +51,6 @@
|
||||
"LARGER": "Larger",
|
||||
"EXTRA_LARGE": "Extra Large"
|
||||
}
|
||||
},
|
||||
"LANGUAGE": {
|
||||
"TITLE": "Preferred Language",
|
||||
"NOTE": "Choose the language you want to use.",
|
||||
"UPDATE_SUCCESS": "Your Language settings have been updated successfully",
|
||||
"UPDATE_ERROR": "There is an error while updating the language settings, please try again",
|
||||
"USE_ACCOUNT_DEFAULT": "Use account default"
|
||||
}
|
||||
},
|
||||
"MESSAGE_SIGNATURE_SECTION": {
|
||||
@@ -337,7 +330,6 @@
|
||||
"REPORTS_LABEL": "Labels",
|
||||
"REPORTS_INBOX": "Inbox",
|
||||
"REPORTS_TEAM": "Team",
|
||||
"AGENT_ASSIGNMENT": "Agent Assignment",
|
||||
"SET_AVAILABILITY_TITLE": "Set yourself as",
|
||||
"SET_YOUR_AVAILABILITY": "Set your availability",
|
||||
"SLA": "SLA",
|
||||
@@ -426,255 +418,5 @@
|
||||
"SWITCH_TO_REPLY": "Switch to Reply",
|
||||
"TOGGLE_SNOOZE_DROPDOWN": "Toggle snooze dropdown"
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent assignment",
|
||||
"DESCRIPTION": "Define policies to effectively manage workload and route conversations based on the needs of inboxes and agents. Learn more here"
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"TITLE": "Assignment policy",
|
||||
"DESCRIPTION": "Manage how conversations get assigned in inboxes.",
|
||||
"FEATURES": [
|
||||
"Assign by conversations evenly or by available capacity",
|
||||
"Add fair distribution rules to avoid overloading any agent",
|
||||
"Add inboxes to a policy - one policy per inbox"
|
||||
]
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"TITLE": "Agent capacity policy",
|
||||
"DESCRIPTION": "Manage workload for agents.",
|
||||
"FEATURES": [
|
||||
"Define maximum conversations per inbox",
|
||||
"Create exceptions based on labels and time",
|
||||
"Add agents to a policy - one policy per agent"
|
||||
]
|
||||
}
|
||||
},
|
||||
"AGENT_ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Assignment policy",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"ORDER": "Order",
|
||||
"PRIORITY": "Priority",
|
||||
"ACTIVE": "Active",
|
||||
"INACTIVE": "Inactive",
|
||||
"POPOVER": "Added inboxes",
|
||||
"EDIT": "Edit"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No assignment policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create assignment policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create assignment policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit assignment policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_INBOX_DIALOG": {
|
||||
"TITLE": "Add inbox",
|
||||
"DESCRIPTION": "{inboxName} inbox is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Cancel"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update assignment policy"
|
||||
},
|
||||
"INBOX_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Inbox added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Inbox removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove inbox from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Description:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"STATUS": {
|
||||
"LABEL": "Status:",
|
||||
"PLACEHOLDER": "Select status",
|
||||
"ACTIVE": "Policy is active",
|
||||
"INACTIVE": "Policy is inactive"
|
||||
},
|
||||
"ASSIGNMENT_ORDER": {
|
||||
"LABEL": "Assignment order",
|
||||
"ROUND_ROBIN": {
|
||||
"LABEL": "Round robin",
|
||||
"DESCRIPTION": "Assign conversations evenly among agents."
|
||||
},
|
||||
"BALANCED": {
|
||||
"LABEL": "Balanced",
|
||||
"DESCRIPTION": "Assign conversations based on available capacity."
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_PRIORITY": {
|
||||
"LABEL": "Assignment priority",
|
||||
"EARLIEST_CREATED": {
|
||||
"LABEL": "Earliest created",
|
||||
"DESCRIPTION": "The conversation that was created first gets assigned first."
|
||||
},
|
||||
"LONGEST_WAITING": {
|
||||
"LABEL": "Longest waiting",
|
||||
"DESCRIPTION": "The conversation waiting the longest gets assigned first."
|
||||
}
|
||||
},
|
||||
"FAIR_DISTRIBUTION": {
|
||||
"LABEL": "Fair distribution policy",
|
||||
"DESCRIPTION": "Set the maximum number of conversations that can be assigned per agent within a time window to avoid overloading any one agent. This required field defaults to 100 conversations per hour.",
|
||||
"INPUT_MAX": "Assign max",
|
||||
"DURATION": "Conversations per agent in every"
|
||||
},
|
||||
"INBOXES": {
|
||||
"LABEL": "Added inboxes",
|
||||
"DESCRIPTION": "Add inboxes for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select inboxes to add",
|
||||
"ADD_BUTTON": "Add"
|
||||
},
|
||||
"EMPTY_STATE": "No inboxes added to this policy, add an inbox to get started",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Inbox successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete assignment policy"
|
||||
}
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent capacity",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"POPOVER": "Added agents",
|
||||
"EDIT": "Edit"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No agent capacity policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create agent capacity policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create agent capacity policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit agent capacity policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_AGENT_DIALOG": {
|
||||
"TITLE": "Add agent",
|
||||
"DESCRIPTION": "{agentName} is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Cancel"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update agent capacity policy"
|
||||
},
|
||||
"AGENT_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Agent added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Agent removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove agent from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Description:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"INBOX_CAPACITY_LIMIT": {
|
||||
"LABEL": "Inbox capacity limits",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"FIELD": {
|
||||
"SELECT_INBOX": "Select inbox",
|
||||
"MAX_CONVERSATIONS": "Max conversations",
|
||||
"SET_LIMIT": "Set limit"
|
||||
},
|
||||
"EMPTY_STATE": "No inbox limit set"
|
||||
},
|
||||
"EXCLUSION_RULES": {
|
||||
"LABEL": "Exclusion rules",
|
||||
"DESCRIPTION": "Conversations that satisfy the following conditions would not count towards agent capacity",
|
||||
"TAGS": {
|
||||
"LABEL": "Exclude conversations tagged with specific labels",
|
||||
"ADD_TAG": "add tag",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select tags to add"
|
||||
},
|
||||
"EMPTY_STATE": "No tags added to this policy."
|
||||
},
|
||||
"DURATION": {
|
||||
"LABEL": "Exclude conversations older than a specified duration",
|
||||
"PLACEHOLDER": "Set time"
|
||||
}
|
||||
},
|
||||
"USERS": {
|
||||
"LABEL": "Assigned agents",
|
||||
"DESCRIPTION": "Add agents for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add agent",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select agents to add",
|
||||
"ADD_BUTTON": "Add"
|
||||
},
|
||||
"EMPTY_STATE": "No agents added",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete agent capacity policy"
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"TITLE": "Delete policy",
|
||||
"DESCRIPTION": "Are you sure you want to delete this policy? This action cannot be undone.",
|
||||
"CONFIRM_BUTTON_LABEL": "Delete",
|
||||
"CANCEL_BUTTON_LABEL": "Cancel"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,17 +71,6 @@
|
||||
"SHOW_LABELS": "Tampilkan label",
|
||||
"HIDE_LABELS": "Sembunyikan label"
|
||||
},
|
||||
"VOICE_CALL": {
|
||||
"INCOMING_CALL": "Incoming call",
|
||||
"OUTGOING_CALL": "Outgoing call",
|
||||
"CALL_IN_PROGRESS": "Call in progress",
|
||||
"NO_ANSWER": "No answer",
|
||||
"MISSED_CALL": "Missed call",
|
||||
"CALL_ENDED": "Call ended",
|
||||
"NOT_ANSWERED_YET": "Not answered yet",
|
||||
"THEY_ANSWERED": "They answered",
|
||||
"YOU_ANSWERED": "You answered"
|
||||
},
|
||||
"HEADER": {
|
||||
"RESOLVE_ACTION": "Menyelesaikan",
|
||||
"REOPEN_ACTION": "Buka Kembali",
|
||||
|
||||
@@ -51,13 +51,6 @@
|
||||
"LARGER": "Larger",
|
||||
"EXTRA_LARGE": "Extra Large"
|
||||
}
|
||||
},
|
||||
"LANGUAGE": {
|
||||
"TITLE": "Preferred Language",
|
||||
"NOTE": "Choose the language you want to use.",
|
||||
"UPDATE_SUCCESS": "Your Language settings have been updated successfully",
|
||||
"UPDATE_ERROR": "There is an error while updating the language settings, please try again",
|
||||
"USE_ACCOUNT_DEFAULT": "Use account default"
|
||||
}
|
||||
},
|
||||
"MESSAGE_SIGNATURE_SECTION": {
|
||||
@@ -337,7 +330,6 @@
|
||||
"REPORTS_LABEL": "Label",
|
||||
"REPORTS_INBOX": "Kotak Masuk",
|
||||
"REPORTS_TEAM": "Tim",
|
||||
"AGENT_ASSIGNMENT": "Agent Assignment",
|
||||
"SET_AVAILABILITY_TITLE": "Atur diri anda sebagai",
|
||||
"SET_YOUR_AVAILABILITY": "Atur ketersediaan Anda",
|
||||
"SLA": "SLA",
|
||||
@@ -426,255 +418,5 @@
|
||||
"SWITCH_TO_REPLY": "Beralih ke Balasan",
|
||||
"TOGGLE_SNOOZE_DROPDOWN": "Buka/Tutup dropdown penundaan"
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent assignment",
|
||||
"DESCRIPTION": "Define policies to effectively manage workload and route conversations based on the needs of inboxes and agents. Learn more here"
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"TITLE": "Assignment policy",
|
||||
"DESCRIPTION": "Manage how conversations get assigned in inboxes.",
|
||||
"FEATURES": [
|
||||
"Assign by conversations evenly or by available capacity",
|
||||
"Add fair distribution rules to avoid overloading any agent",
|
||||
"Add inboxes to a policy - one policy per inbox"
|
||||
]
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"TITLE": "Agent capacity policy",
|
||||
"DESCRIPTION": "Manage workload for agents.",
|
||||
"FEATURES": [
|
||||
"Define maximum conversations per inbox",
|
||||
"Create exceptions based on labels and time",
|
||||
"Add agents to a policy - one policy per agent"
|
||||
]
|
||||
}
|
||||
},
|
||||
"AGENT_ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Assignment policy",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"ORDER": "Order",
|
||||
"PRIORITY": "Prioritas",
|
||||
"ACTIVE": "Aktif",
|
||||
"INACTIVE": "Inactive",
|
||||
"POPOVER": "Added inboxes",
|
||||
"EDIT": "Edit"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No assignment policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create assignment policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create assignment policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit assignment policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_INBOX_DIALOG": {
|
||||
"TITLE": "Add inbox",
|
||||
"DESCRIPTION": "{inboxName} inbox is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Batalkan"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update assignment policy"
|
||||
},
|
||||
"INBOX_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Inbox added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Inbox removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove inbox from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Deskripsi:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"STATUS": {
|
||||
"LABEL": "Status:",
|
||||
"PLACEHOLDER": "Select status",
|
||||
"ACTIVE": "Policy is active",
|
||||
"INACTIVE": "Policy is inactive"
|
||||
},
|
||||
"ASSIGNMENT_ORDER": {
|
||||
"LABEL": "Assignment order",
|
||||
"ROUND_ROBIN": {
|
||||
"LABEL": "Round robin",
|
||||
"DESCRIPTION": "Assign conversations evenly among agents."
|
||||
},
|
||||
"BALANCED": {
|
||||
"LABEL": "Balanced",
|
||||
"DESCRIPTION": "Assign conversations based on available capacity."
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_PRIORITY": {
|
||||
"LABEL": "Assignment priority",
|
||||
"EARLIEST_CREATED": {
|
||||
"LABEL": "Earliest created",
|
||||
"DESCRIPTION": "The conversation that was created first gets assigned first."
|
||||
},
|
||||
"LONGEST_WAITING": {
|
||||
"LABEL": "Longest waiting",
|
||||
"DESCRIPTION": "The conversation waiting the longest gets assigned first."
|
||||
}
|
||||
},
|
||||
"FAIR_DISTRIBUTION": {
|
||||
"LABEL": "Fair distribution policy",
|
||||
"DESCRIPTION": "Set the maximum number of conversations that can be assigned per agent within a time window to avoid overloading any one agent. This required field defaults to 100 conversations per hour.",
|
||||
"INPUT_MAX": "Assign max",
|
||||
"DURATION": "Conversations per agent in every"
|
||||
},
|
||||
"INBOXES": {
|
||||
"LABEL": "Added inboxes",
|
||||
"DESCRIPTION": "Add inboxes for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select inboxes to add",
|
||||
"ADD_BUTTON": "Tambahkan"
|
||||
},
|
||||
"EMPTY_STATE": "No inboxes added to this policy, add an inbox to get started",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Inbox successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete assignment policy"
|
||||
}
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent capacity",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"POPOVER": "Added agents",
|
||||
"EDIT": "Edit"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No agent capacity policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create agent capacity policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create agent capacity policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit agent capacity policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_AGENT_DIALOG": {
|
||||
"TITLE": "Add agent",
|
||||
"DESCRIPTION": "{agentName} is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Batalkan"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update agent capacity policy"
|
||||
},
|
||||
"AGENT_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Agent added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Agent removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove agent from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Deskripsi:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"INBOX_CAPACITY_LIMIT": {
|
||||
"LABEL": "Inbox capacity limits",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"FIELD": {
|
||||
"SELECT_INBOX": "Select inbox",
|
||||
"MAX_CONVERSATIONS": "Max conversations",
|
||||
"SET_LIMIT": "Set limit"
|
||||
},
|
||||
"EMPTY_STATE": "No inbox limit set"
|
||||
},
|
||||
"EXCLUSION_RULES": {
|
||||
"LABEL": "Exclusion rules",
|
||||
"DESCRIPTION": "Conversations that satisfy the following conditions would not count towards agent capacity",
|
||||
"TAGS": {
|
||||
"LABEL": "Exclude conversations tagged with specific labels",
|
||||
"ADD_TAG": "add tag",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select tags to add"
|
||||
},
|
||||
"EMPTY_STATE": "No tags added to this policy."
|
||||
},
|
||||
"DURATION": {
|
||||
"LABEL": "Exclude conversations older than a specified duration",
|
||||
"PLACEHOLDER": "Set time"
|
||||
}
|
||||
},
|
||||
"USERS": {
|
||||
"LABEL": "Assigned agents",
|
||||
"DESCRIPTION": "Add agents for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add agent",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select agents to add",
|
||||
"ADD_BUTTON": "Tambahkan"
|
||||
},
|
||||
"EMPTY_STATE": "No agents added",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete agent capacity policy"
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"TITLE": "Delete policy",
|
||||
"DESCRIPTION": "Are you sure you want to delete this policy? This action cannot be undone.",
|
||||
"CONFIRM_BUTTON_LABEL": "Hapus",
|
||||
"CANCEL_BUTTON_LABEL": "Batalkan"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,17 +71,6 @@
|
||||
"SHOW_LABELS": "Show labels",
|
||||
"HIDE_LABELS": "Hide labels"
|
||||
},
|
||||
"VOICE_CALL": {
|
||||
"INCOMING_CALL": "Incoming call",
|
||||
"OUTGOING_CALL": "Outgoing call",
|
||||
"CALL_IN_PROGRESS": "Call in progress",
|
||||
"NO_ANSWER": "No answer",
|
||||
"MISSED_CALL": "Missed call",
|
||||
"CALL_ENDED": "Call ended",
|
||||
"NOT_ANSWERED_YET": "Not answered yet",
|
||||
"THEY_ANSWERED": "They answered",
|
||||
"YOU_ANSWERED": "You answered"
|
||||
},
|
||||
"HEADER": {
|
||||
"RESOLVE_ACTION": "Resolve",
|
||||
"REOPEN_ACTION": "Reopen",
|
||||
|
||||
@@ -51,13 +51,6 @@
|
||||
"LARGER": "Larger",
|
||||
"EXTRA_LARGE": "Extra Large"
|
||||
}
|
||||
},
|
||||
"LANGUAGE": {
|
||||
"TITLE": "Preferred Language",
|
||||
"NOTE": "Choose the language you want to use.",
|
||||
"UPDATE_SUCCESS": "Your Language settings have been updated successfully",
|
||||
"UPDATE_ERROR": "There is an error while updating the language settings, please try again",
|
||||
"USE_ACCOUNT_DEFAULT": "Use account default"
|
||||
}
|
||||
},
|
||||
"MESSAGE_SIGNATURE_SECTION": {
|
||||
@@ -337,7 +330,6 @@
|
||||
"REPORTS_LABEL": "Labels",
|
||||
"REPORTS_INBOX": "Innhólf",
|
||||
"REPORTS_TEAM": "Team",
|
||||
"AGENT_ASSIGNMENT": "Agent Assignment",
|
||||
"SET_AVAILABILITY_TITLE": "Set yourself as",
|
||||
"SET_YOUR_AVAILABILITY": "Set your availability",
|
||||
"SLA": "SLA",
|
||||
@@ -426,255 +418,5 @@
|
||||
"SWITCH_TO_REPLY": "Switch to Reply",
|
||||
"TOGGLE_SNOOZE_DROPDOWN": "Toggle snooze dropdown"
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent assignment",
|
||||
"DESCRIPTION": "Define policies to effectively manage workload and route conversations based on the needs of inboxes and agents. Learn more here"
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"TITLE": "Assignment policy",
|
||||
"DESCRIPTION": "Manage how conversations get assigned in inboxes.",
|
||||
"FEATURES": [
|
||||
"Assign by conversations evenly or by available capacity",
|
||||
"Add fair distribution rules to avoid overloading any agent",
|
||||
"Add inboxes to a policy - one policy per inbox"
|
||||
]
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"TITLE": "Agent capacity policy",
|
||||
"DESCRIPTION": "Manage workload for agents.",
|
||||
"FEATURES": [
|
||||
"Define maximum conversations per inbox",
|
||||
"Create exceptions based on labels and time",
|
||||
"Add agents to a policy - one policy per agent"
|
||||
]
|
||||
}
|
||||
},
|
||||
"AGENT_ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Assignment policy",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"ORDER": "Order",
|
||||
"PRIORITY": "Priority",
|
||||
"ACTIVE": "Active",
|
||||
"INACTIVE": "Inactive",
|
||||
"POPOVER": "Added inboxes",
|
||||
"EDIT": "Breyta"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No assignment policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create assignment policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create assignment policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit assignment policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_INBOX_DIALOG": {
|
||||
"TITLE": "Add inbox",
|
||||
"DESCRIPTION": "{inboxName} inbox is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Hætta við"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update assignment policy"
|
||||
},
|
||||
"INBOX_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Inbox added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Inbox removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove inbox from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Description:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"STATUS": {
|
||||
"LABEL": "Staða:",
|
||||
"PLACEHOLDER": "Select status",
|
||||
"ACTIVE": "Policy is active",
|
||||
"INACTIVE": "Policy is inactive"
|
||||
},
|
||||
"ASSIGNMENT_ORDER": {
|
||||
"LABEL": "Assignment order",
|
||||
"ROUND_ROBIN": {
|
||||
"LABEL": "Round robin",
|
||||
"DESCRIPTION": "Assign conversations evenly among agents."
|
||||
},
|
||||
"BALANCED": {
|
||||
"LABEL": "Balanced",
|
||||
"DESCRIPTION": "Assign conversations based on available capacity."
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_PRIORITY": {
|
||||
"LABEL": "Assignment priority",
|
||||
"EARLIEST_CREATED": {
|
||||
"LABEL": "Earliest created",
|
||||
"DESCRIPTION": "The conversation that was created first gets assigned first."
|
||||
},
|
||||
"LONGEST_WAITING": {
|
||||
"LABEL": "Longest waiting",
|
||||
"DESCRIPTION": "The conversation waiting the longest gets assigned first."
|
||||
}
|
||||
},
|
||||
"FAIR_DISTRIBUTION": {
|
||||
"LABEL": "Fair distribution policy",
|
||||
"DESCRIPTION": "Set the maximum number of conversations that can be assigned per agent within a time window to avoid overloading any one agent. This required field defaults to 100 conversations per hour.",
|
||||
"INPUT_MAX": "Assign max",
|
||||
"DURATION": "Conversations per agent in every"
|
||||
},
|
||||
"INBOXES": {
|
||||
"LABEL": "Added inboxes",
|
||||
"DESCRIPTION": "Add inboxes for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select inboxes to add",
|
||||
"ADD_BUTTON": "Bæta við"
|
||||
},
|
||||
"EMPTY_STATE": "No inboxes added to this policy, add an inbox to get started",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Inbox successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete assignment policy"
|
||||
}
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent capacity",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"POPOVER": "Added agents",
|
||||
"EDIT": "Breyta"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No agent capacity policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create agent capacity policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create agent capacity policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit agent capacity policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_AGENT_DIALOG": {
|
||||
"TITLE": "Add agent",
|
||||
"DESCRIPTION": "{agentName} is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "Hætta við"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update agent capacity policy"
|
||||
},
|
||||
"AGENT_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Agent added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Agent removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove agent from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Description:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"INBOX_CAPACITY_LIMIT": {
|
||||
"LABEL": "Inbox capacity limits",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"FIELD": {
|
||||
"SELECT_INBOX": "Select inbox",
|
||||
"MAX_CONVERSATIONS": "Max conversations",
|
||||
"SET_LIMIT": "Set limit"
|
||||
},
|
||||
"EMPTY_STATE": "No inbox limit set"
|
||||
},
|
||||
"EXCLUSION_RULES": {
|
||||
"LABEL": "Exclusion rules",
|
||||
"DESCRIPTION": "Conversations that satisfy the following conditions would not count towards agent capacity",
|
||||
"TAGS": {
|
||||
"LABEL": "Exclude conversations tagged with specific labels",
|
||||
"ADD_TAG": "add tag",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select tags to add"
|
||||
},
|
||||
"EMPTY_STATE": "No tags added to this policy."
|
||||
},
|
||||
"DURATION": {
|
||||
"LABEL": "Exclude conversations older than a specified duration",
|
||||
"PLACEHOLDER": "Set time"
|
||||
}
|
||||
},
|
||||
"USERS": {
|
||||
"LABEL": "Assigned agents",
|
||||
"DESCRIPTION": "Add agents for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add agent",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select agents to add",
|
||||
"ADD_BUTTON": "Bæta við"
|
||||
},
|
||||
"EMPTY_STATE": "No agents added",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete agent capacity policy"
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"TITLE": "Delete policy",
|
||||
"DESCRIPTION": "Are you sure you want to delete this policy? This action cannot be undone.",
|
||||
"CONFIRM_BUTTON_LABEL": "Eyða",
|
||||
"CANCEL_BUTTON_LABEL": "Hætta við"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,17 +71,6 @@
|
||||
"SHOW_LABELS": "Show labels",
|
||||
"HIDE_LABELS": "Hide labels"
|
||||
},
|
||||
"VOICE_CALL": {
|
||||
"INCOMING_CALL": "Incoming call",
|
||||
"OUTGOING_CALL": "Outgoing call",
|
||||
"CALL_IN_PROGRESS": "Call in progress",
|
||||
"NO_ANSWER": "No answer",
|
||||
"MISSED_CALL": "Missed call",
|
||||
"CALL_ENDED": "Call ended",
|
||||
"NOT_ANSWERED_YET": "Not answered yet",
|
||||
"THEY_ANSWERED": "They answered",
|
||||
"YOU_ANSWERED": "You answered"
|
||||
},
|
||||
"HEADER": {
|
||||
"RESOLVE_ACTION": "Risolvi",
|
||||
"REOPEN_ACTION": "Riapri",
|
||||
|
||||
@@ -51,13 +51,6 @@
|
||||
"LARGER": "Larger",
|
||||
"EXTRA_LARGE": "Extra Large"
|
||||
}
|
||||
},
|
||||
"LANGUAGE": {
|
||||
"TITLE": "Preferred Language",
|
||||
"NOTE": "Choose the language you want to use.",
|
||||
"UPDATE_SUCCESS": "Your Language settings have been updated successfully",
|
||||
"UPDATE_ERROR": "There is an error while updating the language settings, please try again",
|
||||
"USE_ACCOUNT_DEFAULT": "Use account default"
|
||||
}
|
||||
},
|
||||
"MESSAGE_SIGNATURE_SECTION": {
|
||||
@@ -337,7 +330,6 @@
|
||||
"REPORTS_LABEL": "Etichette",
|
||||
"REPORTS_INBOX": "Posta",
|
||||
"REPORTS_TEAM": "Team",
|
||||
"AGENT_ASSIGNMENT": "Agent Assignment",
|
||||
"SET_AVAILABILITY_TITLE": "Imposta te stesso come",
|
||||
"SET_YOUR_AVAILABILITY": "Imposta la tua disponibilità",
|
||||
"SLA": "SLA",
|
||||
@@ -426,255 +418,5 @@
|
||||
"SWITCH_TO_REPLY": "Passa a Risposta",
|
||||
"TOGGLE_SNOOZE_DROPDOWN": "Attiva/Disattiva sospensione a discesa"
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent assignment",
|
||||
"DESCRIPTION": "Define policies to effectively manage workload and route conversations based on the needs of inboxes and agents. Learn more here"
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"TITLE": "Assignment policy",
|
||||
"DESCRIPTION": "Manage how conversations get assigned in inboxes.",
|
||||
"FEATURES": [
|
||||
"Assign by conversations evenly or by available capacity",
|
||||
"Add fair distribution rules to avoid overloading any agent",
|
||||
"Add inboxes to a policy - one policy per inbox"
|
||||
]
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"TITLE": "Agent capacity policy",
|
||||
"DESCRIPTION": "Manage workload for agents.",
|
||||
"FEATURES": [
|
||||
"Define maximum conversations per inbox",
|
||||
"Create exceptions based on labels and time",
|
||||
"Add agents to a policy - one policy per agent"
|
||||
]
|
||||
}
|
||||
},
|
||||
"AGENT_ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Assignment policy",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"ORDER": "Order",
|
||||
"PRIORITY": "Priorità",
|
||||
"ACTIVE": "Attivo",
|
||||
"INACTIVE": "Inactive",
|
||||
"POPOVER": "Added inboxes",
|
||||
"EDIT": "Modifica"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No assignment policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create assignment policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create assignment policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit assignment policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_INBOX_DIALOG": {
|
||||
"TITLE": "Add inbox",
|
||||
"DESCRIPTION": "{inboxName} inbox is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "annulla"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update assignment policy"
|
||||
},
|
||||
"INBOX_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Inbox added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Inbox removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove inbox from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Descrizione:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"STATUS": {
|
||||
"LABEL": "Stato:",
|
||||
"PLACEHOLDER": "Select status",
|
||||
"ACTIVE": "Policy is active",
|
||||
"INACTIVE": "Policy is inactive"
|
||||
},
|
||||
"ASSIGNMENT_ORDER": {
|
||||
"LABEL": "Assignment order",
|
||||
"ROUND_ROBIN": {
|
||||
"LABEL": "Round robin",
|
||||
"DESCRIPTION": "Assign conversations evenly among agents."
|
||||
},
|
||||
"BALANCED": {
|
||||
"LABEL": "Balanced",
|
||||
"DESCRIPTION": "Assign conversations based on available capacity."
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_PRIORITY": {
|
||||
"LABEL": "Assignment priority",
|
||||
"EARLIEST_CREATED": {
|
||||
"LABEL": "Earliest created",
|
||||
"DESCRIPTION": "The conversation that was created first gets assigned first."
|
||||
},
|
||||
"LONGEST_WAITING": {
|
||||
"LABEL": "Longest waiting",
|
||||
"DESCRIPTION": "The conversation waiting the longest gets assigned first."
|
||||
}
|
||||
},
|
||||
"FAIR_DISTRIBUTION": {
|
||||
"LABEL": "Fair distribution policy",
|
||||
"DESCRIPTION": "Set the maximum number of conversations that can be assigned per agent within a time window to avoid overloading any one agent. This required field defaults to 100 conversations per hour.",
|
||||
"INPUT_MAX": "Assign max",
|
||||
"DURATION": "Conversations per agent in every"
|
||||
},
|
||||
"INBOXES": {
|
||||
"LABEL": "Added inboxes",
|
||||
"DESCRIPTION": "Add inboxes for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select inboxes to add",
|
||||
"ADD_BUTTON": "Aggiungi"
|
||||
},
|
||||
"EMPTY_STATE": "No inboxes added to this policy, add an inbox to get started",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Inbox successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete assignment policy"
|
||||
}
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent capacity",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"POPOVER": "Added agents",
|
||||
"EDIT": "Modifica"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No agent capacity policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create agent capacity policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create agent capacity policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit agent capacity policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_AGENT_DIALOG": {
|
||||
"TITLE": "Add agent",
|
||||
"DESCRIPTION": "{agentName} is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "annulla"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update agent capacity policy"
|
||||
},
|
||||
"AGENT_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Agent added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Agent removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove agent from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "Descrizione:",
|
||||
"PLACEHOLDER": "Enter description"
|
||||
},
|
||||
"INBOX_CAPACITY_LIMIT": {
|
||||
"LABEL": "Inbox capacity limits",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"FIELD": {
|
||||
"SELECT_INBOX": "Select inbox",
|
||||
"MAX_CONVERSATIONS": "Max conversations",
|
||||
"SET_LIMIT": "Set limit"
|
||||
},
|
||||
"EMPTY_STATE": "No inbox limit set"
|
||||
},
|
||||
"EXCLUSION_RULES": {
|
||||
"LABEL": "Exclusion rules",
|
||||
"DESCRIPTION": "Conversations that satisfy the following conditions would not count towards agent capacity",
|
||||
"TAGS": {
|
||||
"LABEL": "Exclude conversations tagged with specific labels",
|
||||
"ADD_TAG": "add tag",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select tags to add"
|
||||
},
|
||||
"EMPTY_STATE": "No tags added to this policy."
|
||||
},
|
||||
"DURATION": {
|
||||
"LABEL": "Exclude conversations older than a specified duration",
|
||||
"PLACEHOLDER": "Set time"
|
||||
}
|
||||
},
|
||||
"USERS": {
|
||||
"LABEL": "Assigned agents",
|
||||
"DESCRIPTION": "Add agents for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add agent",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select agents to add",
|
||||
"ADD_BUTTON": "Aggiungi"
|
||||
},
|
||||
"EMPTY_STATE": "No agents added",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete agent capacity policy"
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"TITLE": "Delete policy",
|
||||
"DESCRIPTION": "Are you sure you want to delete this policy? This action cannot be undone.",
|
||||
"CONFIRM_BUTTON_LABEL": "Elimina",
|
||||
"CANCEL_BUTTON_LABEL": "annulla"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,17 +71,6 @@
|
||||
"SHOW_LABELS": "ラベルを表示",
|
||||
"HIDE_LABELS": "ラベルを隠す"
|
||||
},
|
||||
"VOICE_CALL": {
|
||||
"INCOMING_CALL": "Incoming call",
|
||||
"OUTGOING_CALL": "Outgoing call",
|
||||
"CALL_IN_PROGRESS": "Call in progress",
|
||||
"NO_ANSWER": "No answer",
|
||||
"MISSED_CALL": "Missed call",
|
||||
"CALL_ENDED": "Call ended",
|
||||
"NOT_ANSWERED_YET": "Not answered yet",
|
||||
"THEY_ANSWERED": "They answered",
|
||||
"YOU_ANSWERED": "You answered"
|
||||
},
|
||||
"HEADER": {
|
||||
"RESOLVE_ACTION": "解決する",
|
||||
"REOPEN_ACTION": "再開する",
|
||||
|
||||
@@ -51,13 +51,6 @@
|
||||
"LARGER": "Larger",
|
||||
"EXTRA_LARGE": "Extra Large"
|
||||
}
|
||||
},
|
||||
"LANGUAGE": {
|
||||
"TITLE": "Preferred Language",
|
||||
"NOTE": "Choose the language you want to use.",
|
||||
"UPDATE_SUCCESS": "Your Language settings have been updated successfully",
|
||||
"UPDATE_ERROR": "There is an error while updating the language settings, please try again",
|
||||
"USE_ACCOUNT_DEFAULT": "Use account default"
|
||||
}
|
||||
},
|
||||
"MESSAGE_SIGNATURE_SECTION": {
|
||||
@@ -337,7 +330,6 @@
|
||||
"REPORTS_LABEL": "ラベル",
|
||||
"REPORTS_INBOX": "受信トレイ",
|
||||
"REPORTS_TEAM": "チーム",
|
||||
"AGENT_ASSIGNMENT": "Agent Assignment",
|
||||
"SET_AVAILABILITY_TITLE": "ステータスを設定",
|
||||
"SET_YOUR_AVAILABILITY": "利用可能ステータスを設定",
|
||||
"SLA": "SLA",
|
||||
@@ -426,255 +418,5 @@
|
||||
"SWITCH_TO_REPLY": "返信に切り替え",
|
||||
"TOGGLE_SNOOZE_DROPDOWN": "スヌーズドロップダウンを切り替え"
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent assignment",
|
||||
"DESCRIPTION": "Define policies to effectively manage workload and route conversations based on the needs of inboxes and agents. Learn more here"
|
||||
},
|
||||
"ASSIGNMENT_POLICY": {
|
||||
"TITLE": "Assignment policy",
|
||||
"DESCRIPTION": "Manage how conversations get assigned in inboxes.",
|
||||
"FEATURES": [
|
||||
"Assign by conversations evenly or by available capacity",
|
||||
"Add fair distribution rules to avoid overloading any agent",
|
||||
"Add inboxes to a policy - one policy per inbox"
|
||||
]
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"TITLE": "Agent capacity policy",
|
||||
"DESCRIPTION": "Manage workload for agents.",
|
||||
"FEATURES": [
|
||||
"Define maximum conversations per inbox",
|
||||
"Create exceptions based on labels and time",
|
||||
"Add agents to a policy - one policy per agent"
|
||||
]
|
||||
}
|
||||
},
|
||||
"AGENT_ASSIGNMENT_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Assignment policy",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"ORDER": "Order",
|
||||
"PRIORITY": "優先度",
|
||||
"ACTIVE": "有効",
|
||||
"INACTIVE": "Inactive",
|
||||
"POPOVER": "Added inboxes",
|
||||
"EDIT": "編集"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No assignment policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create assignment policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create assignment policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit assignment policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_INBOX_DIALOG": {
|
||||
"TITLE": "Add inbox",
|
||||
"DESCRIPTION": "{inboxName} inbox is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "キャンセル"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update assignment policy"
|
||||
},
|
||||
"INBOX_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Inbox added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Inbox removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove inbox from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "説明:",
|
||||
"PLACEHOLDER": "説明を入力"
|
||||
},
|
||||
"STATUS": {
|
||||
"LABEL": "ステータス:",
|
||||
"PLACEHOLDER": "状況を選択",
|
||||
"ACTIVE": "Policy is active",
|
||||
"INACTIVE": "Policy is inactive"
|
||||
},
|
||||
"ASSIGNMENT_ORDER": {
|
||||
"LABEL": "Assignment order",
|
||||
"ROUND_ROBIN": {
|
||||
"LABEL": "Round robin",
|
||||
"DESCRIPTION": "Assign conversations evenly among agents."
|
||||
},
|
||||
"BALANCED": {
|
||||
"LABEL": "Balanced",
|
||||
"DESCRIPTION": "Assign conversations based on available capacity."
|
||||
}
|
||||
},
|
||||
"ASSIGNMENT_PRIORITY": {
|
||||
"LABEL": "Assignment priority",
|
||||
"EARLIEST_CREATED": {
|
||||
"LABEL": "Earliest created",
|
||||
"DESCRIPTION": "The conversation that was created first gets assigned first."
|
||||
},
|
||||
"LONGEST_WAITING": {
|
||||
"LABEL": "Longest waiting",
|
||||
"DESCRIPTION": "The conversation waiting the longest gets assigned first."
|
||||
}
|
||||
},
|
||||
"FAIR_DISTRIBUTION": {
|
||||
"LABEL": "Fair distribution policy",
|
||||
"DESCRIPTION": "Set the maximum number of conversations that can be assigned per agent within a time window to avoid overloading any one agent. This required field defaults to 100 conversations per hour.",
|
||||
"INPUT_MAX": "Assign max",
|
||||
"DURATION": "Conversations per agent in every"
|
||||
},
|
||||
"INBOXES": {
|
||||
"LABEL": "Added inboxes",
|
||||
"DESCRIPTION": "Add inboxes for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select inboxes to add",
|
||||
"ADD_BUTTON": "追加"
|
||||
},
|
||||
"EMPTY_STATE": "No inboxes added to this policy, add an inbox to get started",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Inbox successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add inbox to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Assignment policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete assignment policy"
|
||||
}
|
||||
},
|
||||
"AGENT_CAPACITY_POLICY": {
|
||||
"INDEX": {
|
||||
"HEADER": {
|
||||
"TITLE": "Agent capacity",
|
||||
"CREATE_POLICY": "New policy"
|
||||
},
|
||||
"CARD": {
|
||||
"POPOVER": "Added agents",
|
||||
"EDIT": "編集"
|
||||
},
|
||||
"NO_RECORDS_FOUND": "No agent capacity policies found"
|
||||
},
|
||||
"CREATE": {
|
||||
"HEADER": {
|
||||
"TITLE": "Create agent capacity policy"
|
||||
},
|
||||
"CREATE_BUTTON": "Create policy",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy created successfully",
|
||||
"ERROR_MESSAGE": "Failed to create agent capacity policy"
|
||||
}
|
||||
},
|
||||
"EDIT": {
|
||||
"HEADER": {
|
||||
"TITLE": "Edit agent capacity policy"
|
||||
},
|
||||
"EDIT_BUTTON": "Update policy",
|
||||
"CONFIRM_ADD_AGENT_DIALOG": {
|
||||
"TITLE": "Add agent",
|
||||
"DESCRIPTION": "{agentName} is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
|
||||
"CONFIRM_BUTTON_LABEL": "Continue",
|
||||
"CANCEL_BUTTON_LABEL": "キャンセル"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy updated successfully",
|
||||
"ERROR_MESSAGE": "Failed to update agent capacity policy"
|
||||
},
|
||||
"AGENT_API": {
|
||||
"ADD": {
|
||||
"SUCCESS_MESSAGE": "Agent added to policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
},
|
||||
"REMOVE": {
|
||||
"SUCCESS_MESSAGE": "Agent removed from policy successfully",
|
||||
"ERROR_MESSAGE": "Failed to remove agent from policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"FORM": {
|
||||
"NAME": {
|
||||
"LABEL": "Policy name:",
|
||||
"PLACEHOLDER": "Enter policy name"
|
||||
},
|
||||
"DESCRIPTION": {
|
||||
"LABEL": "説明:",
|
||||
"PLACEHOLDER": "説明を入力"
|
||||
},
|
||||
"INBOX_CAPACITY_LIMIT": {
|
||||
"LABEL": "Inbox capacity limits",
|
||||
"ADD_BUTTON": "Add inbox",
|
||||
"FIELD": {
|
||||
"SELECT_INBOX": "Select inbox",
|
||||
"MAX_CONVERSATIONS": "Max conversations",
|
||||
"SET_LIMIT": "Set limit"
|
||||
},
|
||||
"EMPTY_STATE": "No inbox limit set"
|
||||
},
|
||||
"EXCLUSION_RULES": {
|
||||
"LABEL": "Exclusion rules",
|
||||
"DESCRIPTION": "Conversations that satisfy the following conditions would not count towards agent capacity",
|
||||
"TAGS": {
|
||||
"LABEL": "Exclude conversations tagged with specific labels",
|
||||
"ADD_TAG": "add tag",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select tags to add"
|
||||
},
|
||||
"EMPTY_STATE": "No tags added to this policy."
|
||||
},
|
||||
"DURATION": {
|
||||
"LABEL": "Exclude conversations older than a specified duration",
|
||||
"PLACEHOLDER": "Set time"
|
||||
}
|
||||
},
|
||||
"USERS": {
|
||||
"LABEL": "Assigned agents",
|
||||
"DESCRIPTION": "Add agents for which this policy will be applicable.",
|
||||
"ADD_BUTTON": "Add agent",
|
||||
"DROPDOWN": {
|
||||
"SEARCH_PLACEHOLDER": "Search and select agents to add",
|
||||
"ADD_BUTTON": "追加"
|
||||
},
|
||||
"EMPTY_STATE": "No agents added",
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Agent successfully added to policy",
|
||||
"ERROR_MESSAGE": "Failed to add agent to policy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"SUCCESS_MESSAGE": "Agent capacity policy deleted successfully",
|
||||
"ERROR_MESSAGE": "Failed to delete agent capacity policy"
|
||||
}
|
||||
},
|
||||
"DELETE_POLICY": {
|
||||
"TITLE": "Delete policy",
|
||||
"DESCRIPTION": "Are you sure you want to delete this policy? This action cannot be undone.",
|
||||
"CONFIRM_BUTTON_LABEL": "削除",
|
||||
"CANCEL_BUTTON_LABEL": "キャンセル"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,17 +71,6 @@
|
||||
"SHOW_LABELS": "Show labels",
|
||||
"HIDE_LABELS": "Hide labels"
|
||||
},
|
||||
"VOICE_CALL": {
|
||||
"INCOMING_CALL": "Incoming call",
|
||||
"OUTGOING_CALL": "Outgoing call",
|
||||
"CALL_IN_PROGRESS": "Call in progress",
|
||||
"NO_ANSWER": "No answer",
|
||||
"MISSED_CALL": "Missed call",
|
||||
"CALL_ENDED": "Call ended",
|
||||
"NOT_ANSWERED_YET": "Not answered yet",
|
||||
"THEY_ANSWERED": "They answered",
|
||||
"YOU_ANSWERED": "You answered"
|
||||
},
|
||||
"HEADER": {
|
||||
"RESOLVE_ACTION": "Resolve",
|
||||
"REOPEN_ACTION": "Reopen",
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user