Merge branch 'develop' into feat/new-auth-screens

This commit is contained in:
Sivin Varghese 2022-06-02 18:43:32 +05:30 committed by GitHub
commit 73a8c07f7b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
396 changed files with 8177 additions and 2997 deletions

View file

@ -7,7 +7,7 @@ defaults: &defaults
working_directory: ~/build working_directory: ~/build
docker: docker:
# specify the version you desire here # specify the version you desire here
- image: cimg/ruby:3.0.2-browsers - image: cimg/ruby:3.0.4-browsers
# Specify service dependencies here if necessary # Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images # CircleCI maintains a library of pre-built images
@ -40,14 +40,13 @@ jobs:
- restore_cache: - restore_cache:
keys: keys:
- chatwoot-bundle-{{ .Environment.CACHE_VERSION }}-{{ checksum "Gemfile.lock" }} - chatwoot-bundle-{{ .Environment.CACHE_VERSION }}-v20220524-{{ checksum "Gemfile.lock" }}
- chatwoot-bundle
- run: bundle install --frozen --path ~/.bundle - run: bundle install --frozen --path ~/.bundle
- save_cache: - save_cache:
paths: paths:
- ~/.bundle - ~/.bundle
key: chatwoot-bundle-{{ .Environment.CACHE_VERSION }}-{{ checksum "Gemfile.lock" }} key: chatwoot-bundle-{{ .Environment.CACHE_VERSION }}-v20220524-{{ checksum "Gemfile.lock" }}
# Only necessary if app uses webpacker or yarn in some other way # Only necessary if app uses webpacker or yarn in some other way

View file

@ -47,7 +47,7 @@ jobs:
- uses: ruby/setup-ruby@v1 - uses: ruby/setup-ruby@v1
with: with:
ruby-version: 3.0.2 # Not needed with a .ruby-version file ruby-version: 3.0.4 # Not needed with a .ruby-version file
bundler-cache: true # runs 'bundle install' and caches installed gems automatically bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- name: yarn - name: yarn

View file

@ -1 +1 @@
3.0.2 3.0.4

View file

@ -1,6 +1,6 @@
source 'https://rubygems.org' source 'https://rubygems.org'
ruby '3.0.2' ruby '3.0.4'
##-- base gems for rails --## ##-- base gems for rails --##
gem 'rack-cors', require: 'rack/cors' gem 'rack-cors', require: 'rack/cors'

View file

@ -378,14 +378,14 @@ GEM
netrc (0.11.0) netrc (0.11.0)
newrelic_rpm (8.7.0) newrelic_rpm (8.7.0)
nio4r (2.5.8) nio4r (2.5.8)
nokogiri (1.13.5) nokogiri (1.13.6)
mini_portile2 (~> 2.8.0) mini_portile2 (~> 2.8.0)
racc (~> 1.4) racc (~> 1.4)
nokogiri (1.13.5-arm64-darwin) nokogiri (1.13.6-arm64-darwin)
racc (~> 1.4) racc (~> 1.4)
nokogiri (1.13.5-x86_64-darwin) nokogiri (1.13.6-x86_64-darwin)
racc (~> 1.4) racc (~> 1.4)
nokogiri (1.13.5-x86_64-linux) nokogiri (1.13.6-x86_64-linux)
racc (~> 1.4) racc (~> 1.4)
oauth (0.5.8) oauth (0.5.8)
orm_adapter (0.5.0) orm_adapter (0.5.0)
@ -409,7 +409,7 @@ GEM
activesupport (>= 3.0.0) activesupport (>= 3.0.0)
raabro (1.4.0) raabro (1.4.0)
racc (1.6.0) racc (1.6.0)
rack (2.2.3) rack (2.2.3.1)
rack-attack (6.6.0) rack-attack (6.6.0)
rack (>= 1.0, < 3) rack (>= 1.0, < 3)
rack-cors (1.1.1) rack-cors (1.1.1)
@ -752,7 +752,7 @@ DEPENDENCIES
working_hours working_hours
RUBY VERSION RUBY VERSION
ruby 3.0.2p107 ruby 3.0.4p208
BUNDLED WITH BUNDLED WITH
2.3.10 2.3.10

View file

@ -0,0 +1,24 @@
class Api::V1::Accounts::AssignableAgentsController < Api::V1::Accounts::BaseController
before_action :fetch_inboxes
def index
agent_ids = @inboxes.map do |inbox|
authorize inbox, :show?
member_ids = inbox.members.pluck(:user_id)
member_ids
end
agent_ids = agent_ids.inject(:&)
agents = Current.account.users.where(id: agent_ids)
@assignable_agents = (agents + Current.account.administrators).uniq
end
private
def fetch_inboxes
@inboxes = Current.account.inboxes.find(permitted_params[:inbox_ids])
end
def permitted_params
params.permit(inbox_ids: [])
end
end

View file

@ -1,4 +1,5 @@
class Api::V1::Accounts::Kbase::CategoriesController < Api::V1::Accounts::Kbase::BaseController class Api::V1::Accounts::CategoriesController < Api::V1::Accounts::BaseController
before_action :portal
before_action :fetch_category, except: [:index, :create] before_action :fetch_category, except: [:index, :create]
def index def index
@ -24,6 +25,10 @@ class Api::V1::Accounts::Kbase::CategoriesController < Api::V1::Accounts::Kbase:
@category = @portal.categories.find(params[:id]) @category = @portal.categories.find(params[:id])
end end
def portal
@portal ||= Current.account.portals.find_by(slug: params[:portal_id])
end
def category_params def category_params
params.require(:category).permit( params.require(:category).permit(
:name, :description, :position :name, :description, :position

View file

@ -5,7 +5,7 @@ class Api::V1::Accounts::CsatSurveyResponsesController < Api::V1::Accounts::Base
RESULTS_PER_PAGE = 25 RESULTS_PER_PAGE = 25
before_action :check_authorization before_action :check_authorization
before_action :set_csat_survey_responses, only: [:index, :metrics] before_action :set_csat_survey_responses, only: [:index, :metrics, :download]
before_action :set_current_page, only: [:index] before_action :set_current_page, only: [:index]
before_action :set_current_page_surveys, only: [:index] before_action :set_current_page_surveys, only: [:index]
before_action :set_total_sent_messages_count, only: [:metrics] before_action :set_total_sent_messages_count, only: [:metrics]
@ -19,6 +19,12 @@ class Api::V1::Accounts::CsatSurveyResponsesController < Api::V1::Accounts::Base
@ratings_count = @csat_survey_responses.group(:rating).count @ratings_count = @csat_survey_responses.group(:rating).count
end end
def download
response.headers['Content-Type'] = 'text/csv'
response.headers['Content-Disposition'] = 'attachment; filename=csat_report.csv'
render layout: false, template: 'api/v1/accounts/csat_survey_responses/download.csv.erb', format: 'csv'
end
private private
def set_total_sent_messages_count def set_total_sent_messages_count

View file

@ -0,0 +1,44 @@
class Api::V1::Accounts::DashboardAppsController < Api::V1::Accounts::BaseController
before_action :fetch_dashboard_apps, except: [:create]
before_action :fetch_dashboard_app, only: [:show, :update, :destroy]
def index; end
def show; end
def create
@dashboard_app = Current.account.dashboard_apps.create!(
permitted_payload.merge(user_id: Current.user.id)
)
end
def update
@dashboard_app.update!(permitted_payload)
end
def destroy
@dashboard_app.destroy!
head :no_content
end
private
def fetch_dashboard_apps
@dashboard_apps = Current.account.dashboard_apps
end
def fetch_dashboard_app
@dashboard_app = @dashboard_apps.find(permitted_params[:id])
end
def permitted_payload
params.require(:dashboard_app).permit(
:title,
content: [:url, :type]
)
end
def permitted_params
params.permit(:id)
end
end

View file

@ -12,6 +12,7 @@ class Api::V1::Accounts::InboxesController < Api::V1::Accounts::BaseController
def show; end def show; end
# Deprecated: This API will be removed in 2.7.0
def assignable_agents def assignable_agents
@assignable_agents = (Current.account.users.where(id: @inbox.members.select(:user_id)) + Current.account.administrators).uniq @assignable_agents = (Current.account.users.where(id: @inbox.members.select(:user_id)) + Current.account.administrators).uniq
end end

View file

@ -1,9 +0,0 @@
class Api::V1::Accounts::Kbase::BaseController < Api::V1::Accounts::BaseController
before_action :portal
private
def portal
@portal ||= Current.account.kbase_portals.find_by(slug: params[:portal_id])
end
end

View file

@ -1,14 +1,14 @@
class Api::V1::Accounts::Kbase::PortalsController < Api::V1::Accounts::BaseController class Api::V1::Accounts::PortalsController < Api::V1::Accounts::BaseController
before_action :fetch_portal, except: [:index, :create] before_action :fetch_portal, except: [:index, :create]
def index def index
@portals = Current.account.kbase_portals @portals = Current.account.portals
end end
def show; end def show; end
def create def create
@portal = Current.account.kbase_portals.create!(portal_params) @portal = Current.account.portals.create!(portal_params)
end end
def update def update
@ -23,7 +23,7 @@ class Api::V1::Accounts::Kbase::PortalsController < Api::V1::Accounts::BaseContr
private private
def fetch_portal def fetch_portal
@portal = Current.account.kbase_portals.find_by(slug: permitted_params[:id]) @portal = Current.account.portals.find_by(slug: permitted_params[:id])
end end
def permitted_params def permitted_params
@ -32,7 +32,7 @@ class Api::V1::Accounts::Kbase::PortalsController < Api::V1::Accounts::BaseContr
def portal_params def portal_params
params.require(:portal).permit( params.require(:portal).permit(
:account_id, :color, :custom_domain, :header_text, :homepage_link, :name, :page_title, :slug :account_id, :color, :custom_domain, :header_text, :homepage_link, :name, :page_title, :slug, :archived
) )
end end
end end

View file

@ -54,6 +54,7 @@ class Api::V1::Widget::BaseController < ApplicationController
).perform ).perform
else else
@contact.update!(email: email) @contact.update!(email: email)
update_contact_name
end end
end end
@ -67,9 +68,14 @@ class Api::V1::Widget::BaseController < ApplicationController
).perform ).perform
else else
@contact.update!(phone_number: phone_number) @contact.update!(phone_number: phone_number)
update_contact_name
end end
end end
def update_contact_name
@contact.update!(name: contact_name) if contact_name.present?
end
def contact_email def contact_email
permitted_params.dig(:contact, :email)&.downcase permitted_params.dig(:contact, :email)&.downcase
end end

View file

@ -16,7 +16,6 @@ class Api::V1::Widget::ConversationsController < Api::V1::Widget::BaseController
def process_update_contact def process_update_contact
update_contact(contact_email) if @contact.email.blank? && contact_email.present? update_contact(contact_email) if @contact.email.blank? && contact_email.present?
update_contact_phone_number(contact_phone_number) if @contact.phone_number.blank? && contact_phone_number.present? update_contact_phone_number(contact_phone_number) if @contact.phone_number.blank? && contact_phone_number.present?
@contact.update!(name: contact_name) if contact_name.present?
end end
def update_last_seen def update_last_seen

View file

@ -1,4 +1,5 @@
class Api::V2::Accounts::ReportsController < Api::V1::Accounts::BaseController class Api::V2::Accounts::ReportsController < Api::V1::Accounts::BaseController
include Api::V2::Accounts::ReportsHelper
before_action :check_authorization before_action :check_authorization
def index def index
@ -12,27 +13,23 @@ class Api::V2::Accounts::ReportsController < Api::V1::Accounts::BaseController
end end
def agents def agents
response.headers['Content-Type'] = 'text/csv' @report_data = generate_agents_report
response.headers['Content-Disposition'] = 'attachment; filename=agents_report.csv' generate_csv('agents_report', 'api/v2/accounts/reports/agents.csv.erb')
render layout: false, template: 'api/v2/accounts/reports/agents.csv.erb', format: 'csv'
end end
def inboxes def inboxes
response.headers['Content-Type'] = 'text/csv' @report_data = generate_inboxes_report
response.headers['Content-Disposition'] = 'attachment; filename=inboxes_report.csv' generate_csv('inboxes_report', 'api/v2/accounts/reports/inboxes.csv.erb')
render layout: false, template: 'api/v2/accounts/reports/inboxes.csv.erb', format: 'csv'
end end
def labels def labels
response.headers['Content-Type'] = 'text/csv' @report_data = generate_labels_report
response.headers['Content-Disposition'] = 'attachment; filename=labels_report.csv' generate_csv('labels_report', 'api/v2/accounts/reports/labels.csv.erb')
render layout: false, template: 'api/v2/accounts/reports/labels.csv.erb', format: 'csv'
end end
def teams def teams
response.headers['Content-Type'] = 'text/csv' @report_data = generate_teams_report
response.headers['Content-Disposition'] = 'attachment; filename=teams_report.csv' generate_csv('teams_report', 'api/v2/accounts/reports/teams.csv.erb')
render layout: false, template: 'api/v2/accounts/reports/teams.csv.erb', format: 'csv'
end end
def conversations def conversations
@ -43,6 +40,12 @@ class Api::V2::Accounts::ReportsController < Api::V1::Accounts::BaseController
private private
def generate_csv(filename, template)
response.headers['Content-Type'] = 'text/csv'
response.headers['Content-Disposition'] = "attachment; filename=#{filename}.csv"
render layout: false, template: template, format: 'csv'
end
def check_authorization def check_authorization
raise Pundit::NotAuthorizedError unless Current.account_user.administrator? raise Pundit::NotAuthorizedError unless Current.account_user.administrator?
end end

View file

@ -38,9 +38,12 @@ class DashboardController < ActionController::Base
end end
def app_config def app_config
{ APP_VERSION: Chatwoot.config[:version], {
APP_VERSION: Chatwoot.config[:version],
VAPID_PUBLIC_KEY: VapidService.public_key, VAPID_PUBLIC_KEY: VapidService.public_key,
ENABLE_ACCOUNT_SIGNUP: GlobalConfigService.load('ENABLE_ACCOUNT_SIGNUP', 'false'), ENABLE_ACCOUNT_SIGNUP: GlobalConfigService.load('ENABLE_ACCOUNT_SIGNUP', 'false'),
FB_APP_ID: GlobalConfigService.load('FB_APP_ID', '') } FB_APP_ID: GlobalConfigService.load('FB_APP_ID', ''),
FACEBOOK_API_VERSION: 'v13.0'
}
end end
end end

View file

@ -51,6 +51,7 @@ class ConversationFinder
filter_by_team if @team filter_by_team if @team
filter_by_labels if params[:labels] filter_by_labels if params[:labels]
filter_by_query if params[:q] filter_by_query if params[:q]
filter_by_reply_status
end end
def set_inboxes def set_inboxes
@ -90,6 +91,10 @@ class ConversationFinder
@conversations @conversations
end end
def filter_by_reply_status
@conversations = @conversations.where(first_reply_created_at: nil) if params[:reply_status] == 'unattended'
end
def filter_by_query def filter_by_query
allowed_message_types = [Message.message_types[:incoming], Message.message_types[:outgoing]] allowed_message_types = [Message.message_types[:incoming], Message.message_types[:outgoing]]
@conversations = conversations.joins(:messages).where('messages.content ILIKE :search', search: "%#{params[:q]}%") @conversations = conversations.joins(:messages).where('messages.content ILIKE :search', search: "%#{params[:q]}%")

View file

@ -0,0 +1,56 @@
module Api::V2::Accounts::ReportsHelper
def generate_agents_report
Current.account.users.map do |agent|
agent_report = generate_report({ type: :agent, id: agent.id })
[agent.name] + generate_readable_report_metrics(agent_report)
end
end
def generate_inboxes_report
Current.account.inboxes.map do |inbox|
inbox_report = generate_report({ type: :inbox, id: inbox.id })
[inbox.name, inbox.channel&.name] + generate_readable_report_metrics(inbox_report)
end
end
def generate_teams_report
Current.account.teams.map do |team|
team_report = generate_report({ type: :team, id: team.id })
[team.name] + generate_readable_report_metrics(team_report)
end
end
def generate_labels_report
Current.account.labels.map do |label|
label_report = generate_report({ type: :label, id: label.id })
[label.title] + generate_readable_report_metrics(label_report)
end
end
def generate_report(report_params)
V2::ReportBuilder.new(
Current.account,
report_params.merge(
{
since: params[:since],
until: params[:until],
business_hours: ActiveModel::Type::Boolean.new.cast(params[:business_hours])
}
)
).summary
end
private
def generate_readable_report_metrics(report_metric)
[
report_metric[:conversations_count],
time_to_minutes(report_metric[:avg_first_response_time]),
time_to_minutes(report_metric[:avg_resolution_time])
]
end
def time_to_minutes(time_in_seconds)
(time_in_seconds / 60).to_i
end
end

