Merge branch 'develop' of github.com:chatwoot/chatwoot into feature/cw-1605
This commit is contained in:
@@ -7,7 +7,7 @@ defaults: &defaults
|
||||
working_directory: ~/build
|
||||
docker:
|
||||
# specify the version you desire here
|
||||
- image: cimg/ruby:3.1.3-browsers
|
||||
- image: cimg/ruby:3.2.2-browsers
|
||||
|
||||
# Specify service dependencies here if necessary
|
||||
# CircleCI maintains a library of pre-built images
|
||||
|
||||
@@ -30,7 +30,7 @@ RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
|
||||
npm
|
||||
|
||||
# Install rbenv and ruby
|
||||
ARG RUBY_VERSION="3.1.3"
|
||||
ARG RUBY_VERSION="3.2.2"
|
||||
RUN git clone https://github.com/rbenv/rbenv.git ~/.rbenv \
|
||||
&& echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc \
|
||||
&& echo 'eval "$(rbenv init -)"' >> ~/.bashrc
|
||||
|
||||
@@ -67,3 +67,10 @@ test/cypress/videos/*
|
||||
# yalc for local testing
|
||||
.yalc
|
||||
yalc.lock
|
||||
|
||||
/public/packs
|
||||
/public/packs-test
|
||||
/node_modules
|
||||
/yarn-error.log
|
||||
yarn-debug.log*
|
||||
.yarn-integrity
|
||||
|
||||
@@ -164,6 +164,39 @@ Performance/CollectionLiteralInLoop:
|
||||
- 'db/migrate/20210315101919_enable_email_channel.rb'
|
||||
RSpec/NamedSubject:
|
||||
Enabled: false
|
||||
Style/RedundantConstantBase:
|
||||
Enabled: false
|
||||
Rails/RootPathnameMethods:
|
||||
Enabled: false
|
||||
RSpec/Rails/MinitestAssertions:
|
||||
Enabled: false
|
||||
RSpec/Rails/InferredSpecType:
|
||||
Enabled: false
|
||||
RSpec/IndexedLet:
|
||||
Enabled: false
|
||||
RSpec/MatchArray:
|
||||
Enabled: false
|
||||
Rails/ResponseParsedBody:
|
||||
Enabled: false
|
||||
RSpec/FactoryBot/ConsistentParenthesesStyle:
|
||||
Enabled: false
|
||||
Rails/ThreeStateBooleanColumn:
|
||||
Enabled: false
|
||||
Rails/Pluck:
|
||||
Enabled: false
|
||||
Rails/TopLevelHashWithIndifferentAccess:
|
||||
Enabled: false
|
||||
Rails/ActionOrder:
|
||||
Enabled: false
|
||||
Style/ArrayIntersect:
|
||||
Enabled: false
|
||||
RSpec/NoExpectationExample:
|
||||
Enabled: false
|
||||
Style/RedundantReturn:
|
||||
Enabled: false
|
||||
Rails/I18nLocaleTexts:
|
||||
Enabled: false
|
||||
|
||||
# we should bring this down
|
||||
RSpec/MultipleMemoizedHelpers:
|
||||
Max: 14
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
3.1.3
|
||||
3.2.2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
/spec
|
||||
@@ -1,10 +1,10 @@
|
||||
source 'https://rubygems.org'
|
||||
|
||||
ruby '3.1.3'
|
||||
ruby '3.2.2'
|
||||
|
||||
##-- base gems for rails --##
|
||||
gem 'rack-cors', require: 'rack/cors'
|
||||
gem 'rails', '~> 6.1', '>= 6.1.7.3'
|
||||
gem 'rails', '~> 7'
|
||||
# Reduces boot times through caching; required in config/boot.rb
|
||||
gem 'bootsnap', require: false
|
||||
|
||||
@@ -36,19 +36,19 @@ gem 'json_schemer'
|
||||
# Rack middleware for blocking & throttling abusive requests
|
||||
gem 'rack-attack'
|
||||
# a utility tool for streaming, flexible and safe downloading of remote files
|
||||
gem 'down', '~> 5.0'
|
||||
gem 'down'
|
||||
# authentication type to fetch and send mail over oauth2.0
|
||||
gem 'gmail_xoauth'
|
||||
# Prevent CSV injection
|
||||
gem 'csv-safe'
|
||||
# Support message translation
|
||||
gem 'google-cloud-translate'
|
||||
|
||||
##-- for active storage --##
|
||||
gem 'aws-sdk-s3', require: false
|
||||
gem 'azure-storage-blob', require: false
|
||||
# original gem isn't maintained actively
|
||||
# we wanted updated version of faraday which is a dependency for slack-ruby-client
|
||||
gem 'azure-storage-blob', git: 'https://github.com/chatwoot/azure-storage-ruby', branch: 'chatwoot', require: false
|
||||
gem 'google-cloud-storage', require: false
|
||||
gem 'image_processing', '~> 1.12.2'
|
||||
gem 'image_processing'
|
||||
|
||||
##-- gems for database --#
|
||||
gem 'groupdate'
|
||||
@@ -62,13 +62,13 @@ gem 'activerecord-import'
|
||||
gem 'dotenv-rails'
|
||||
gem 'foreman'
|
||||
gem 'puma'
|
||||
gem 'webpacker', '~> 5.4', '>= 5.4.3'
|
||||
gem 'webpacker'
|
||||
# metrics on heroku
|
||||
gem 'barnes'
|
||||
|
||||
##--- gems for authentication & authorization ---##
|
||||
gem 'devise'
|
||||
gem 'devise-secure_password', '~> 2.0', git: 'https://github.com/chatwoot/devise-secure_password'
|
||||
gem 'devise-secure_password', git: 'https://github.com/chatwoot/devise-secure_password', branch: 'chatwoot'
|
||||
gem 'devise_token_auth'
|
||||
# authorization
|
||||
gem 'jwt'
|
||||
@@ -81,7 +81,6 @@ gem 'administrate'
|
||||
gem 'wisper', '2.0.0'
|
||||
|
||||
##--- gems for channels ---##
|
||||
# TODO: bump up gem to 2.0
|
||||
gem 'facebook-messenger'
|
||||
gem 'line-bot-api'
|
||||
gem 'twilio-ruby', '~> 5.66'
|
||||
@@ -91,9 +90,14 @@ gem 'twitty', '~> 0.1.5'
|
||||
# facebook client
|
||||
gem 'koala'
|
||||
# slack client
|
||||
gem 'slack-ruby-client'
|
||||
gem 'slack-ruby-client', '~> 2.0.0'
|
||||
# for dialogflow integrations
|
||||
gem 'google-cloud-dialogflow'
|
||||
gem 'google-cloud-dialogflow-v2'
|
||||
gem 'grpc'
|
||||
# Translate integrations
|
||||
# 'google-cloud-translate' gem depends on faraday 2.0 version
|
||||
# this dependency breaks the slack-ruby-client gem
|
||||
gem 'google-cloud-translate-v3'
|
||||
|
||||
##-- apm and error monitoring ---#
|
||||
# loaded only when environment variables are set.
|
||||
@@ -108,9 +112,9 @@ gem 'sentry-ruby', require: false
|
||||
gem 'sentry-sidekiq', require: false
|
||||
|
||||
##-- background job processing --##
|
||||
gem 'sidekiq', '~> 6.4.2'
|
||||
gem 'sidekiq'
|
||||
# We want cron jobs
|
||||
gem 'sidekiq-cron', '~> 1.6', '>= 1.6.0'
|
||||
gem 'sidekiq-cron'
|
||||
|
||||
##-- Push notification service --##
|
||||
gem 'fcm'
|
||||
@@ -129,7 +133,10 @@ gem 'procore-sift'
|
||||
|
||||
# parse email
|
||||
gem 'email_reply_trimmer'
|
||||
gem 'html2text'
|
||||
|
||||
# TODO: we might have to fork this gem since 0.3.1 has hard depency on nokogir 1.10.
|
||||
# and this gem hasn't been updated for a while.
|
||||
gem 'html2text', git: 'https://github.com/chatwoot/html2text_ruby', branch: 'chatwoot'
|
||||
|
||||
# to calculate working hours
|
||||
gem 'working_hours'
|
||||
@@ -144,11 +151,6 @@ gem 'stripe'
|
||||
## to populate db with sample data
|
||||
gem 'faker'
|
||||
|
||||
# Can remove this in rails 7
|
||||
gem 'net-imap', require: false
|
||||
gem 'net-pop', require: false
|
||||
gem 'net-smtp', require: false
|
||||
|
||||
# Include logrange conditionally in intializer using env variable
|
||||
gem 'lograge', '~> 0.12.0', require: false
|
||||
|
||||
@@ -174,6 +176,7 @@ group :development do
|
||||
gem 'annotate'
|
||||
gem 'bullet'
|
||||
gem 'letter_opener'
|
||||
gem 'scss_lint', require: false
|
||||
gem 'web-console'
|
||||
|
||||
# used in swagger build
|
||||
@@ -189,7 +192,7 @@ end
|
||||
|
||||
group :test do
|
||||
# Cypress in rails.
|
||||
gem 'cypress-on-rails', '~> 1.13', '>= 1.13.1'
|
||||
gem 'cypress-on-rails'
|
||||
# fast cleaning of database
|
||||
gem 'database_cleaner'
|
||||
# mock http calls
|
||||
@@ -211,7 +214,7 @@ group :development, :test do
|
||||
gem 'mock_redis'
|
||||
gem 'pry-rails'
|
||||
gem 'rspec_junit_formatter'
|
||||
gem 'rspec-rails', '~> 5.0.3'
|
||||
gem 'rspec-rails'
|
||||
gem 'rubocop', require: false
|
||||
gem 'rubocop-performance', require: false
|
||||
gem 'rubocop-rails', require: false
|
||||
|
||||
+335
-319
File diff suppressed because it is too large
Load Diff
@@ -30,7 +30,7 @@ class Api::V1::Accounts::PortalsController < Api::V1::Accounts::BaseController
|
||||
ActiveRecord::Base.transaction do
|
||||
@portal.update!(portal_params) if params[:portal].present?
|
||||
# @portal.custom_domain = parsed_custom_domain
|
||||
process_attached_logo
|
||||
process_attached_logo if params[:blob_id].present?
|
||||
rescue StandardError => e
|
||||
Rails.logger.error e
|
||||
render json: { error: @portal.errors.messages }.to_json, status: :unprocessable_entity
|
||||
|
||||
@@ -3,7 +3,7 @@ class ApiController < ApplicationController
|
||||
|
||||
def index
|
||||
render json: { version: Chatwoot.config[:version],
|
||||
timestamp: Time.now.utc.to_formatted_s(:db),
|
||||
timestamp: Time.now.utc.to_fs(:db),
|
||||
queue_services: redis_status,
|
||||
data_services: postgres_status }
|
||||
end
|
||||
|
||||
@@ -41,7 +41,7 @@ class WidgetsController < ActionController::Base
|
||||
source_id: @auth_token_params[:source_id]
|
||||
)
|
||||
|
||||
@contact = @contact_inbox ? @contact_inbox.contact : nil
|
||||
@contact = @contact_inbox&.contact
|
||||
end
|
||||
|
||||
def build_contact
|
||||
|
||||
@@ -14,6 +14,7 @@ class ConversationApi extends ApiClient {
|
||||
labels,
|
||||
teamId,
|
||||
conversationType,
|
||||
sortBy,
|
||||
}) {
|
||||
return axios.get(this.url, {
|
||||
params: {
|
||||
@@ -24,6 +25,7 @@ class ConversationApi extends ApiClient {
|
||||
page,
|
||||
labels,
|
||||
conversation_type: conversationType,
|
||||
sort_by: sortBy,
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
@@ -95,10 +95,6 @@
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 0 var(--space-normal);
|
||||
|
||||
.page-title {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.content-box {
|
||||
|
||||
@@ -11,15 +11,23 @@
|
||||
class="chat-list__top"
|
||||
:class="{ filter__applied: hasAppliedFiltersOrActiveFolders }"
|
||||
>
|
||||
<h1 class="page-title text-truncate" :title="pageTitle">
|
||||
{{ pageTitle }}
|
||||
</h1>
|
||||
|
||||
<div class="filter--actions">
|
||||
<chat-filter
|
||||
<div class="flex-center chat-list__title">
|
||||
<h1
|
||||
class="page-sub-title text-truncate margin-bottom-0"
|
||||
:title="pageTitle"
|
||||
>
|
||||
{{ pageTitle }}
|
||||
</h1>
|
||||
<span
|
||||
v-if="!hasAppliedFiltersOrActiveFolders"
|
||||
@statusFilterChange="updateStatusType"
|
||||
/>
|
||||
class="conversation--status-pill"
|
||||
>
|
||||
{{
|
||||
this.$t(`CHAT_LIST.CHAT_STATUS_FILTER_ITEMS.${activeStatus}.TEXT`)
|
||||
}}
|
||||
</span>
|
||||
</div>
|
||||
<div class="filter--actions">
|
||||
<div v-if="hasAppliedFilters && !hasActiveFolders">
|
||||
<woot-button
|
||||
v-tooltip.top-end="$t('FILTER.CUSTOM_VIEWS.ADD.SAVE_BUTTON')"
|
||||
@@ -48,7 +56,6 @@
|
||||
@click="onClickOpenDeleteFoldersModal"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<woot-button
|
||||
v-else
|
||||
v-tooltip.right="$t('FILTER.TOOLTIP_LABEL')"
|
||||
@@ -58,6 +65,10 @@
|
||||
size="tiny"
|
||||
@click="onToggleAdvanceFiltersModal"
|
||||
/>
|
||||
<conversation-basic-filter
|
||||
v-if="!hasAppliedFiltersOrActiveFolders"
|
||||
@changeFilter="onBasicFilterChange"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -167,8 +178,8 @@
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
|
||||
import ChatFilter from './widgets/conversation/ChatFilter';
|
||||
import ConversationAdvancedFilter from './widgets/conversation/ConversationAdvancedFilter';
|
||||
import ConversationBasicFilter from './widgets/conversation/ConversationBasicFilter';
|
||||
import ChatTypeTabs from './widgets/ChatTypeTabs';
|
||||
import ConversationCard from './widgets/conversation/ConversationCard';
|
||||
import timeMixin from '../mixins/time';
|
||||
@@ -199,10 +210,10 @@ export default {
|
||||
AddCustomViews,
|
||||
ChatTypeTabs,
|
||||
ConversationCard,
|
||||
ChatFilter,
|
||||
ConversationAdvancedFilter,
|
||||
DeleteCustomViews,
|
||||
ConversationBulkActions,
|
||||
ConversationBasicFilter,
|
||||
},
|
||||
mixins: [
|
||||
timeMixin,
|
||||
@@ -245,6 +256,7 @@ export default {
|
||||
return {
|
||||
activeAssigneeTab: wootConstants.ASSIGNEE_TYPE.ME,
|
||||
activeStatus: wootConstants.STATUS_TYPE.OPEN,
|
||||
activeSortBy: wootConstants.SORT_BY_TYPE.LATEST,
|
||||
showAdvancedFilters: false,
|
||||
advancedFilterTypes: advancedFilterTypes.map(filter => ({
|
||||
...filter,
|
||||
@@ -364,6 +376,7 @@ export default {
|
||||
inboxId: this.conversationInbox ? this.conversationInbox : undefined,
|
||||
assigneeType: this.activeAssigneeTab,
|
||||
status: this.activeStatus,
|
||||
sortBy: this.activeSortBy,
|
||||
page: this.conversationListPagination,
|
||||
labels: this.label ? [this.label] : undefined,
|
||||
teamId: this.teamId || undefined,
|
||||
@@ -479,7 +492,8 @@ export default {
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.$store.dispatch('setChatFilter', this.activeStatus);
|
||||
this.$store.dispatch('setChatStatusFilter', this.activeStatus);
|
||||
this.$store.dispatch('setChatSortFilter', this.activeSortBy);
|
||||
this.resetAndFetchData();
|
||||
|
||||
bus.$on('fetch_conversation_stats', () => {
|
||||
@@ -625,11 +639,13 @@ export default {
|
||||
this.selectedConversations = [];
|
||||
this.selectedInboxes = [];
|
||||
},
|
||||
updateStatusType(index) {
|
||||
if (this.activeStatus !== index) {
|
||||
this.activeStatus = index;
|
||||
this.resetAndFetchData();
|
||||
onBasicFilterChange(value, type) {
|
||||
if (type === 'status') {
|
||||
this.activeStatus = value;
|
||||
} else {
|
||||
this.activeSortBy = value;
|
||||
}
|
||||
this.resetAndFetchData();
|
||||
},
|
||||
openLastSavedItemInFolder() {
|
||||
const lastItemOfFolder = this.folders[this.folders.length - 1];
|
||||
@@ -878,11 +894,15 @@ export default {
|
||||
&.list--full-width {
|
||||
flex-basis: 100%;
|
||||
}
|
||||
|
||||
.page-sub-title {
|
||||
font-size: var(--font-size-two);
|
||||
}
|
||||
}
|
||||
.filter--actions {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: var(--space-micro);
|
||||
gap: var(--space-smaller);
|
||||
}
|
||||
|
||||
.filter__applied {
|
||||
@@ -899,4 +919,19 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.conversation--status-pill {
|
||||
background: var(--color-background);
|
||||
border-radius: var(--border-radius-small);
|
||||
color: var(--color-medium-gray);
|
||||
font-size: var(--font-size-micro);
|
||||
font-weight: var(--font-weight-medium);
|
||||
margin: var(--space-micro) var(--space-small) 0;
|
||||
padding: var(--space-smaller);
|
||||
text-transform: capitalize;
|
||||
}
|
||||
|
||||
.chat-list__title {
|
||||
max-width: 85%;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -157,6 +157,7 @@ const settings = accountId => ({
|
||||
hasSubMenu: false,
|
||||
toState: frontendURL(`accounts/${accountId}/settings/audit-log/list`),
|
||||
toStateName: 'auditlogs_list',
|
||||
featureFlag: FEATURE_FLAGS.AUDIT_LOGS,
|
||||
beta: true,
|
||||
},
|
||||
],
|
||||
|
||||
@@ -38,8 +38,8 @@ export default {
|
||||
this.onTabChange();
|
||||
},
|
||||
onTabChange() {
|
||||
this.$store.dispatch('setChatFilter', this.activeStatus);
|
||||
this.$emit('statusFilterChange', this.activeStatus);
|
||||
this.$store.dispatch('setChatStatusFilter', this.activeStatus);
|
||||
this.$emit('onChangeFilter', this.activeStatus);
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
@@ -0,0 +1,122 @@
|
||||
<template>
|
||||
<div class="position-relative">
|
||||
<woot-button
|
||||
v-tooltip.right="$t('CHAT_LIST.SORT_TOOLTIP_LABEL')"
|
||||
variant="smooth"
|
||||
size="tiny"
|
||||
color-scheme="secondary"
|
||||
class="selector-button"
|
||||
icon="sort-icon"
|
||||
@click="toggleDropdown"
|
||||
/>
|
||||
<div
|
||||
v-if="showActionsDropdown"
|
||||
v-on-clickaway="closeDropdown"
|
||||
class="dropdown-pane dropdown-pane--open basic-filter"
|
||||
>
|
||||
<div class="filter__item">
|
||||
<span>{{ this.$t('CHAT_LIST.CHAT_SORT.STATUS') }}</span>
|
||||
<filter-item
|
||||
type="status"
|
||||
:selected-value="chatStatus"
|
||||
:items="chatStatusItems"
|
||||
path-prefix="CHAT_LIST.CHAT_STATUS_FILTER_ITEMS"
|
||||
@onChangeFilter="onChangeFilter"
|
||||
/>
|
||||
</div>
|
||||
<div class="filter__item">
|
||||
<span>{{ this.$t('CHAT_LIST.CHAT_SORT.ORDER_BY') }}</span>
|
||||
<filter-item
|
||||
type="sort"
|
||||
:selected-value="chatSortFilter"
|
||||
:items="chatSortItems"
|
||||
path-prefix="CHAT_LIST.CHAT_SORT_FILTER_ITEMS"
|
||||
@onChangeFilter="onChangeFilter"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import wootConstants from 'dashboard/constants/globals';
|
||||
import { mapGetters } from 'vuex';
|
||||
import { mixin as clickaway } from 'vue-clickaway';
|
||||
import FilterItem from './FilterItem';
|
||||
|
||||
export default {
|
||||
components: {
|
||||
FilterItem,
|
||||
},
|
||||
mixins: [clickaway],
|
||||
data() {
|
||||
return {
|
||||
showActionsDropdown: false,
|
||||
chatStatusItems: this.$t('CHAT_LIST.CHAT_STATUS_FILTER_ITEMS'),
|
||||
chatSortItems: this.$t('CHAT_LIST.CHAT_SORT_FILTER_ITEMS'),
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters({
|
||||
chatStatusFilter: 'getChatStatusFilter',
|
||||
chatSortFilter: 'getChatSortFilter',
|
||||
}),
|
||||
chatStatus() {
|
||||
return this.chatStatusFilter || wootConstants.STATUS_TYPE.OPEN;
|
||||
},
|
||||
sortFilter() {
|
||||
return this.chatSortFilter || wootConstants.SORT_BY_TYPE.LATEST;
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
onTabChange(value) {
|
||||
this.$emit('changeFilter', value);
|
||||
this.closeDropdown();
|
||||
},
|
||||
toggleDropdown() {
|
||||
this.showActionsDropdown = !this.showActionsDropdown;
|
||||
},
|
||||
closeDropdown() {
|
||||
this.showActionsDropdown = false;
|
||||
},
|
||||
onChangeFilter(type, value) {
|
||||
this.$emit('changeFilter', type, value);
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.basic-filter {
|
||||
margin-top: var(--space-smaller);
|
||||
padding: var(--space-normal);
|
||||
right: 0;
|
||||
width: 21rem;
|
||||
|
||||
span {
|
||||
font-size: var(--font-size-small);
|
||||
font-weight: var(--font-weight-medium);
|
||||
}
|
||||
|
||||
.filter__item {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
&:last-child {
|
||||
margin-top: var(--space-normal);
|
||||
}
|
||||
|
||||
span {
|
||||
font-size: var(--font-size-mini);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.icon {
|
||||
margin-right: var(--space-smaller);
|
||||
}
|
||||
|
||||
.dropdown-icon {
|
||||
margin-left: var(--space-smaller);
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,55 @@
|
||||
<template>
|
||||
<select v-model="activeValue" class="status--filter" @change="onTabChange()">
|
||||
<option v-for="(value, status) in items" :key="status" :value="status">
|
||||
{{ $t(`${pathPrefix}.${status}.TEXT`) }}
|
||||
</option>
|
||||
</select>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
props: {
|
||||
selectedValue: {
|
||||
type: String,
|
||||
required: true,
|
||||
},
|
||||
items: {
|
||||
type: Object,
|
||||
required: true,
|
||||
},
|
||||
type: {
|
||||
type: String,
|
||||
required: true,
|
||||
},
|
||||
pathPrefix: {
|
||||
type: String,
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
activeValue: this.selectedValue,
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
onTabChange() {
|
||||
if (this.type === 'status') {
|
||||
this.$store.dispatch('setChatStatusFilter', this.activeValue);
|
||||
} else {
|
||||
this.$store.dispatch('setChatSortFilter', this.activeValue);
|
||||
}
|
||||
this.$emit('onChangeFilter', this.activeValue, this.type);
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.status--filter {
|
||||
background-color: var(--color-background-light);
|
||||
border: 1px solid var(--color-border);
|
||||
font-size: var(--font-size-mini);
|
||||
height: var(--space-medium);
|
||||
margin: 0 var(--space-smaller);
|
||||
padding: 0 var(--space-medium) 0 var(--space-small);
|
||||
width: 126px;
|
||||
}
|
||||
</style>
|
||||
+3
-4
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div v-on-clickaway="onCloseAgentList" class="bulk-action__agents">
|
||||
<div class="triangle" :style="cssVars">
|
||||
<div class="triangle">
|
||||
<svg height="12" viewBox="0 0 24 12" width="24">
|
||||
<path
|
||||
d="M20 12l-8-8-12 12"
|
||||
@@ -104,14 +104,13 @@ import { mapGetters } from 'vuex';
|
||||
import Thumbnail from 'dashboard/components/widgets/Thumbnail.vue';
|
||||
import Spinner from 'shared/components/Spinner';
|
||||
import { mixin as clickaway } from 'vue-clickaway';
|
||||
import bulkActionsMixin from 'dashboard/mixins/bulkActionsMixin.js';
|
||||
|
||||
export default {
|
||||
components: {
|
||||
Thumbnail,
|
||||
Spinner,
|
||||
},
|
||||
mixins: [clickaway, bulkActionsMixin],
|
||||
mixins: [clickaway],
|
||||
props: {
|
||||
selectedInboxes: {
|
||||
type: Array,
|
||||
@@ -240,7 +239,7 @@ export default {
|
||||
display: block;
|
||||
z-index: var(--z-index-one);
|
||||
position: absolute;
|
||||
top: calc(var(--space-slab) * -1);
|
||||
top: var(--space-minus-slab);
|
||||
right: var(--triangle-position);
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
+17
-4
@@ -58,7 +58,7 @@
|
||||
<transition name="popover-animation">
|
||||
<label-actions
|
||||
v-if="showLabelActions"
|
||||
triangle-position="8.5"
|
||||
class="label-actions-box"
|
||||
@assign="assignLabels"
|
||||
@close="showLabelActions = false"
|
||||
/>
|
||||
@@ -66,12 +66,12 @@
|
||||
<transition name="popover-animation">
|
||||
<update-actions
|
||||
v-if="showUpdateActions"
|
||||
class="update-actions-box"
|
||||
:selected-inboxes="selectedInboxes"
|
||||
:conversation-count="conversations.length"
|
||||
:show-resolve="!showResolvedAction"
|
||||
:show-reopen="!showOpenAction"
|
||||
:show-snooze="!showSnoozedAction"
|
||||
triangle-position="5.6"
|
||||
@update="updateConversations"
|
||||
@close="showUpdateActions = false"
|
||||
/>
|
||||
@@ -79,9 +79,9 @@
|
||||
<transition name="popover-animation">
|
||||
<agent-selector
|
||||
v-if="showAgentsList"
|
||||
class="agent-actions-box"
|
||||
:selected-inboxes="selectedInboxes"
|
||||
:conversation-count="conversations.length"
|
||||
triangle-position="2.8"
|
||||
@select="submit"
|
||||
@close="showAgentsList = false"
|
||||
/>
|
||||
@@ -89,7 +89,7 @@
|
||||
<transition name="popover-animation">
|
||||
<team-actions
|
||||
v-if="showTeamsList"
|
||||
triangle-position="0.2"
|
||||
class="team-actions-box"
|
||||
@assign-team="assignTeam"
|
||||
@close="showTeamsList = false"
|
||||
/>
|
||||
@@ -247,4 +247,17 @@ export default {
|
||||
opacity: 0;
|
||||
transform: scale(0.95);
|
||||
}
|
||||
|
||||
.label-actions-box {
|
||||
--triangle-position: 8.5rem;
|
||||
}
|
||||
.update-actions-box {
|
||||
--triangle-position: 5.6rem;
|
||||
}
|
||||
.agent-actions-box {
|
||||
--triangle-position: 2.8rem;
|
||||
}
|
||||
.team-actions-box {
|
||||
--triangle-position: 0.2rem;
|
||||
}
|
||||
</style>
|
||||
|
||||
+3
-4
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div v-on-clickaway="onClose" class="labels-container">
|
||||
<div class="triangle" :style="cssVars">
|
||||
<div class="triangle">
|
||||
<svg height="12" viewBox="0 0 24 12" width="24">
|
||||
<path
|
||||
d="M20 12l-8-8-12 12"
|
||||
@@ -75,10 +75,9 @@
|
||||
<script>
|
||||
import { mixin as clickaway } from 'vue-clickaway';
|
||||
import { mapGetters } from 'vuex';
|
||||
import bulkActionsMixin from 'dashboard/mixins/bulkActionsMixin.js';
|
||||
|
||||
export default {
|
||||
mixins: [clickaway, bulkActionsMixin],
|
||||
mixins: [clickaway],
|
||||
data() {
|
||||
return {
|
||||
query: '',
|
||||
@@ -207,7 +206,7 @@ export default {
|
||||
position: absolute;
|
||||
right: var(--triangle-position);
|
||||
text-align: left;
|
||||
top: calc(var(--space-slab) * -1);
|
||||
top: var(--space-minus-slab);
|
||||
z-index: var(--z-index-one);
|
||||
}
|
||||
}
|
||||
|
||||
+3
-4
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div v-on-clickaway="onClose" class="bulk-action__teams">
|
||||
<div class="triangle" :style="cssVars">
|
||||
<div class="triangle">
|
||||
<svg height="12" viewBox="0 0 24 12" width="24">
|
||||
<path
|
||||
d="M20 12l-8-8-12 12"
|
||||
@@ -59,9 +59,8 @@
|
||||
<script>
|
||||
import { mixin as clickaway } from 'vue-clickaway';
|
||||
import { mapGetters } from 'vuex';
|
||||
import bulkActionsMixin from 'dashboard/mixins/bulkActionsMixin.js';
|
||||
export default {
|
||||
mixins: [clickaway, bulkActionsMixin],
|
||||
mixins: [clickaway],
|
||||
data() {
|
||||
return {
|
||||
query: '',
|
||||
@@ -141,7 +140,7 @@ export default {
|
||||
display: block;
|
||||
z-index: var(--z-index-one);
|
||||
position: absolute;
|
||||
top: calc(var(--space-slab) * -1);
|
||||
top: var(--space-minus-slab);
|
||||
right: var(--triangle-position);
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
+3
-4
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div v-on-clickaway="onClose" class="actions-container">
|
||||
<div class="triangle" :style="cssVars">
|
||||
<div class="triangle">
|
||||
<svg height="12" viewBox="0 0 24 12" width="24">
|
||||
<path
|
||||
d="M20 12l-8-8-12 12"
|
||||
@@ -45,14 +45,13 @@
|
||||
import { mixin as clickaway } from 'vue-clickaway';
|
||||
import WootDropdownItem from 'shared/components/ui/dropdown/DropdownItem.vue';
|
||||
import WootDropdownMenu from 'shared/components/ui/dropdown/DropdownMenu.vue';
|
||||
import bulkActionsMixin from 'dashboard/mixins/bulkActionsMixin.js';
|
||||
|
||||
export default {
|
||||
components: {
|
||||
WootDropdownItem,
|
||||
WootDropdownMenu,
|
||||
},
|
||||
mixins: [clickaway, bulkActionsMixin],
|
||||
mixins: [clickaway],
|
||||
props: {
|
||||
selectedInboxes: {
|
||||
type: Array,
|
||||
@@ -156,7 +155,7 @@ export default {
|
||||
position: absolute;
|
||||
right: var(--triangle-position);
|
||||
text-align: left;
|
||||
top: calc(var(--space-slab) * -1);
|
||||
top: var(--space-minus-slab);
|
||||
z-index: var(--z-index-one);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,6 +12,10 @@ export default {
|
||||
SNOOZED: 'snoozed',
|
||||
ALL: 'all',
|
||||
},
|
||||
SORT_BY_TYPE: {
|
||||
LATEST: 'latest',
|
||||
CREATED_AT: 'sort_on_created_at',
|
||||
},
|
||||
ARTICLE_STATUS_TYPES: {
|
||||
DRAFT: 0,
|
||||
PUBLISH: 1,
|
||||
|
||||
@@ -15,4 +15,5 @@ export const FEATURE_FLAGS = {
|
||||
REPORTS: 'reports',
|
||||
TEAM_MANAGEMENT: 'team_management',
|
||||
VOICE_RECORDER: 'voice_recorder',
|
||||
AUDIT_LOGS: 'audit_logs',
|
||||
};
|
||||
|
||||
@@ -105,8 +105,16 @@ class ActionCableConnector extends BaseActionCableConnector {
|
||||
onLogout = () => AuthAPI.logout();
|
||||
|
||||
onMessageCreated = data => {
|
||||
const {
|
||||
conversation: { last_activity_at: lastActivityAt },
|
||||
conversation_id: conversationId,
|
||||
} = data;
|
||||
DashboardAudioNotificationHelper.onNewMessage(data);
|
||||
this.app.$store.dispatch('addMessage', data);
|
||||
this.app.$store.dispatch('updateConversationLastActivity', {
|
||||
lastActivityAt,
|
||||
conversationId,
|
||||
});
|
||||
};
|
||||
|
||||
onReload = () => window.location.reload();
|
||||
|
||||
@@ -35,6 +35,20 @@
|
||||
"TEXT": "الكل"
|
||||
}
|
||||
},
|
||||
"VIEW_FILTER": "عرض",
|
||||
"SORT_TOOLTIP_LABEL": "Sort conversations",
|
||||
"CHAT_SORT": {
|
||||
"STATUS": "الحالة",
|
||||
"ORDER_BY": "Order by"
|
||||
},
|
||||
"CHAT_SORT_FILTER_ITEMS": {
|
||||
"latest": {
|
||||
"TEXT": "Last activity"
|
||||
},
|
||||
"sort_on_created_at": {
|
||||
"TEXT": "تم إنشاؤها في"
|
||||
}
|
||||
},
|
||||
"ATTACHMENTS": {
|
||||
"image": {
|
||||
"CONTENT": "رسالة صورة"
|
||||
@@ -55,6 +69,24 @@
|
||||
"CONTENT": "قام بمشاركة رابط"
|
||||
}
|
||||
},
|
||||
"CHAT_SORT_BY_FILTER": {
|
||||
"TITLE": "Sort conversation",
|
||||
"DROPDOWN_TITLE": "ترتيب حسب",
|
||||
"ITEMS": {
|
||||
"LATEST": {
|
||||
"NAME": "Last activity at",
|
||||
"LABEL": "Last activity"
|
||||
},
|
||||
"CREATED_AT": {
|
||||
"NAME": "تم إنشاؤها في",
|
||||
"LABEL": "تم إنشاؤها في"
|
||||
},
|
||||
"LAST_USER_MESSAGE_AT": {
|
||||
"NAME": "Last user message at",
|
||||
"LABEL": "Last message"
|
||||
}
|
||||
}
|
||||
},
|
||||
"RECEIVED_VIA_EMAIL": "تم تلقيه عبر البريد الإلكتروني",
|
||||
"VIEW_TWEET_IN_TWITTER": "عرض التغريدة في تويتر",
|
||||
"REPLY_TO_TWEET": "الرد على هذه التغريدة",
|
||||
|
||||
@@ -464,6 +464,7 @@
|
||||
"AUTO_ASSIGNMENT_SUB_TEXT": "تمكين أو تعطيل الإسناد التلقائي للمحادثات الجديدة إلى الموظفين المضافين إلى قناة التواصل هذه.",
|
||||
"HMAC_VERIFICATION": "التحقق من هوية المستخدم",
|
||||
"HMAC_DESCRIPTION": "من أجل التحقق من هوية المستخدم، يمكنك تمرير 'IDer_hash` لكل مستخدم. يمكنك إنشاء تجزئة HMAC sha256 باستخدام \"المعرف\" مع المفتاح المعروض هنا.",
|
||||
"HMAC_LINK_TO_DOCS": "You can read more here.",
|
||||
"HMAC_MANDATORY_VERIFICATION": "فرض التحقق من هوية المستخدم",
|
||||
"HMAC_MANDATORY_DESCRIPTION": "في حالة التمكين، سيتم رفض الطلبات المفقودة 'IDer_hash'.",
|
||||
"INBOX_IDENTIFIER": "معرف صندوق الوارد",
|
||||
|
||||
@@ -35,6 +35,20 @@
|
||||
"TEXT": "Всички"
|
||||
}
|
||||
},
|
||||
"VIEW_FILTER": "View",
|
||||
"SORT_TOOLTIP_LABEL": "Sort conversations",
|
||||
"CHAT_SORT": {
|
||||
"STATUS": "Статус",
|
||||
"ORDER_BY": "Order by"
|
||||
},
|
||||
"CHAT_SORT_FILTER_ITEMS": {
|
||||
"latest": {
|
||||
"TEXT": "Last activity"
|
||||
},
|
||||
"sort_on_created_at": {
|
||||
"TEXT": "Създаден в"
|
||||
}
|
||||
},
|
||||
"ATTACHMENTS": {
|
||||
"image": {
|
||||
"CONTENT": "Съобщение със снимка"
|
||||
@@ -55,6 +69,24 @@
|
||||
"CONTENT": "сподели линк"
|
||||
}
|
||||
},
|
||||
"CHAT_SORT_BY_FILTER": {
|
||||
"TITLE": "Sort conversation",
|
||||
"DROPDOWN_TITLE": "Sort by",
|
||||
"ITEMS": {
|
||||
"LATEST": {
|
||||
"NAME": "Last activity at",
|
||||
"LABEL": "Last activity"
|
||||
},
|
||||
"CREATED_AT": {
|
||||
"NAME": "Създаден в",
|
||||
"LABEL": "Създаден в"
|
||||
},
|
||||
"LAST_USER_MESSAGE_AT": {
|
||||
"NAME": "Last user message at",
|
||||
"LABEL": "Last message"
|
||||
}
|
||||
}
|
||||
},
|
||||
"RECEIVED_VIA_EMAIL": "Получено чрез имейл",
|
||||
"VIEW_TWEET_IN_TWITTER": "Виж туита в Twitter",
|
||||
"REPLY_TO_TWEET": "Отговори на този туит",
|
||||
|
||||
@@ -464,6 +464,7 @@
|
||||
"AUTO_ASSIGNMENT_SUB_TEXT": "Enable or disable the automatic assignment of new conversations to the agents added to this inbox.",
|
||||
"HMAC_VERIFICATION": "User Identity Validation",
|
||||
"HMAC_DESCRIPTION": "In order to validate the user's identity, you can pass an `identifier_hash` for each user. You can generate a HMAC sha256 hash using the `identifier` with the key shown here.",
|
||||
"HMAC_LINK_TO_DOCS": "You can read more here.",
|
||||
"HMAC_MANDATORY_VERIFICATION": "Enforce User Identity Validation",
|
||||
"HMAC_MANDATORY_DESCRIPTION": "If enabled, requests missing the `identifier_hash` will be rejected.",
|
||||
"INBOX_IDENTIFIER": "Inbox Identifier",
|
||||
|
||||
@@ -35,6 +35,20 @@
|
||||
"TEXT": "Totes"
|
||||
}
|
||||
},
|
||||
"VIEW_FILTER": "Veure",
|
||||
"SORT_TOOLTIP_LABEL": "Sort conversations",
|
||||
"CHAT_SORT": {
|
||||
"STATUS": "Estat",
|
||||
"ORDER_BY": "Order by"
|
||||
},
|
||||
"CHAT_SORT_FILTER_ITEMS": {
|
||||
"latest": {
|
||||
"TEXT": "Last activity"
|
||||
},
|
||||
"sort_on_created_at": {
|
||||
"TEXT": "Created at"
|
||||
}
|
||||
},
|
||||
"ATTACHMENTS": {
|
||||
"image": {
|
||||
"CONTENT": "Missatge d'imatge"
|
||||
@@ -55,6 +69,24 @@
|
||||
"CONTENT": "ha compartit una URL"
|
||||
}
|
||||
},
|
||||
"CHAT_SORT_BY_FILTER": {
|
||||
"TITLE": "Sort conversation",
|
||||
"DROPDOWN_TITLE": "Sort by",
|
||||
"ITEMS": {
|
||||
"LATEST": {
|
||||
"NAME": "Last activity at",
|
||||
"LABEL": "Last activity"
|
||||
},
|
||||
"CREATED_AT": {
|
||||
"NAME": "Created at",
|
||||
"LABEL": "Created at"
|
||||
},
|
||||
"LAST_USER_MESSAGE_AT": {
|
||||
"NAME": "Last user message at",
|
||||
"LABEL": "Last message"
|
||||
}
|
||||
}
|
||||
},
|
||||
"RECEIVED_VIA_EMAIL": "Rebut per correu electrònic",
|
||||
"VIEW_TWEET_IN_TWITTER": "Veure el tuit a Twitter",
|
||||
"REPLY_TO_TWEET": "Respon a aquest tuit",
|
||||
|
||||
@@ -464,6 +464,7 @@
|
||||
"AUTO_ASSIGNMENT_SUB_TEXT": "Activa o desactiva l'assignació automàtica d'agents disponibles a les noves converses",
|
||||
"HMAC_VERIFICATION": "Validació de la Identitat del Usuari",
|
||||
"HMAC_DESCRIPTION": "In order to validate the user's identity, you can pass an `identifier_hash` for each user. You can generate a HMAC sha256 hash using the `identifier` with the key shown here.",
|
||||
"HMAC_LINK_TO_DOCS": "You can read more here.",
|
||||
"HMAC_MANDATORY_VERIFICATION": "Enforce User Identity Validation",
|
||||
"HMAC_MANDATORY_DESCRIPTION": "If enabled, requests missing the `identifier_hash` will be rejected.",
|
||||
"INBOX_IDENTIFIER": "Inbox Identifier",
|
||||
|
||||
@@ -35,6 +35,20 @@
|
||||
"TEXT": "Vše"
|
||||
}
|
||||
},
|
||||
"VIEW_FILTER": "Zobrazit",
|
||||
"SORT_TOOLTIP_LABEL": "Sort conversations",
|
||||
"CHAT_SORT": {
|
||||
"STATUS": "Stav",
|
||||
"ORDER_BY": "Order by"
|
||||
},
|
||||
"CHAT_SORT_FILTER_ITEMS": {
|
||||
"latest": {
|
||||
"TEXT": "Last activity"
|
||||
},
|
||||
"sort_on_created_at": {
|
||||
"TEXT": "Created at"
|
||||
}
|
||||
},
|
||||
"ATTACHMENTS": {
|
||||
"image": {
|
||||
"CONTENT": "Zpráva obrázku"
|
||||
@@ -55,6 +69,24 @@
|
||||
"CONTENT": "sdílel URL"
|
||||
}
|
||||
},
|
||||
"CHAT_SORT_BY_FILTER": {
|
||||
"TITLE": "Sort conversation",
|
||||
"DROPDOWN_TITLE": "Seřadit podle",
|
||||
"ITEMS": {
|
||||
"LATEST": {
|
||||
"NAME": "Last activity at",
|
||||
"LABEL": "Last activity"
|
||||
},
|
||||
"CREATED_AT": {
|
||||
"NAME": "Created at",
|
||||
"LABEL": "Created at"
|
||||
},
|
||||
"LAST_USER_MESSAGE_AT": {
|
||||
"NAME": "Last user message at",
|
||||
"LABEL": "Last message"
|
||||
}
|
||||
}
|
||||
},
|
||||
"RECEIVED_VIA_EMAIL": "Obdrženo e-mailem",
|
||||
"VIEW_TWEET_IN_TWITTER": "Zobrazit tweet na Twitteru",
|
||||
"REPLY_TO_TWEET": "Odpovědět na tento tweet",
|
||||
|
||||
@@ -464,6 +464,7 @@
|
||||
"AUTO_ASSIGNMENT_SUB_TEXT": "Povolit nebo zakázat automatické přiřazování nových konverzací agentům přidaným do této schránky.",
|
||||
"HMAC_VERIFICATION": "User Identity Validation",
|
||||
"HMAC_DESCRIPTION": "In order to validate the user's identity, you can pass an `identifier_hash` for each user. You can generate a HMAC sha256 hash using the `identifier` with the key shown here.",
|
||||
"HMAC_LINK_TO_DOCS": "You can read more here.",
|
||||
"HMAC_MANDATORY_VERIFICATION": "Enforce User Identity Validation",
|
||||
"HMAC_MANDATORY_DESCRIPTION": "If enabled, requests missing the `identifier_hash` will be rejected.",
|
||||
"INBOX_IDENTIFIER": "Inbox Identifier",
|
||||
|
||||
@@ -35,6 +35,20 @@
|
||||
"TEXT": "Alle"
|
||||
}
|
||||
},
|
||||
"VIEW_FILTER": "Vis",
|
||||
"SORT_TOOLTIP_LABEL": "Sort conversations",
|
||||
"CHAT_SORT": {
|
||||
"STATUS": "Status",
|
||||
"ORDER_BY": "Order by"
|
||||
},
|
||||
"CHAT_SORT_FILTER_ITEMS": {
|
||||
"latest": {
|
||||
"TEXT": "Last activity"
|
||||
},
|
||||
"sort_on_created_at": {
|
||||
"TEXT": "Oprettet den"
|
||||
}
|
||||
},
|
||||
"ATTACHMENTS": {
|
||||
"image": {
|
||||
"CONTENT": "Billedbesked"
|
||||
@@ -55,6 +69,24 @@
|
||||
"CONTENT": "har delt en URL"
|
||||
}
|
||||
},
|
||||
"CHAT_SORT_BY_FILTER": {
|
||||
"TITLE": "Sort conversation",
|
||||
"DROPDOWN_TITLE": "Sorter efter",
|
||||
"ITEMS": {
|
||||
"LATEST": {
|
||||
"NAME": "Last activity at",
|
||||
"LABEL": "Last activity"
|
||||
},
|
||||
"CREATED_AT": {
|
||||
"NAME": "Oprettet den",
|
||||
"LABEL": "Oprettet den"
|
||||
},
|
||||
"LAST_USER_MESSAGE_AT": {
|
||||
"NAME": "Last user message at",
|
||||
"LABEL": "Last message"
|
||||
}
|
||||
}
|
||||
},
|
||||
"RECEIVED_VIA_EMAIL": "Modtaget via e-mail",
|
||||
"VIEW_TWEET_IN_TWITTER": "Se tweet på Twitter",
|
||||
"REPLY_TO_TWEET": "Svar på dette tweet",
|
||||
|
||||
@@ -120,7 +120,7 @@
|
||||
"PHONE_NUMBER": {
|
||||
"PLACEHOLDER": "Indtast telefonnummeret på kontaktpersonen",
|
||||
"LABEL": "Telefonnummer",
|
||||
"HELP": "Phone number should be of E.164 format eg: +1415555555 [+][country code][area code][local phone number]. You can select the dial code from the dropdown.",
|
||||
"HELP": "Telefonnummer skal være af E.164 format fx: +1415555555 [+] [landekode] [områdekode] [lokalt telefonnummer]",
|
||||
"ERROR": "Telefonnummer skal være enten tomt eller i E.164-format",
|
||||
"DIAL_CODE_ERROR": "Please select a dial code from the list",
|
||||
"DUPLICATE": "Dette telefonnummer er i brug for en anden kontakt."
|
||||
@@ -182,7 +182,7 @@
|
||||
"LABEL": "Til"
|
||||
},
|
||||
"INBOX": {
|
||||
"LABEL": "Via Inbox",
|
||||
"LABEL": "Indbakke",
|
||||
"PLACEHOLDER": "Choose source inbox",
|
||||
"ERROR": "Vælg en indbakke"
|
||||
},
|
||||
|
||||
@@ -464,6 +464,7 @@
|
||||
"AUTO_ASSIGNMENT_SUB_TEXT": "Aktiver eller deaktiver automatisk tildeling af nye samtaler til agenter tilføjet til denne indbakke.",
|
||||
"HMAC_VERIFICATION": "Bruger Identitetsvalidering",
|
||||
"HMAC_DESCRIPTION": "For at validere brugerens identitet, kan du passere en `identifier_hash` for hver bruger. Du kan generere en HMAC sha256 hash ved hjælp af 'identifier' med nøglen vist her.",
|
||||
"HMAC_LINK_TO_DOCS": "You can read more here.",
|
||||
"HMAC_MANDATORY_VERIFICATION": "Gennemtving Validering Af Bruger Identitet",
|
||||
"HMAC_MANDATORY_DESCRIPTION": "Hvis aktiveret, vil forespørgsler der mangler 'identifier_hash' blive afvist.",
|
||||
"INBOX_IDENTIFIER": "Identifikator For Indbakke",
|
||||
|
||||
@@ -3,16 +3,16 @@
|
||||
"TITLE": "Log ind på Chatwoot",
|
||||
"EMAIL": {
|
||||
"LABEL": "E-mail",
|
||||
"PLACEHOLDER": "example@companyname.com"
|
||||
"PLACEHOLDER": "E-mail, fx: navn@eksempel.dk"
|
||||
},
|
||||
"PASSWORD": {
|
||||
"LABEL": "Adgangskode",
|
||||
"PLACEHOLDER": "Adgangskode"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Login successful",
|
||||
"ERROR_MESSAGE": "Could not connect to Woot server. Please try again.",
|
||||
"UNAUTH": "Username or password is incorrect. Please try again."
|
||||
"SUCCESS_MESSAGE": "Login Lykkedes",
|
||||
"ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere",
|
||||
"UNAUTH": "Brugernavn / adgangskode forkert. Prøv igen"
|
||||
},
|
||||
"OAUTH": {
|
||||
"GOOGLE_LOGIN": "Login with Google",
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Link til nulstilling af adgangskode er blevet sendt til din e-mail.",
|
||||
"ERROR_MESSAGE": "Could not connect to Woot server. Please try again."
|
||||
"ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere"
|
||||
},
|
||||
"SUBMIT": "Send"
|
||||
}
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
"EMPTY_STATE": "No %{item} found for query '%{query}'",
|
||||
"EMPTY_STATE_FULL": "No results found for query '%{query}'",
|
||||
"PLACEHOLDER_KEYBINDING": "/ to focus",
|
||||
"INPUT_PLACEHOLDER": "Type 3 or more characters to search",
|
||||
"EMPTY_STATE_DEFAULT": "Search by conversation id, email, phone number, messages for better search results. ",
|
||||
"INPUT_PLACEHOLDER": "Search messages, contacts or conversations",
|
||||
"EMPTY_STATE_DEFAULT": "Search by conversation id, email, phone number, messages for better search results.",
|
||||
"BOT_LABEL": "Bot",
|
||||
"READ_MORE": "Read more",
|
||||
"WROTE": "wrote:"
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Adgangskoden blev ændret.",
|
||||
"ERROR_MESSAGE": "Could not connect to Woot server. Please try again."
|
||||
"ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere"
|
||||
},
|
||||
"CAPTCHA": {
|
||||
"ERROR": "Bekræftelse er udløbet. Løs captcha igen."
|
||||
|
||||
@@ -10,33 +10,33 @@
|
||||
},
|
||||
"COMPANY_NAME": {
|
||||
"LABEL": "Firmanavn",
|
||||
"PLACEHOLDER": "Enter your company name. E.g., Wayne Enterprises",
|
||||
"ERROR": "Firmanavn er for kort."
|
||||
"PLACEHOLDER": "Indtast dit firmanavn, fx: Wayne Enterprises",
|
||||
"ERROR": "Firmanavn er for kort"
|
||||
},
|
||||
"FULL_NAME": {
|
||||
"LABEL": "Fulde navn",
|
||||
"PLACEHOLDER": "Enter your full name. E.g., Bruce Wayne",
|
||||
"ERROR": "Fulde navn er for kort."
|
||||
"PLACEHOLDER": "Indtast dit fulde navn. fx: Bruce Wayne",
|
||||
"ERROR": "Fulde navn er for kort"
|
||||
},
|
||||
"EMAIL": {
|
||||
"LABEL": "Arbejde e-mail",
|
||||
"PLACEHOLDER": "Enter your work email address. E.g., bruce@wayne.enterprises",
|
||||
"ERROR": "Indtast venligst en gyldig arbejdsmail."
|
||||
"PLACEHOLDER": "Indtast din arbejdsmailadresse fx: bruce@wayne.enterprises",
|
||||
"ERROR": "Indtast venligst en gyldig arbejdsmail"
|
||||
},
|
||||
"PASSWORD": {
|
||||
"LABEL": "Adgangskode",
|
||||
"PLACEHOLDER": "Adgangskode",
|
||||
"ERROR": "Adgangskoden er for kort.",
|
||||
"IS_INVALID_PASSWORD": "Adgangskoden skal indeholde mindst 1 stort bogstav, 1 lille bogstav, 1 nummer og 1 specialtegn."
|
||||
"ERROR": "Adgangskoden er for kort",
|
||||
"IS_INVALID_PASSWORD": "Adgangskoden skal indeholde mindst 1 stort bogstav, 1 lille bogstav, 1 nummer og 1 specialtegn"
|
||||
},
|
||||
"CONFIRM_PASSWORD": {
|
||||
"LABEL": "Confirm password",
|
||||
"PLACEHOLDER": "Confirm password",
|
||||
"ERROR": "Adgangskode stemmer ikke overens."
|
||||
"LABEL": "Bekræft Adgangskode",
|
||||
"PLACEHOLDER": "Bekræft Adgangskode",
|
||||
"ERROR": "Adgangskode stemmer ikke overens"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Registrering Succesfuld",
|
||||
"ERROR_MESSAGE": "Could not connect to Woot server. Please try again."
|
||||
"ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere"
|
||||
},
|
||||
"SUBMIT": "Create account",
|
||||
"HAVE_AN_ACCOUNT": "Har du allerede en konto?"
|
||||
|
||||
@@ -35,6 +35,20 @@
|
||||
"TEXT": "Alle"
|
||||
}
|
||||
},
|
||||
"VIEW_FILTER": "Aussicht",
|
||||
"SORT_TOOLTIP_LABEL": "Sort conversations",
|
||||
"CHAT_SORT": {
|
||||
"STATUS": "Status",
|
||||
"ORDER_BY": "Order by"
|
||||
},
|
||||
"CHAT_SORT_FILTER_ITEMS": {
|
||||
"latest": {
|
||||
"TEXT": "Last activity"
|
||||
},
|
||||
"sort_on_created_at": {
|
||||
"TEXT": "Erstellt am"
|
||||
}
|
||||
},
|
||||
"ATTACHMENTS": {
|
||||
"image": {
|
||||
"CONTENT": "Bildnachricht"
|
||||
@@ -55,6 +69,24 @@
|
||||
"CONTENT": "hat eine URL geteilt"
|
||||
}
|
||||
},
|
||||
"CHAT_SORT_BY_FILTER": {
|
||||
"TITLE": "Sort conversation",
|
||||
"DROPDOWN_TITLE": "Sortieren nach",
|
||||
"ITEMS": {
|
||||
"LATEST": {
|
||||
"NAME": "Last activity at",
|
||||
"LABEL": "Last activity"
|
||||
},
|
||||
"CREATED_AT": {
|
||||
"NAME": "Erstellt am",
|
||||
"LABEL": "Erstellt am"
|
||||
},
|
||||
"LAST_USER_MESSAGE_AT": {
|
||||
"NAME": "Last user message at",
|
||||
"LABEL": "Last message"
|
||||
}
|
||||
}
|
||||
},
|
||||
"RECEIVED_VIA_EMAIL": "Per E-Mail empfangen",
|
||||
"VIEW_TWEET_IN_TWITTER": "Tweet auf Twitter anzeigen",
|
||||
"REPLY_TO_TWEET": "Auf diesen Tweet antworten",
|
||||
|
||||
@@ -120,7 +120,7 @@
|
||||
"PHONE_NUMBER": {
|
||||
"PLACEHOLDER": "Geben Sie die Telefonnummer des Kontakts ein",
|
||||
"LABEL": "Telefonnummer",
|
||||
"HELP": "Phone number should be of E.164 format eg: +1415555555 [+][country code][area code][local phone number]. You can select the dial code from the dropdown.",
|
||||
"HELP": "Telefonnummer sollte im E.164-Format sein, z. B.: +1415555555 [+][Landesvorwahl][Landesvorwahl][Ortsvorwahl]",
|
||||
"ERROR": "Telefonnummer muss leer sein oder im E.164-Format",
|
||||
"DIAL_CODE_ERROR": "Please select a dial code from the list",
|
||||
"DUPLICATE": "Diese Telefonnummer wird für einen anderen Kontakt verwendet."
|
||||
@@ -182,7 +182,7 @@
|
||||
"LABEL": "An"
|
||||
},
|
||||
"INBOX": {
|
||||
"LABEL": "Via Inbox",
|
||||
"LABEL": "Posteingang",
|
||||
"PLACEHOLDER": "Choose source inbox",
|
||||
"ERROR": "Posteingang auswählen"
|
||||
},
|
||||
|
||||
@@ -464,6 +464,7 @@
|
||||
"AUTO_ASSIGNMENT_SUB_TEXT": "Aktivieren oder deaktivieren Sie die automatische Zuweisung verfügbarer Agenten für neue Konversationen",
|
||||
"HMAC_VERIFICATION": "Benutzeridentitätsüberprüfung",
|
||||
"HMAC_DESCRIPTION": "Um die Identität des Benutzers zu validieren, können Sie für jeden Benutzer einen `identifier_hash` übergeben. Sie können einen HMAC sha256-Hash generieren, indem Sie den 'Bezeichner' mit dem hier gezeigten Schlüssel verwenden.",
|
||||
"HMAC_LINK_TO_DOCS": "You can read more here.",
|
||||
"HMAC_MANDATORY_VERIFICATION": "Erzwinge Benutzer-Identitätsüberprüfung",
|
||||
"HMAC_MANDATORY_DESCRIPTION": "Wenn aktiviert, werden Anfragen, denen der `identifier_hash` fehlt, abgelehnt.",
|
||||
"INBOX_IDENTIFIER": "Identifizierung für Posteingang",
|
||||
|
||||
@@ -3,16 +3,16 @@
|
||||
"TITLE": "Melden Sie sich bei Chatwoot an",
|
||||
"EMAIL": {
|
||||
"LABEL": "E-Mail",
|
||||
"PLACEHOLDER": "example@companyname.com"
|
||||
"PLACEHOLDER": "E-Mail zB: jemand@example.com"
|
||||
},
|
||||
"PASSWORD": {
|
||||
"LABEL": "Passwort",
|
||||
"PLACEHOLDER": "Passwort"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Login successful",
|
||||
"ERROR_MESSAGE": "Could not connect to Woot server. Please try again.",
|
||||
"UNAUTH": "Username or password is incorrect. Please try again."
|
||||
"SUCCESS_MESSAGE": "Anmeldung erfolgreich",
|
||||
"ERROR_MESSAGE": "Es konnte keine Verbindung zum Woot Server hergestellt werden. Bitte versuchen Sie es später erneut",
|
||||
"UNAUTH": "Benutzername / Passwort falsch. Bitte versuche es erneut"
|
||||
},
|
||||
"OAUTH": {
|
||||
"GOOGLE_LOGIN": "Login with Google",
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Der Link zum Zurücksetzen des Passworts wurde an Ihre E-Mail gesendet.",
|
||||
"ERROR_MESSAGE": "Could not connect to Woot server. Please try again."
|
||||
"ERROR_MESSAGE": "Es konnte keine Verbindung zum Woot Server hergestellt werden. Bitte versuchen Sie es später erneut"
|
||||
},
|
||||
"SUBMIT": "Einreichen"
|
||||
}
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
"EMPTY_STATE": "No %{item} found for query '%{query}'",
|
||||
"EMPTY_STATE_FULL": "No results found for query '%{query}'",
|
||||
"PLACEHOLDER_KEYBINDING": "/ to focus",
|
||||
"INPUT_PLACEHOLDER": "Type 3 or more characters to search",
|
||||
"EMPTY_STATE_DEFAULT": "Search by conversation id, email, phone number, messages for better search results. ",
|
||||
"INPUT_PLACEHOLDER": "Search messages, contacts or conversations",
|
||||
"EMPTY_STATE_DEFAULT": "Search by conversation id, email, phone number, messages for better search results.",
|
||||
"BOT_LABEL": "Bot",
|
||||
"READ_MORE": "Read more",
|
||||
"WROTE": "wrote:"
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Das Passwort wurde erfolgreich geändert.",
|
||||
"ERROR_MESSAGE": "Could not connect to Woot server. Please try again."
|
||||
"ERROR_MESSAGE": "Es konnte keine Verbindung zum Woot Server hergestellt werden. Bitte versuchen Sie es später erneut"
|
||||
},
|
||||
"CAPTCHA": {
|
||||
"ERROR": "Verifizierung abgelaufen. Bitte Captcha erneut lösen."
|
||||
|
||||
@@ -10,33 +10,33 @@
|
||||
},
|
||||
"COMPANY_NAME": {
|
||||
"LABEL": "Firmenname",
|
||||
"PLACEHOLDER": "Enter your company name. E.g., Wayne Enterprises",
|
||||
"ERROR": "Firmenname ist zu kurz."
|
||||
"PLACEHOLDER": "Geben Sie Ihren Firmennamen ein, z. B.: Wayne Enterprises",
|
||||
"ERROR": "Firmenname ist zu kurz"
|
||||
},
|
||||
"FULL_NAME": {
|
||||
"LABEL": "Vollständiger Name",
|
||||
"PLACEHOLDER": "Enter your full name. E.g., Bruce Wayne",
|
||||
"ERROR": "Vollständiger Name ist zu kurz."
|
||||
"PLACEHOLDER": "Geben Sie Ihren vollständigen Namen ein, z. B.: Bruce Wayne",
|
||||
"ERROR": "Vollständiger Name ist zu kurz"
|
||||
},
|
||||
"EMAIL": {
|
||||
"LABEL": "Geschäftliche E-Mail-Adresse",
|
||||
"PLACEHOLDER": "Enter your work email address. E.g., bruce@wayne.enterprises",
|
||||
"ERROR": "Bitte geben Sie eine gültige Arbeits-E-Mail-Adresse ein."
|
||||
"PLACEHOLDER": "Geben Sie Ihre geschäftliche E-Mail-Adresse ein, z. B.: bruce@wayne.enterprises",
|
||||
"ERROR": "Bitte geben Sie eine gültige Arbeits-E-Mail-Adresse ein"
|
||||
},
|
||||
"PASSWORD": {
|
||||
"LABEL": "Passwort",
|
||||
"PLACEHOLDER": "Passwort",
|
||||
"ERROR": "Das Passwort ist zu kurz.",
|
||||
"IS_INVALID_PASSWORD": "Das Passwort sollte mindestens 1 Großbuchstaben, 1 Kleinbuchstaben, 1 Ziffer und 1 Sonderzeichen enthalten."
|
||||
"ERROR": "Das Passwort ist zu kurz",
|
||||
"IS_INVALID_PASSWORD": "Das Passwort sollte mindestens 1 Großbuchstaben, 1 Kleinbuchstaben, 1 Ziffer und 1 Sonderzeichen enthalten"
|
||||
},
|
||||
"CONFIRM_PASSWORD": {
|
||||
"LABEL": "Confirm password",
|
||||
"PLACEHOLDER": "Confirm password",
|
||||
"ERROR": "Passwort stimmt nicht überein."
|
||||
"LABEL": "Bestätige das Passwort",
|
||||
"PLACEHOLDER": "Bestätige das Passwort",
|
||||
"ERROR": "Passwort stimmt nicht überein"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Registrierung erfolgreich",
|
||||
"ERROR_MESSAGE": "Could not connect to Woot server. Please try again."
|
||||
"ERROR_MESSAGE": "Es konnte keine Verbindung zum Woot Server hergestellt werden. Bitte versuchen Sie es später erneut"
|
||||
},
|
||||
"SUBMIT": "Konto erstellen",
|
||||
"HAVE_AN_ACCOUNT": "Haben Sie bereits ein Konto?"
|
||||
|
||||
@@ -35,6 +35,20 @@
|
||||
"TEXT": "Όλες"
|
||||
}
|
||||
},
|
||||
"VIEW_FILTER": "Προβολή",
|
||||
"SORT_TOOLTIP_LABEL": "Sort conversations",
|
||||
"CHAT_SORT": {
|
||||
"STATUS": "Κατάσταση",
|
||||
"ORDER_BY": "Order by"
|
||||
},
|
||||
"CHAT_SORT_FILTER_ITEMS": {
|
||||
"latest": {
|
||||
"TEXT": "Last activity"
|
||||
},
|
||||
"sort_on_created_at": {
|
||||
"TEXT": "Δημιουργήθηκε στις"
|
||||
}
|
||||
},
|
||||
"ATTACHMENTS": {
|
||||
"image": {
|
||||
"CONTENT": "Μήνυμα εικόνας"
|
||||
@@ -55,6 +69,24 @@
|
||||
"CONTENT": "έχει μοιράσει ένα σύνδεσμο"
|
||||
}
|
||||
},
|
||||
"CHAT_SORT_BY_FILTER": {
|
||||
"TITLE": "Sort conversation",
|
||||
"DROPDOWN_TITLE": "Ταξινόμηση κατά",
|
||||
"ITEMS": {
|
||||
"LATEST": {
|
||||
"NAME": "Last activity at",
|
||||
"LABEL": "Last activity"
|
||||
},
|
||||
"CREATED_AT": {
|
||||
"NAME": "Δημιουργήθηκε στις",
|
||||
"LABEL": "Δημιουργήθηκε στις"
|
||||
},
|
||||
"LAST_USER_MESSAGE_AT": {
|
||||
"NAME": "Last user message at",
|
||||
"LABEL": "Last message"
|
||||
}
|
||||
}
|
||||
},
|
||||
"RECEIVED_VIA_EMAIL": "Παραλήφθηκε από email",
|
||||
"VIEW_TWEET_IN_TWITTER": "Προβολή του tweet στο Twitter",
|
||||
"REPLY_TO_TWEET": "Απάντηση στο tweet",
|
||||
|
||||
@@ -120,7 +120,7 @@
|
||||
"PHONE_NUMBER": {
|
||||
"PLACEHOLDER": "Εισάγετε τον αριθμό τηλεφώνου της επαφής",
|
||||
"LABEL": "Αριθμός Τηλεφώνου",
|
||||
"HELP": "Phone number should be of E.164 format eg: +1415555555 [+][country code][area code][local phone number]. You can select the dial code from the dropdown.",
|
||||
"HELP": "Ο αριθμός τηλεφώνου πρέπει να έχει μορφή E.164 π.χ.: +14155555 [+][κωδικός χώρας][κωδικός περιοχής][αριθμός τοπικού τηλεφώνου]",
|
||||
"ERROR": "Ο αριθμός τηλεφώνου πρέπει να είναι είτε άδειος είτε με μορφή E.164",
|
||||
"DIAL_CODE_ERROR": "Please select a dial code from the list",
|
||||
"DUPLICATE": "Αυτός ο αριθμός τηλεφώνου χρησιμοποιείται σε άλλη επαφή."
|
||||
@@ -182,7 +182,7 @@
|
||||
"LABEL": "Προς"
|
||||
},
|
||||
"INBOX": {
|
||||
"LABEL": "Via Inbox",
|
||||
"LABEL": "Εισερχόμενα",
|
||||
"PLACEHOLDER": "Choose source inbox",
|
||||
"ERROR": "Επιλέξτε ένα κιβώτιο εισερχόμενων"
|
||||
},
|
||||
|
||||
@@ -464,6 +464,7 @@
|
||||
"AUTO_ASSIGNMENT_SUB_TEXT": "Ενεργοποιήστε ή απενεργοποιήστε την αυτόματη αντιστοίχιση των νέων συζητήσεων στους πράκτορες αυτού του κιβωτίου.",
|
||||
"HMAC_VERIFICATION": "Επικύρωση Ταυτότητας Χρήστη",
|
||||
"HMAC_DESCRIPTION": "Για λόγους επικύρωσης της ταυτότητας των χρηστών, το SDK σας επιτρέπει να περάσετε ένα `identity_hash` για κάθε χρήστη. Μπορείτε να δημιουργήσετε HMAC χρησιμοποιώντας το 'sha256' με το κλειδί που εμφανίζεται εδώ.",
|
||||
"HMAC_LINK_TO_DOCS": "You can read more here.",
|
||||
"HMAC_MANDATORY_VERIFICATION": "Επιβολή Επαλήθευσης Ταυτότητας Χρήστη",
|
||||
"HMAC_MANDATORY_DESCRIPTION": "Αν ενεργοποιηθεί, τα αιτήματα που χωρίς το `identifier_hash` θα απορριφθούν.",
|
||||
"INBOX_IDENTIFIER": "Αναγνωριστικό Εισερχόμενων",
|
||||
|
||||
@@ -3,16 +3,16 @@
|
||||
"TITLE": "Είσοδος στο Chatwoot",
|
||||
"EMAIL": {
|
||||
"LABEL": "Email",
|
||||
"PLACEHOLDER": "example@companyname.com"
|
||||
"PLACEHOLDER": "Email π.χ.: someone@example.com"
|
||||
},
|
||||
"PASSWORD": {
|
||||
"LABEL": "Κωδικός",
|
||||
"PLACEHOLDER": "Κωδικός"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Login successful",
|
||||
"ERROR_MESSAGE": "Could not connect to Woot server. Please try again.",
|
||||
"UNAUTH": "Username or password is incorrect. Please try again."
|
||||
"SUCCESS_MESSAGE": "Επιτυχής είσοδος",
|
||||
"ERROR_MESSAGE": "Αδυναμία σύνδεσης με τον Woot Server, Παρακαλώ προσπαθήστε αργότερα",
|
||||
"UNAUTH": "Το όνομα χρήστη ή ο κωδικός δεν είναι σωστός. Παρακαλώ ξαναπροσπαθήστε"
|
||||
},
|
||||
"OAUTH": {
|
||||
"GOOGLE_LOGIN": "Login with Google",
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Σύνδεσμος για την επαναφορά του κωδικού έχει αποσταλεί στο email σας.",
|
||||
"ERROR_MESSAGE": "Could not connect to Woot server. Please try again."
|
||||
"ERROR_MESSAGE": "Αδυναμία σύνδεσης με τον Woot Server, Παρακαλώ προσπαθήστε αργότερα"
|
||||
},
|
||||
"SUBMIT": "Καταχώρηση"
|
||||
}
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
"EMPTY_STATE": "No %{item} found for query '%{query}'",
|
||||
"EMPTY_STATE_FULL": "No results found for query '%{query}'",
|
||||
"PLACEHOLDER_KEYBINDING": "/ to focus",
|
||||
"INPUT_PLACEHOLDER": "Type 3 or more characters to search",
|
||||
"EMPTY_STATE_DEFAULT": "Search by conversation id, email, phone number, messages for better search results. ",
|
||||
"INPUT_PLACEHOLDER": "Search messages, contacts or conversations",
|
||||
"EMPTY_STATE_DEFAULT": "Search by conversation id, email, phone number, messages for better search results.",
|
||||
"BOT_LABEL": "Bot",
|
||||
"READ_MORE": "Read more",
|
||||
"WROTE": "wrote:"
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Ο κωδικός άλλαξε με επιτυχία.",
|
||||
"ERROR_MESSAGE": "Could not connect to Woot server. Please try again."
|
||||
"ERROR_MESSAGE": "Αδυναμία σύνδεσης με τον Woot Server, Παρακαλώ προσπαθήστε αργότερα"
|
||||
},
|
||||
"CAPTCHA": {
|
||||
"ERROR": "Η επαλήθευση έληξε. Παρακαλώ λύστε ξανά captcha."
|
||||
|
||||
@@ -10,33 +10,33 @@
|
||||
},
|
||||
"COMPANY_NAME": {
|
||||
"LABEL": "Επωνυμία εταιρείας",
|
||||
"PLACEHOLDER": "Enter your company name. E.g., Wayne Enterprises",
|
||||
"ERROR": "Το όνομα της εταιρείας είναι πολύ σύντομο."
|
||||
"PLACEHOLDER": "Εισάγετε το όνομα της εταιρείας σας. π. χ.: Wayne Enterprises",
|
||||
"ERROR": "Το όνομα της εταιρείας είναι πολύ σύντομο"
|
||||
},
|
||||
"FULL_NAME": {
|
||||
"LABEL": "Πλήρες όνομα",
|
||||
"PLACEHOLDER": "Enter your full name. E.g., Bruce Wayne",
|
||||
"ERROR": "Το πλήρες όνομα είναι πολύ σύντομο."
|
||||
"PLACEHOLDER": "Συμπληρώστε το πλήρες σας όνομα: πχ: Χρήστος Παπαδόπουλος",
|
||||
"ERROR": "Το πλήρες όνομα είναι πολύ σύντομο"
|
||||
},
|
||||
"EMAIL": {
|
||||
"LABEL": "email εργασίας",
|
||||
"PLACEHOLDER": "Enter your work email address. E.g., bruce@wayne.enterprises",
|
||||
"ERROR": "Παρακαλώ εισάγετε μια έγκυρη διεύθυνση email."
|
||||
"PLACEHOLDER": "συμπληρώστε το email εργασίας πχ: papadopoulos@wyane.com",
|
||||
"ERROR": "Παρακαλώ εισάγετε μια έγκυρη διεύθυνση email"
|
||||
},
|
||||
"PASSWORD": {
|
||||
"LABEL": "Κωδικός",
|
||||
"PLACEHOLDER": "Κωδικός",
|
||||
"ERROR": "Ο κωδικός είναι πολύ σύντομος.",
|
||||
"IS_INVALID_PASSWORD": "Ο κωδικός πρόσβασης πρέπει να περιέχει τουλάχιστον 1 κεφαλαίο γράμμα, 1 πεζό γράμμα, 1 αριθμό και 1 ειδικό χαρακτήρα."
|
||||
"ERROR": "Ο κωδικός είναι πολύ σύντομος",
|
||||
"IS_INVALID_PASSWORD": "Ο κωδικός πρόσβασης πρέπει να περιέχει τουλάχιστον 1 κεφαλαίο γράμμα, 1 πεζό γράμμα, 1 αριθμό και 1 ειδικό χαρακτήρα"
|
||||
},
|
||||
"CONFIRM_PASSWORD": {
|
||||
"LABEL": "Confirm password",
|
||||
"PLACEHOLDER": "Confirm password",
|
||||
"ERROR": "Οι κωδικοί δεν συμφωνούν."
|
||||
"LABEL": "Επιβεβαίωση κωδικού",
|
||||
"PLACEHOLDER": "Επιβεβαίωση κωδικού",
|
||||
"ERROR": "Οι κωδικοί δεν συμφωνούν"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Επιτυχής καταχώρηση",
|
||||
"ERROR_MESSAGE": "Could not connect to Woot server. Please try again."
|
||||
"ERROR_MESSAGE": "Αδυναμία σύνδεσης με τον Woot Server, Παρακαλώ προσπαθήστε αργότερα"
|
||||
},
|
||||
"SUBMIT": "Create account",
|
||||
"HAVE_AN_ACCOUNT": "Έχετε ήδη ένα λογαριασμό?"
|
||||
|
||||
@@ -35,6 +35,20 @@
|
||||
"TEXT": "All"
|
||||
}
|
||||
},
|
||||
"VIEW_FILTER": "View",
|
||||
"SORT_TOOLTIP_LABEL": "Sort conversations",
|
||||
"CHAT_SORT": {
|
||||
"STATUS": "Status",
|
||||
"ORDER_BY": "Order by"
|
||||
},
|
||||
"CHAT_SORT_FILTER_ITEMS": {
|
||||
"latest": {
|
||||
"TEXT": "Last activity"
|
||||
},
|
||||
"sort_on_created_at": {
|
||||
"TEXT": "Created at"
|
||||
}
|
||||
},
|
||||
"ATTACHMENTS": {
|
||||
"image": {
|
||||
"CONTENT": "Picture message"
|
||||
@@ -55,6 +69,24 @@
|
||||
"CONTENT": "has shared a url"
|
||||
}
|
||||
},
|
||||
"CHAT_SORT_BY_FILTER": {
|
||||
"TITLE": "Sort conversation",
|
||||
"DROPDOWN_TITLE": "Sort by",
|
||||
"ITEMS": {
|
||||
"LATEST": {
|
||||
"NAME": "Last activity at",
|
||||
"LABEL": "Last activity"
|
||||
},
|
||||
"CREATED_AT": {
|
||||
"NAME": "Created at",
|
||||
"LABEL": "Created at"
|
||||
},
|
||||
"LAST_USER_MESSAGE_AT": {
|
||||
"NAME": "Last user message at",
|
||||
"LABEL": "Last message"
|
||||
}
|
||||
}
|
||||
},
|
||||
"RECEIVED_VIA_EMAIL": "Received via email",
|
||||
"VIEW_TWEET_IN_TWITTER": "View tweet in Twitter",
|
||||
"REPLY_TO_TWEET": "Reply to this tweet",
|
||||
|
||||
@@ -35,6 +35,20 @@
|
||||
"TEXT": "Todos"
|
||||
}
|
||||
},
|
||||
"VIEW_FILTER": "Ver",
|
||||
"SORT_TOOLTIP_LABEL": "Sort conversations",
|
||||
"CHAT_SORT": {
|
||||
"STATUS": "Estado",
|
||||
"ORDER_BY": "Order by"
|
||||
},
|
||||
"CHAT_SORT_FILTER_ITEMS": {
|
||||
"latest": {
|
||||
"TEXT": "Last activity"
|
||||
},
|
||||
"sort_on_created_at": {
|
||||
"TEXT": "Creado el"
|
||||
}
|
||||
},
|
||||
"ATTACHMENTS": {
|
||||
"image": {
|
||||
"CONTENT": "Mensaje de imagen"
|
||||
@@ -55,6 +69,24 @@
|
||||
"CONTENT": "ha compartido una url"
|
||||
}
|
||||
},
|
||||
"CHAT_SORT_BY_FILTER": {
|
||||
"TITLE": "Sort conversation",
|
||||
"DROPDOWN_TITLE": "Ordenar por",
|
||||
"ITEMS": {
|
||||
"LATEST": {
|
||||
"NAME": "Last activity at",
|
||||
"LABEL": "Last activity"
|
||||
},
|
||||
"CREATED_AT": {
|
||||
"NAME": "Creado el",
|
||||
"LABEL": "Creado el"
|
||||
},
|
||||
"LAST_USER_MESSAGE_AT": {
|
||||
"NAME": "Last user message at",
|
||||
"LABEL": "Last message"
|
||||
}
|
||||
}
|
||||
},
|
||||
"RECEIVED_VIA_EMAIL": "Recibido por correo electrónico",
|
||||
"VIEW_TWEET_IN_TWITTER": "Ver trino en Twitter",
|
||||
"REPLY_TO_TWEET": "Responder a éste trino",
|
||||
|
||||
@@ -464,6 +464,7 @@
|
||||
"AUTO_ASSIGNMENT_SUB_TEXT": "Activar o desactivar la asignación automática de nuevas conversaciones a los agentes añadidos a esta bandeja de entrada.",
|
||||
"HMAC_VERIFICATION": "Validación de identidad de usuario",
|
||||
"HMAC_DESCRIPTION": "Para validar la identidad del usuario, puede pasar un `identifier_hash` para cada usuario. Puedes generar un hash HMAC sha256 usando el `identifier` con la clave que se muestra aquí.",
|
||||
"HMAC_LINK_TO_DOCS": "You can read more here.",
|
||||
"HMAC_MANDATORY_VERIFICATION": "Forzar validación de identidad de usuario",
|
||||
"HMAC_MANDATORY_DESCRIPTION": "Si está activado, las peticiones que no tengan el `identifier_hash` serán rechazadas.",
|
||||
"INBOX_IDENTIFIER": "Identificador de bandeja de entrada",
|
||||
|
||||
@@ -35,6 +35,20 @@
|
||||
"TEXT": "همه"
|
||||
}
|
||||
},
|
||||
"VIEW_FILTER": "نمایش",
|
||||
"SORT_TOOLTIP_LABEL": "Sort conversations",
|
||||
"CHAT_SORT": {
|
||||
"STATUS": "وضعیت",
|
||||
"ORDER_BY": "Order by"
|
||||
},
|
||||
"CHAT_SORT_FILTER_ITEMS": {
|
||||
"latest": {
|
||||
"TEXT": "Last activity"
|
||||
},
|
||||
"sort_on_created_at": {
|
||||
"TEXT": "ایجاد شده در"
|
||||
}
|
||||
},
|
||||
"ATTACHMENTS": {
|
||||
"image": {
|
||||
"CONTENT": "پیام تصویری"
|
||||
@@ -55,6 +69,24 @@
|
||||
"CONTENT": "یک آدرس URL به اشتراک گذاشته شده"
|
||||
}
|
||||
},
|
||||
"CHAT_SORT_BY_FILTER": {
|
||||
"TITLE": "Sort conversation",
|
||||
"DROPDOWN_TITLE": "مرتبسازی براساس",
|
||||
"ITEMS": {
|
||||
"LATEST": {
|
||||
"NAME": "Last activity at",
|
||||
"LABEL": "Last activity"
|
||||
},
|
||||
"CREATED_AT": {
|
||||
"NAME": "ایجاد شده در",
|
||||
"LABEL": "ایجاد شده در"
|
||||
},
|
||||
"LAST_USER_MESSAGE_AT": {
|
||||
"NAME": "Last user message at",
|
||||
"LABEL": "Last message"
|
||||
}
|
||||
}
|
||||
},
|
||||
"RECEIVED_VIA_EMAIL": "از طریق ایمیل دریافت شد",
|
||||
"VIEW_TWEET_IN_TWITTER": "مشاهده توییت در توییتر",
|
||||
"REPLY_TO_TWEET": "پاسخ به این توییت",
|
||||
|
||||
@@ -120,7 +120,7 @@
|
||||
"PHONE_NUMBER": {
|
||||
"PLACEHOLDER": "شماره تلفن مخاطب را وارد کنید",
|
||||
"LABEL": "شماره تلفن",
|
||||
"HELP": "شماره تلفن باید از قالب E.164 باشد، به عنوان مثال: +1415555555 [+][کد کشور][کد منطقه][شماره تلفن محلی]. می توانید کد شماره گیری را از منوی بازشو انتخاب کنید.",
|
||||
"HELP": "شماره تلفن باید با فرمت E.164 باشد به عنوان مثال: +98415555555 [+] [کد کشور] [کد منطقه] [شماره تلفن محلی]",
|
||||
"ERROR": "شماره تلفن باید یا خالی باشد و یا با فرمت E.164",
|
||||
"DIAL_CODE_ERROR": "لطفاً یک کد شماره گیری را از لیست انتخاب کنید",
|
||||
"DUPLICATE": "این شماره تلفن برای مخاطب دیگری در حال استفاده است."
|
||||
@@ -182,7 +182,7 @@
|
||||
"LABEL": "به"
|
||||
},
|
||||
"INBOX": {
|
||||
"LABEL": "از طریق صندوق ورودی",
|
||||
"LABEL": "صندوق ورودی",
|
||||
"PLACEHOLDER": "صندوق ورودی منبع را انتخاب کنید",
|
||||
"ERROR": "انتخاب صندوق ورودی"
|
||||
},
|
||||
|
||||
@@ -464,6 +464,7 @@
|
||||
"AUTO_ASSIGNMENT_SUB_TEXT": "فعال کردن یا غیرفعال کردن واگذاری خودکار گفتگوها به ایجنت های عضو این صندوق ورودی.",
|
||||
"HMAC_VERIFICATION": "اعتبار سنجی کاربر",
|
||||
"HMAC_DESCRIPTION": "به منظور اعتبارسنجی هویت کاربر، میتوانید یک «شناسه_هش» برای هر کاربر ارسال کنید. میتوانید با استفاده از «شناسه» با کلید نشان داده شده در اینجا یک هش HMAC sha256 ایجاد کنید.",
|
||||
"HMAC_LINK_TO_DOCS": "You can read more here.",
|
||||
"HMAC_MANDATORY_VERIFICATION": "مجبور کردن تأیید اعتبار هویت کاربر",
|
||||
"HMAC_MANDATORY_DESCRIPTION": "اگر فعال باشد، درخواستهایی که «identifier_hash» را ندارند رد میشوند.",
|
||||
"INBOX_IDENTIFIER": "شناسه صندوق ورودی",
|
||||
|
||||
@@ -3,16 +3,16 @@
|
||||
"TITLE": "ورود به چت ووت",
|
||||
"EMAIL": {
|
||||
"LABEL": "ایمیل",
|
||||
"PLACEHOLDER": "example@companyname.com"
|
||||
"PLACEHOLDER": "ایمیل به عنوان مثال: someone@example.com"
|
||||
},
|
||||
"PASSWORD": {
|
||||
"LABEL": "رمز عبور",
|
||||
"PLACEHOLDER": "رمز عبور"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Login successful",
|
||||
"ERROR_MESSAGE": "Could not connect to Woot server. Please try again.",
|
||||
"UNAUTH": "Username or password is incorrect. Please try again."
|
||||
"SUCCESS_MESSAGE": "ورود موفق",
|
||||
"ERROR_MESSAGE": "متاسفانه ارتباط با سرور برقرار نشد، مجددا امتحان کنید",
|
||||
"UNAUTH": "این نام کاربری و رمز عبور صحیح نیست"
|
||||
},
|
||||
"OAUTH": {
|
||||
"GOOGLE_LOGIN": "با گوگل وارد شوید",
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "لینک ریست کردن رمز عبور به ایمیلتان ارسال شد.",
|
||||
"ERROR_MESSAGE": "Could not connect to Woot server. Please try again."
|
||||
"ERROR_MESSAGE": "متاسفانه ارتباط با سرور برقرار نشد، مجددا امتحان کنید"
|
||||
},
|
||||
"SUBMIT": "ثبت"
|
||||
}
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
"EMPTY_STATE": "هیچ %{item} برای درخواست '%{query}' یافت نشد",
|
||||
"EMPTY_STATE_FULL": "هیچ نتیجه ای برای پرس و جو «%{query}» یافت نشد",
|
||||
"PLACEHOLDER_KEYBINDING": "/ برای تمرکز",
|
||||
"INPUT_PLACEHOLDER": "Type 3 or more characters to search",
|
||||
"EMPTY_STATE_DEFAULT": "جستجو بر اساس شناسه گفتگو، ایمیل، شماره تلفن، پیامها برای نتایج جستجوی بهتر. ",
|
||||
"INPUT_PLACEHOLDER": "جستجوی پیامها، مخاطبین یا گفتگوها",
|
||||
"EMPTY_STATE_DEFAULT": "جستجو بر اساس شناسه گفتگو، ایمیل، شماره تلفن، پیامها برای نتایج جستجوی بهتر.",
|
||||
"BOT_LABEL": "ربات",
|
||||
"READ_MORE": "ادامه مطلب",
|
||||
"WROTE": "نوشت:"
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "رمز عوض شد.",
|
||||
"ERROR_MESSAGE": "Could not connect to Woot server. Please try again."
|
||||
"ERROR_MESSAGE": "متاسفانه ارتباط با سرور برقرار نشد، مجددا امتحان کنید"
|
||||
},
|
||||
"CAPTCHA": {
|
||||
"ERROR": "تأیید اعتبار منقضی شد. لطفا دوباره کپچا را حل کنید."
|
||||
|
||||
@@ -10,33 +10,33 @@
|
||||
},
|
||||
"COMPANY_NAME": {
|
||||
"LABEL": "نام شرکت",
|
||||
"PLACEHOLDER": "Enter your company name. E.g., Wayne Enterprises",
|
||||
"ERROR": "نام شرکت خیلی کوتاه است."
|
||||
"PLACEHOLDER": "نام شرکت خود را وارد کنید. به عنوان مثال: شرکت وین",
|
||||
"ERROR": "نام شرکت خیلی کوتاه است"
|
||||
},
|
||||
"FULL_NAME": {
|
||||
"LABEL": "نام کامل",
|
||||
"PLACEHOLDER": "Enter your full name. E.g., Bruce Wayne",
|
||||
"ERROR": "نام کامل خیلی کوتاه است."
|
||||
"PLACEHOLDER": "نام کامل خود را وارد کنید به عنوان مثال: گودرز جعفری",
|
||||
"ERROR": "نام کامل خیلی کوتاه است"
|
||||
},
|
||||
"EMAIL": {
|
||||
"LABEL": "ایمیل کاری",
|
||||
"PLACEHOLDER": "Enter your work email address. E.g., bruce@wayne.enterprises",
|
||||
"ERROR": "لطفا یک آدرس ایمیل کاری معتبر وارد کنید."
|
||||
"PLACEHOLDER": "ایمیل کاری خود را وارد کنید به عنوان مثال: jafari@wayne.enterprises",
|
||||
"ERROR": "لطفا یک آدرس ایمیل کاری معتبر وارد کنید"
|
||||
},
|
||||
"PASSWORD": {
|
||||
"LABEL": "رمز عبور",
|
||||
"PLACEHOLDER": "رمز عبور",
|
||||
"ERROR": "رمز عبور خیلی کوتاه است.",
|
||||
"IS_INVALID_PASSWORD": "رمز عبور باید شامل حداقل ۱ حرف بزرگ، ۱ حرف کوچک، ۱ عدد و ۱ کاراکتر خاص باشد."
|
||||
"ERROR": "رمز عبور خیلی کوتاه است",
|
||||
"IS_INVALID_PASSWORD": "رمز عبور باید شامل حداقل ۱ حرف بزرگ، ۱ حرف کوچک، ۱ عدد و ۱ کاراکتر خاص باشد"
|
||||
},
|
||||
"CONFIRM_PASSWORD": {
|
||||
"LABEL": "Confirm password",
|
||||
"PLACEHOLDER": "Confirm password",
|
||||
"ERROR": "رمز عبور و تکرار رمز عبور یکسان نیستند."
|
||||
"LABEL": "تکرار رمز عبور",
|
||||
"PLACEHOLDER": "تکرار رمز عبور",
|
||||
"ERROR": "رمز عبور و تکرار رمز عبور یکسان نیستند"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "ثبت نام با موفقیت انجام شد",
|
||||
"ERROR_MESSAGE": "Could not connect to Woot server. Please try again."
|
||||
"ERROR_MESSAGE": "ارتباط با سرور برقرار نشد، لطفا بعدا امتحان کنید"
|
||||
},
|
||||
"SUBMIT": "ایجاد حساب کاربری",
|
||||
"HAVE_AN_ACCOUNT": "از قبل حسابکاربری دارید؟"
|
||||
|
||||
@@ -35,6 +35,20 @@
|
||||
"TEXT": "Kaikki"
|
||||
}
|
||||
},
|
||||
"VIEW_FILTER": "Näytä",
|
||||
"SORT_TOOLTIP_LABEL": "Sort conversations",
|
||||
"CHAT_SORT": {
|
||||
"STATUS": "Tila",
|
||||
"ORDER_BY": "Order by"
|
||||
},
|
||||
"CHAT_SORT_FILTER_ITEMS": {
|
||||
"latest": {
|
||||
"TEXT": "Last activity"
|
||||
},
|
||||
"sort_on_created_at": {
|
||||
"TEXT": "Created at"
|
||||
}
|
||||
},
|
||||
"ATTACHMENTS": {
|
||||
"image": {
|
||||
"CONTENT": "Kuvaviesti"
|
||||
@@ -55,6 +69,24 @@
|
||||
"CONTENT": "on jakanut URL-osoitteen"
|
||||
}
|
||||
},
|
||||
"CHAT_SORT_BY_FILTER": {
|
||||
"TITLE": "Sort conversation",
|
||||
"DROPDOWN_TITLE": "Sort by",
|
||||
"ITEMS": {
|
||||
"LATEST": {
|
||||
"NAME": "Last activity at",
|
||||
"LABEL": "Last activity"
|
||||
},
|
||||
"CREATED_AT": {
|
||||
"NAME": "Created at",
|
||||
"LABEL": "Created at"
|
||||
},
|
||||
"LAST_USER_MESSAGE_AT": {
|
||||
"NAME": "Last user message at",
|
||||
"LABEL": "Last message"
|
||||
}
|
||||
}
|
||||
},
|
||||
"RECEIVED_VIA_EMAIL": "Vastaanotettu sähköpostitse",
|
||||
"VIEW_TWEET_IN_TWITTER": "Näytä twiitti Twitterissä",
|
||||
"REPLY_TO_TWEET": "Vastaa tähän twiittiin",
|
||||
|
||||
@@ -120,7 +120,7 @@
|
||||
"PHONE_NUMBER": {
|
||||
"PLACEHOLDER": "Anna yhteystiedon puhelinnumero",
|
||||
"LABEL": "Puhelinnumero",
|
||||
"HELP": "Phone number should be of E.164 format eg: +1415555555 [+][country code][area code][local phone number]. You can select the dial code from the dropdown.",
|
||||
"HELP": "Phone number should be of E.164 format eg: +1415555555 [+][country code][area code][local phone number]",
|
||||
"ERROR": "Phone number should be either empty or of E.164 format",
|
||||
"DIAL_CODE_ERROR": "Please select a dial code from the list",
|
||||
"DUPLICATE": "This phone number is in use for another contact."
|
||||
@@ -182,7 +182,7 @@
|
||||
"LABEL": "To"
|
||||
},
|
||||
"INBOX": {
|
||||
"LABEL": "Via Inbox",
|
||||
"LABEL": "Inbox",
|
||||
"PLACEHOLDER": "Choose source inbox",
|
||||
"ERROR": "Select an inbox"
|
||||
},
|
||||
|
||||
@@ -464,6 +464,7 @@
|
||||
"AUTO_ASSIGNMENT_SUB_TEXT": "Ota käyttöön tai poista käytöstä automaattinen keskusteluiden delegointi edustajille.",
|
||||
"HMAC_VERIFICATION": "User Identity Validation",
|
||||
"HMAC_DESCRIPTION": "In order to validate the user's identity, you can pass an `identifier_hash` for each user. You can generate a HMAC sha256 hash using the `identifier` with the key shown here.",
|
||||
"HMAC_LINK_TO_DOCS": "You can read more here.",
|
||||
"HMAC_MANDATORY_VERIFICATION": "Enforce User Identity Validation",
|
||||
"HMAC_MANDATORY_DESCRIPTION": "If enabled, requests missing the `identifier_hash` will be rejected.",
|
||||
"INBOX_IDENTIFIER": "Inbox Identifier",
|
||||
|
||||
@@ -3,16 +3,16 @@
|
||||
"TITLE": "Kirjaudu sisään Chatwootiin",
|
||||
"EMAIL": {
|
||||
"LABEL": "Sähköposti",
|
||||
"PLACEHOLDER": "example@companyname.com"
|
||||
"PLACEHOLDER": "Sähköposti, esim: someone@example.fi"
|
||||
},
|
||||
"PASSWORD": {
|
||||
"LABEL": "Salasana",
|
||||
"PLACEHOLDER": "Salasana"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Login successful",
|
||||
"ERROR_MESSAGE": "Could not connect to Woot server. Please try again.",
|
||||
"UNAUTH": "Username or password is incorrect. Please try again."
|
||||
"SUCCESS_MESSAGE": "Kirjautuminen Onnistui",
|
||||
"ERROR_MESSAGE": "Yhteyden muodostaminen Woot-palvelimelle ei onnistunut, yritä myöhemmin uudelleen",
|
||||
"UNAUTH": "Käyttäjätunnus / salasana virheellinen. Yritä uudelleen"
|
||||
},
|
||||
"OAUTH": {
|
||||
"GOOGLE_LOGIN": "Login with Google",
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Salasanan palautuslinkki on lähetetty sähköpostiisi.",
|
||||
"ERROR_MESSAGE": "Could not connect to Woot server. Please try again."
|
||||
"ERROR_MESSAGE": "Yhteyden muodostaminen Woot-palvelimelle ei onnistunut, yritä myöhemmin uudelleen"
|
||||
},
|
||||
"SUBMIT": "Lähetä"
|
||||
}
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
"EMPTY_STATE": "No %{item} found for query '%{query}'",
|
||||
"EMPTY_STATE_FULL": "No results found for query '%{query}'",
|
||||
"PLACEHOLDER_KEYBINDING": "/ to focus",
|
||||
"INPUT_PLACEHOLDER": "Type 3 or more characters to search",
|
||||
"EMPTY_STATE_DEFAULT": "Search by conversation id, email, phone number, messages for better search results. ",
|
||||
"INPUT_PLACEHOLDER": "Search messages, contacts or conversations",
|
||||
"EMPTY_STATE_DEFAULT": "Search by conversation id, email, phone number, messages for better search results.",
|
||||
"BOT_LABEL": "Botti",
|
||||
"READ_MORE": "Read more",
|
||||
"WROTE": "wrote:"
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Salasanan vaihtaminen onnistui.",
|
||||
"ERROR_MESSAGE": "Could not connect to Woot server. Please try again."
|
||||
"ERROR_MESSAGE": "Yhteyden muodostaminen Woot-palvelimelle ei onnistunut, yritä myöhemmin uudelleen"
|
||||
},
|
||||
"CAPTCHA": {
|
||||
"ERROR": "Verification expired. Please solve captcha again."
|
||||
|
||||
@@ -10,33 +10,33 @@
|
||||
},
|
||||
"COMPANY_NAME": {
|
||||
"LABEL": "Company name",
|
||||
"PLACEHOLDER": "Enter your company name. E.g., Wayne Enterprises",
|
||||
"ERROR": "Company name is too short."
|
||||
"PLACEHOLDER": "Enter your company name. eg: Wayne Enterprises",
|
||||
"ERROR": "Company name is too short"
|
||||
},
|
||||
"FULL_NAME": {
|
||||
"LABEL": "Koko nimi",
|
||||
"PLACEHOLDER": "Enter your full name. E.g., Bruce Wayne",
|
||||
"ERROR": "Koko nimi on liian lyhyt."
|
||||
"PLACEHOLDER": "Anna koko nimesi, esim: Bruce Wayne",
|
||||
"ERROR": "Koko nimi on liian lyhyt"
|
||||
},
|
||||
"EMAIL": {
|
||||
"LABEL": "Työsähköposti",
|
||||
"PLACEHOLDER": "Enter your work email address. E.g., bruce@wayne.enterprises",
|
||||
"ERROR": "Please enter a valid work email address."
|
||||
"PLACEHOLDER": "Anna työsi sähköpostiosoite, esim: bruce@wayne.enterprises",
|
||||
"ERROR": "Please enter a valid work email address"
|
||||
},
|
||||
"PASSWORD": {
|
||||
"LABEL": "Salasana",
|
||||
"PLACEHOLDER": "Salasana",
|
||||
"ERROR": "Salasana on liian lyhyt.",
|
||||
"IS_INVALID_PASSWORD": "Password should contain atleast 1 uppercase letter, 1 lowercase letter, 1 number and 1 special character."
|
||||
"ERROR": "Salasana on liian lyhyt",
|
||||
"IS_INVALID_PASSWORD": "Password should contain atleast 1 uppercase letter, 1 lowercase letter, 1 number and 1 special character"
|
||||
},
|
||||
"CONFIRM_PASSWORD": {
|
||||
"LABEL": "Confirm password",
|
||||
"PLACEHOLDER": "Confirm password",
|
||||
"ERROR": "Salasanat eivät täsmää."
|
||||
"LABEL": "Vahvista salasana",
|
||||
"PLACEHOLDER": "Vahvista salasana",
|
||||
"ERROR": "Salasanat eivät täsmää"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Rekisteröinti onnistui",
|
||||
"ERROR_MESSAGE": "Could not connect to Woot server. Please try again."
|
||||
"ERROR_MESSAGE": "Yhteyden muodostaminen Woot-palvelimelle ei onnistunut, yritä myöhemmin uudelleen"
|
||||
},
|
||||
"SUBMIT": "Create account",
|
||||
"HAVE_AN_ACCOUNT": "Onko sinulla jo tili?"
|
||||
|
||||
@@ -35,6 +35,20 @@
|
||||
"TEXT": "Tous"
|
||||
}
|
||||
},
|
||||
"VIEW_FILTER": "Voir",
|
||||
"SORT_TOOLTIP_LABEL": "Sort conversations",
|
||||
"CHAT_SORT": {
|
||||
"STATUS": "État",
|
||||
"ORDER_BY": "Order by"
|
||||
},
|
||||
"CHAT_SORT_FILTER_ITEMS": {
|
||||
"latest": {
|
||||
"TEXT": "Last activity"
|
||||
},
|
||||
"sort_on_created_at": {
|
||||
"TEXT": "Créé le"
|
||||
}
|
||||
},
|
||||
"ATTACHMENTS": {
|
||||
"image": {
|
||||
"CONTENT": "Message image"
|
||||
@@ -55,6 +69,24 @@
|
||||
"CONTENT": "a partagé une URL"
|
||||
}
|
||||
},
|
||||
"CHAT_SORT_BY_FILTER": {
|
||||
"TITLE": "Sort conversation",
|
||||
"DROPDOWN_TITLE": "Sort by",
|
||||
"ITEMS": {
|
||||
"LATEST": {
|
||||
"NAME": "Last activity at",
|
||||
"LABEL": "Last activity"
|
||||
},
|
||||
"CREATED_AT": {
|
||||
"NAME": "Créé le",
|
||||
"LABEL": "Créé le"
|
||||
},
|
||||
"LAST_USER_MESSAGE_AT": {
|
||||
"NAME": "Last user message at",
|
||||
"LABEL": "Last message"
|
||||
}
|
||||
}
|
||||
},
|
||||
"RECEIVED_VIA_EMAIL": "Reçu par courriel",
|
||||
"VIEW_TWEET_IN_TWITTER": "Voir le tweet sur Twitter",
|
||||
"REPLY_TO_TWEET": "Répondre à ce tweet",
|
||||
|
||||
@@ -464,6 +464,7 @@
|
||||
"AUTO_ASSIGNMENT_SUB_TEXT": "Activer ou désactiver l'affectation automatique de nouvelles conversations aux agents ajoutés à cette boîte de réception.",
|
||||
"HMAC_VERIFICATION": "Validation de l'identité de l'utilisateur",
|
||||
"HMAC_DESCRIPTION": "In order to validate the user's identity, you can pass an `identifier_hash` for each user. You can generate a HMAC sha256 hash using the `identifier` with the key shown here.",
|
||||
"HMAC_LINK_TO_DOCS": "You can read more here.",
|
||||
"HMAC_MANDATORY_VERIFICATION": "Forcer la validation de l'identité de l'utilisateur",
|
||||
"HMAC_MANDATORY_DESCRIPTION": "If enabled, requests missing the `identifier_hash` will be rejected.",
|
||||
"INBOX_IDENTIFIER": "Identificateur de la boîte de réception",
|
||||
|
||||
@@ -35,6 +35,20 @@
|
||||
"TEXT": "הכל"
|
||||
}
|
||||
},
|
||||
"VIEW_FILTER": "צפה",
|
||||
"SORT_TOOLTIP_LABEL": "Sort conversations",
|
||||
"CHAT_SORT": {
|
||||
"STATUS": "מצב",
|
||||
"ORDER_BY": "Order by"
|
||||
},
|
||||
"CHAT_SORT_FILTER_ITEMS": {
|
||||
"latest": {
|
||||
"TEXT": "Last activity"
|
||||
},
|
||||
"sort_on_created_at": {
|
||||
"TEXT": "נוצר בזמן"
|
||||
}
|
||||
},
|
||||
"ATTACHMENTS": {
|
||||
"image": {
|
||||
"CONTENT": "הודעת תמונה"
|
||||
@@ -55,6 +69,24 @@
|
||||
"CONTENT": "שיתף קישור"
|
||||
}
|
||||
},
|
||||
"CHAT_SORT_BY_FILTER": {
|
||||
"TITLE": "Sort conversation",
|
||||
"DROPDOWN_TITLE": "מיין לפי",
|
||||
"ITEMS": {
|
||||
"LATEST": {
|
||||
"NAME": "Last activity at",
|
||||
"LABEL": "Last activity"
|
||||
},
|
||||
"CREATED_AT": {
|
||||
"NAME": "נוצר בזמן",
|
||||
"LABEL": "נוצר בזמן"
|
||||
},
|
||||
"LAST_USER_MESSAGE_AT": {
|
||||
"NAME": "Last user message at",
|
||||
"LABEL": "Last message"
|
||||
}
|
||||
}
|
||||
},
|
||||
"RECEIVED_VIA_EMAIL": "התקבל בדואר אלקטרוני",
|
||||
"VIEW_TWEET_IN_TWITTER": "צפה בציוץ בטוויטר",
|
||||
"REPLY_TO_TWEET": "הגב לציוץ זה",
|
||||
|
||||
@@ -120,7 +120,7 @@
|
||||
"PHONE_NUMBER": {
|
||||
"PLACEHOLDER": "הזן את מספר הטלפון של איש הקשר",
|
||||
"LABEL": "מספר טלפון",
|
||||
"HELP": "Phone number should be of E.164 format eg: +1415555555 [+][country code][area code][local phone number]. You can select the dial code from the dropdown.",
|
||||
"HELP": "מספר הטלפון צריך להיות בפורמט E.164, למשל: +1415555555 [+][קוד מדינה][אזור חיוג][מספר טלפון מקומי]",
|
||||
"ERROR": "מספר הטלפון צריך להיות ריק או בפורמט E.164",
|
||||
"DIAL_CODE_ERROR": "Please select a dial code from the list",
|
||||
"DUPLICATE": "מספר טלפון זה נמצאת בשימוש עבור איש קשר אחר."
|
||||
@@ -182,7 +182,7 @@
|
||||
"LABEL": "אל"
|
||||
},
|
||||
"INBOX": {
|
||||
"LABEL": "Via Inbox",
|
||||
"LABEL": "תיבת הדואר הנכנס",
|
||||
"PLACEHOLDER": "Choose source inbox",
|
||||
"ERROR": "בחר תיבת דואר נכנס"
|
||||
},
|
||||
|
||||
@@ -463,9 +463,10 @@
|
||||
"INBOX_UPDATE_SUB_TEXT": "עדכן את הגדרות תיבת הדואר הנכנס שלך",
|
||||
"AUTO_ASSIGNMENT_SUB_TEXT": "אפשר או השבת את ההקצאה האוטומטית של שיחות חדשות לסוכנים שנוספו לתיבת הדואר הנכנס הזו.",
|
||||
"HMAC_VERIFICATION": "אימות זהות משתמש",
|
||||
"HMAC_DESCRIPTION": "על מנת לאמת את זהות המשתמש, אתה יכול להעביר `מזהה_hash` עבור כל משתמש. אתה יכול ליצור hash HMAC sha256 באמצעות `מזהה` עם המפתח המוצג כאן.",
|
||||
"HMAC_DESCRIPTION": "In order to validate the user's identity, you can pass an `identifier_hash` for each user. You can generate a HMAC sha256 hash using the `identifier` with the key shown here.",
|
||||
"HMAC_LINK_TO_DOCS": "You can read more here.",
|
||||
"HMAC_MANDATORY_VERIFICATION": "אכיפת אימות זהות משתמש",
|
||||
"HMAC_MANDATORY_DESCRIPTION": "אם מופעל, בקשות חסרות 'מזהה_hash' יידחו.",
|
||||
"HMAC_MANDATORY_DESCRIPTION": "If enabled, requests missing the `identifier_hash` will be rejected.",
|
||||
"INBOX_IDENTIFIER": "מזהה תיבת דואר נכנס",
|
||||
"INBOX_IDENTIFIER_SUB_TEXT": "השתמש ב-'inbox_identifier' המוצג כאן כדי לאמת את לקוחות ה-API שלך.",
|
||||
"FORWARD_EMAIL_TITLE": "העבר לדואר אלקטרוני",
|
||||
|
||||
@@ -3,16 +3,16 @@
|
||||
"TITLE": "התחבר ל Woot",
|
||||
"EMAIL": {
|
||||
"LABEL": "אימייל",
|
||||
"PLACEHOLDER": "example@companyname.com"
|
||||
"PLACEHOLDER": "מייל לדוגמא: someone@example.com"
|
||||
},
|
||||
"PASSWORD": {
|
||||
"LABEL": "סיסמה",
|
||||
"PLACEHOLDER": "סיסמה"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Login successful",
|
||||
"ERROR_MESSAGE": "Could not connect to Woot server. Please try again.",
|
||||
"UNAUTH": "Username or password is incorrect. Please try again."
|
||||
"SUCCESS_MESSAGE": "נכנסת בהצלחה",
|
||||
"ERROR_MESSAGE": "לא ניתן להתחבר לשרת Woot, נסה שוב מאוחר יותר",
|
||||
"UNAUTH": "שם משתמש / סיסמה שגויים. נסה שוב"
|
||||
},
|
||||
"OAUTH": {
|
||||
"GOOGLE_LOGIN": "התחבר עם גוגל",
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "הקישור לאיפוס הסיסמה נשלח לדוא\"ל שלך.",
|
||||
"ERROR_MESSAGE": "Could not connect to Woot server. Please try again."
|
||||
"ERROR_MESSAGE": "לא ניתן להתחבר לשרת Woot, נסה שוב מאוחר יותר"
|
||||
},
|
||||
"SUBMIT": "שלח"
|
||||
}
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
"EMPTY_STATE": "לא נמצא %{item} עבור השאילתה '%{query}'",
|
||||
"EMPTY_STATE_FULL": "לא נמצאו תוצאות עבור השאילתה '%{query}'",
|
||||
"PLACEHOLDER_KEYBINDING": "/ להתמקד",
|
||||
"INPUT_PLACEHOLDER": "Type 3 or more characters to search",
|
||||
"EMPTY_STATE_DEFAULT": "חפש לפי מזהה שיחה, אימייל, מספר טלפון, הודעות לתוצאות חיפוש טובות יותר. ",
|
||||
"INPUT_PLACEHOLDER": "חפש הודעות, אנשי קשר או שיחות",
|
||||
"EMPTY_STATE_DEFAULT": "חפש לפי מזהה שיחה, אימייל, מספר טלפון, הודעות לתוצאות חיפוש טובות יותר.",
|
||||
"BOT_LABEL": "בוט",
|
||||
"READ_MORE": "קרא עוד",
|
||||
"WROTE": "נכתב:"
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
{
|
||||
"SET_NEW_PASSWORD": {
|
||||
"TITLE": "Set new password",
|
||||
"TITLE": "הגדר סיסמה חדשה",
|
||||
"PASSWORD": {
|
||||
"LABEL": "סיסמה",
|
||||
"PLACEHOLDER": "סיסמה",
|
||||
"ERROR": "הסיסמה קצרה מדי."
|
||||
"ERROR": "הסיסמה קצרה מדי"
|
||||
},
|
||||
"CONFIRM_PASSWORD": {
|
||||
"LABEL": "Confirm password",
|
||||
"LABEL": "אמת סיסמה",
|
||||
"PLACEHOLDER": "אמת סיסמה",
|
||||
"ERROR": "סיסמאות לא תואמות."
|
||||
"ERROR": "סיסמאות לא תואמות"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "שינתה את הסיסמה בהצלחה.",
|
||||
"ERROR_MESSAGE": "Could not connect to Woot server. Please try again."
|
||||
"SUCCESS_MESSAGE": "שינתה את הסיסמה בהצלחה",
|
||||
"ERROR_MESSAGE": "לא ניתן להתחבר לשרת Woot, נסה שוב מאוחר יותר"
|
||||
},
|
||||
"CAPTCHA": {
|
||||
"ERROR": "פג תוקף האימות. נא לפתור שוב את ה-captcha."
|
||||
|
||||
@@ -10,33 +10,33 @@
|
||||
},
|
||||
"COMPANY_NAME": {
|
||||
"LABEL": "שם החברה",
|
||||
"PLACEHOLDER": "Enter your company name. E.g., Wayne Enterprises",
|
||||
"ERROR": "שם החברה קצר מדי."
|
||||
"PLACEHOLDER": "הזן את שם החברה שלך. למשל: Wayne Enterprises",
|
||||
"ERROR": "שם החברה קצר מדי"
|
||||
},
|
||||
"FULL_NAME": {
|
||||
"LABEL": "שם מלא",
|
||||
"PLACEHOLDER": "Enter your full name. E.g., Bruce Wayne",
|
||||
"ERROR": "השם המלא קצר מדי."
|
||||
"PLACEHOLDER": "הזן את שמך המלא. למשל: ברוס וויין",
|
||||
"ERROR": "השם המלא קצר מדי"
|
||||
},
|
||||
"EMAIL": {
|
||||
"LABEL": "מייל עבודה",
|
||||
"PLACEHOLDER": "Enter your work email address. E.g., bruce@wayne.enterprises",
|
||||
"ERROR": "אנא הזן כתובת דוא\"ל חוקית לעבודה."
|
||||
"PLACEHOLDER": "הזן את כתובת הדוא\"ל שלך בעבודה. למשל: bruce@wayne.enterprises",
|
||||
"ERROR": "אנא הזן כתובת דוא\"ל חוקית לעבודה"
|
||||
},
|
||||
"PASSWORD": {
|
||||
"LABEL": "סיסמה",
|
||||
"PLACEHOLDER": "סיסמה",
|
||||
"ERROR": "הסיסמה קצרה מדי.",
|
||||
"IS_INVALID_PASSWORD": "הסיסמה צריכה להכיל לפחות אות אחת גדולה, אות קטנה אחת, מספר אחד ותו מיוחד אחד."
|
||||
"ERROR": "הסיסמה קצרה מדי",
|
||||
"IS_INVALID_PASSWORD": "הסיסמה צריכה להכיל לפחות אות אחת גדולה, אות קטנה אחת, מספר אחד ותו מיוחד אחד"
|
||||
},
|
||||
"CONFIRM_PASSWORD": {
|
||||
"LABEL": "Confirm password",
|
||||
"PLACEHOLDER": "Confirm password",
|
||||
"ERROR": "סיסמה לא מתאימה."
|
||||
"LABEL": "אמת סיסמה",
|
||||
"PLACEHOLDER": "אמת סיסמה",
|
||||
"ERROR": "סיסמה לא מתאימה"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "ההרשמה הצליחה",
|
||||
"ERROR_MESSAGE": "Could not connect to Woot server. Please try again."
|
||||
"ERROR_MESSAGE": "לא ניתן להתחבר לשרת Woot, נסה שוב מאוחר יותר"
|
||||
},
|
||||
"SUBMIT": "צור חשבון",
|
||||
"HAVE_AN_ACCOUNT": "כבר יש לך חשבון?"
|
||||
|
||||
@@ -35,6 +35,20 @@
|
||||
"TEXT": "All"
|
||||
}
|
||||
},
|
||||
"VIEW_FILTER": "View",
|
||||
"SORT_TOOLTIP_LABEL": "Sort conversations",
|
||||
"CHAT_SORT": {
|
||||
"STATUS": "Status",
|
||||
"ORDER_BY": "Order by"
|
||||
},
|
||||
"CHAT_SORT_FILTER_ITEMS": {
|
||||
"latest": {
|
||||
"TEXT": "Last activity"
|
||||
},
|
||||
"sort_on_created_at": {
|
||||
"TEXT": "Created at"
|
||||
}
|
||||
},
|
||||
"ATTACHMENTS": {
|
||||
"image": {
|
||||
"CONTENT": "Picture message"
|
||||
@@ -55,6 +69,24 @@
|
||||
"CONTENT": "has shared a url"
|
||||
}
|
||||
},
|
||||
"CHAT_SORT_BY_FILTER": {
|
||||
"TITLE": "Sort conversation",
|
||||
"DROPDOWN_TITLE": "Sort by",
|
||||
"ITEMS": {
|
||||
"LATEST": {
|
||||
"NAME": "Last activity at",
|
||||
"LABEL": "Last activity"
|
||||
},
|
||||
"CREATED_AT": {
|
||||
"NAME": "Created at",
|
||||
"LABEL": "Created at"
|
||||
},
|
||||
"LAST_USER_MESSAGE_AT": {
|
||||
"NAME": "Last user message at",
|
||||
"LABEL": "Last message"
|
||||
}
|
||||
}
|
||||
},
|
||||
"RECEIVED_VIA_EMAIL": "Received via email",
|
||||
"VIEW_TWEET_IN_TWITTER": "View tweet in Twitter",
|
||||
"REPLY_TO_TWEET": "Reply to this tweet",
|
||||
|
||||
@@ -120,7 +120,7 @@
|
||||
"PHONE_NUMBER": {
|
||||
"PLACEHOLDER": "Enter the phone number of the contact",
|
||||
"LABEL": "Phone Number",
|
||||
"HELP": "Phone number should be of E.164 format eg: +1415555555 [+][country code][area code][local phone number]. You can select the dial code from the dropdown.",
|
||||
"HELP": "Phone number should be of E.164 format eg: +1415555555 [+][country code][area code][local phone number]",
|
||||
"ERROR": "Phone number should be either empty or of E.164 format",
|
||||
"DIAL_CODE_ERROR": "Please select a dial code from the list",
|
||||
"DUPLICATE": "This phone number is in use for another contact."
|
||||
@@ -182,7 +182,7 @@
|
||||
"LABEL": "To"
|
||||
},
|
||||
"INBOX": {
|
||||
"LABEL": "Via Inbox",
|
||||
"LABEL": "Inbox",
|
||||
"PLACEHOLDER": "Choose source inbox",
|
||||
"ERROR": "Select an inbox"
|
||||
},
|
||||
|
||||
@@ -464,6 +464,7 @@
|
||||
"AUTO_ASSIGNMENT_SUB_TEXT": "Enable or disable the automatic assignment of new conversations to the agents added to this inbox.",
|
||||
"HMAC_VERIFICATION": "User Identity Validation",
|
||||
"HMAC_DESCRIPTION": "In order to validate the user's identity, you can pass an `identifier_hash` for each user. You can generate a HMAC sha256 hash using the `identifier` with the key shown here.",
|
||||
"HMAC_LINK_TO_DOCS": "You can read more here.",
|
||||
"HMAC_MANDATORY_VERIFICATION": "Enforce User Identity Validation",
|
||||
"HMAC_MANDATORY_DESCRIPTION": "If enabled, requests missing the `identifier_hash` will be rejected.",
|
||||
"INBOX_IDENTIFIER": "Inbox Identifier",
|
||||
|
||||
@@ -3,16 +3,16 @@
|
||||
"TITLE": "Login to Chatwoot",
|
||||
"EMAIL": {
|
||||
"LABEL": "Email",
|
||||
"PLACEHOLDER": "example@companyname.com"
|
||||
"PLACEHOLDER": "Email eg: someone@example.com"
|
||||
},
|
||||
"PASSWORD": {
|
||||
"LABEL": "Password",
|
||||
"PLACEHOLDER": "Password"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Login successful",
|
||||
"ERROR_MESSAGE": "Could not connect to Woot server. Please try again.",
|
||||
"UNAUTH": "Username or password is incorrect. Please try again."
|
||||
"SUCCESS_MESSAGE": "Login Successful",
|
||||
"ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later",
|
||||
"UNAUTH": "Username / Password Incorrect. Please try again"
|
||||
},
|
||||
"OAUTH": {
|
||||
"GOOGLE_LOGIN": "Login with Google",
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Password reset link has been sent to your email.",
|
||||
"ERROR_MESSAGE": "Could not connect to Woot server. Please try again."
|
||||
"ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later"
|
||||
},
|
||||
"SUBMIT": "Submit"
|
||||
}
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
"EMPTY_STATE": "No %{item} found for query '%{query}'",
|
||||
"EMPTY_STATE_FULL": "No results found for query '%{query}'",
|
||||
"PLACEHOLDER_KEYBINDING": "/ to focus",
|
||||
"INPUT_PLACEHOLDER": "Type 3 or more characters to search",
|
||||
"EMPTY_STATE_DEFAULT": "Search by conversation id, email, phone number, messages for better search results. ",
|
||||
"INPUT_PLACEHOLDER": "Search messages, contacts or conversations",
|
||||
"EMPTY_STATE_DEFAULT": "Search by conversation id, email, phone number, messages for better search results.",
|
||||
"BOT_LABEL": "Bot",
|
||||
"READ_MORE": "Read more",
|
||||
"WROTE": "wrote:"
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Successfully changed the password.",
|
||||
"ERROR_MESSAGE": "Could not connect to Woot server. Please try again."
|
||||
"ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later"
|
||||
},
|
||||
"CAPTCHA": {
|
||||
"ERROR": "Verification expired. Please solve captcha again."
|
||||
|
||||
@@ -10,33 +10,33 @@
|
||||
},
|
||||
"COMPANY_NAME": {
|
||||
"LABEL": "Company name",
|
||||
"PLACEHOLDER": "Enter your company name. E.g., Wayne Enterprises",
|
||||
"ERROR": "Company name is too short."
|
||||
"PLACEHOLDER": "Enter your company name. eg: Wayne Enterprises",
|
||||
"ERROR": "Company name is too short"
|
||||
},
|
||||
"FULL_NAME": {
|
||||
"LABEL": "Full name",
|
||||
"PLACEHOLDER": "Enter your full name. E.g., Bruce Wayne",
|
||||
"ERROR": "Full name is too short."
|
||||
"PLACEHOLDER": "Enter your full name. eg: Bruce Wayne",
|
||||
"ERROR": "Full name is too short"
|
||||
},
|
||||
"EMAIL": {
|
||||
"LABEL": "Work email",
|
||||
"PLACEHOLDER": "Enter your work email address. E.g., bruce@wayne.enterprises",
|
||||
"ERROR": "Please enter a valid work email address."
|
||||
"PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises",
|
||||
"ERROR": "Please enter a valid work email address"
|
||||
},
|
||||
"PASSWORD": {
|
||||
"LABEL": "Password",
|
||||
"PLACEHOLDER": "Password",
|
||||
"ERROR": "Password is too short.",
|
||||
"IS_INVALID_PASSWORD": "Password should contain atleast 1 uppercase letter, 1 lowercase letter, 1 number and 1 special character."
|
||||
"ERROR": "Password is too short",
|
||||
"IS_INVALID_PASSWORD": "Password should contain atleast 1 uppercase letter, 1 lowercase letter, 1 number and 1 special character"
|
||||
},
|
||||
"CONFIRM_PASSWORD": {
|
||||
"LABEL": "Confirm password",
|
||||
"PLACEHOLDER": "Confirm password",
|
||||
"ERROR": "Password doesnot match."
|
||||
"LABEL": "Confirm Password",
|
||||
"PLACEHOLDER": "Confirm Password",
|
||||
"ERROR": "Password doesnot match"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Registration Successfull",
|
||||
"ERROR_MESSAGE": "Could not connect to Woot server. Please try again."
|
||||
"ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later"
|
||||
},
|
||||
"SUBMIT": "Create account",
|
||||
"HAVE_AN_ACCOUNT": "Already have an account?"
|
||||
|
||||
@@ -35,6 +35,20 @@
|
||||
"TEXT": "All"
|
||||
}
|
||||
},
|
||||
"VIEW_FILTER": "View",
|
||||
"SORT_TOOLTIP_LABEL": "Sort conversations",
|
||||
"CHAT_SORT": {
|
||||
"STATUS": "Status",
|
||||
"ORDER_BY": "Order by"
|
||||
},
|
||||
"CHAT_SORT_FILTER_ITEMS": {
|
||||
"latest": {
|
||||
"TEXT": "Last activity"
|
||||
},
|
||||
"sort_on_created_at": {
|
||||
"TEXT": "Created at"
|
||||
}
|
||||
},
|
||||
"ATTACHMENTS": {
|
||||
"image": {
|
||||
"CONTENT": "Picture message"
|
||||
@@ -55,6 +69,24 @@
|
||||
"CONTENT": "has shared a url"
|
||||
}
|
||||
},
|
||||
"CHAT_SORT_BY_FILTER": {
|
||||
"TITLE": "Sort conversation",
|
||||
"DROPDOWN_TITLE": "Sort by",
|
||||
"ITEMS": {
|
||||
"LATEST": {
|
||||
"NAME": "Last activity at",
|
||||
"LABEL": "Last activity"
|
||||
},
|
||||
"CREATED_AT": {
|
||||
"NAME": "Created at",
|
||||
"LABEL": "Created at"
|
||||
},
|
||||
"LAST_USER_MESSAGE_AT": {
|
||||
"NAME": "Last user message at",
|
||||
"LABEL": "Last message"
|
||||
}
|
||||
}
|
||||
},
|
||||
"RECEIVED_VIA_EMAIL": "Received via email",
|
||||
"VIEW_TWEET_IN_TWITTER": "View tweet in Twitter",
|
||||
"REPLY_TO_TWEET": "Reply to this tweet",
|
||||
|
||||
@@ -120,7 +120,7 @@
|
||||
"PHONE_NUMBER": {
|
||||
"PLACEHOLDER": "Enter the phone number of the contact",
|
||||
"LABEL": "Phone Number",
|
||||
"HELP": "Phone number should be of E.164 format eg: +1415555555 [+][country code][area code][local phone number]. You can select the dial code from the dropdown.",
|
||||
"HELP": "Phone number should be of E.164 format eg: +1415555555 [+][country code][area code][local phone number]",
|
||||
"ERROR": "Phone number should be either empty or of E.164 format",
|
||||
"DIAL_CODE_ERROR": "Please select a dial code from the list",
|
||||
"DUPLICATE": "This phone number is in use for another contact."
|
||||
@@ -182,7 +182,7 @@
|
||||
"LABEL": "To"
|
||||
},
|
||||
"INBOX": {
|
||||
"LABEL": "Kroz Inbox",
|
||||
"LABEL": "Inbox",
|
||||
"PLACEHOLDER": "Izaberi izvorišni inbox",
|
||||
"ERROR": "Select an inbox"
|
||||
},
|
||||
|
||||
@@ -464,6 +464,7 @@
|
||||
"AUTO_ASSIGNMENT_SUB_TEXT": "Enable or disable the automatic assignment of new conversations to the agents added to this inbox.",
|
||||
"HMAC_VERIFICATION": "User Identity Validation",
|
||||
"HMAC_DESCRIPTION": "In order to validate the user's identity, you can pass an `identifier_hash` for each user. You can generate a HMAC sha256 hash using the `identifier` with the key shown here.",
|
||||
"HMAC_LINK_TO_DOCS": "Ovdje možete pročitati više.",
|
||||
"HMAC_MANDATORY_VERIFICATION": "Enforce User Identity Validation",
|
||||
"HMAC_MANDATORY_DESCRIPTION": "If enabled, requests missing the `identifier_hash` will be rejected.",
|
||||
"INBOX_IDENTIFIER": "Inbox Identifier",
|
||||
|
||||
@@ -3,16 +3,16 @@
|
||||
"TITLE": "Login to Chatwoot",
|
||||
"EMAIL": {
|
||||
"LABEL": "Email",
|
||||
"PLACEHOLDER": "primjer@imetvrtke.com"
|
||||
"PLACEHOLDER": "Email eg: someone@example.com"
|
||||
},
|
||||
"PASSWORD": {
|
||||
"LABEL": "Password",
|
||||
"PLACEHOLDER": "Password"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Prijava uspješna",
|
||||
"ERROR_MESSAGE": "Nije uspjelo spajanje na Woot server. Molimo pokušajte ponovno.",
|
||||
"UNAUTH": "Korisničko ime ili lozinka je pogrešno. Molimo, pokušajte ponovno."
|
||||
"SUCCESS_MESSAGE": "Login Successful",
|
||||
"ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later",
|
||||
"UNAUTH": "Username / Password Incorrect. Please try again"
|
||||
},
|
||||
"OAUTH": {
|
||||
"GOOGLE_LOGIN": "Login with Google",
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"RESET_PASSWORD": {
|
||||
"TITLE": "Reset lozinke",
|
||||
"TITLE": "Reset Password",
|
||||
"EMAIL": {
|
||||
"LABEL": "Email",
|
||||
"PLACEHOLDER": "Molimo, unesite e-mail.",
|
||||
"ERROR": "Molimo, unesite validan e-mail."
|
||||
"PLACEHOLDER": "Please enter your email",
|
||||
"ERROR": "Please enter a valid email"
|
||||
},
|
||||
"API": {
|
||||
"SUCCESS_MESSAGE": "Link za reset lozinke je poslan na zadani e-mail.",
|
||||
"ERROR_MESSAGE": "Nije uspjelo spajanje na Woot server. Molimo pokušajte ponovno."
|
||||
"SUCCESS_MESSAGE": "Password reset link has been sent to your email",
|
||||
"ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later"
|
||||
},
|
||||
"SUBMIT": "Submit"
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user