View file

@ -17,30 +17,30 @@ module ReportHelper
end end
def conversations_count def conversations_count
(get_grouped_values scope.conversations).count (get_grouped_values scope.conversations.where(account_id: account.id)).count
end end
def incoming_messages_count def incoming_messages_count
(get_grouped_values scope.messages.incoming.unscope(:order)).count (get_grouped_values scope.messages.where(account_id: account.id).incoming.unscope(:order)).count
end end
def outgoing_messages_count def outgoing_messages_count
(get_grouped_values scope.messages.outgoing.unscope(:order)).count (get_grouped_values scope.messages.where(account_id: account.id).outgoing.unscope(:order)).count
end end
def resolutions_count def resolutions_count
(get_grouped_values scope.conversations.resolved).count (get_grouped_values scope.conversations.where(account_id: account.id).resolved).count
end end
def avg_first_response_time def avg_first_response_time
grouped_reporting_events = (get_grouped_values scope.reporting_events.where(name: 'first_response')) grouped_reporting_events = (get_grouped_values scope.reporting_events.where(name: 'first_response', account_id: account.id))
return grouped_reporting_events.average(:value_in_business_hours) if params[:business_hours] return grouped_reporting_events.average(:value_in_business_hours) if params[:business_hours]
grouped_reporting_events.average(:value) grouped_reporting_events.average(:value)
end end
def avg_resolution_time def avg_resolution_time
grouped_reporting_events = (get_grouped_values scope.reporting_events.where(name: 'conversation_resolved')) grouped_reporting_events = (get_grouped_values scope.reporting_events.where(name: 'conversation_resolved', account_id: account.id))
return grouped_reporting_events.average(:value_in_business_hours) if params[:business_hours] return grouped_reporting_events.average(:value_in_business_hours) if params[:business_hours]
grouped_reporting_events.average(:value) grouped_reporting_events.average(:value)
@ -48,7 +48,7 @@ module ReportHelper
def avg_resolution_time_summary def avg_resolution_time_summary
reporting_events = scope.reporting_events reporting_events = scope.reporting_events
.where(name: 'conversation_resolved', created_at: range) .where(name: 'conversation_resolved', account_id: account.id, created_at: range)
avg_rt = params[:business_hours] ? reporting_events.average(:value_in_business_hours) : reporting_events.average(:value) avg_rt = params[:business_hours] ? reporting_events.average(:value_in_business_hours) : reporting_events.average(:value)
return 0 if avg_rt.blank? return 0 if avg_rt.blank?
@ -58,7 +58,7 @@ module ReportHelper
def avg_first_response_time_summary def avg_first_response_time_summary
reporting_events = scope.reporting_events reporting_events = scope.reporting_events
.where(name: 'first_response', created_at: range) .where(name: 'first_response', account_id: account.id, created_at: range)
avg_frt = params[:business_hours] ? reporting_events.average(:value_in_business_hours) : reporting_events.average(:value) avg_frt = params[:business_hours] ? reporting_events.average(:value_in_business_hours) : reporting_events.average(:value)
return 0 if avg_frt.blank? return 0 if avg_frt.blank?

View file

@ -0,0 +1,16 @@
/* global axios */
import ApiClient from './ApiClient';
class AssignableAgents extends ApiClient {
constructor() {
super('assignable_agents', { accountScoped: true });
}
get(inboxIds) {
return axios.get(this.url, {
params: { inbox_ids: inboxIds },
});
}
}
export default new AssignableAgents();

View file

@ -18,6 +18,17 @@ class CSATReportsAPI extends ApiClient {
}); });
} }
download({ from, to, user_ids } = {}) {
return axios.get(`${this.url}/download`, {
params: {
since: from,
until: to,
sort: '-created_at',
user_ids,
},
});
}
getMetrics({ from, to, user_ids } = {}) { getMetrics({ from, to, user_ids } = {}) {
return axios.get(`${this.url}/metrics`, { return axios.get(`${this.url}/metrics`, {
params: { since: from, until: to, user_ids }, params: { since: from, until: to, user_ids },

View file

@ -0,0 +1,9 @@
import ApiClient from './ApiClient';
class DashboardAppsAPI extends ApiClient {
constructor() {
super('dashboard_apps', { accountScoped: true });
}
}
export default new DashboardAppsAPI();

View file

@ -6,10 +6,6 @@ class Inboxes extends ApiClient {
super('inboxes', { accountScoped: true }); super('inboxes', { accountScoped: true });
} }
getAssignableAgents(inboxId) {
return axios.get(`${this.url}/${inboxId}/assignable_agents`);
}
getCampaigns(inboxId) { getCampaigns(inboxId) {
return axios.get(`${this.url}/${inboxId}/campaigns`); return axios.get(`${this.url}/${inboxId}/campaigns`);
} }

View file

@ -53,27 +53,27 @@ class ReportsAPI extends ApiClient {
}); });
} }
getAgentReports(since, until) { getAgentReports({ from: since, to: until, businessHours }) {
return axios.get(`${this.url}/agents`, { return axios.get(`${this.url}/agents`, {
params: { since, until }, params: { since, until, business_hours: businessHours },
}); });
} }
getLabelReports(since, until) { getLabelReports({ from: since, to: until, businessHours }) {
return axios.get(`${this.url}/labels`, { return axios.get(`${this.url}/labels`, {
params: { since, until }, params: { since, until, business_hours: businessHours },
}); });
} }
getInboxReports(since, until) { getInboxReports({ from: since, to: until, businessHours }) {
return axios.get(`${this.url}/inboxes`, { return axios.get(`${this.url}/inboxes`, {
params: { since, until }, params: { since, until, business_hours: businessHours },
}); });
} }
getTeamReports(since, until) { getTeamReports({ from: since, to: until, businessHours }) {
return axios.get(`${this.url}/teams`, { return axios.get(`${this.url}/teams`, {
params: { since, until }, params: { since, until, business_hours: businessHours },
}); });
} }
} }

View file

@ -0,0 +1,18 @@
import assignableAgentsAPI from '../assignableAgents';
import describeWithAPIMock from './apiSpecHelper';
describe('#AssignableAgentsAPI', () => {
describeWithAPIMock('API calls', context => {
it('#getAssignableAgents', () => {
assignableAgentsAPI.get([1]);
expect(context.axiosMock.get).toHaveBeenCalledWith(
'/api/v1/assignable_agents',
{
params: {
inbox_ids: [1],
},
}
);
});
});
});

View file

@ -33,5 +33,23 @@ describe('#Reports API', () => {
} }
); );
}); });
it('#download', () => {
csatReportsAPI.download({
from: 1622485800,
to: 1623695400,
user_ids: 1,
});
expect(context.axiosMock.get).toHaveBeenCalledWith(
'/api/v1/csat_survey_responses/download',
{
params: {
since: 1622485800,
until: 1623695400,
user_ids: 1,
sort: '-created_at',
},
}
);
});
}); });
}); });

View file

@ -0,0 +1,13 @@
import dashboardAppsAPI from '../dashboardApps';
import ApiClient from '../ApiClient';
describe('#dashboardAppsAPI', () => {
it('creates correct instance', () => {
expect(dashboardAppsAPI).toBeInstanceOf(ApiClient);
expect(dashboardAppsAPI).toHaveProperty('get');
expect(dashboardAppsAPI).toHaveProperty('show');
expect(dashboardAppsAPI).toHaveProperty('create');
expect(dashboardAppsAPI).toHaveProperty('update');
expect(dashboardAppsAPI).toHaveProperty('delete');
});
});

View file

@ -10,17 +10,9 @@ describe('#InboxesAPI', () => {
expect(inboxesAPI).toHaveProperty('create'); expect(inboxesAPI).toHaveProperty('create');
expect(inboxesAPI).toHaveProperty('update'); expect(inboxesAPI).toHaveProperty('update');
expect(inboxesAPI).toHaveProperty('delete'); expect(inboxesAPI).toHaveProperty('delete');
expect(inboxesAPI).toHaveProperty('getAssignableAgents');
expect(inboxesAPI).toHaveProperty('getCampaigns'); expect(inboxesAPI).toHaveProperty('getCampaigns');
}); });
describeWithAPIMock('API calls', context => { describeWithAPIMock('API calls', context => {
it('#getAssignableAgents', () => {
inboxesAPI.getAssignableAgents(1);
expect(context.axiosMock.get).toHaveBeenCalledWith(
'/api/v1/inboxes/1/assignable_agents'
);
});
it('#getCampaigns', () => { it('#getCampaigns', () => {
inboxesAPI.getCampaigns(2); inboxesAPI.getCampaigns(2);
expect(context.axiosMock.get).toHaveBeenCalledWith( expect(context.axiosMock.get).toHaveBeenCalledWith(

View file

@ -47,20 +47,25 @@ describe('#Reports API', () => {
}); });
it('#getAgentReports', () => { it('#getAgentReports', () => {
reportsAPI.getAgentReports(1621103400, 1621621800); reportsAPI.getAgentReports({
from: 1621103400,
to: 1621621800,
businessHours: true,
});
expect(context.axiosMock.get).toHaveBeenCalledWith( expect(context.axiosMock.get).toHaveBeenCalledWith(
'/api/v2/reports/agents', '/api/v2/reports/agents',
{ {
params: { params: {
since: 1621103400, since: 1621103400,
until: 1621621800, until: 1621621800,
business_hours: true,
}, },
} }
); );
}); });
it('#getLabelReports', () => { it('#getLabelReports', () => {
reportsAPI.getLabelReports(1621103400, 1621621800); reportsAPI.getLabelReports({ from: 1621103400, to: 1621621800 });
expect(context.axiosMock.get).toHaveBeenCalledWith( expect(context.axiosMock.get).toHaveBeenCalledWith(
'/api/v2/reports/labels', '/api/v2/reports/labels',
{ {
@ -73,7 +78,7 @@ describe('#Reports API', () => {
}); });
it('#getInboxReports', () => { it('#getInboxReports', () => {
reportsAPI.getInboxReports(1621103400, 1621621800); reportsAPI.getInboxReports({ from: 1621103400, to: 1621621800 });
expect(context.axiosMock.get).toHaveBeenCalledWith( expect(context.axiosMock.get).toHaveBeenCalledWith(
'/api/v2/reports/inboxes', '/api/v2/reports/inboxes',
{ {
@ -86,7 +91,7 @@ describe('#Reports API', () => {
}); });
it('#getTeamReports', () => { it('#getTeamReports', () => {
reportsAPI.getTeamReports(1621103400, 1621621800); reportsAPI.getTeamReports({ from: 1621103400, to: 1621621800 });
expect(context.axiosMock.get).toHaveBeenCalledWith( expect(context.axiosMock.get).toHaveBeenCalledWith(
'/api/v2/reports/teams', '/api/v2/reports/teams',
{ {

View file

@ -235,11 +235,16 @@ export default {
return {}; return {};
}, },
assigneeTabItems() { assigneeTabItems() {
return this.$t('CHAT_LIST.ASSIGNEE_TYPE_TABS').map(item => { const ASSIGNEE_TYPE_TAB_KEYS = {
const count = this.conversationStats[item.COUNT_KEY] || 0; me: 'mineCount',
unassigned: 'unAssignedCount',
all: 'allCount',
};
return Object.keys(ASSIGNEE_TYPE_TAB_KEYS).map(key => {
const count = this.conversationStats[ASSIGNEE_TYPE_TAB_KEYS[key]] || 0;
return { return {
key: item.KEY, key,
name: item.NAME, name: this.$t(`CHAT_LIST.ASSIGNEE_TYPE_TABS.${key}`),
count, count,
}; };
}); });

View file

@ -0,0 +1,64 @@
<template>
<div class="dashboard-app--container">
<div
v-for="(configItem, index) in config"
:key="index"
class="dashboard-app--list"
>
<iframe
v-if="configItem.type === 'frame' && configItem.url"
:id="`dashboard-app--frame-${index}`"
:src="configItem.url"
@load="() => onIframeLoad(index)"
/>
</div>
</div>
</template>
<script>
export default {
props: {
config: {
type: Array,
default: () => [],
},
currentChat: {
type: Object,
default: () => ({}),
},
},
computed: {
dashboardAppContext() {
return {
conversation: this.currentChat,
contact: this.$store.getters['contacts/getContact'](this.contactId),
};
},
contactId() {
return this.currentChat?.meta?.sender?.id;
},
},
methods: {
onIframeLoad(index) {
const frameElement = document.getElementById(
`dashboard-app--frame-${index}`
);
const eventData = { event: 'appContext', data: this.dashboardAppContext };
frameElement.contentWindow.postMessage(JSON.stringify(eventData), '*');
},
},
};
</script>
<style scoped>
.dashboard-app--container,
.dashboard-app--list,
.dashboard-app--list iframe {
height: 100%;
width: 100%;
}
.dashboard-app--list iframe {
border: 0;
}
</style>

View file

@ -6,7 +6,20 @@
:is-contact-panel-open="isContactPanelOpen" :is-contact-panel-open="isContactPanelOpen"
@contact-panel-toggle="onToggleContactPanel" @contact-panel-toggle="onToggleContactPanel"
/> />
<div class="messages-and-sidebar"> <woot-tabs
v-if="dashboardApps.length && currentChat.id"
:index="activeIndex"
class="dashboard-app--tabs"
@change="onDashboardAppTabChange"
>
<woot-tabs-item
v-for="tab in dashboardAppTabs"
:key="tab.key"
:name="tab.name"
:show-badge="false"
/>
</woot-tabs>
<div v-if="!activeIndex" class="messages-and-sidebar">
<messages-view <messages-view
v-if="currentChat.id" v-if="currentChat.id"
:inbox-id="inboxId" :inbox-id="inboxId"
@ -14,7 +27,6 @@
@contact-panel-toggle="onToggleContactPanel" @contact-panel-toggle="onToggleContactPanel"
/> />
<empty-state v-else /> <empty-state v-else />
<div v-show="showContactPanel" class="conversation-sidebar-wrap"> <div v-show="showContactPanel" class="conversation-sidebar-wrap">
<contact-panel <contact-panel
v-if="showContactPanel" v-if="showContactPanel"
@ -24,21 +36,29 @@
/> />
</div> </div>
</div> </div>
<dashboard-app-frame
v-else
:key="currentChat.id"
:config="dashboardApps[activeIndex - 1].content"
:current-chat="currentChat"
/>
</div> </div>
</template> </template>
<script> <script>
import { mapGetters } from 'vuex'; import { mapGetters } from 'vuex';
import ContactPanel from 'dashboard/routes/dashboard/conversation/ContactPanel'; import ContactPanel from 'dashboard/routes/dashboard/conversation/ContactPanel';
import ConversationHeader from './ConversationHeader'; import ConversationHeader from './ConversationHeader';
import DashboardAppFrame from '../DashboardApp/Frame.vue';
import EmptyState from './EmptyState'; import EmptyState from './EmptyState';
import MessagesView from './MessagesView'; import MessagesView from './MessagesView';
export default { export default {
components: { components: {
EmptyState,
MessagesView,
ContactPanel, ContactPanel,
ConversationHeader, ConversationHeader,
DashboardAppFrame,
EmptyState,
MessagesView,
}, },
props: { props: {
@ -52,8 +72,26 @@ export default {
default: true, default: true,
}, },
}, },
data() {
return { activeIndex: 0 };
},
computed: { computed: {
...mapGetters({ currentChat: 'getSelectedChat' }), ...mapGetters({
currentChat: 'getSelectedChat',
dashboardApps: 'dashboardApps/getRecords',
}),
dashboardAppTabs() {
return [
{
key: 'messages',
name: this.$t('CONVERSATION.DASHBOARD_APP_TAB_MESSAGES'),
},
...this.dashboardApps.map(dashboardApp => ({
key: `dashboard-${dashboardApp.id}`,
name: dashboardApp.title,
})),
];
},
showContactPanel() { showContactPanel() {
return this.isContactPanelOpen && this.currentChat.id; return this.isContactPanelOpen && this.currentChat.id;
}, },
@ -70,6 +108,7 @@ export default {
}, },
mounted() { mounted() {
this.fetchLabels(); this.fetchLabels();
this.$store.dispatch('dashboardApps/get');
}, },
methods: { methods: {
fetchLabels() { fetchLabels() {
@ -81,6 +120,9 @@ export default {
onToggleContactPanel() { onToggleContactPanel() {
this.$emit('contact-panel-toggle'); this.$emit('contact-panel-toggle');
}, },
onDashboardAppTabChange(index) {
this.activeIndex = index;
},
}, },
}; };
</script> </script>
@ -96,6 +138,11 @@ export default {
background: var(--color-background-light); background: var(--color-background-light);
} }
.dashboard-app--tabs {
background: var(--white);
margin-top: -1px;
}
.messages-and-sidebar { .messages-and-sidebar {
display: flex; display: flex;
background: var(--color-background-light); background: var(--color-background-light);

View file

@ -29,8 +29,11 @@ export default {
}, },
computed: { computed: {
fileName() { fileName() {
if (this.url) {
const filename = this.url.substring(this.url.lastIndexOf('/') + 1); const filename = this.url.substring(this.url.lastIndexOf('/') + 1);
return filename; return filename || this.$t('CONVERSATION.UNKNOWN_FILE_TYPE');
}
return this.$t('CONVERSATION.UNKNOWN_FILE_TYPE');
}, },
}, },
methods: { methods: {

View file

@ -1,6 +0,0 @@
export const downloadCsvFile = (fileName, fileContent) => {
const link = document.createElement('a');
link.download = fileName;
link.href = `data:text/csv;charset=utf-8,` + encodeURI(fileContent);
link.click();
};

View file

@ -0,0 +1,22 @@
import fromUnixTime from 'date-fns/fromUnixTime';
import format from 'date-fns/format';
export const downloadCsvFile = (fileName, content) => {
const contentType = 'data:text/csv;charset=utf-8;';
const blob = new Blob([content], { type: contentType });
const url = URL.createObjectURL(blob);
const link = document.createElement('a');
link.setAttribute('download', fileName);
link.setAttribute('href', url);
link.click();
return link;
};
export const generateFileName = ({ type, to, businessHours = false }) => {
let name = `${type}-report-${format(fromUnixTime(to), 'dd-MM-yyyy')}`;
if (businessHours) {
name = `${name}-business-hours`;
}
return `${name}.csv`;
};

View file

@ -1,25 +0,0 @@
export const createMessengerScript = pageId => `
<script>
window.fbAsyncInit = function() {
FB.init({
appId: "${window.chatwootConfig.fbAppId}",
xfbml: true,
version: "v4.0"
});
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) { return; }
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<div class="fb-messengermessageus"
messenger_app_id="${window.chatwootConfig.fbAppId}"
page_id="${pageId}"
color="blue"
size="standard" >
</div>
`;

View file

@ -1,21 +0,0 @@
import { downloadCsvFile } from '../downloadCsvFile';
const fileName = 'test.csv';
const fileData = `Agent name,Conversations count,Avg first response time (Minutes),Avg resolution time (Minutes)
Pranav,36,114,28411`;
describe('#downloadCsvFile', () => {
it('should download the csv file', () => {
const link = {
click: jest.fn(),
};
jest.spyOn(document, 'createElement').mockImplementation(() => link);
downloadCsvFile(fileName, fileData);
expect(link.download).toEqual(fileName);
expect(link.href).toEqual(
`data:text/csv;charset=utf-8,${encodeURI(fileData)}`
);
expect(link.click).toHaveBeenCalledTimes(1);
});
});

View file

@ -0,0 +1,13 @@
import { generateFileName } from '../downloadHelper';
describe('#generateFileName', () => {
it('should generate the correct file name', () => {
expect(generateFileName({ type: 'csat', to: 1652812199 })).toEqual(
'csat-report-17-05-2022.csv'
);
expect(
generateFileName({ type: 'csat', to: 1652812199, businessHours: true })
).toEqual('csat-report-17-05-2022-business-hours.csv');
});
});

View file

@ -12,33 +12,11 @@
"INPUT": "البحث عن جهات الاتصال، المحادثات، قوالب الردود الجاهزة .." "INPUT": "البحث عن جهات الاتصال، المحادثات، قوالب الردود الجاهزة .."
}, },
"FILTER_ALL": "الكل", "FILTER_ALL": "الكل",
"STATUS_TABS": [ "ASSIGNEE_TYPE_TABS": {
{ "me": "محادثاتي",
"NAME": "فتح", "unassigned": "غير مسند",
"KEY": "openCount" "all": "الكل"
}, },
{
"NAME": "مغلقة",
"KEY": "allConvCount"
}
],
"ASSIGNEE_TYPE_TABS": [
{
"NAME": "محادثاتي",
"KEY": "me",
"COUNT_KEY": "mineCount"
},
{
"NAME": "غير مسند",
"KEY": "unassigned",
"COUNT_KEY": "unAssignedCount"
},
{
"NAME": "الكل",
"KEY": "all",
"COUNT_KEY": "allCount"
}
],
"CHAT_STATUS_FILTER_ITEMS": { "CHAT_STATUS_FILTER_ITEMS": {
"open": { "open": {
"TEXT": "فتح" "TEXT": "فتح"

View file

@ -341,10 +341,6 @@
"AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "تم تحديث إعدادات الإسناد التلقائي بنجاح", "AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "تم تحديث إعدادات الإسناد التلقائي بنجاح",
"ERROR_MESSAGE": "تعذر تحديث لون صندوق الدردشة. الرجاء المحاولة مرة أخرى لاحقاً." "ERROR_MESSAGE": "تعذر تحديث لون صندوق الدردشة. الرجاء المحاولة مرة أخرى لاحقاً."
}, },
"AUTO_ASSIGNMENT": {
"ENABLED": "مفعل",
"DISABLED": "معطّل"
},
"EMAIL_COLLECT_BOX": { "EMAIL_COLLECT_BOX": {
"ENABLED": "مفعل", "ENABLED": "مفعل",
"DISABLED": "معطّل" "DISABLED": "معطّل"
@ -402,6 +398,8 @@
"MESSENGER_SUB_HEAD": "ضع هذا الكود داخل وسم الـ body في موقعك", "MESSENGER_SUB_HEAD": "ضع هذا الكود داخل وسم الـ body في موقعك",
"INBOX_AGENTS": "موظف الدعم", "INBOX_AGENTS": "موظف الدعم",
"INBOX_AGENTS_SUB_TEXT": "إضافة أو إزالة موظفين من قناة التواصل هذه", "INBOX_AGENTS_SUB_TEXT": "إضافة أو إزالة موظفين من قناة التواصل هذه",
"AGENT_ASSIGNMENT": "إسناد المحادثات",
"AGENT_ASSIGNMENT_SUB_TEXT": "تحديث إعدادات إسناد المحادثات",
"UPDATE": "تحديث", "UPDATE": "تحديث",
"ENABLE_EMAIL_COLLECT_BOX": "تفعيل صندوق جمع البريد الإلكتروني", "ENABLE_EMAIL_COLLECT_BOX": "تفعيل صندوق جمع البريد الإلكتروني",
"ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "تمكين أو تعطيل مربع جمع البريد الإلكتروني في محادثة جديدة", "ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "تمكين أو تعطيل مربع جمع البريد الإلكتروني في محادثة جديدة",

View file

@ -386,6 +386,7 @@
"CSAT_REPORTS": { "CSAT_REPORTS": {
"HEADER": "تقارير CSAT", "HEADER": "تقارير CSAT",
"NO_RECORDS": "لا توجد ردود متوفرة على الدراسة الاستقصائية CSAT.", "NO_RECORDS": "لا توجد ردود متوفرة على الدراسة الاستقصائية CSAT.",
"DOWNLOAD": "تحميل تقرير رضاء خدمة العملاء",
"FILTERS": { "FILTERS": {
"AGENTS": { "AGENTS": {
"PLACEHOLDER": "اختر الوكلاء" "PLACEHOLDER": "اختر الوكلاء"

View file

@ -151,7 +151,7 @@
}, },
"SIDEBAR": { "SIDEBAR": {
"CURRENTLY_VIEWING_ACCOUNT": "مشاهدة حاليا:", "CURRENTLY_VIEWING_ACCOUNT": "مشاهدة حاليا:",
"SWITCH": "Switch", "SWITCH": "تبديل",
"CONVERSATIONS": "المحادثات", "CONVERSATIONS": "المحادثات",
"ALL_CONVERSATIONS": "كل المحادثات", "ALL_CONVERSATIONS": "كل المحادثات",
"MENTIONED_CONVERSATIONS": "الإشارات", "MENTIONED_CONVERSATIONS": "الإشارات",

View file

@ -12,33 +12,11 @@
"INPUT": "Търсене на хора, чатове, запазени отговори .." "INPUT": "Търсене на хора, чатове, запазени отговори .."
}, },
"FILTER_ALL": "Всички", "FILTER_ALL": "Всички",
"STATUS_TABS": [ "ASSIGNEE_TYPE_TABS": {
{ "me": "Мой",
"NAME": "Отворен", "unassigned": "Неназначен",
"KEY": "openCount" "all": "Всички"
}, },
{
"NAME": "Разрешен",
"KEY": "allConvCount"
}
],
"ASSIGNEE_TYPE_TABS": [
{
"NAME": "Мой",
"KEY": "me",
"COUNT_KEY": "mineCount"
},
{
"NAME": "Неназначен",
"KEY": "unassigned",
"COUNT_KEY": "unAssignedCount"
},
{
"NAME": "Всички",
"KEY": "all",
"COUNT_KEY": "allCount"
}
],
"CHAT_STATUS_FILTER_ITEMS": { "CHAT_STATUS_FILTER_ITEMS": {
"open": { "open": {
"TEXT": "Отворен" "TEXT": "Отворен"

View file

@ -341,10 +341,6 @@
"AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Auto assignment updated successfully", "AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Auto assignment updated successfully",
"ERROR_MESSAGE": "Could not update widget color. Please try again later." "ERROR_MESSAGE": "Could not update widget color. Please try again later."
}, },
"AUTO_ASSIGNMENT": {
"ENABLED": "Enabled",
"DISABLED": "Disabled"
},
"EMAIL_COLLECT_BOX": { "EMAIL_COLLECT_BOX": {
"ENABLED": "Enabled", "ENABLED": "Enabled",
"DISABLED": "Disabled" "DISABLED": "Disabled"
@ -402,6 +398,8 @@
"MESSENGER_SUB_HEAD": "Place this button inside your body tag", "MESSENGER_SUB_HEAD": "Place this button inside your body tag",
"INBOX_AGENTS": "Агенти", "INBOX_AGENTS": "Агенти",
"INBOX_AGENTS_SUB_TEXT": "Add or remove agents from this inbox", "INBOX_AGENTS_SUB_TEXT": "Add or remove agents from this inbox",
"AGENT_ASSIGNMENT": "Conversation Assignment",
"AGENT_ASSIGNMENT_SUB_TEXT": "Update conversation assignment settings",
"UPDATE": "Update", "UPDATE": "Update",
"ENABLE_EMAIL_COLLECT_BOX": "Enable email collect box", "ENABLE_EMAIL_COLLECT_BOX": "Enable email collect box",
"ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Enable or disable email collect box on new conversation", "ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Enable or disable email collect box on new conversation",

View file

@ -386,6 +386,7 @@
"CSAT_REPORTS": { "CSAT_REPORTS": {
"HEADER": "CSAT Reports", "HEADER": "CSAT Reports",
"NO_RECORDS": "There are no CSAT survey responses available.", "NO_RECORDS": "There are no CSAT survey responses available.",
"DOWNLOAD": "Download CSAT Reports",
"FILTERS": { "FILTERS": {
"AGENTS": { "AGENTS": {
"PLACEHOLDER": "Choose Agents" "PLACEHOLDER": "Choose Agents"

View file

@ -12,33 +12,11 @@
"INPUT": "Cerca persones, xats, respostes desades .." "INPUT": "Cerca persones, xats, respostes desades .."
}, },
"FILTER_ALL": "Totes", "FILTER_ALL": "Totes",
"STATUS_TABS": [ "ASSIGNEE_TYPE_TABS": {
{ "me": "Meves",
"NAME": "Obrir", "unassigned": "Sense assignar",
"KEY": "openCount" "all": "Totes"
}, },
{
"NAME": "Resoltes",
"KEY": "allConvCount"
}
],
"ASSIGNEE_TYPE_TABS": [
{
"NAME": "Meves",
"KEY": "me",
"COUNT_KEY": "mineCount"
},
{
"NAME": "Sense assignar",
"KEY": "unassigned",
"COUNT_KEY": "unAssignedCount"
},
{
"NAME": "Totes",
"KEY": "all",
"COUNT_KEY": "allCount"
}
],
"CHAT_STATUS_FILTER_ITEMS": { "CHAT_STATUS_FILTER_ITEMS": {
"open": { "open": {
"TEXT": "Obrir" "TEXT": "Obrir"

View file

@ -341,10 +341,6 @@
"AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Assignació automàtica actualitzada correctament", "AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Assignació automàtica actualitzada correctament",
"ERROR_MESSAGE": "No s'ha pogut actualitzar el color del widget. Torneu-ho a provar més endavant." "ERROR_MESSAGE": "No s'ha pogut actualitzar el color del widget. Torneu-ho a provar més endavant."
}, },
"AUTO_ASSIGNMENT": {
"ENABLED": "Habilita",
"DISABLED": "Inhabilita"
},
"EMAIL_COLLECT_BOX": { "EMAIL_COLLECT_BOX": {
"ENABLED": "Habilita", "ENABLED": "Habilita",
"DISABLED": "Inhabilita" "DISABLED": "Inhabilita"
@ -402,6 +398,8 @@
"MESSENGER_SUB_HEAD": "Col·loca aquest botó dins de l'etiqueta body", "MESSENGER_SUB_HEAD": "Col·loca aquest botó dins de l'etiqueta body",
"INBOX_AGENTS": "Agents", "INBOX_AGENTS": "Agents",
"INBOX_AGENTS_SUB_TEXT": "Afegir o eliminar agents d'aquesta safata d'entrada", "INBOX_AGENTS_SUB_TEXT": "Afegir o eliminar agents d'aquesta safata d'entrada",
"AGENT_ASSIGNMENT": "Conversation Assignment",
"AGENT_ASSIGNMENT_SUB_TEXT": "Update conversation assignment settings",
"UPDATE": "Actualitza", "UPDATE": "Actualitza",
"ENABLE_EMAIL_COLLECT_BOX": "Enable email collect box", "ENABLE_EMAIL_COLLECT_BOX": "Enable email collect box",
"ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Enable or disable email collect box on new conversation", "ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Enable or disable email collect box on new conversation",

View file

@ -386,6 +386,7 @@
"CSAT_REPORTS": { "CSAT_REPORTS": {
"HEADER": "CSAT Reports", "HEADER": "CSAT Reports",
"NO_RECORDS": "There are no CSAT survey responses available.", "NO_RECORDS": "There are no CSAT survey responses available.",
"DOWNLOAD": "Download CSAT Reports",
"FILTERS": { "FILTERS": {
"AGENTS": { "AGENTS": {
"PLACEHOLDER": "Choose Agents" "PLACEHOLDER": "Choose Agents"

View file

@ -7,38 +7,16 @@
"404": "V této skupině nejsou žádné aktivní konverzace." "404": "V této skupině nejsou žádné aktivní konverzace."
}, },
"TAB_HEADING": "Konverzace", "TAB_HEADING": "Konverzace",
"MENTION_HEADING": "Mentions", "MENTION_HEADING": "Zmínka",
"SEARCH": { "SEARCH": {
"INPUT": "Hledat lidi, chaty, Uložené odpovědi .." "INPUT": "Hledat lidi, chaty, Uložené odpovědi .."
}, },
"FILTER_ALL": "Vše", "FILTER_ALL": "Vše",
"STATUS_TABS": [ "ASSIGNEE_TYPE_TABS": {
{ "me": "Mine",
"NAME": "Otevřít", "unassigned": "Nepřiřazeno",
"KEY": "openCount" "all": "Vše"
}, },
{
"NAME": "Vyřešeno",
"KEY": "allConvCount"
}
],
"ASSIGNEE_TYPE_TABS": [
{
"NAME": "Důl",
"KEY": "me",
"COUNT_KEY": "mineCount"
},
{
"NAME": "Nepřiřazeno",
"KEY": "unassigned",
"COUNT_KEY": "unAssignedCount"
},
{
"NAME": "Vše",
"KEY": "all",
"COUNT_KEY": "allCount"
}
],
"CHAT_STATUS_FILTER_ITEMS": { "CHAT_STATUS_FILTER_ITEMS": {
"open": { "open": {
"TEXT": "Otevřít" "TEXT": "Otevřít"
@ -76,12 +54,12 @@
"RECEIVED_VIA_EMAIL": "Obdrženo e-mailem", "RECEIVED_VIA_EMAIL": "Obdrženo e-mailem",
"VIEW_TWEET_IN_TWITTER": "Zobrazit tweet na Twitteru", "VIEW_TWEET_IN_TWITTER": "Zobrazit tweet na Twitteru",
"REPLY_TO_TWEET": "Odpovědět na tento tweet", "REPLY_TO_TWEET": "Odpovědět na tento tweet",
"LINK_TO_STORY": "Go to instagram story", "LINK_TO_STORY": "Přejít na instagram příběh",
"SENT": "Sent successfully", "SENT": "Sent successfully",
"NO_MESSAGES": "Žádné zprávy", "NO_MESSAGES": "Žádné zprávy",
"NO_CONTENT": "Žádný obsah k dispozici", "NO_CONTENT": "Žádný obsah k dispozici",
"HIDE_QUOTED_TEXT": "Hide Quoted Text", "HIDE_QUOTED_TEXT": "Hide Quoted Text",
"SHOW_QUOTED_TEXT": "Show Quoted Text", "SHOW_QUOTED_TEXT": "Show Quoted Text",
"MESSAGE_READ": "Read" "MESSAGE_READ": "Přečteno"
} }
} }

View file

@ -1,7 +1,7 @@
{ {
"CONVERSATION": { "CONVERSATION": {
"404": "Vyberte prosím konverzaci z levého panelu", "404": "Vyberte prosím konverzaci z levého panelu",
"UNVERIFIED_SESSION": "The identity of this user is not verified", "UNVERIFIED_SESSION": "Identita tohoto uživatele není ověřena",
"NO_MESSAGE_1": "Ale ne! Vypadá to, že ve vaší schránce nejsou žádné zprávy od zákazníků.", "NO_MESSAGE_1": "Ale ne! Vypadá to, že ve vaší schránce nejsou žádné zprávy od zákazníků.",
"NO_MESSAGE_2": " pro odeslání zprávy na vaši stránku!", "NO_MESSAGE_2": " pro odeslání zprávy na vaši stránku!",
"NO_INBOX_1": "Hola! Zdá se, že jste ještě nepřidali žádné schránky.", "NO_INBOX_1": "Hola! Zdá se, že jste ještě nepřidali žádné schránky.",
@ -22,17 +22,17 @@
"LOADING_CONVERSATIONS": "Načítání konverzací", "LOADING_CONVERSATIONS": "Načítání konverzací",
"CANNOT_REPLY": "Nemůžete odpovědět z důvodu", "CANNOT_REPLY": "Nemůžete odpovědět z důvodu",
"24_HOURS_WINDOW": "24 hodinové omezení okna", "24_HOURS_WINDOW": "24 hodinové omezení okna",
"NOT_ASSIGNED_TO_YOU": "This conversation is not assigned to you. Would you like to assign this conversation to yourself?", "NOT_ASSIGNED_TO_YOU": "Tato konverzace vám není přiřazena. Chcete si přiřadit tuto konverzaci?",
"ASSIGN_TO_ME": "Přiřadit mi", "ASSIGN_TO_ME": "Přiřadit mi",
"TWILIO_WHATSAPP_CAN_REPLY": "You can only reply to this conversation using a template message due to", "TWILIO_WHATSAPP_CAN_REPLY": "Na tuto konverzaci můžete odpovědět pouze pomocí šablony zprávy z důvodu",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 hodinové omezení okna", "TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 hodinové omezení okna",
"SELECT_A_TWEET_TO_REPLY": "Please select a tweet to reply to.", "SELECT_A_TWEET_TO_REPLY": "Vyberte prosím tweet, na který chcete odpovědět.",
"REPLYING_TO": "Odpovídáte uživateli:", "REPLYING_TO": "Odpovídáte uživateli:",
"REMOVE_SELECTION": "Odstranit výběr", "REMOVE_SELECTION": "Odstranit výběr",
"DOWNLOAD": "Stáhnout", "DOWNLOAD": "Stáhnout",
"UPLOADING_ATTACHMENTS": "Nahrávání příloh...", "UPLOADING_ATTACHMENTS": "Nahrávání příloh...",
"SUCCESS_DELETE_MESSAGE": "Zpráva byla úspěšně smazána", "SUCCESS_DELETE_MESSAGE": "Zpráva byla úspěšně smazána",
"FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "FAIL_DELETE_MESSSAGE": "Zpráva se nepodařilo odstranit! Zkuste to znovu",
"NO_RESPONSE": "Bez odpovědi", "NO_RESPONSE": "Bez odpovědi",
"RATING_TITLE": "Hodnocení", "RATING_TITLE": "Hodnocení",
"FEEDBACK_TITLE": "Zpětná vazba", "FEEDBACK_TITLE": "Zpětná vazba",
@ -43,12 +43,12 @@
"OPEN": "Více", "OPEN": "Více",
"CLOSE": "Zavřít", "CLOSE": "Zavřít",
"DETAILS": "Podrobnosti", "DETAILS": "Podrobnosti",
"SNOOZED_UNTIL_TOMORROW": "Snoozed until tomorrow", "SNOOZED_UNTIL_TOMORROW": "Odloženo do zítřka",
"SNOOZED_UNTIL_NEXT_WEEK": "Snoozed until next week", "SNOOZED_UNTIL_NEXT_WEEK": "Odloženo do příštího týdne",
"SNOOZED_UNTIL_NEXT_REPLY": "Snoozed until next reply" "SNOOZED_UNTIL_NEXT_REPLY": "Odloženo do další odpovědi"
}, },
"RESOLVE_DROPDOWN": { "RESOLVE_DROPDOWN": {
"MARK_PENDING": "Mark as pending", "MARK_PENDING": "Označit jako nevyřízené",
"SNOOZE": { "SNOOZE": {
"TITLE": "Odložit do", "TITLE": "Odložit do",
"NEXT_REPLY": "Další odpověď", "NEXT_REPLY": "Další odpověď",
@ -57,13 +57,13 @@
} }
}, },
"FOOTER": { "FOOTER": {
"MESSAGE_SIGN_TOOLTIP": "Message signature", "MESSAGE_SIGN_TOOLTIP": "Podpis zprávy",
"ENABLE_SIGN_TOOLTIP": "Enable signature", "ENABLE_SIGN_TOOLTIP": "Povolit podpis",
"DISABLE_SIGN_TOOLTIP": "Disable signature", "DISABLE_SIGN_TOOLTIP": "Zakázat podpis",
"MSG_INPUT": "Shift + zadejte pro nový řádek. Začněte '/' pro výběr zrušené odpovědi.", "MSG_INPUT": "Shift + zadejte pro nový řádek. Začněte '/' pro výběr zrušené odpovědi.",
"PRIVATE_MSG_INPUT": "Shift + zadejte pro nový řádek. Toto bude viditelné pouze pro agenty", "PRIVATE_MSG_INPUT": "Shift + zadejte pro nový řádek. Toto bude viditelné pouze pro agenty",
"MESSAGE_SIGNATURE_NOT_CONFIGURED": "Message signature is not configured, please configure it in profile settings.", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Message signature is not configured, please configure it in profile settings.",
"CLICK_HERE": "Click here to update" "CLICK_HERE": "Klikněte zde pro aktualizaci"
}, },
"REPLYBOX": { "REPLYBOX": {
"REPLY": "Odpověď", "REPLY": "Odpověď",
@ -74,13 +74,13 @@
"TIP_FORMAT_ICON": "Zobrazit formátovaný textový editor", "TIP_FORMAT_ICON": "Zobrazit formátovaný textový editor",
"TIP_EMOJI_ICON": "Zobrazit výběr emoji", "TIP_EMOJI_ICON": "Zobrazit výběr emoji",
"TIP_ATTACH_ICON": "Přiložit soubory", "TIP_ATTACH_ICON": "Přiložit soubory",
"TIP_AUDIORECORDER_ICON": "Record audio", "TIP_AUDIORECORDER_ICON": "Nahrát zvuk",
"TIP_AUDIORECORDER_PERMISSION": "Allow access to audio", "TIP_AUDIORECORDER_PERMISSION": "Povolit přístup ke zvuku",
"TIP_AUDIORECORDER_ERROR": "Could not open the audio", "TIP_AUDIORECORDER_ERROR": "Zvuk se nepodařilo otevřít",
"ENTER_TO_SEND": "Enter to send", "ENTER_TO_SEND": "Enterem odeslat",
"DRAG_DROP": "Drag and drop here to attach", "DRAG_DROP": "Přetažením sem připojíte",
"START_AUDIO_RECORDING": "Start audio recording", "START_AUDIO_RECORDING": "Spustit nahrávání zvuku",
"STOP_AUDIO_RECORDING": "Stop audio recording", "STOP_AUDIO_RECORDING": "Zastavit nahrávání zvuku",
"": "", "": "",
"EMAIL_HEAD": { "EMAIL_HEAD": {
"ADD_BCC": "Přidat bcc", "ADD_BCC": "Přidat bcc",
@ -101,11 +101,11 @@
"CHANGE_AGENT": "Konverzace pověřená osoba změněna", "CHANGE_AGENT": "Konverzace pověřená osoba změněna",
"CHANGE_TEAM": "Tým konverzace se změnil", "CHANGE_TEAM": "Tým konverzace se změnil",
"FILE_SIZE_LIMIT": "Soubor překračuje limit {MAXIMUM_FILE_UPLOAD_SIZE} přílohy", "FILE_SIZE_LIMIT": "Soubor překračuje limit {MAXIMUM_FILE_UPLOAD_SIZE} přílohy",
"MESSAGE_ERROR": "Unable to send this message, please try again later", "MESSAGE_ERROR": "Nepodařilo se odeslat tuto zprávu, zkuste to prosím později",
"SENT_BY": "Odeslal:", "SENT_BY": "Odeslal:",
"BOT": "Bot", "BOT": "Bot",
"SEND_FAILED": "Couldn't send message! Try again", "SEND_FAILED": "Odeslání zprávy se nezdařilo! Zkuste to znovu",
"TRY_AGAIN": "retry", "TRY_AGAIN": "opakovat",
"ASSIGNMENT": { "ASSIGNMENT": {
"SELECT_AGENT": "Vybrat agenta", "SELECT_AGENT": "Vybrat agenta",
"REMOVE": "Odebrat", "REMOVE": "Odebrat",
@ -165,37 +165,37 @@
"PLACEHOLDER": "Nic" "PLACEHOLDER": "Nic"
}, },
"ACCORDION": { "ACCORDION": {
"CONTACT_DETAILS": "Contact Details", "CONTACT_DETAILS": "Podrobnosti kontaktu",
"CONVERSATION_ACTIONS": "Conversation Actions", "CONVERSATION_ACTIONS": "Akce konverzace",
"CONVERSATION_LABELS": "Conversation Labels", "CONVERSATION_LABELS": "Štítky konverzace",
"CONVERSATION_INFO": "Conversation Information", "CONVERSATION_INFO": "Informace o konverzaci",
"CONTACT_ATTRIBUTES": "Contact Attributes", "CONTACT_ATTRIBUTES": "Atributy kontaktu",
"PREVIOUS_CONVERSATION": "Předchozí konverzace" "PREVIOUS_CONVERSATION": "Předchozí konverzace"
} }
}, },
"CONVERSATION_CUSTOM_ATTRIBUTES": { "CONVERSATION_CUSTOM_ATTRIBUTES": {
"ADD_BUTTON_TEXT": "Create attribute", "ADD_BUTTON_TEXT": "Vytvořit atribut",
"UPDATE": { "UPDATE": {
"SUCCESS": "Attribute updated successfully", "SUCCESS": "Atribut byl úspěšně aktualizován",
"ERROR": "Unable to update attribute. Please try again later" "ERROR": "Atribut nelze aktualizovat. Zkuste to prosím později"
}, },
"ADD": { "ADD": {
"TITLE": "Add", "TITLE": "Přidat",
"SUCCESS": "Attribute added successfully", "SUCCESS": "Atribut byl úspěšně přidán",
"ERROR": "Unable to add attribute. Please try again later" "ERROR": "Nelze přidat atribut. Zkuste to prosím později"
}, },
"DELETE": { "DELETE": {
"SUCCESS": "Attribute deleted successfully", "SUCCESS": "Atribut byl úspěšně odstraněn",
"ERROR": "Unable to delete attribute. Please try again later" "ERROR": "Atribut nelze odstranit. Zkuste to prosím později"
}, },
"ATTRIBUTE_SELECT": { "ATTRIBUTE_SELECT": {
"TITLE": "Add attributes", "TITLE": "Přidat atributy",
"PLACEHOLDER": "Search attributes", "PLACEHOLDER": "Hledat atributy",
"NO_RESULT": "No attributes found" "NO_RESULT": "Nebyly nalezeny žádné atributy"
} }
}, },
"EMAIL_HEADER": { "EMAIL_HEADER": {
"FROM": "From", "FROM": "Od",
"TO": "Komu", "TO": "Komu",
"BCC": "Bcc", "BCC": "Bcc",
"CC": "Cc", "CC": "Cc",

View file

@ -341,10 +341,6 @@
"AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Automatické přiřazení bylo úspěšně aktualizováno", "AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Automatické přiřazení bylo úspěšně aktualizováno",
"ERROR_MESSAGE": "Nelze aktualizovat barvu widgetu. Opakujte akci později." "ERROR_MESSAGE": "Nelze aktualizovat barvu widgetu. Opakujte akci později."
}, },
"AUTO_ASSIGNMENT": {
"ENABLED": "Povoleno",
"DISABLED": "Zakázáno"
},
"EMAIL_COLLECT_BOX": { "EMAIL_COLLECT_BOX": {
"ENABLED": "Povoleno", "ENABLED": "Povoleno",
"DISABLED": "Zakázáno" "DISABLED": "Zakázáno"
@ -402,6 +398,8 @@
"MESSENGER_SUB_HEAD": "Umístěte toto tlačítko dovnitř vašeho tělesného štítku", "MESSENGER_SUB_HEAD": "Umístěte toto tlačítko dovnitř vašeho tělesného štítku",
"INBOX_AGENTS": "Agenti", "INBOX_AGENTS": "Agenti",
"INBOX_AGENTS_SUB_TEXT": "Přidat nebo odebrat agenty z této složky doručené pošty", "INBOX_AGENTS_SUB_TEXT": "Přidat nebo odebrat agenty z této složky doručené pošty",
"AGENT_ASSIGNMENT": "Conversation Assignment",
"AGENT_ASSIGNMENT_SUB_TEXT": "Update conversation assignment settings",
"UPDATE": "Aktualizovat", "UPDATE": "Aktualizovat",
"ENABLE_EMAIL_COLLECT_BOX": "Enable email collect box", "ENABLE_EMAIL_COLLECT_BOX": "Enable email collect box",
"ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Enable or disable email collect box on new conversation", "ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Enable or disable email collect box on new conversation",

View file

@ -53,7 +53,7 @@
}, },
{ {
"id": 4, "id": 4,
"name": "Last year" "name": "Poslední rok"
}, },
{ {
"id": 5, "id": 5,
@ -61,56 +61,56 @@
} }
], ],
"CUSTOM_DATE_RANGE": { "CUSTOM_DATE_RANGE": {
"CONFIRM": "Apply", "CONFIRM": "Použít",
"PLACEHOLDER": "Select date range" "PLACEHOLDER": "Select date range"
}, },
"GROUP_BY_FILTER_DROPDOWN_LABEL": "Group By", "GROUP_BY_FILTER_DROPDOWN_LABEL": "Group By",
"GROUP_BY_DAY_OPTIONS": [ "GROUP_BY_DAY_OPTIONS": [
{ {
"id": 1, "id": 1,
"groupBy": "Day" "groupBy": "Den"
} }
], ],
"GROUP_BY_WEEK_OPTIONS": [ "GROUP_BY_WEEK_OPTIONS": [
{ {
"id": 1, "id": 1,
"groupBy": "Day" "groupBy": "Den"
}, },
{ {
"id": 2, "id": 2,
"groupBy": "Week" "groupBy": "Týden"
} }
], ],
"GROUP_BY_MONTH_OPTIONS": [ "GROUP_BY_MONTH_OPTIONS": [
{ {
"id": 1, "id": 1,
"groupBy": "Day" "groupBy": "Den"
}, },
{ {
"id": 2, "id": 2,
"groupBy": "Week" "groupBy": "Týden"
}, },
{ {
"id": 3, "id": 3,
"groupBy": "Month" "groupBy": "Měsíc"
} }
], ],
"GROUP_BY_YEAR_OPTIONS": [ "GROUP_BY_YEAR_OPTIONS": [
{ {
"id": 1, "id": 1,
"groupBy": "Day" "groupBy": "Den"
}, },
{ {
"id": 2, "id": 2,
"groupBy": "Week" "groupBy": "Týden"
}, },
{ {
"id": 3, "id": 3,
"groupBy": "Month" "groupBy": "Měsíc"
}, },
{ {
"id": 4, "id": 4,
"groupBy": "Year" "groupBy": "Rok"
} }
], ],
"BUSINESS_HOURS": "Pracovní doba" "BUSINESS_HOURS": "Pracovní doba"
@ -170,7 +170,7 @@
}, },
{ {
"id": 4, "id": 4,
"name": "Last year" "name": "Poslední rok"
}, },
{ {
"id": 5, "id": 5,
@ -178,7 +178,7 @@
} }
], ],
"CUSTOM_DATE_RANGE": { "CUSTOM_DATE_RANGE": {
"CONFIRM": "Apply", "CONFIRM": "Použít",
"PLACEHOLDER": "Select date range" "PLACEHOLDER": "Select date range"
} }
}, },
@ -237,7 +237,7 @@
}, },
{ {
"id": 4, "id": 4,
"name": "Last year" "name": "Poslední rok"
}, },
{ {
"id": 5, "id": 5,
@ -245,7 +245,7 @@
} }
], ],
"CUSTOM_DATE_RANGE": { "CUSTOM_DATE_RANGE": {
"CONFIRM": "Apply", "CONFIRM": "Použít",
"PLACEHOLDER": "Select date range" "PLACEHOLDER": "Select date range"
} }
}, },
@ -304,7 +304,7 @@
}, },
{ {
"id": 4, "id": 4,
"name": "Last year" "name": "Poslední rok"
}, },
{ {
"id": 5, "id": 5,
@ -312,7 +312,7 @@
} }
], ],
"CUSTOM_DATE_RANGE": { "CUSTOM_DATE_RANGE": {
"CONFIRM": "Apply", "CONFIRM": "Použít",
"PLACEHOLDER": "Select date range" "PLACEHOLDER": "Select date range"
} }
}, },
@ -371,7 +371,7 @@
}, },
{ {
"id": 4, "id": 4,
"name": "Last year" "name": "Poslední rok"
}, },
{ {
"id": 5, "id": 5,
@ -379,13 +379,14 @@
} }
], ],
"CUSTOM_DATE_RANGE": { "CUSTOM_DATE_RANGE": {
"CONFIRM": "Apply", "CONFIRM": "Použít",
"PLACEHOLDER": "Select date range" "PLACEHOLDER": "Select date range"
} }
}, },
"CSAT_REPORTS": { "CSAT_REPORTS": {
"HEADER": "CSAT Reports", "HEADER": "CSAT Reports",
"NO_RECORDS": "There are no CSAT survey responses available.", "NO_RECORDS": "There are no CSAT survey responses available.",
"DOWNLOAD": "Download CSAT Reports",
"FILTERS": { "FILTERS": {
"AGENTS": { "AGENTS": {
"PLACEHOLDER": "Choose Agents" "PLACEHOLDER": "Choose Agents"

View file

@ -16,7 +16,7 @@
"ERROR_MESSAGE": "Nelze se připojit k Woot serveru, opakujte akci později" "ERROR_MESSAGE": "Nelze se připojit k Woot serveru, opakujte akci později"
}, },
"CAPTCHA": { "CAPTCHA": {
"ERROR": "Verification expired. Please solve captcha again." "ERROR": "Ověření vypršelo. Vyřešte captchu znovu."
}, },
"SUBMIT": "Odeslat" "SUBMIT": "Odeslat"
} }

View file

@ -154,7 +154,7 @@
"SWITCH": "Switch", "SWITCH": "Switch",
"CONVERSATIONS": "Konverzace", "CONVERSATIONS": "Konverzace",
"ALL_CONVERSATIONS": "All Conversations", "ALL_CONVERSATIONS": "All Conversations",
"MENTIONED_CONVERSATIONS": "Mentions", "MENTIONED_CONVERSATIONS": "Zmínka",
"REPORTS": "Zprávy", "REPORTS": "Zprávy",
"SETTINGS": "Nastavení", "SETTINGS": "Nastavení",
"CONTACTS": "Kontakty", "CONTACTS": "Kontakty",

View file

@ -12,33 +12,11 @@
"INPUT": "Søg efter Mennesker, Chats, Gemte svar .." "INPUT": "Søg efter Mennesker, Chats, Gemte svar .."
}, },
"FILTER_ALL": "Alle", "FILTER_ALL": "Alle",
"STATUS_TABS": [ "ASSIGNEE_TYPE_TABS": {
{ "me": "Mine",
"NAME": "Åbn", "unassigned": "Ikke Tildelt",
"KEY": "openCount" "all": "Alle"
}, },
{
"NAME": "Løst",
"KEY": "allConvCount"
}
],
"ASSIGNEE_TYPE_TABS": [
{
"NAME": "Mine",
"KEY": "me",
"COUNT_KEY": "mineCount"
},
{
"NAME": "Ikke Tildelt",
"KEY": "unassigned",
"COUNT_KEY": "unAssignedCount"
},
{
"NAME": "Alle",
"KEY": "all",
"COUNT_KEY": "allCount"
}
],
"CHAT_STATUS_FILTER_ITEMS": { "CHAT_STATUS_FILTER_ITEMS": {
"open": { "open": {
"TEXT": "Åbn" "TEXT": "Åbn"

View file

@ -341,10 +341,6 @@
"AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Automatisk tildeling opdateret", "AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Automatisk tildeling opdateret",
"ERROR_MESSAGE": "Kunne ikke opdatere widget farve. Prøv igen senere." "ERROR_MESSAGE": "Kunne ikke opdatere widget farve. Prøv igen senere."
}, },
"AUTO_ASSIGNMENT": {
"ENABLED": "Aktiveret",
"DISABLED": "Deaktiveret"
},
"EMAIL_COLLECT_BOX": { "EMAIL_COLLECT_BOX": {
"ENABLED": "Aktiveret", "ENABLED": "Aktiveret",
"DISABLED": "Deaktiveret" "DISABLED": "Deaktiveret"
@ -402,6 +398,8 @@
"MESSENGER_SUB_HEAD": "Placer denne knap inde i din body tag", "MESSENGER_SUB_HEAD": "Placer denne knap inde i din body tag",
"INBOX_AGENTS": "Agenter", "INBOX_AGENTS": "Agenter",
"INBOX_AGENTS_SUB_TEXT": "Tilføj eller fjern agenter fra denne indbakke", "INBOX_AGENTS_SUB_TEXT": "Tilføj eller fjern agenter fra denne indbakke",
"AGENT_ASSIGNMENT": "Conversation Assignment",
"AGENT_ASSIGNMENT_SUB_TEXT": "Update conversation assignment settings",
"UPDATE": "Opdater", "UPDATE": "Opdater",
"ENABLE_EMAIL_COLLECT_BOX": "Enable email collect box", "ENABLE_EMAIL_COLLECT_BOX": "Enable email collect box",
"ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Enable or disable email collect box on new conversation", "ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Enable or disable email collect box on new conversation",

View file

@ -386,6 +386,7 @@
"CSAT_REPORTS": { "CSAT_REPORTS": {
"HEADER": "CSAT Reports", "HEADER": "CSAT Reports",
"NO_RECORDS": "There are no CSAT survey responses available.", "NO_RECORDS": "There are no CSAT survey responses available.",
"DOWNLOAD": "Download CSAT Reports",
"FILTERS": { "FILTERS": {
"AGENTS": { "AGENTS": {
"PLACEHOLDER": "Choose Agents" "PLACEHOLDER": "Choose Agents"

View file

@ -12,33 +12,11 @@
"INPUT": "Suche nach Personen, Chats, gespeicherten Antworten .." "INPUT": "Suche nach Personen, Chats, gespeicherten Antworten .."
}, },
"FILTER_ALL": "Alle", "FILTER_ALL": "Alle",
"STATUS_TABS": [ "ASSIGNEE_TYPE_TABS": {
{ "me": "Meine",
"NAME": "Offen", "unassigned": "Nicht zugewiesen",
"KEY": "openCount" "all": "Alle"
}, },
{
"NAME": "Gelöst",
"KEY": "allConvCount"
}
],
"ASSIGNEE_TYPE_TABS": [
{
"NAME": "Meine",
"KEY": "me",
"COUNT_KEY": "mineCount"
},
{
"NAME": "Nicht zugewiesen",
"KEY": "unassigned",
"COUNT_KEY": "unAssignedCount"
},
{
"NAME": "Alle",
"KEY": "all",
"COUNT_KEY": "allCount"
}
],
"CHAT_STATUS_FILTER_ITEMS": { "CHAT_STATUS_FILTER_ITEMS": {
"open": { "open": {
"TEXT": "Öffnen" "TEXT": "Öffnen"

View file

@ -341,10 +341,6 @@
"AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Automatische Zuordnung erfolgreich aktualisiert", "AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Automatische Zuordnung erfolgreich aktualisiert",
"ERROR_MESSAGE": "Widget-Farbe konnte nicht aktualisiert werden. Bitte versuchen Sie es später noch einmal." "ERROR_MESSAGE": "Widget-Farbe konnte nicht aktualisiert werden. Bitte versuchen Sie es später noch einmal."
}, },
"AUTO_ASSIGNMENT": {
"ENABLED": "Aktiviert",
"DISABLED": "Deaktiviert"
},
"EMAIL_COLLECT_BOX": { "EMAIL_COLLECT_BOX": {
"ENABLED": "Aktiviert", "ENABLED": "Aktiviert",
"DISABLED": "Deaktiviert" "DISABLED": "Deaktiviert"
@ -402,6 +398,8 @@
"MESSENGER_SUB_HEAD": "Platzieren Sie diese Schaltfläche in Ihrem Body-Tag", "MESSENGER_SUB_HEAD": "Platzieren Sie diese Schaltfläche in Ihrem Body-Tag",
"INBOX_AGENTS": "Agenten", "INBOX_AGENTS": "Agenten",
"INBOX_AGENTS_SUB_TEXT": "Hinzufügen oder Entfernen von Agenten zu diesem Posteingang", "INBOX_AGENTS_SUB_TEXT": "Hinzufügen oder Entfernen von Agenten zu diesem Posteingang",
"AGENT_ASSIGNMENT": "Conversation Assignment",
"AGENT_ASSIGNMENT_SUB_TEXT": "Update conversation assignment settings",
"UPDATE": "Aktualisieren", "UPDATE": "Aktualisieren",
"ENABLE_EMAIL_COLLECT_BOX": "E-Mail-Sammelbox aktivieren", "ENABLE_EMAIL_COLLECT_BOX": "E-Mail-Sammelbox aktivieren",
"ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "E-Mail-Sammelbox für neue Konversation aktivieren oder deaktivieren", "ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "E-Mail-Sammelbox für neue Konversation aktivieren oder deaktivieren",

View file

@ -386,6 +386,7 @@
"CSAT_REPORTS": { "CSAT_REPORTS": {
"HEADER": "CSAT-Berichte", "HEADER": "CSAT-Berichte",
"NO_RECORDS": "Es sind keine Antworten zu CSAT Umfragen verfügbar.", "NO_RECORDS": "Es sind keine Antworten zu CSAT Umfragen verfügbar.",
"DOWNLOAD": "CSAT-Berichte herunterladen",
"FILTERS": { "FILTERS": {
"AGENTS": { "AGENTS": {
"PLACEHOLDER": "Agenten wählen" "PLACEHOLDER": "Agenten wählen"
@ -420,7 +421,7 @@
"ACCOUNT_CONVERSATIONS": { "ACCOUNT_CONVERSATIONS": {
"HEADER": "Offene Konversationen", "HEADER": "Offene Konversationen",
"LOADING_MESSAGE": "Konversationsdaten werden geladen...", "LOADING_MESSAGE": "Konversationsdaten werden geladen...",
"OPEN": "Offen", "OPEN": "Öffnen",
"UNATTENDED": "Unbeaufsichtigt", "UNATTENDED": "Unbeaufsichtigt",
"UNASSIGNED": "Nicht zugewiesen" "UNASSIGNED": "Nicht zugewiesen"
}, },

View file

@ -12,33 +12,11 @@
"INPUT": "Αναζήτηση Ανθρώπων, συνομιλιών, αποθηκευμένων απαντήσεων .." "INPUT": "Αναζήτηση Ανθρώπων, συνομιλιών, αποθηκευμένων απαντήσεων .."
}, },
"FILTER_ALL": "Όλες", "FILTER_ALL": "Όλες",
"STATUS_TABS": [ "ASSIGNEE_TYPE_TABS": {
{ "me": "Δικές μου",
"NAME": "Ανοιχτές", "unassigned": "Χωρίς Αντιστοίχιση",
"KEY": "openCount" "all": "Όλες"
}, },
{
"NAME": "Επιλύθηκαν",
"KEY": "allConvCount"
}
],
"ASSIGNEE_TYPE_TABS": [
{
"NAME": "Δικές μου",
"KEY": "me",
"COUNT_KEY": "mineCount"
},
{
"NAME": "Χωρίς Αντιστοίχιση",
"KEY": "unassigned",
"COUNT_KEY": "unAssignedCount"
},
{
"NAME": "Όλες",
"KEY": "all",
"COUNT_KEY": "allCount"
}
],
"CHAT_STATUS_FILTER_ITEMS": { "CHAT_STATUS_FILTER_ITEMS": {
"open": { "open": {
"TEXT": "Ανοιχτές" "TEXT": "Ανοιχτές"

View file

@ -341,10 +341,6 @@
"AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Η αυτόματη αντιστοίχιση ενημερώθηκε επιτυχώς", "AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Η αυτόματη αντιστοίχιση ενημερώθηκε επιτυχώς",
"ERROR_MESSAGE": "Δεν μπορεί να ενημερωθεί το χρώμα του widget. Παρακαλώ προσπαθήστε αργότερα." "ERROR_MESSAGE": "Δεν μπορεί να ενημερωθεί το χρώμα του widget. Παρακαλώ προσπαθήστε αργότερα."
}, },
"AUTO_ASSIGNMENT": {
"ENABLED": "Ενεργό",
"DISABLED": "Ανενεργό"
},
"EMAIL_COLLECT_BOX": { "EMAIL_COLLECT_BOX": {
"ENABLED": "Ενεργό", "ENABLED": "Ενεργό",
"DISABLED": "Ανενεργό" "DISABLED": "Ανενεργό"
@ -402,6 +398,8 @@
"MESSENGER_SUB_HEAD": "Τοποθετήσετε αυτόν τον κώδικα μέσα στο body tag της ιστοσελίδας σας", "MESSENGER_SUB_HEAD": "Τοποθετήσετε αυτόν τον κώδικα μέσα στο body tag της ιστοσελίδας σας",
"INBOX_AGENTS": "Πράκτορες", "INBOX_AGENTS": "Πράκτορες",
"INBOX_AGENTS_SUB_TEXT": "Προσθέστε ή αφαιρέστε πράκτορες σε αυτό το κιβώτιο", "INBOX_AGENTS_SUB_TEXT": "Προσθέστε ή αφαιρέστε πράκτορες σε αυτό το κιβώτιο",
"AGENT_ASSIGNMENT": "Ανάθεση Συνομιλίας",
"AGENT_ASSIGNMENT_SUB_TEXT": "Ενημέρωση ρυθμίσεων ανάθεσης συνομιλίας",
"UPDATE": "Ενημέρωση", "UPDATE": "Ενημέρωση",
"ENABLE_EMAIL_COLLECT_BOX": "Ενεργοποιήσετε το πλαίσιο συλλογής email", "ENABLE_EMAIL_COLLECT_BOX": "Ενεργοποιήσετε το πλαίσιο συλλογής email",
"ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Ενεργοποίηση ή απενεργοποίηση του πλαισίου συλλογής μηνυμάτων ηλεκτρονικού ταχυδρομείου στη νέα συνομιλία", "ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Ενεργοποίηση ή απενεργοποίηση του πλαισίου συλλογής μηνυμάτων ηλεκτρονικού ταχυδρομείου στη νέα συνομιλία",

View file

@ -386,6 +386,7 @@
"CSAT_REPORTS": { "CSAT_REPORTS": {
"HEADER": "Αναφορές CSAT", "HEADER": "Αναφορές CSAT",
"NO_RECORDS": "Δεν υπάρχουν διαθέσιμες απαντήσεις ερευνών CSAT.", "NO_RECORDS": "Δεν υπάρχουν διαθέσιμες απαντήσεις ερευνών CSAT.",
"DOWNLOAD": "Λήψη αναφορών CSAT",
"FILTERS": { "FILTERS": {
"AGENTS": { "AGENTS": {
"PLACEHOLDER": "Επιλέξτε Πράκτορες" "PLACEHOLDER": "Επιλέξτε Πράκτορες"

View file

@ -12,33 +12,11 @@
"INPUT": "Search for People, Chats, Saved Replies .." "INPUT": "Search for People, Chats, Saved Replies .."
}, },
"FILTER_ALL": "All", "FILTER_ALL": "All",
"STATUS_TABS": [ "ASSIGNEE_TYPE_TABS": {
{ "me": "Mine",
"NAME": "Open", "unassigned": "Unassigned",
"KEY": "openCount" "all": "All"
}, },
{
"NAME": "Resolved",
"KEY": "allConvCount"
}
],
"ASSIGNEE_TYPE_TABS": [
{
"NAME": "Mine",
"KEY": "me",
"COUNT_KEY": "mineCount"
},
{
"NAME": "Unassigned",
"KEY": "unassigned",
"COUNT_KEY": "unAssignedCount"
},
{
"NAME": "All",
"KEY": "all",
"COUNT_KEY": "allCount"
}
],
"CHAT_STATUS_FILTER_ITEMS": { "CHAT_STATUS_FILTER_ITEMS": {
"open": { "open": {
"TEXT": "Open" "TEXT": "Open"

View file

@ -1,6 +1,7 @@
{ {
"CONVERSATION": { "CONVERSATION": {
"404": "Please select a conversation from left pane", "404": "Please select a conversation from left pane",
"DASHBOARD_APP_TAB_MESSAGES": "Messages",
"UNVERIFIED_SESSION": "The identity of this user is not verified", "UNVERIFIED_SESSION": "The identity of this user is not verified",
"NO_MESSAGE_1": "Uh oh! Looks like there are no messages from customers in your inbox.", "NO_MESSAGE_1": "Uh oh! Looks like there are no messages from customers in your inbox.",
"NO_MESSAGE_2": " to send a message to your page!", "NO_MESSAGE_2": " to send a message to your page!",
@ -30,6 +31,7 @@
"REPLYING_TO": "You are replying to:", "REPLYING_TO": "You are replying to:",
"REMOVE_SELECTION": "Remove Selection", "REMOVE_SELECTION": "Remove Selection",
"DOWNLOAD": "Download", "DOWNLOAD": "Download",
"UNKNOWN_FILE_TYPE": "Unknown File",
"UPLOADING_ATTACHMENTS": "Uploading attachments...", "UPLOADING_ATTACHMENTS": "Uploading attachments...",
"SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully",
"FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again",

View file

@ -341,10 +341,6 @@
"AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Auto assignment updated successfully", "AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Auto assignment updated successfully",
"ERROR_MESSAGE": "Could not update widget color. Please try again later." "ERROR_MESSAGE": "Could not update widget color. Please try again later."
}, },
"AUTO_ASSIGNMENT": {
"ENABLED": "Enabled",
"DISABLED": "Disabled"
},
"EMAIL_COLLECT_BOX": { "EMAIL_COLLECT_BOX": {
"ENABLED": "Enabled", "ENABLED": "Enabled",
"DISABLED": "Disabled" "DISABLED": "Disabled"
@ -402,6 +398,8 @@
"MESSENGER_SUB_HEAD": "Place this button inside your body tag", "MESSENGER_SUB_HEAD": "Place this button inside your body tag",
"INBOX_AGENTS": "Agents", "INBOX_AGENTS": "Agents",
"INBOX_AGENTS_SUB_TEXT": "Add or remove agents from this inbox", "INBOX_AGENTS_SUB_TEXT": "Add or remove agents from this inbox",
"AGENT_ASSIGNMENT": "Conversation Assignment",
"AGENT_ASSIGNMENT_SUB_TEXT": "Update conversation assignment settings",
"UPDATE": "Update", "UPDATE": "Update",
"ENABLE_EMAIL_COLLECT_BOX": "Enable email collect box", "ENABLE_EMAIL_COLLECT_BOX": "Enable email collect box",
"ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Enable or disable email collect box on new conversation", "ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Enable or disable email collect box on new conversation",

View file

@ -354,6 +354,7 @@
"CSAT_REPORTS": { "CSAT_REPORTS": {
"HEADER": "CSAT Reports", "HEADER": "CSAT Reports",
"NO_RECORDS": "There are no CSAT survey responses available.", "NO_RECORDS": "There are no CSAT survey responses available.",
"DOWNLOAD": "Download CSAT Reports",
"FILTERS": { "FILTERS": {
"AGENTS": { "AGENTS": {
"PLACEHOLDER": "Choose Agents" "PLACEHOLDER": "Choose Agents"

View file

@ -21,7 +21,7 @@
}, },
"MESSAGE_SIGNATURE_SECTION": { "MESSAGE_SIGNATURE_SECTION": {
"TITLE": "Personal message signature", "TITLE": "Personal message signature",
"NOTE": "Create a personal message signature that would be added to all the messages you send from the platform. Use the rich content editor to create a highly personalised signature.", "NOTE": "Create a personal message signature that would be added to all the messages you send from your email inbox. Use the rich content editor to create a highly personalised signature.",
"BTN_TEXT": "Save message signature", "BTN_TEXT": "Save message signature",
"API_ERROR": "Couldn't save signature! Try again", "API_ERROR": "Couldn't save signature! Try again",
"API_SUCCESS": "Signature saved successfully" "API_SUCCESS": "Signature saved successfully"

View file

@ -12,33 +12,11 @@
"INPUT": "Búsqueda de Personas, Chats, Respuestas Salvadas .." "INPUT": "Búsqueda de Personas, Chats, Respuestas Salvadas .."
}, },
"FILTER_ALL": "Todos", "FILTER_ALL": "Todos",
"STATUS_TABS": [ "ASSIGNEE_TYPE_TABS": {
{ "me": "Mías",
"NAME": "Abrir", "unassigned": "Sin asignar",
"KEY": "openCount" "all": "Todos"
}, },
{
"NAME": "Resuelto",
"KEY": "allConvCount"
}
],
"ASSIGNEE_TYPE_TABS": [
{
"NAME": "Mías",
"KEY": "me",
"COUNT_KEY": "mineCount"
},
{
"NAME": "Unassigned",
"KEY": "unassigned",
"COUNT_KEY": "unAssignedCount"
},
{
"NAME": "Todos",
"KEY": "all",
"COUNT_KEY": "allCount"
}
],
"CHAT_STATUS_FILTER_ITEMS": { "CHAT_STATUS_FILTER_ITEMS": {
"open": { "open": {
"TEXT": "Abrir" "TEXT": "Abrir"

View file

@ -341,10 +341,6 @@
"AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Auto-asignación actualizada correctamente", "AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Auto-asignación actualizada correctamente",
"ERROR_MESSAGE": "No se pudo actualizar el color del widget. Inténtalo de nuevo más tarde." "ERROR_MESSAGE": "No se pudo actualizar el color del widget. Inténtalo de nuevo más tarde."
}, },
"AUTO_ASSIGNMENT": {
"ENABLED": "Activado",
"DISABLED": "Deshabilitado"
},
"EMAIL_COLLECT_BOX": { "EMAIL_COLLECT_BOX": {
"ENABLED": "Activado", "ENABLED": "Activado",
"DISABLED": "Deshabilitado" "DISABLED": "Deshabilitado"
@ -402,6 +398,8 @@
"MESSENGER_SUB_HEAD": "Coloca este botón dentro de tu etiqueta cuerpo", "MESSENGER_SUB_HEAD": "Coloca este botón dentro de tu etiqueta cuerpo",
"INBOX_AGENTS": "Agentes", "INBOX_AGENTS": "Agentes",
"INBOX_AGENTS_SUB_TEXT": "Añadir o quitar agentes de esta bandeja de entrada", "INBOX_AGENTS_SUB_TEXT": "Añadir o quitar agentes de esta bandeja de entrada",
"AGENT_ASSIGNMENT": "Conversation Assignment",
"AGENT_ASSIGNMENT_SUB_TEXT": "Update conversation assignment settings",
"UPDATE": "Actualizar", "UPDATE": "Actualizar",
"ENABLE_EMAIL_COLLECT_BOX": "Activar caja de recolección de correo electrónico", "ENABLE_EMAIL_COLLECT_BOX": "Activar caja de recolección de correo electrónico",
"ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Activar o desactivar la caja de recolección de correo electrónico", "ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Activar o desactivar la caja de recolección de correo electrónico",

View file

@ -386,6 +386,7 @@
"CSAT_REPORTS": { "CSAT_REPORTS": {
"HEADER": "Reporte de encuestas de satisfacción", "HEADER": "Reporte de encuestas de satisfacción",
"NO_RECORDS": "No hay respuestas de encuestas de satisfacción disponibles.", "NO_RECORDS": "No hay respuestas de encuestas de satisfacción disponibles.",
"DOWNLOAD": "Download CSAT Reports",
"FILTERS": { "FILTERS": {
"AGENTS": { "AGENTS": {
"PLACEHOLDER": "Elegir agentes" "PLACEHOLDER": "Elegir agentes"

View file

@ -12,33 +12,11 @@
"INPUT": "پیدا کردن افراد، گفتگوها و پاسخ‌های از پیش نوشته شده..." "INPUT": "پیدا کردن افراد، گفتگوها و پاسخ‌های از پیش نوشته شده..."
}, },
"FILTER_ALL": "همه", "FILTER_ALL": "همه",
"STATUS_TABS": [ "ASSIGNEE_TYPE_TABS": {
{ "me": "من",
"NAME": "باز", "unassigned": "تخصیص داده نشده",
"KEY": "openCount" "all": "همه"
}, },
{
"NAME": "حل شده",
"KEY": "allConvCount"
}
],
"ASSIGNEE_TYPE_TABS": [
{
"NAME": "من",
"KEY": "me",
"COUNT_KEY": "mineCount"
},
{
"NAME": "تخصیص داده نشده",
"KEY": "unassigned",
"COUNT_KEY": "unAssignedCount"
},
{
"NAME": "همه",
"KEY": "all",
"COUNT_KEY": "allCount"
}
],
"CHAT_STATUS_FILTER_ITEMS": { "CHAT_STATUS_FILTER_ITEMS": {
"open": { "open": {
"TEXT": "باز" "TEXT": "باز"

View file

@ -341,10 +341,6 @@
"AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "واگذاری خودکار گفتگو به ایجنت ها تنظیم شد", "AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "واگذاری خودکار گفتگو به ایجنت ها تنظیم شد",
"ERROR_MESSAGE": "در حال حاضر امکان تغییر رنگ ویجت امکان‌پذیر نیست. لطفا بعدا امتحان کنید." "ERROR_MESSAGE": "در حال حاضر امکان تغییر رنگ ویجت امکان‌پذیر نیست. لطفا بعدا امتحان کنید."
}, },
"AUTO_ASSIGNMENT": {
"ENABLED": "فعال",
"DISABLED": "غیرفعال"
},
"EMAIL_COLLECT_BOX": { "EMAIL_COLLECT_BOX": {
"ENABLED": "فعال", "ENABLED": "فعال",
"DISABLED": "غیرفعال" "DISABLED": "غیرفعال"
@ -402,6 +398,8 @@
"MESSENGER_SUB_HEAD": "این دکمه را در تگ body قرار دهید", "MESSENGER_SUB_HEAD": "این دکمه را در تگ body قرار دهید",
"INBOX_AGENTS": "ایجنت ها", "INBOX_AGENTS": "ایجنت ها",
"INBOX_AGENTS_SUB_TEXT": "اضافه کردن یا حذف کردن دسترسی ایجنت به صندوق ورودی", "INBOX_AGENTS_SUB_TEXT": "اضافه کردن یا حذف کردن دسترسی ایجنت به صندوق ورودی",
"AGENT_ASSIGNMENT": "واگذاری مکالمه",
"AGENT_ASSIGNMENT_SUB_TEXT": "تنظیمات واگذاری مکالمه را به روز کنید",
"UPDATE": "اعمال شود", "UPDATE": "اعمال شود",
"ENABLE_EMAIL_COLLECT_BOX": "فعال سازی فرم دریافت ایمیل از کاربر", "ENABLE_EMAIL_COLLECT_BOX": "فعال سازی فرم دریافت ایمیل از کاربر",
"ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "فعال یا غیرفعال کردن فرم دریافت ایمیل از کاربر", "ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "فعال یا غیرفعال کردن فرم دریافت ایمیل از کاربر",

View file

@ -386,6 +386,7 @@
"CSAT_REPORTS": { "CSAT_REPORTS": {
"HEADER": "گزارشات رضایت مشتری", "HEADER": "گزارشات رضایت مشتری",
"NO_RECORDS": "هیچ پاسخ برای نظرسنجی رضایت مشتری در دسترس نیست.", "NO_RECORDS": "هیچ پاسخ برای نظرسنجی رضایت مشتری در دسترس نیست.",
"DOWNLOAD": "دانلود گزارش CSAT",
"FILTERS": { "FILTERS": {
"AGENTS": { "AGENTS": {
"PLACEHOLDER": "ایجنت را انتخاب کنید" "PLACEHOLDER": "ایجنت را انتخاب کنید"

View file

@ -12,33 +12,11 @@
"INPUT": "Etsi ihmisiä, keskusteluita, tallennettuja vastauksia..." "INPUT": "Etsi ihmisiä, keskusteluita, tallennettuja vastauksia..."
}, },
"FILTER_ALL": "Kaikki", "FILTER_ALL": "Kaikki",
"STATUS_TABS": [ "ASSIGNEE_TYPE_TABS": {
{ "me": "Minun",
"NAME": "Avaa", "unassigned": "Osoittamaton",
"KEY": "openCount" "all": "Kaikki"
}, },
{
"NAME": "Ratkaistu",
"KEY": "allConvCount"
}
],
"ASSIGNEE_TYPE_TABS": [
{
"NAME": "Minun",
"KEY": "me",
"COUNT_KEY": "mineCount"
},
{
"NAME": "Osoittamaton",
"KEY": "unassigned",
"COUNT_KEY": "unAssignedCount"
},
{
"NAME": "Kaikki",
"KEY": "all",
"COUNT_KEY": "allCount"
}
],
"CHAT_STATUS_FILTER_ITEMS": { "CHAT_STATUS_FILTER_ITEMS": {
"open": { "open": {
"TEXT": "Avaa" "TEXT": "Avaa"

View file

@ -341,10 +341,6 @@
"AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Automaattinen delegointi päivitetty onnistuneesti", "AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Automaattinen delegointi päivitetty onnistuneesti",
"ERROR_MESSAGE": "Widgetin väriä ei voitu päivittää. Yritä myöhemmin uudelleen." "ERROR_MESSAGE": "Widgetin väriä ei voitu päivittää. Yritä myöhemmin uudelleen."
}, },
"AUTO_ASSIGNMENT": {
"ENABLED": "Käytössä",
"DISABLED": "Pois käytöstä"
},
"EMAIL_COLLECT_BOX": { "EMAIL_COLLECT_BOX": {
"ENABLED": "Käytössä", "ENABLED": "Käytössä",
"DISABLED": "Pois käytöstä" "DISABLED": "Pois käytöstä"
@ -402,6 +398,8 @@
"MESSENGER_SUB_HEAD": "Aseta tämä painike body-tagiisi", "MESSENGER_SUB_HEAD": "Aseta tämä painike body-tagiisi",
"INBOX_AGENTS": "Edustajat", "INBOX_AGENTS": "Edustajat",
"INBOX_AGENTS_SUB_TEXT": "Lisää tai poista edustajia tästä saapuneet-kansiosta", "INBOX_AGENTS_SUB_TEXT": "Lisää tai poista edustajia tästä saapuneet-kansiosta",
"AGENT_ASSIGNMENT": "Conversation Assignment",
"AGENT_ASSIGNMENT_SUB_TEXT": "Update conversation assignment settings",
"UPDATE": "Päivitä", "UPDATE": "Päivitä",
"ENABLE_EMAIL_COLLECT_BOX": "Enable email collect box", "ENABLE_EMAIL_COLLECT_BOX": "Enable email collect box",
"ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Enable or disable email collect box on new conversation", "ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Enable or disable email collect box on new conversation",

View file

@ -386,6 +386,7 @@
"CSAT_REPORTS": { "CSAT_REPORTS": {
"HEADER": "CSAT Reports", "HEADER": "CSAT Reports",
"NO_RECORDS": "There are no CSAT survey responses available.", "NO_RECORDS": "There are no CSAT survey responses available.",
"DOWNLOAD": "Download CSAT Reports",
"FILTERS": { "FILTERS": {
"AGENTS": { "AGENTS": {
"PLACEHOLDER": "Choose Agents" "PLACEHOLDER": "Choose Agents"

View file

@ -12,33 +12,11 @@
"INPUT": "Rechercher des personnes, des conversations, des réponses standardisées ..." "INPUT": "Rechercher des personnes, des conversations, des réponses standardisées ..."
}, },
"FILTER_ALL": "Tous", "FILTER_ALL": "Tous",
"STATUS_TABS": [ "ASSIGNEE_TYPE_TABS": {
{ "me": "Les miens",
"NAME": "Ouvert", "unassigned": "Non assigné",
"KEY": "openCount" "all": "Tous"
}, },
{
"NAME": "Résolu",
"KEY": "allConvCount"
}
],
"ASSIGNEE_TYPE_TABS": [
{
"NAME": "Les miens",
"KEY": "me",
"COUNT_KEY": "mineCount"
},
{
"NAME": "Non assigné",
"KEY": "unassigned",
"COUNT_KEY": "unAssignedCount"
},
{
"NAME": "Tous",
"KEY": "all",
"COUNT_KEY": "allCount"
}
],
"CHAT_STATUS_FILTER_ITEMS": { "CHAT_STATUS_FILTER_ITEMS": {
"open": { "open": {
"TEXT": "Ouvert" "TEXT": "Ouvert"

View file

@ -341,10 +341,6 @@
"AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Affectation automatique mise à jour avec succès", "AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Affectation automatique mise à jour avec succès",
"ERROR_MESSAGE": "Impossible de mettre à jour la couleur du widget. Veuillez réessayer plus tard." "ERROR_MESSAGE": "Impossible de mettre à jour la couleur du widget. Veuillez réessayer plus tard."
}, },
"AUTO_ASSIGNMENT": {
"ENABLED": "Activé",
"DISABLED": "Désactivé"
},
"EMAIL_COLLECT_BOX": { "EMAIL_COLLECT_BOX": {
"ENABLED": "Activé", "ENABLED": "Activé",
"DISABLED": "Désactivé" "DISABLED": "Désactivé"
@ -402,6 +398,8 @@
"MESSENGER_SUB_HEAD": "Placez ce code avant la fermeture de votre balise body", "MESSENGER_SUB_HEAD": "Placez ce code avant la fermeture de votre balise body",
"INBOX_AGENTS": "Agents", "INBOX_AGENTS": "Agents",
"INBOX_AGENTS_SUB_TEXT": "Ajouter ou supprimer des agents de cette boîte de réception", "INBOX_AGENTS_SUB_TEXT": "Ajouter ou supprimer des agents de cette boîte de réception",
"AGENT_ASSIGNMENT": "Konversationsauftrag",
"AGENT_ASSIGNMENT_SUB_TEXT": "Aktualisieren Sie die Konversationszuweisungseinstellungen",
"UPDATE": "Mettre à jour", "UPDATE": "Mettre à jour",
"ENABLE_EMAIL_COLLECT_BOX": "Activer la boîte de collecte des courriels", "ENABLE_EMAIL_COLLECT_BOX": "Activer la boîte de collecte des courriels",
"ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Activer ou désactiver la boîte de collecte des courriels pour les nouvelles conversations", "ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Activer ou désactiver la boîte de collecte des courriels pour les nouvelles conversations",

View file

@ -386,6 +386,7 @@
"CSAT_REPORTS": { "CSAT_REPORTS": {
"HEADER": "Rapports CSAT", "HEADER": "Rapports CSAT",
"NO_RECORDS": "Il n'y a aucune réponse à l'enquête CSAT disponible.", "NO_RECORDS": "Il n'y a aucune réponse à l'enquête CSAT disponible.",
"DOWNLOAD": "Download CSAT Reports",
"FILTERS": { "FILTERS": {
"AGENTS": { "AGENTS": {
"PLACEHOLDER": "Choisissez des agents" "PLACEHOLDER": "Choisissez des agents"

View file

@ -12,33 +12,11 @@
"INPUT": "חפש אנשים, צ'אטים, תגובות שמורות .." "INPUT": "חפש אנשים, צ'אטים, תגובות שמורות .."
}, },
"FILTER_ALL": "הכל", "FILTER_ALL": "הכל",
"STATUS_TABS": [ "ASSIGNEE_TYPE_TABS": {
{ "me": "שלי",
"NAME": "פתח", "unassigned": "לא הוקצתה",
"KEY": "openCount" "all": "הכל"
}, },
{
"NAME": "נפתרה",
"KEY": "allConvCount"
}
],
"ASSIGNEE_TYPE_TABS": [
{
"NAME": "שלי",
"KEY": "me",
"COUNT_KEY": "mineCount"
},
{
"NAME": "לא הוקצתה",
"KEY": "unassigned",
"COUNT_KEY": "unAssignedCount"
},
{
"NAME": "הכל",
"KEY": "all",
"COUNT_KEY": "allCount"
}
],
"CHAT_STATUS_FILTER_ITEMS": { "CHAT_STATUS_FILTER_ITEMS": {
"open": { "open": {
"TEXT": "פתח" "TEXT": "פתח"

View file

@ -341,10 +341,6 @@
"AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "ההקצאה האוטומטית עודכנה בהצלחה", "AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "ההקצאה האוטומטית עודכנה בהצלחה",
"ERROR_MESSAGE": "לא ניתן היה לעדכן את צבע הווידג'ט. בבקשה נסה שוב מאוחר יותר." "ERROR_MESSAGE": "לא ניתן היה לעדכן את צבע הווידג'ט. בבקשה נסה שוב מאוחר יותר."
}, },
"AUTO_ASSIGNMENT": {
"ENABLED": "מופעל",
"DISABLED": "כבוי"
},
"EMAIL_COLLECT_BOX": { "EMAIL_COLLECT_BOX": {
"ENABLED": "מופעל", "ENABLED": "מופעל",
"DISABLED": "כבוי" "DISABLED": "כבוי"
@ -402,6 +398,8 @@
"MESSENGER_SUB_HEAD": "מקם את הכפתור הזה בתוך תג הגוף שלך", "MESSENGER_SUB_HEAD": "מקם את הכפתור הזה בתוך תג הגוף שלך",
"INBOX_AGENTS": "סוכנים", "INBOX_AGENTS": "סוכנים",
"INBOX_AGENTS_SUB_TEXT": "הוסף או הסר נציגים מתיבת הדואר הנכנס הזו", "INBOX_AGENTS_SUB_TEXT": "הוסף או הסר נציגים מתיבת הדואר הנכנס הזו",
"AGENT_ASSIGNMENT": "Conversation Assignment",
"AGENT_ASSIGNMENT_SUB_TEXT": "Update conversation assignment settings",
"UPDATE": "עדכן", "UPDATE": "עדכן",
"ENABLE_EMAIL_COLLECT_BOX": "אפשר תיבת איסוף דוא\"ל", "ENABLE_EMAIL_COLLECT_BOX": "אפשר תיבת איסוף דוא\"ל",
"ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "הפעל או השבת את תיבת איסוף הדוא\"ל בשיחה חדשה", "ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "הפעל או השבת את תיבת איסוף הדוא\"ל בשיחה חדשה",

View file

@ -386,6 +386,7 @@
"CSAT_REPORTS": { "CSAT_REPORTS": {
"HEADER": "CSAT Reports", "HEADER": "CSAT Reports",
"NO_RECORDS": "There are no CSAT survey responses available.", "NO_RECORDS": "There are no CSAT survey responses available.",
"DOWNLOAD": "Download CSAT Reports",
"FILTERS": { "FILTERS": {
"AGENTS": { "AGENTS": {
"PLACEHOLDER": "Choose Agents" "PLACEHOLDER": "Choose Agents"

View file

@ -12,33 +12,11 @@
"INPUT": "Search for People, Chats, Saved Replies .." "INPUT": "Search for People, Chats, Saved Replies .."
}, },
"FILTER_ALL": "All", "FILTER_ALL": "All",
"STATUS_TABS": [ "ASSIGNEE_TYPE_TABS": {
{ "me": "Mine",
"NAME": "Open", "unassigned": "Unassigned",
"KEY": "openCount" "all": "All"
}, },
{
"NAME": "Resolved",
"KEY": "allConvCount"
}
],
"ASSIGNEE_TYPE_TABS": [
{
"NAME": "Mine",
"KEY": "me",
"COUNT_KEY": "mineCount"
},
{
"NAME": "Unassigned",
"KEY": "unassigned",
"COUNT_KEY": "unAssignedCount"
},
{
"NAME": "All",
"KEY": "all",
"COUNT_KEY": "allCount"
}
],
"CHAT_STATUS_FILTER_ITEMS": { "CHAT_STATUS_FILTER_ITEMS": {
"open": { "open": {
"TEXT": "Open" "TEXT": "Open"

View file

@ -341,10 +341,6 @@
"AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Auto assignment updated successfully", "AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Auto assignment updated successfully",
"ERROR_MESSAGE": "Could not update widget color. Please try again later." "ERROR_MESSAGE": "Could not update widget color. Please try again later."
}, },
"AUTO_ASSIGNMENT": {
"ENABLED": "Enabled",
"DISABLED": "Disabled"
},
"EMAIL_COLLECT_BOX": { "EMAIL_COLLECT_BOX": {
"ENABLED": "Enabled", "ENABLED": "Enabled",
"DISABLED": "Disabled" "DISABLED": "Disabled"
@ -402,6 +398,8 @@
"MESSENGER_SUB_HEAD": "Place this button inside your body tag", "MESSENGER_SUB_HEAD": "Place this button inside your body tag",
"INBOX_AGENTS": "Agents", "INBOX_AGENTS": "Agents",
"INBOX_AGENTS_SUB_TEXT": "Add or remove agents from this inbox", "INBOX_AGENTS_SUB_TEXT": "Add or remove agents from this inbox",
"AGENT_ASSIGNMENT": "Conversation Assignment",
"AGENT_ASSIGNMENT_SUB_TEXT": "Update conversation assignment settings",
"UPDATE": "Update", "UPDATE": "Update",
"ENABLE_EMAIL_COLLECT_BOX": "Enable email collect box", "ENABLE_EMAIL_COLLECT_BOX": "Enable email collect box",
"ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Enable or disable email collect box on new conversation", "ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Enable or disable email collect box on new conversation",

View file

@ -386,6 +386,7 @@
"CSAT_REPORTS": { "CSAT_REPORTS": {
"HEADER": "CSAT Reports", "HEADER": "CSAT Reports",
"NO_RECORDS": "There are no CSAT survey responses available.", "NO_RECORDS": "There are no CSAT survey responses available.",
"DOWNLOAD": "Download CSAT Reports",
"FILTERS": { "FILTERS": {
"AGENTS": { "AGENTS": {
"PLACEHOLDER": "Choose Agents" "PLACEHOLDER": "Choose Agents"

View file

@ -12,33 +12,11 @@
"INPUT": "Keresés: emberek, beszélgetése, mentett válaszok .." "INPUT": "Keresés: emberek, beszélgetése, mentett válaszok .."
}, },
"FILTER_ALL": "Mind", "FILTER_ALL": "Mind",
"STATUS_TABS": [ "ASSIGNEE_TYPE_TABS": {
{ "me": "Enyém",
"NAME": "Megnyitás", "unassigned": "Gazdátlan",
"KEY": "openCount" "all": "Mind"
}, },
{
"NAME": "Megoldva",
"KEY": "allConvCount"
}
],
"ASSIGNEE_TYPE_TABS": [
{
"NAME": "Enyém",
"KEY": "me",
"COUNT_KEY": "mineCount"
},
{
"NAME": "Gazdátlan",
"KEY": "unassigned",
"COUNT_KEY": "unAssignedCount"
},
{
"NAME": "Mind",
"KEY": "all",
"COUNT_KEY": "allCount"
}
],
"CHAT_STATUS_FILTER_ITEMS": { "CHAT_STATUS_FILTER_ITEMS": {
"open": { "open": {
"TEXT": "Megnyitás" "TEXT": "Megnyitás"

View file

@ -341,10 +341,6 @@
"AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Automatikus hozzárendelés sikeresen frissítve", "AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Automatikus hozzárendelés sikeresen frissítve",
"ERROR_MESSAGE": "Nem sikerült a widget szín változtatása. Kérjük próbáld később." "ERROR_MESSAGE": "Nem sikerült a widget szín változtatása. Kérjük próbáld később."
}, },
"AUTO_ASSIGNMENT": {
"ENABLED": "Engedélyezve",
"DISABLED": "Letiltva"
},
"EMAIL_COLLECT_BOX": { "EMAIL_COLLECT_BOX": {
"ENABLED": "Engedélyezve", "ENABLED": "Engedélyezve",
"DISABLED": "Letiltva" "DISABLED": "Letiltva"
@ -402,6 +398,8 @@
"MESSENGER_SUB_HEAD": "Ezt a gombot a body tag-en belül helyezd el", "MESSENGER_SUB_HEAD": "Ezt a gombot a body tag-en belül helyezd el",
"INBOX_AGENTS": "Ügynökök", "INBOX_AGENTS": "Ügynökök",
"INBOX_AGENTS_SUB_TEXT": "Ügynökök hosszáadása vagy eltávolítása az inboxból", "INBOX_AGENTS_SUB_TEXT": "Ügynökök hosszáadása vagy eltávolítása az inboxból",
"AGENT_ASSIGNMENT": "Conversation Assignment",
"AGENT_ASSIGNMENT_SUB_TEXT": "Update conversation assignment settings",
"UPDATE": "Frissítés", "UPDATE": "Frissítés",
"ENABLE_EMAIL_COLLECT_BOX": "Enable email collect box", "ENABLE_EMAIL_COLLECT_BOX": "Enable email collect box",
"ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Enable or disable email collect box on new conversation", "ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Enable or disable email collect box on new conversation",

View file

@ -386,6 +386,7 @@
"CSAT_REPORTS": { "CSAT_REPORTS": {
"HEADER": "CSAT Reports", "HEADER": "CSAT Reports",
"NO_RECORDS": "There are no CSAT survey responses available.", "NO_RECORDS": "There are no CSAT survey responses available.",
"DOWNLOAD": "Download CSAT Reports",
"FILTERS": { "FILTERS": {
"AGENTS": { "AGENTS": {
"PLACEHOLDER": "Choose Agents" "PLACEHOLDER": "Choose Agents"

View file

@ -12,33 +12,11 @@
"INPUT": "Telusuri Orang, Obrolan, Balasan Tersimpan.." "INPUT": "Telusuri Orang, Obrolan, Balasan Tersimpan.."
}, },
"FILTER_ALL": "Semua", "FILTER_ALL": "Semua",
"STATUS_TABS": [ "ASSIGNEE_TYPE_TABS": {
{ "me": "Milikku",
"NAME": "Terbuka", "unassigned": "Belum ditugaskan",
"KEY": "openCount" "all": "Semua"
}, },
{
"NAME": "Terselesaikan",
"KEY": "allConvCount"
}
],
"ASSIGNEE_TYPE_TABS": [
{
"NAME": "Milikku",
"KEY": "me",
"COUNT_KEY": "mineCount"
},
{
"NAME": "Belum ditugaskan",
"KEY": "unassigned",
"COUNT_KEY": "unAssignedCount"
},
{
"NAME": "Semua",
"KEY": "all",
"COUNT_KEY": "allCount"
}
],
"CHAT_STATUS_FILTER_ITEMS": { "CHAT_STATUS_FILTER_ITEMS": {
"open": { "open": {
"TEXT": "Terbuka" "TEXT": "Terbuka"

View file

@ -341,10 +341,6 @@
"AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Penugasan otomatis berhasil diperbarui", "AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Penugasan otomatis berhasil diperbarui",
"ERROR_MESSAGE": "Tidak dapat memperbarui warna widget. Silakan coba lagi nanti." "ERROR_MESSAGE": "Tidak dapat memperbarui warna widget. Silakan coba lagi nanti."
}, },
"AUTO_ASSIGNMENT": {
"ENABLED": "Diaktifkan",
"DISABLED": "Nonaktif"
},
"EMAIL_COLLECT_BOX": { "EMAIL_COLLECT_BOX": {
"ENABLED": "Diaktifkan", "ENABLED": "Diaktifkan",
"DISABLED": "Nonaktif" "DISABLED": "Nonaktif"
@ -402,6 +398,8 @@
"MESSENGER_SUB_HEAD": "Tempatkan tombol ini di dalam tag <body> Anda", "MESSENGER_SUB_HEAD": "Tempatkan tombol ini di dalam tag <body> Anda",
"INBOX_AGENTS": "Agen", "INBOX_AGENTS": "Agen",
"INBOX_AGENTS_SUB_TEXT": "Tambahkan atau hapus agen dari kotak masuk ini", "INBOX_AGENTS_SUB_TEXT": "Tambahkan atau hapus agen dari kotak masuk ini",
"AGENT_ASSIGNMENT": "Conversation Assignment",
"AGENT_ASSIGNMENT_SUB_TEXT": "Update conversation assignment settings",
"UPDATE": "Perbarui", "UPDATE": "Perbarui",
"ENABLE_EMAIL_COLLECT_BOX": "Aktifkan kotak pengumpulan email", "ENABLE_EMAIL_COLLECT_BOX": "Aktifkan kotak pengumpulan email",
"ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Aktifkan atau nonaktifkan kotak pengumpulan email pada percakpaan baru", "ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Aktifkan atau nonaktifkan kotak pengumpulan email pada percakpaan baru",

View file

@ -386,6 +386,7 @@
"CSAT_REPORTS": { "CSAT_REPORTS": {
"HEADER": "Laporan CSAT", "HEADER": "Laporan CSAT",
"NO_RECORDS": "Tidak ada respons survey CSAT yang tersedia.", "NO_RECORDS": "Tidak ada respons survey CSAT yang tersedia.",
"DOWNLOAD": "Download CSAT Reports",
"FILTERS": { "FILTERS": {
"AGENTS": { "AGENTS": {
"PLACEHOLDER": "Choose Agents" "PLACEHOLDER": "Choose Agents"

View file

@ -12,33 +12,11 @@
"INPUT": "Cerca persone, Chat, risposte salvate .." "INPUT": "Cerca persone, Chat, risposte salvate .."
}, },
"FILTER_ALL": "Tutti", "FILTER_ALL": "Tutti",
"STATUS_TABS": [ "ASSIGNEE_TYPE_TABS": {
{ "me": "Mie",
"NAME": "Aperte", "unassigned": "Non assegnato",
"KEY": "contaaperture" "all": "Tutti"
}, },
{
"NAME": "Risolti",
"KEY": "Conteggio"
}
],
"ASSIGNEE_TYPE_TABS": [
{
"NAME": "Mie",
"KEY": "Io",
"COUNT_KEY": "contaMinore"
},
{
"NAME": "Non assegnato",
"KEY": "non assegnato",
"COUNT_KEY": "unAssignedCount"
},
{
"NAME": "Tutti",
"KEY": "Tutti",
"COUNT_KEY": "allCount"
}
],
"CHAT_STATUS_FILTER_ITEMS": { "CHAT_STATUS_FILTER_ITEMS": {
"open": { "open": {
"TEXT": "Aperte" "TEXT": "Aperte"

View file

@ -341,10 +341,6 @@
"AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Assegnazione automatica aggiornata correttamente", "AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Assegnazione automatica aggiornata correttamente",
"ERROR_MESSAGE": "Impossibile aggiornare il colore del widget. Riprova più tardi." "ERROR_MESSAGE": "Impossibile aggiornare il colore del widget. Riprova più tardi."
}, },
"AUTO_ASSIGNMENT": {
"ENABLED": "Abilitato",
"DISABLED": "Disabilitato"
},
"EMAIL_COLLECT_BOX": { "EMAIL_COLLECT_BOX": {
"ENABLED": "Abilitato", "ENABLED": "Abilitato",
"DISABLED": "Disabilitato" "DISABLED": "Disabilitato"
@ -402,6 +398,8 @@
"MESSENGER_SUB_HEAD": "Posiziona questo pulsante all'interno del tuo tag body", "MESSENGER_SUB_HEAD": "Posiziona questo pulsante all'interno del tuo tag body",
"INBOX_AGENTS": "Agenti", "INBOX_AGENTS": "Agenti",
"INBOX_AGENTS_SUB_TEXT": "Aggiungi o rimuovi agenti da questa casella", "INBOX_AGENTS_SUB_TEXT": "Aggiungi o rimuovi agenti da questa casella",
"AGENT_ASSIGNMENT": "Assegnazione conversazione",
"AGENT_ASSIGNMENT_SUB_TEXT": "Aggiorna le impostazioni di assegnazione della conversazione",
"UPDATE": "Aggiorna", "UPDATE": "Aggiorna",
"ENABLE_EMAIL_COLLECT_BOX": "Abilita casella di raccolta email", "ENABLE_EMAIL_COLLECT_BOX": "Abilita casella di raccolta email",
"ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Abilita o disabilita la casella di raccolta email nella nuova conversazione", "ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Abilita o disabilita la casella di raccolta email nella nuova conversazione",

View file

@ -386,6 +386,7 @@
"CSAT_REPORTS": { "CSAT_REPORTS": {
"HEADER": "Rapporti CSAT", "HEADER": "Rapporti CSAT",
"NO_RECORDS": "Non ci sono risposte al sondaggio CSAT disponibili.", "NO_RECORDS": "Non ci sono risposte al sondaggio CSAT disponibili.",
"DOWNLOAD": "Scarica report CSAT",
"FILTERS": { "FILTERS": {
"AGENTS": { "AGENTS": {
"PLACEHOLDER": "Scegli agenti" "PLACEHOLDER": "Scegli agenti"
@ -420,7 +421,7 @@
"ACCOUNT_CONVERSATIONS": { "ACCOUNT_CONVERSATIONS": {
"HEADER": "Conversazioni aperte", "HEADER": "Conversazioni aperte",
"LOADING_MESSAGE": "Caricamento metriche conversazioni...", "LOADING_MESSAGE": "Caricamento metriche conversazioni...",
"OPEN": "Aperte", "OPEN": "Apri",
"UNATTENDED": "Non partecipate", "UNATTENDED": "Non partecipate",
"UNASSIGNED": "Non assegnato" "UNASSIGNED": "Non assegnato"
}, },

View file

@ -151,7 +151,7 @@
}, },
"SIDEBAR": { "SIDEBAR": {
"CURRENTLY_VIEWING_ACCOUNT": "Visualizzazione attuale:", "CURRENTLY_VIEWING_ACCOUNT": "Visualizzazione attuale:",
"SWITCH": "Switch", "SWITCH": "Scambia",
"CONVERSATIONS": "Conversazioni", "CONVERSATIONS": "Conversazioni",
"ALL_CONVERSATIONS": "Tutte le conversazioni", "ALL_CONVERSATIONS": "Tutte le conversazioni",
"MENTIONED_CONVERSATIONS": "Menzioni", "MENTIONED_CONVERSATIONS": "Menzioni",

View file

@ -1,28 +1,28 @@
{ {
"FILTER": { "FILTER": {
"TITLE": "Filter Conversations", "TITLE": "Filter Conversations",
"SUBTITLE": "Add filters below and hit 'Apply filters' to filter conversations.", "SUBTITLE": "会話のフィルターを行うには、適用したいフィルターを選択して「フィルターを適用」を押してください。",
"ADD_NEW_FILTER": "Add Filter", "ADD_NEW_FILTER": "フィルターを追加",
"FILTER_DELETE_ERROR": "You should have atleast one filter to save", "FILTER_DELETE_ERROR": "保存するには少なくとも一つのフィルター選択が必要です。",
"SUBMIT_BUTTON_LABEL": "Apply filters", "SUBMIT_BUTTON_LABEL": "フィルターを適用",
"CANCEL_BUTTON_LABEL": "キャンセル", "CANCEL_BUTTON_LABEL": "キャンセル",
"CLEAR_BUTTON_LABEL": "Clear Filters", "CLEAR_BUTTON_LABEL": "フィルターをクリア",
"EMPTY_VALUE_ERROR": "Value is required", "EMPTY_VALUE_ERROR": "値は必須です",
"TOOLTIP_LABEL": "Filter conversations", "TOOLTIP_LABEL": "会話をフィルターする",
"QUERY_DROPDOWN_LABELS": { "QUERY_DROPDOWN_LABELS": {
"AND": "AND", "AND": "AND",
"OR": "OR" "OR": "OR"
}, },
"OPERATOR_LABELS": { "OPERATOR_LABELS": {
"equal_to": "Equal to", "equal_to": "等しい",
"not_equal_to": "Not equal to", "not_equal_to": "等しくない",
"contains": "Contains", "contains": "含む",
"does_not_contain": "Does not contain", "does_not_contain": "含まない",
"is_present": "Is present", "is_present": "存在する",
"is_not_present": "Is not present", "is_not_present": "存在しない",
"is_greater_than": "Is greater than", "is_greater_than": "より大きい",
"is_less_than": "Is lesser than", "is_less_than": "より小さい",
"days_before": "Is x days before" "days_before": "x日前"
}, },
"ATTRIBUTE_LABELS": { "ATTRIBUTE_LABELS": {
"TRUE": "True", "TRUE": "True",
@ -30,16 +30,16 @@
}, },
"ATTRIBUTES": { "ATTRIBUTES": {
"STATUS": "状況", "STATUS": "状況",
"ASSIGNEE_NAME": "Assignee Name", "ASSIGNEE_NAME": "担当者名",
"INBOX_NAME": "受信トレイ名", "INBOX_NAME": "受信トレイ名",
"TEAM_NAME": "Team Name", "TEAM_NAME": "チーム名",
"CONVERSATION_IDENTIFIER": "Conversation Identifier", "CONVERSATION_IDENTIFIER": "Conversation Identifier",
"CAMPAIGN_NAME": "Campaign Name", "CAMPAIGN_NAME": "キャンペーンの名前",
"LABELS": "ラベル", "LABELS": "ラベル",
"BROWSER_LANGUAGE": "Browser Language", "BROWSER_LANGUAGE": "ブラウザの言語",
"COUNTRY_NAME": "Country Name", "COUNTRY_NAME": "国名",
"REFERER_LINK": "Referer link", "REFERER_LINK": "参照者のリンク",
"CUSTOM_ATTRIBUTE_LIST": "List", "CUSTOM_ATTRIBUTE_LIST": "リスト",
"CUSTOM_ATTRIBUTE_TEXT": "Text", "CUSTOM_ATTRIBUTE_TEXT": "Text",
"CUSTOM_ATTRIBUTE_NUMBER": "Number", "CUSTOM_ATTRIBUTE_NUMBER": "Number",
"CUSTOM_ATTRIBUTE_LINK": "Link", "CUSTOM_ATTRIBUTE_LINK": "Link",
@ -58,11 +58,11 @@
"LABEL": "Name this filter", "LABEL": "Name this filter",
"PLACEHOLDER": "Enter a name for this filter", "PLACEHOLDER": "Enter a name for this filter",
"ERROR_MESSAGE": "Name is required", "ERROR_MESSAGE": "Name is required",
"SAVE_BUTTON": "Save filter", "SAVE_BUTTON": "フィルターの保存",
"CANCEL_BUTTON": "キャンセル", "CANCEL_BUTTON": "キャンセル",
"API_FOLDERS": { "API_FOLDERS": {
"SUCCESS_MESSAGE": "Folder created successfully", "SUCCESS_MESSAGE": "フォルダが正常に作成されました",
"ERROR_MESSAGE": "Error while creating folder" "ERROR_MESSAGE": "フォルダの作成中にエラーが発生しました"
}, },
"API_SEGMENTS": { "API_SEGMENTS": {
"SUCCESS_MESSAGE": "Segment created successfully", "SUCCESS_MESSAGE": "Segment created successfully",

View file

@ -12,33 +12,11 @@
"INPUT": "人物、チャット、保存された返信を検索する" "INPUT": "人物、チャット、保存された返信を検索する"
}, },
"FILTER_ALL": "すべて", "FILTER_ALL": "すべて",
"STATUS_TABS": [ "ASSIGNEE_TYPE_TABS": {
{ "me": "自分",
"NAME": "開く", "unassigned": "未割当",
"KEY": "openCount" "all": "すべて"
}, },
{
"NAME": "解決済み",
"KEY": "allConvCount"
}
],
"ASSIGNEE_TYPE_TABS": [
{
"NAME": "自分",
"KEY": "me",
"COUNT_KEY": "mineCount"
},
{
"NAME": "未割当",
"KEY": "unassigned",
"COUNT_KEY": "unAssignedCount"
},
{
"NAME": "すべて",
"KEY": "all",
"COUNT_KEY": "allCount"
}
],
"CHAT_STATUS_FILTER_ITEMS": { "CHAT_STATUS_FILTER_ITEMS": {
"open": { "open": {
"TEXT": "開く" "TEXT": "開く"

View file

@ -186,7 +186,7 @@
"SEARCH_BUTTON": "Search", "SEARCH_BUTTON": "Search",
"SEARCH_INPUT_PLACEHOLDER": "Search for contacts", "SEARCH_INPUT_PLACEHOLDER": "Search for contacts",
"FILTER_CONTACTS": "Filter", "FILTER_CONTACTS": "Filter",
"FILTER_CONTACTS_SAVE": "Save filter", "FILTER_CONTACTS_SAVE": "フィルターの保存",
"FILTER_CONTACTS_DELETE": "Delete filter", "FILTER_CONTACTS_DELETE": "Delete filter",
"LIST": { "LIST": {
"LOADING_MESSAGE": "Loading contacts...", "LOADING_MESSAGE": "Loading contacts...",

View file

@ -2,28 +2,28 @@
"CONTACTS_FILTER": { "CONTACTS_FILTER": {
"TITLE": "Filter Contacts", "TITLE": "Filter Contacts",
"SUBTITLE": "Add filters below and hit 'Submit' to filter contacts.", "SUBTITLE": "Add filters below and hit 'Submit' to filter contacts.",
"ADD_NEW_FILTER": "Add Filter", "ADD_NEW_FILTER": "フィルターを追加",
"CLEAR_ALL_FILTERS": "Clear All Filters", "CLEAR_ALL_FILTERS": "Clear All Filters",
"FILTER_DELETE_ERROR": "You should have atleast one filter to save", "FILTER_DELETE_ERROR": "保存するには少なくとも一つのフィルター選択が必要です。",
"SUBMIT_BUTTON_LABEL": "送信", "SUBMIT_BUTTON_LABEL": "送信",
"CANCEL_BUTTON_LABEL": "キャンセル", "CANCEL_BUTTON_LABEL": "キャンセル",
"CLEAR_BUTTON_LABEL": "Clear Filters", "CLEAR_BUTTON_LABEL": "フィルターをクリア",
"EMPTY_VALUE_ERROR": "Value is required", "EMPTY_VALUE_ERROR": "値は必須です",
"TOOLTIP_LABEL": "Filter contacts", "TOOLTIP_LABEL": "Filter contacts",
"QUERY_DROPDOWN_LABELS": { "QUERY_DROPDOWN_LABELS": {
"AND": "AND", "AND": "AND",
"OR": "OR" "OR": "OR"
}, },
"OPERATOR_LABELS": { "OPERATOR_LABELS": {
"equal_to": "Equal to", "equal_to": "等しい",
"not_equal_to": "Not equal to", "not_equal_to": "等しくない",
"contains": "Contains", "contains": "含む",
"does_not_contain": "Does not contain", "does_not_contain": "含まない",
"is_present": "Is present", "is_present": "存在する",
"is_not_present": "Is not present", "is_not_present": "存在しない",
"is_greater_than": "Is greater than", "is_greater_than": "より大きい",
"is_lesser_than": "Is lesser than", "is_lesser_than": "Is lesser than",
"days_before": "Is x days before" "days_before": "x日前"
}, },
"ATTRIBUTES": { "ATTRIBUTES": {
"NAME": "名前", "NAME": "名前",
@ -32,7 +32,7 @@
"IDENTIFIER": "Identifier", "IDENTIFIER": "Identifier",
"CITY": "City", "CITY": "City",
"COUNTRY": "Country", "COUNTRY": "Country",
"CUSTOM_ATTRIBUTE_LIST": "List", "CUSTOM_ATTRIBUTE_LIST": "リスト",
"CUSTOM_ATTRIBUTE_TEXT": "Text", "CUSTOM_ATTRIBUTE_TEXT": "Text",
"CUSTOM_ATTRIBUTE_NUMBER": "Number", "CUSTOM_ATTRIBUTE_NUMBER": "Number",
"CUSTOM_ATTRIBUTE_LINK": "Link", "CUSTOM_ATTRIBUTE_LINK": "Link",

Some files were not shown because too many files have changed in this diff Show more