diff --git a/.codeclimate.yml b/.codeclimate.yml index 50d5360fd5c9..667b0f3401b5 100644 --- a/.codeclimate.yml +++ b/.codeclimate.yml @@ -17,7 +17,11 @@ checks: method-count: enabled: true config: - threshold: 25 + threshold: 30 + file-lines: + enabled: true + config: + threshold: 300 exclude_patterns: - "spec/" - "**/specs/" diff --git a/.rubocop.yml b/.rubocop.yml index 76ef5fcfcc74..b1c69ec70510 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -14,6 +14,7 @@ Metrics/ClassLength: - 'app/mailers/conversation_reply_mailer.rb' - 'app/models/message.rb' - 'app/builders/messages/facebook/message_builder.rb' + - 'app/controllers/api/v1/accounts/contacts_controller.rb' RSpec/ExampleLength: Max: 25 Style/Documentation: diff --git a/Gemfile b/Gemfile index bbd55d4cd0c4..bca6463d5fc2 100644 --- a/Gemfile +++ b/Gemfile @@ -144,6 +144,8 @@ group :test do gem 'cypress-on-rails', '~> 1.0' # fast cleaning of database gem 'database_cleaner' + # mock http calls + gem 'webmock' end group :development, :test do @@ -155,6 +157,7 @@ group :development, :test do gem 'active_record_query_trace' gem 'bundle-audit', require: false gem 'byebug', platform: :mri + gem 'climate_control' gem 'factory_bot_rails' gem 'faker' gem 'listen' @@ -170,5 +173,4 @@ group :development, :test do gem 'simplecov', '0.17.1', require: false gem 'spring' gem 'spring-watcher-listen' - gem 'webmock' end diff --git a/Gemfile.lock b/Gemfile.lock index 472605559dd1..b319c9103ce8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -133,6 +133,7 @@ GEM bundler (>= 1.2.0, < 3) thor (~> 1.0) byebug (11.1.3) + climate_control (1.0.1) coderay (1.1.3) commonmarker (0.23.2) concurrent-ruby (1.1.9) @@ -657,6 +658,7 @@ DEPENDENCIES bullet bundle-audit byebug + climate_control commonmarker cypress-on-rails (~> 1.0) database_cleaner diff --git a/app/builders/messages/instagram/message_builder.rb b/app/builders/messages/instagram/message_builder.rb index 18c82d813e7e..69475fb16a0c 100644 --- a/app/builders/messages/instagram/message_builder.rb +++ b/app/builders/messages/instagram/message_builder.rb @@ -38,6 +38,10 @@ def message_type @outgoing_echo ? :outgoing : :incoming end + def message_identifier + message[:mid] + end + def message_source_id @outgoing_echo ? recipient_id : sender_id end @@ -66,10 +70,6 @@ def message_content @messaging[:message][:text] end - def content_attributes - { message_id: @messaging[:message][:mid] } - end - def build_message return if @outgoing_echo && already_sent_from_chatwoot? @@ -103,22 +103,17 @@ def message_params account_id: conversation.account_id, inbox_id: conversation.inbox_id, message_type: message_type, - source_id: message_source_id, + source_id: message_identifier, content: message_content, - content_attributes: content_attributes, sender: @outgoing_echo ? nil : contact } end def already_sent_from_chatwoot? cw_message = conversation.messages.where( - source_id: nil, - message_type: 'outgoing', - content: message_content, - private: false, - status: :sent + source_id: @messaging[:message][:mid] ).first - cw_message.update(content_attributes: content_attributes) if cw_message.present? + cw_message.present? end diff --git a/app/controllers/api/v1/accounts/contacts/base_controller.rb b/app/controllers/api/v1/accounts/contacts/base_controller.rb new file mode 100644 index 000000000000..15f73ab59507 --- /dev/null +++ b/app/controllers/api/v1/accounts/contacts/base_controller.rb @@ -0,0 +1,9 @@ +class Api::V1::Accounts::Contacts::BaseController < Api::V1::Accounts::BaseController + before_action :ensure_contact + + private + + def ensure_contact + @contact = Current.account.contacts.find(params[:contact_id]) + end +end diff --git a/app/controllers/api/v1/accounts/contacts/contact_inboxes_controller.rb b/app/controllers/api/v1/accounts/contacts/contact_inboxes_controller.rb index fa5b271bf5a0..fdcdcaf9e073 100644 --- a/app/controllers/api/v1/accounts/contacts/contact_inboxes_controller.rb +++ b/app/controllers/api/v1/accounts/contacts/contact_inboxes_controller.rb @@ -1,5 +1,4 @@ -class Api::V1::Accounts::Contacts::ContactInboxesController < Api::V1::Accounts::BaseController - before_action :ensure_contact +class Api::V1::Accounts::Contacts::ContactInboxesController < Api::V1::Accounts::Contacts::BaseController before_action :ensure_inbox, only: [:create] def create @@ -13,8 +12,4 @@ def ensure_inbox @inbox = Current.account.inboxes.find(params[:inbox_id]) authorize @inbox, :show? end - - def ensure_contact - @contact = Current.account.contacts.find(params[:contact_id]) - end end diff --git a/app/controllers/api/v1/accounts/contacts/conversations_controller.rb b/app/controllers/api/v1/accounts/contacts/conversations_controller.rb index 4ccc1472978d..cadfe133f9ca 100644 --- a/app/controllers/api/v1/accounts/contacts/conversations_controller.rb +++ b/app/controllers/api/v1/accounts/contacts/conversations_controller.rb @@ -1,8 +1,8 @@ -class Api::V1::Accounts::Contacts::ConversationsController < Api::V1::Accounts::BaseController +class Api::V1::Accounts::Contacts::ConversationsController < Api::V1::Accounts::Contacts::BaseController def index @conversations = Current.account.conversations.includes( :assignee, :contact, :inbox, :taggings - ).where(inbox_id: inbox_ids, contact_id: permitted_params[:contact_id]) + ).where(inbox_id: inbox_ids, contact_id: @contact.id) end private @@ -14,8 +14,4 @@ def inbox_ids [] end end - - def permitted_params - params.permit(:contact_id) - end end diff --git a/app/controllers/api/v1/accounts/contacts/labels_controller.rb b/app/controllers/api/v1/accounts/contacts/labels_controller.rb index 440c378f7093..228a197f81a1 100644 --- a/app/controllers/api/v1/accounts/contacts/labels_controller.rb +++ b/app/controllers/api/v1/accounts/contacts/labels_controller.rb @@ -1,13 +1,13 @@ -class Api::V1::Accounts::Contacts::LabelsController < Api::V1::Accounts::BaseController +class Api::V1::Accounts::Contacts::LabelsController < Api::V1::Accounts::Contacts::BaseController include LabelConcern private def model - @model ||= Current.account.contacts.find(permitted_params[:contact_id]) + @model ||= @contact end def permitted_params - params.permit(:contact_id, labels: []) + params.permit(labels: []) end end diff --git a/app/controllers/api/v1/accounts/contacts/notes_controller.rb b/app/controllers/api/v1/accounts/contacts/notes_controller.rb new file mode 100644 index 000000000000..fb9f3c5c3657 --- /dev/null +++ b/app/controllers/api/v1/accounts/contacts/notes_controller.rb @@ -0,0 +1,32 @@ +class Api::V1::Accounts::Contacts::NotesController < Api::V1::Accounts::Contacts::BaseController + before_action :note, except: [:index, :create] + + def index + @notes = @contact.notes.latest.includes(:user) + end + + def create + @note = @contact.notes.create!(note_params) + end + + def destroy + @note.destroy + head :ok + end + + def show; end + + def update + @note.update(note_params) + end + + private + + def note + @note ||= @contact.notes.find(params[:id]) + end + + def note_params + params.require(:note).permit(:content).merge({ contact_id: @contact.id, user_id: Current.user.id }) + end +end diff --git a/app/controllers/api/v1/accounts/contacts_controller.rb b/app/controllers/api/v1/accounts/contacts_controller.rb index 561b224c30fb..e22341d90200 100644 --- a/app/controllers/api/v1/accounts/contacts_controller.rb +++ b/app/controllers/api/v1/accounts/contacts_controller.rb @@ -1,16 +1,18 @@ class Api::V1::Accounts::ContactsController < Api::V1::Accounts::BaseController include Sift - sort_on :email, type: :string - sort_on :name, type: :string + sort_on :name, internal_name: :order_on_name, type: :scope, scope_params: [:direction] sort_on :phone_number, type: :string - sort_on :last_activity_at, type: :datetime + sort_on :last_activity_at, internal_name: :order_on_last_activity_at, type: :scope, scope_params: [:direction] + sort_on :company, internal_name: :order_on_company_name, type: :scope, scope_params: [:direction] + sort_on :city, internal_name: :order_on_city, type: :scope, scope_params: [:direction] + sort_on :country, internal_name: :order_on_country_name, type: :scope, scope_params: [:direction] RESULTS_PER_PAGE = 15 before_action :check_authorization before_action :set_current_page, only: [:index, :active, :search] - before_action :fetch_contact, only: [:show, :update, :destroy, :contactable_inboxes] + before_action :fetch_contact, only: [:show, :update, :destroy, :contactable_inboxes, :destroy_custom_attributes] before_action :set_include_contact_inboxes, only: [:index, :search] def index @@ -50,11 +52,24 @@ def active def show; end + def filter + result = ::Contacts::FilterService.new(params.permit!, current_user).perform + contacts = result[:contacts] + @contacts_count = result[:count] + @contacts = fetch_contacts_with_conversation_count(contacts) + end + def contactable_inboxes @all_contactable_inboxes = Contacts::ContactableInboxesService.new(contact: @contact).get @contactable_inboxes = @all_contactable_inboxes.select { |contactable_inbox| policy(contactable_inbox[:inbox]).show? } end + # TODO : refactor this method into dedicated contacts/custom_attributes controller class and routes + def destroy_custom_attributes + @contact.custom_attributes = @contact.custom_attributes.excluding(params[:custom_attributes]) + @contact.save! + end + def create ActiveRecord::Base.transaction do @contact = Current.account.contacts.new(contact_params) @@ -91,10 +106,8 @@ def destroy def resolved_contacts return @resolved_contacts if @resolved_contacts - @resolved_contacts = Current.account.contacts - .where.not(email: [nil, '']) - .or(Current.account.contacts.where.not(phone_number: [nil, ''])) - .or(Current.account.contacts.where.not(identifier: [nil, ''])) + @resolved_contacts = Current.account.contacts.resolved_contacts + @resolved_contacts = @resolved_contacts.tagged_with(params[:labels], any: true) if params[:labels].present? @resolved_contacts end diff --git a/app/controllers/api/v1/accounts/conversations_controller.rb b/app/controllers/api/v1/accounts/conversations_controller.rb index 89d48e544a1d..2d91e1cbd65d 100644 --- a/app/controllers/api/v1/accounts/conversations_controller.rb +++ b/app/controllers/api/v1/accounts/conversations_controller.rb @@ -2,7 +2,7 @@ class Api::V1::Accounts::ConversationsController < Api::V1::Accounts::BaseContro include Events::Types include DateRangeHelper - before_action :conversation, except: [:index, :meta, :search, :create] + before_action :conversation, except: [:index, :meta, :search, :create, :filter] before_action :contact_inbox, only: [:create] def index @@ -31,6 +31,12 @@ def create def show; end + def filter + result = ::Conversations::FilterService.new(params.permit!, current_user).perform + @conversations = result[:conversations] + @conversations_count = result[:count] + end + def mute @conversation.mute! head :ok @@ -60,9 +66,9 @@ def toggle_status def toggle_typing_status case params[:typing_status] when 'on' - trigger_typing_event(CONVERSATION_TYPING_ON) + trigger_typing_event(CONVERSATION_TYPING_ON, params[:is_private]) when 'off' - trigger_typing_event(CONVERSATION_TYPING_OFF) + trigger_typing_event(CONVERSATION_TYPING_OFF, params[:is_private]) end head :ok end @@ -86,9 +92,9 @@ def set_conversation_status @conversation.snoozed_until = parse_date_time(params[:snoozed_until].to_s) if params[:snoozed_until] end - def trigger_typing_event(event) + def trigger_typing_event(event, is_private) user = current_user.presence || @resource - Rails.configuration.dispatcher.dispatch(event, Time.zone.now, conversation: @conversation, user: user) + Rails.configuration.dispatcher.dispatch(event, Time.zone.now, conversation: @conversation, user: user, is_private: is_private) end def conversation diff --git a/app/controllers/api/v1/accounts/custom_attribute_definitions_controller.rb b/app/controllers/api/v1/accounts/custom_attribute_definitions_controller.rb index e02c090db5cb..13cba46eac4e 100644 --- a/app/controllers/api/v1/accounts/custom_attribute_definitions_controller.rb +++ b/app/controllers/api/v1/accounts/custom_attribute_definitions_controller.rb @@ -25,9 +25,7 @@ def destroy private def fetch_custom_attributes_definitions - @custom_attribute_definitions = Current.account.custom_attribute_definitions.where( - attribute_model: permitted_params[:attribute_model] || DEFAULT_ATTRIBUTE_MODEL - ) + @custom_attribute_definitions = Current.account.custom_attribute_definitions.with_attribute_model(permitted_params[:attribute_model]) end def fetch_custom_attribute_definition diff --git a/app/controllers/api/v1/accounts/inboxes_controller.rb b/app/controllers/api/v1/accounts/inboxes_controller.rb index 3f8686499f95..d09565da3e05 100644 --- a/app/controllers/api/v1/accounts/inboxes_controller.rb +++ b/app/controllers/api/v1/accounts/inboxes_controller.rb @@ -43,7 +43,11 @@ def update @inbox.update_working_hours(params.permit(working_hours: Inbox::OFFISABLE_ATTRS)[:working_hours]) if params[:working_hours] channel_attributes = get_channel_attributes(@inbox.channel_type) - @inbox.channel.update!(permitted_params(channel_attributes)[:channel]) if permitted_params(channel_attributes)[:channel].present? + + # Inbox update doesn't necessarily need channel attributes + return if permitted_params(channel_attributes)[:channel].blank? + + @inbox.channel.update!(permitted_params(channel_attributes)[:channel]) update_channel_feature_flags end diff --git a/app/controllers/api/v1/accounts_controller.rb b/app/controllers/api/v1/accounts_controller.rb index 0cfc124451a2..a98da15daded 100644 --- a/app/controllers/api/v1/accounts_controller.rb +++ b/app/controllers/api/v1/accounts_controller.rb @@ -55,7 +55,7 @@ def account_params end def check_signup_enabled - raise ActionController::RoutingError, 'Not Found' if ENV.fetch('ENABLE_ACCOUNT_SIGNUP', true) == 'false' + raise ActionController::RoutingError, 'Not Found' if GlobalConfig.get_value('ENABLE_ACCOUNT_SIGNUP') == 'false' end def pundit_user diff --git a/app/controllers/api/v1/widget/contacts_controller.rb b/app/controllers/api/v1/widget/contacts_controller.rb index 8bc5cfd0bf4a..eafc220a3e11 100644 --- a/app/controllers/api/v1/widget/contacts_controller.rb +++ b/app/controllers/api/v1/widget/contacts_controller.rb @@ -11,11 +11,19 @@ def update render json: contact_identify_action.perform end + # TODO : clean up this with proper routes delete contacts/custom_attributes + def destroy_custom_attributes + @contact.custom_attributes = @contact.custom_attributes.excluding(params[:custom_attributes]) + @contact.save! + render json: @contact + end + private def process_hmac - return if params[:identifier_hash].blank? - raise StandardError, 'HMAC failed: Invalid Identifier Hash Provided' unless valid_hmac? + return if params[:identifier_hash].blank? && !@web_widget.hmac_mandatory + + render json: { error: 'HMAC failed: Invalid Identifier Hash Provided' }, status: :unauthorized unless valid_hmac? @contact_inbox.update(hmac_verified: true) end diff --git a/app/controllers/dashboard_controller.rb b/app/controllers/dashboard_controller.rb index d00aafc1870e..ad5b0ba248b7 100644 --- a/app/controllers/dashboard_controller.rb +++ b/app/controllers/dashboard_controller.rb @@ -27,7 +27,9 @@ def set_global_config 'ANALYTICS_TOKEN', 'ANALYTICS_HOST' ).merge( - APP_VERSION: Chatwoot.config[:version] + APP_VERSION: Chatwoot.config[:version], + VAPID_PUBLIC_KEY: VapidService.public_key, + ENABLE_ACCOUNT_SIGNUP: GlobalConfigService.load('ENABLE_ACCOUNT_SIGNUP', 'false') ) end diff --git a/app/javascript/dashboard/api/attributes.js b/app/javascript/dashboard/api/attributes.js index 56eb5da766ad..3552bb909290 100644 --- a/app/javascript/dashboard/api/attributes.js +++ b/app/javascript/dashboard/api/attributes.js @@ -6,8 +6,8 @@ class AttributeAPI extends ApiClient { super('custom_attribute_definitions', { accountScoped: true }); } - getAttributesByModel(modelId) { - return axios.get(`${this.url}?attribute_model=${modelId}`); + getAttributesByModel() { + return axios.get(this.url); } } diff --git a/app/javascript/dashboard/api/contactNotes.js b/app/javascript/dashboard/api/contactNotes.js index 9508ea9dcba6..5be33784a935 100644 --- a/app/javascript/dashboard/api/contactNotes.js +++ b/app/javascript/dashboard/api/contactNotes.js @@ -2,7 +2,27 @@ import ApiClient from './ApiClient'; class ContactNotes extends ApiClient { constructor() { - super('contact_notes', { accountScoped: true }); + super('notes', { accountScoped: true }); + this.contactId = null; + } + + get url() { + return `${this.baseUrl()}/contacts/${this.contactId}/notes`; + } + + get(contactId) { + this.contactId = contactId; + return super.get(); + } + + create(contactId, content) { + this.contactId = contactId; + return super.create({ content }); + } + + delete(contactId, id) { + this.contactId = contactId; + return super.delete(id); } } diff --git a/app/javascript/dashboard/api/contacts.js b/app/javascript/dashboard/api/contacts.js index a6415cb37dc4..08c969248793 100644 --- a/app/javascript/dashboard/api/contacts.js +++ b/app/javascript/dashboard/api/contacts.js @@ -60,6 +60,12 @@ class ContactAPI extends ApiClient { headers: { 'Content-Type': 'multipart/form-data' }, }); } + + destroyCustomAttributes(contactId, customAttributes) { + return axios.post(`${this.url}/${contactId}/destroy_custom_attributes`, { + custom_attributes: customAttributes, + }); + } } export default new ContactAPI(); diff --git a/app/javascript/dashboard/api/inbox/conversation.js b/app/javascript/dashboard/api/inbox/conversation.js index d5599ade0c82..0c90f3fd4e81 100644 --- a/app/javascript/dashboard/api/inbox/conversation.js +++ b/app/javascript/dashboard/api/inbox/conversation.js @@ -51,9 +51,10 @@ class ConversationApi extends ApiClient { return axios.post(`${this.url}/${id}/update_last_seen`); } - toggleTyping({ conversationId, status }) { + toggleTyping({ conversationId, status, isPrivate }) { return axios.post(`${this.url}/${conversationId}/toggle_typing_status`, { typing_status: status, + is_private: isPrivate }); } @@ -80,6 +81,12 @@ class ConversationApi extends ApiClient { sendEmailTranscript({ conversationId, email }) { return axios.post(`${this.url}/${conversationId}/transcript`, { email }); } + + updateCustomAttributes({ conversationId, customAttributes }) { + return axios.post(`${this.url}/${conversationId}/custom_attributes`, { + custom_attributes: customAttributes, + }); + } } export default new ConversationApi(); diff --git a/app/javascript/dashboard/api/inbox/message.js b/app/javascript/dashboard/api/inbox/message.js index 39bb5eb044d1..bfea9a2b93fc 100644 --- a/app/javascript/dashboard/api/inbox/message.js +++ b/app/javascript/dashboard/api/inbox/message.js @@ -8,8 +8,8 @@ export const buildCreatePayload = ({ contentAttributes, echoId, file, - ccEmails, - bccEmails, + ccEmails = '', + bccEmails = '', }) => { let payload; if (file) { @@ -47,8 +47,8 @@ class MessageApi extends ApiClient { contentAttributes, echo_id: echoId, file, - ccEmails, - bccEmails, + ccEmails = '', + bccEmails = '', }) { return axios({ method: 'post', diff --git a/app/javascript/dashboard/api/specs/contacts.spec.js b/app/javascript/dashboard/api/specs/contacts.spec.js index 03a71ca1151e..08e6720d7ec7 100644 --- a/app/javascript/dashboard/api/specs/contacts.spec.js +++ b/app/javascript/dashboard/api/specs/contacts.spec.js @@ -60,6 +60,16 @@ describe('#ContactsAPI', () => { ); }); + it('#destroyCustomAttributes', () => { + contactAPI.destroyCustomAttributes(1, ['cloudCustomer']); + expect(context.axiosMock.post).toHaveBeenCalledWith( + '/api/v1/contacts/1/destroy_custom_attributes', + { + custom_attributes: ['cloudCustomer'], + } + ); + }); + it('#importContacts', () => { const file = 'file'; contactAPI.importContacts(file); diff --git a/app/javascript/dashboard/api/specs/inbox/conversation.spec.js b/app/javascript/dashboard/api/specs/inbox/conversation.spec.js index f068b4a4fcf4..814b834463f8 100644 --- a/app/javascript/dashboard/api/specs/inbox/conversation.spec.js +++ b/app/javascript/dashboard/api/specs/inbox/conversation.spec.js @@ -160,5 +160,18 @@ describe('#ConversationAPI', () => { } ); }); + + it('#updateCustomAttributes', () => { + conversationAPI.updateCustomAttributes({ + conversationId: 45, + customAttributes: { order_d: '1001' }, + }); + expect(context.axiosMock.post).toHaveBeenCalledWith( + '/api/v1/conversations/45/custom_attributes', + { + custom_attributes: { order_d: '1001' }, + } + ); + }); }); }); diff --git a/app/javascript/dashboard/api/specs/inbox/message.spec.js b/app/javascript/dashboard/api/specs/inbox/message.spec.js index ca8d313b41e7..dd9cba85021a 100644 --- a/app/javascript/dashboard/api/specs/inbox/message.spec.js +++ b/app/javascript/dashboard/api/specs/inbox/message.spec.js @@ -35,12 +35,14 @@ describe('#ConversationAPI', () => { message: 'test content', echoId: 12, isPrivate: true, + file: new Blob(['test-content'], { type: 'application/pdf' }), }); expect(formPayload).toBeInstanceOf(FormData); expect(formPayload.get('content')).toEqual('test content'); expect(formPayload.get('echo_id')).toEqual('12'); expect(formPayload.get('private')).toEqual('true'); + expect(formPayload.get('cc_emails')).toEqual(''); }); it('builds object payload if file is not available', () => { @@ -56,6 +58,8 @@ describe('#ConversationAPI', () => { private: false, echo_id: 12, content_attributes: { in_reply_to: 12 }, + bcc_emails: '', + cc_emails: '', }); }); }); diff --git a/app/javascript/dashboard/assets/scss/_foundation-custom.scss b/app/javascript/dashboard/assets/scss/_foundation-custom.scss index 0e2329b661fa..1cb529b973b5 100644 --- a/app/javascript/dashboard/assets/scss/_foundation-custom.scss +++ b/app/javascript/dashboard/assets/scss/_foundation-custom.scss @@ -9,7 +9,7 @@ .card { margin-bottom: var(--space-small); - padding: var(--space-small); + padding: var(--space-normal); } .button-wrapper .button.link.grey-btn { @@ -21,7 +21,7 @@ font-size: $font-size-mini; max-width: 15rem; padding: $space-smaller $space-small; - z-index: 9999; + z-index: 999; } code { diff --git a/app/javascript/dashboard/assets/scss/_helper-classes.scss b/app/javascript/dashboard/assets/scss/_helper-classes.scss index 416ec0185934..a8a5a0b93c53 100644 --- a/app/javascript/dashboard/assets/scss/_helper-classes.scss +++ b/app/javascript/dashboard/assets/scss/_helper-classes.scss @@ -55,6 +55,10 @@ justify-content: space-between; } -.w-100 { +.w-full { width: 100%; } + +.h-full { + height: 100%; +} diff --git a/app/javascript/dashboard/assets/scss/_utility-helpers.scss b/app/javascript/dashboard/assets/scss/_utility-helpers.scss index 60fecb99481d..8785f1313951 100644 --- a/app/javascript/dashboard/assets/scss/_utility-helpers.scss +++ b/app/javascript/dashboard/assets/scss/_utility-helpers.scss @@ -1,3 +1,44 @@ .margin-right-small { margin-right: var(--space-small); } + +.fs-small { + font-size: var(--font-size-small); +} + +.fs-default { + font-size: var(--font-size-default); +} + +.fw-medium { + font-weight: var(--font-weight-medium); +} + +.p-normal { + padding: var(--space-normal); +} + +.overflow-scroll { + overflow: scroll; +} + +.overflow-auto { + overflow: auto; +} + +.overflow-hidden { + overflow: hidden; +} + + +.border-right { + border-right: 1px solid var(--color-border); +} + +.border-left { + border-left: 1px solid var(--color-border); +} + +.bg-white { + background-color: var(--white); +} diff --git a/app/javascript/dashboard/assets/scss/_woot.scss b/app/javascript/dashboard/assets/scss/_woot.scss index 7debac956424..e709327dc85c 100644 --- a/app/javascript/dashboard/assets/scss/_woot.scss +++ b/app/javascript/dashboard/assets/scss/_woot.scss @@ -14,7 +14,6 @@ @import 'helper-classes'; @import 'formulate'; @import 'date-picker'; -@import 'utility-helpers'; @import 'foundation-sites/scss/foundation'; @import '~bourbon/core/bourbon'; @@ -50,3 +49,4 @@ @import 'plugins/multiselect'; @import 'plugins/dropdown'; @import '~shared/assets/stylesheets/ionicons'; +@import 'utility-helpers'; diff --git a/app/javascript/dashboard/assets/scss/widgets/_conversation-view.scss b/app/javascript/dashboard/assets/scss/widgets/_conversation-view.scss index f6965c493f92..70bf16b95936 100644 --- a/app/javascript/dashboard/assets/scss/widgets/_conversation-view.scss +++ b/app/javascript/dashboard/assets/scss/widgets/_conversation-view.scss @@ -17,7 +17,8 @@ } } - .image { + .image, + .video { cursor: pointer; position: relative; @@ -26,7 +27,13 @@ } .modal-image { - max-width: 85%; + max-height: 90%; + max-width: 90%; + } + + .modal-video { + max-height: 75vh; + max-width: 100%; } &::before { @@ -35,11 +42,21 @@ content: ''; height: 20%; left: 0; - opacity: .8; + opacity: 0.8; position: absolute; width: 100%; } } + + .video { + .modal-container { + width: auto; + + .modal--close { + z-index: var(--z-index-low); + } + } + } } .conversations-list-wrap { diff --git a/app/javascript/dashboard/assets/scss/widgets/_forms.scss b/app/javascript/dashboard/assets/scss/widgets/_forms.scss index 17a7acaa83a1..13548db5f41d 100644 --- a/app/javascript/dashboard/assets/scss/widgets/_forms.scss +++ b/app/javascript/dashboard/assets/scss/widgets/_forms.scss @@ -1,8 +1,7 @@ .error { - #{$all-text-inputs}, select, - .multiselect>.multiselect__tags { + .multiselect > .multiselect__tags { @include thin-border(var(--r-400)); } @@ -40,4 +39,8 @@ input { font-size: var(--font-size-small); height: var(--space-large); } + + .error { + border-color: var(--r-400); + } } diff --git a/app/javascript/dashboard/assets/scss/widgets/_reports.scss b/app/javascript/dashboard/assets/scss/widgets/_reports.scss index 7280b6d4d313..eeb958ff3fc5 100644 --- a/app/javascript/dashboard/assets/scss/widgets/_reports.scss +++ b/app/javascript/dashboard/assets/scss/widgets/_reports.scss @@ -21,10 +21,6 @@ border: 1px solid var(--color-border); } -.margin-right-small { - margin-right: var(--space-small); -} - .display-flex { display: flex; } diff --git a/app/javascript/dashboard/components/Accordion/AccordionItem.vue b/app/javascript/dashboard/components/Accordion/AccordionItem.vue index c162ee313b91..bfe817285ccf 100644 --- a/app/javascript/dashboard/components/Accordion/AccordionItem.vue +++ b/app/javascript/dashboard/components/Accordion/AccordionItem.vue @@ -15,7 +15,11 @@ -
+
@@ -33,6 +37,10 @@ export default { type: String, required: true, }, + compact: { + type: Boolean, + default: false, + }, icon: { type: String, default: '', @@ -106,5 +114,9 @@ export default { .cw-accordion--content { padding: var(--space-normal); + + &.compact { + padding: 0; + } } diff --git a/app/javascript/dashboard/components/CustomAttribute.vue b/app/javascript/dashboard/components/CustomAttribute.vue new file mode 100644 index 000000000000..bdadc8c59c9b --- /dev/null +++ b/app/javascript/dashboard/components/CustomAttribute.vue @@ -0,0 +1,238 @@ + + + + + diff --git a/app/javascript/dashboard/components/buttons/ResolveAction.vue b/app/javascript/dashboard/components/buttons/ResolveAction.vue index 637424815c9d..74e78c9cfb7b 100644 --- a/app/javascript/dashboard/components/buttons/ResolveAction.vue +++ b/app/javascript/dashboard/components/buttons/ResolveAction.vue @@ -8,7 +8,7 @@ icon="ion-checkmark" emoji="✅" :is-loading="isLoading" - @click="() => toggleStatus(STATUS_TYPE.RESOLVED)" + @click="onCmdResolveConversation" > {{ this.$t('CONVERSATION.HEADER.RESOLVE_ACTION') }} @@ -19,7 +19,7 @@ icon="ion-refresh" emoji="👀" :is-loading="isLoading" - @click="() => toggleStatus(STATUS_TYPE.OPEN)" + @click="onCmdOpenConversation" > {{ this.$t('CONVERSATION.HEADER.REOPEN_ACTION') }} @@ -29,7 +29,7 @@ color-scheme="primary" icon="ion-person" :is-loading="isLoading" - @click="() => toggleStatus(STATUS_TYPE.OPEN)" + @click="onCmdOpenConversation" > {{ this.$t('CONVERSATION.HEADER.OPEN_ACTION') }} @@ -118,6 +118,11 @@ import { startOfTomorrow, startOfWeek, } from 'date-fns'; +import { + CMD_REOPEN_CONVERSATION, + CMD_RESOLVE_CONVERSATION, + CMD_SNOOZE_CONVERSATION, +} from '../../routes/dashboard/commands/commandBarBusEvents'; export default { components: { @@ -135,9 +140,7 @@ export default { }; }, computed: { - ...mapGetters({ - currentChat: 'getSelectedChat', - }), + ...mapGetters({ currentChat: 'getSelectedChat' }), isOpen() { return this.currentChat.status === wootConstants.STATUS_TYPE.OPEN; }, @@ -170,6 +173,16 @@ export default { }; }, }, + mounted() { + bus.$on(CMD_SNOOZE_CONVERSATION, this.onCmdSnoozeConversation); + bus.$on(CMD_REOPEN_CONVERSATION, this.onCmdOpenConversation); + bus.$on(CMD_RESOLVE_CONVERSATION, this.onCmdResolveConversation); + }, + destroyed() { + bus.$off(CMD_SNOOZE_CONVERSATION, this.onCmdSnoozeConversation); + bus.$off(CMD_REOPEN_CONVERSATION, this.onCmdOpenConversation); + bus.$off(CMD_RESOLVE_CONVERSATION, this.onCmdResolveConversation); + }, methods: { async handleKeyEvents(e) { const allConversations = document.querySelectorAll( @@ -204,6 +217,18 @@ export default { } } }, + onCmdSnoozeConversation(snoozeType) { + this.toggleStatus( + this.STATUS_TYPE.SNOOZED, + this.snoozeTimes[snoozeType] || null + ); + }, + onCmdOpenConversation() { + this.toggleStatus(this.STATUS_TYPE.OPEN); + }, + onCmdResolveConversation() { + this.toggleStatus(this.STATUS_TYPE.RESOLVED); + }, showOpenButton() { return this.isResolved || this.isSnoozed; }, diff --git a/app/javascript/dashboard/components/layout/Sidebar.vue b/app/javascript/dashboard/components/layout/Sidebar.vue index 07314e9c0f0f..effe6bca33ef 100644 --- a/app/javascript/dashboard/components/layout/Sidebar.vue +++ b/app/javascript/dashboard/components/layout/Sidebar.vue @@ -265,6 +265,7 @@ export default { this.$store.dispatch('inboxes/get'); this.$store.dispatch('notifications/unReadCount'); this.$store.dispatch('teams/get'); + this.$store.dispatch('attributes/get'); }, methods: { diff --git a/app/javascript/dashboard/components/widgets/BackButton.vue b/app/javascript/dashboard/components/widgets/BackButton.vue index 9bf87d1310d0..758fd7ae23ec 100644 --- a/app/javascript/dashboard/components/widgets/BackButton.vue +++ b/app/javascript/dashboard/components/widgets/BackButton.vue @@ -1,6 +1,6 @@ diff --git a/app/javascript/dashboard/components/widgets/conversation/OnboardingView.vue b/app/javascript/dashboard/components/widgets/conversation/OnboardingView.vue index a5c13bc13627..3d3735a1d394 100644 --- a/app/javascript/dashboard/components/widgets/conversation/OnboardingView.vue +++ b/app/javascript/dashboard/components/widgets/conversation/OnboardingView.vue @@ -17,7 +17,7 @@ }) }}

-

+

- 👥{{ $t('ONBOARDING.TEAM_MEMBERS.TITLE') }} + 👥{{ $t('ONBOARDING.TEAM_MEMBERS.TITLE') }}

{{ $t('ONBOARDING.TEAM_MEMBERS.DESCRIPTION') }} diff --git a/app/javascript/dashboard/components/widgets/conversation/ReplyBox.vue b/app/javascript/dashboard/components/widgets/conversation/ReplyBox.vue index 661515adfb32..d6f5e1c0c022 100644 --- a/app/javascript/dashboard/components/widgets/conversation/ReplyBox.vue +++ b/app/javascript/dashboard/components/widgets/conversation/ReplyBox.vue @@ -52,7 +52,7 @@ @toggle-canned-menu="toggleCannedMenu" />

-
+
-
+
diff --git a/app/javascript/dashboard/components/widgets/conversation/bubble/Video.vue b/app/javascript/dashboard/components/widgets/conversation/bubble/Video.vue new file mode 100644 index 000000000000..14c26733b538 --- /dev/null +++ b/app/javascript/dashboard/components/widgets/conversation/bubble/Video.vue @@ -0,0 +1,32 @@ + + + diff --git a/app/javascript/dashboard/components/widgets/conversation/specs/MoreActions.spec.js b/app/javascript/dashboard/components/widgets/conversation/specs/MoreActions.spec.js index 558b021d1081..ad20a82b1fbf 100644 --- a/app/javascript/dashboard/components/widgets/conversation/specs/MoreActions.spec.js +++ b/app/javascript/dashboard/components/widgets/conversation/specs/MoreActions.spec.js @@ -33,6 +33,8 @@ describe('MoveActions', () => { beforeEach(() => { window.bus = { $emit: jest.fn(), + $on: jest.fn(), + $off: jest.fn(), }; state = { diff --git a/app/javascript/dashboard/helper/actionCable.js b/app/javascript/dashboard/helper/actionCable.js index e91f953723bd..2da5fcb4ad2f 100644 --- a/app/javascript/dashboard/helper/actionCable.js +++ b/app/javascript/dashboard/helper/actionCable.js @@ -20,6 +20,7 @@ class ActionCableConnector extends BaseActionCableConnector { 'conversation.contact_changed': this.onConversationContactChange, 'presence.update': this.onPresenceUpdate, 'contact.deleted': this.onContactDelete, + 'contact.updated': this.onContactUpdate, }; } @@ -124,6 +125,10 @@ class ActionCableConnector extends BaseActionCableConnector { ); this.fetchConversationStats(); }; + + onContactUpdate = data => { + this.app.$store.dispatch('contacts/updateContact', data); + }; } export default { diff --git a/app/javascript/dashboard/i18n/locale/ar/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ar/attributesMgmt.json index 2556de3558f5..f5145ded30f5 100644 --- a/app/javascript/dashboard/i18n/locale/ar/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ar/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "السمات", - "HEADER_BTN_TXT": "إضافة سمة", - "LOADING": "Fetching attributes", - "SIDEBAR_TXT": "

Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Attributes, just click on the Add Attribute. You can also edit or delete an existing Attribute by clicking on the Edit or Delete button.

", + "HEADER": "سمات مخصصة", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "أضف سمة", + "TITLE": "Add Custom Attribute", "SUBMIT": "إنشاء", "CANCEL_BUTTON_TEXT": "إلغاء", "FORM": { "NAME": { "LABEL": "اسم العرض", - "PLACEHOLDER": "أدخل اسم عرض السمة", + "PLACEHOLDER": "Enter custom attribute display name", "ERROR": "Name is required" }, "DESC": { "LABEL": "الوصف", - "PLACEHOLDER": "أدخل وصف السمة", + "PLACEHOLDER": "Enter custom attribute description", "ERROR": "Description is required" }, "MODEL": { - "LABEL": "نموذج", - "PLACEHOLDER": "الرجاء اختيار نموذج", + "LABEL": "Applies to", + "PLACEHOLDER": "Please select one", "ERROR": "النموذج مطلوب" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "النوع مطلوب" }, "KEY": { - "LABEL": "المفتاح" + "LABEL": "المفتاح", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "تمت إضافة السمة بنجاح", - "ERROR_MESSAGE": "Could not able to create an attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "حذف", "API": { - "SUCCESS_MESSAGE": "Attribute deleted successfully.", - "ERROR_MESSAGE": "Couldn't delete the attribute. Try again." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { "TITLE": "هل أنت متأكد من أنك تريد حذف - %{attributeName}", "PLACE_HOLDER": "Please type {attributeName} to confirm", - "MESSAGE": "Deleting will remove the attribute", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "حذف ", "NO": "إلغاء" } }, "EDIT": { - "TITLE": "Edit attribute", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "تحديث", "API": { - "SUCCESS_MESSAGE": "Attribute updated successfully", - "ERROR_MESSAGE": "There was an error updating attribute, please try again" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { @@ -77,8 +80,8 @@ "DELETE": "حذف" }, "EMPTY_RESULT": { - "404": "There are no attributes created", - "NOT_FOUND": "There are no attributes configured" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/ar/chatlist.json b/app/javascript/dashboard/i18n/locale/ar/chatlist.json index 116b65ba3eaa..fed68be9b181 100644 --- a/app/javascript/dashboard/i18n/locale/ar/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/ar/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "فتح", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "فتح" }, - { - "TEXT": "مغلقة", - "VALUE": "resolved" + "resolved": { + "TEXT": "مغلقة" }, - { - "TEXT": "معلق", - "VALUE": "معلق" + "pending": { + "TEXT": "معلق" }, - { - "TEXT": "غفوة", - "VALUE": "غفوة" + "snoozed": { + "TEXT": "غفوة" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -85,6 +81,7 @@ "RECEIVED_VIA_EMAIL": "تم تلقيه عبر البريد الإلكتروني", "VIEW_TWEET_IN_TWITTER": "عرض التغريدة في تويتر", "REPLY_TO_TWEET": "الرد على هذه التغريدة", + "SENT": "Sent successfully", "NO_MESSAGES": "لا توجد رسائل", "NO_CONTENT": "لم يتم العثور على محتوى", "HIDE_QUOTED_TEXT": "Hide Quoted Text", diff --git a/app/javascript/dashboard/i18n/locale/ar/contact.json b/app/javascript/dashboard/i18n/locale/ar/contact.json index f8f30ed2d2d5..197fc1f5276d 100644 --- a/app/javascript/dashboard/i18n/locale/ar/contact.json +++ b/app/javascript/dashboard/i18n/locale/ar/contact.json @@ -7,6 +7,7 @@ "COMPANY": "الشركة", "LOCATION": "الموقع الجغرافي", "CONVERSATION_TITLE": "تفاصيل المحادثة", + "VIEW_PROFILE": "View Profile", "BROWSER": "المتصفح", "OS": "نظام التشغيل", "INITIATED_FROM": "تم البدء من", @@ -154,6 +155,11 @@ "LABEL": "صندوق الوارد", "ERROR": "حدد صندوق الوارد" }, + "SUBJECT": { + "LABEL": "الموضوع", + "PLACEHOLDER": "الموضوع", + "ERROR": "Subject can't be empty" + }, "MESSAGE": { "LABEL": "رسالة", "PLACEHOLDER": "اكتب رسالتك هنا", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "عرض التفاصيل" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "جهات الاتصال", + "LOADING": "Loading contact profile..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "إضافة", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Fetching notes...", + "NOT_AVAILABLE": "There are no notes created for this contact", "HEADER": { "TITLE": "ملاحظات" }, + "LIST": { + "LABEL": "added a note" + }, "ADD": { "BUTTON": "إضافة", "PLACEHOLDER": "إضافة ملاحظة", "TITLE": "Shift + Enter لإنشاء مهمة" }, - "FOOTER": { - "BUTTON": "عرض جميع الملاحظات" + "CONTENT_HEADER": { + "DELETE": "Delete note" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Add attributes", "BUTTON": "إضافة سمة خاصة", "NOT_AVAILABLE": "There are no custom attributes available for this contact.", + "COPY_SUCCESSFUL": "تم النسخ إلى الحافظة بنجاح", + "ACTIONS": { + "COPY": "Copy attribute", + "DELETE": "Delete attribute", + "EDIT": "Edit attribute" + }, "ADD": { "TITLE": "إنشاء سمة خاصة", "DESC": "أضف معلومات خاصة إلى جهة الاتصال هذه." @@ -239,7 +261,29 @@ "VALUE": { "LABEL": "قيمة السمة", "PLACEHOLDER": "Eg: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "تمت إضافة السمة بنجاح", + "ERROR": "Unable to add attribute. Please try again later" + }, + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" } + }, + "VALIDATIONS": { + "REQUIRED": "Valid value is required", + "INVALID_URL": "Invalid URL" } }, "MERGE_CONTACTS": { diff --git a/app/javascript/dashboard/i18n/locale/ar/conversation.json b/app/javascript/dashboard/i18n/locale/ar/conversation.json index 4366288bbaff..758862c8cebf 100644 --- a/app/javascript/dashboard/i18n/locale/ar/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ar/conversation.json @@ -156,6 +156,27 @@ "PREVIOUS_CONVERSATION": "المحادثات السابقة" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "ADD": { + "TITLE": "إضافة", + "SUCCESS": "تمت إضافة السمة بنجاح", + "ERROR": "Unable to add attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" + } + }, "EMAIL_HEADER": { "TO": "إلى", "BCC": "Bcc", diff --git a/app/javascript/dashboard/i18n/locale/ar/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ar/inboxMgmt.json index 7f8acb2874de..c19d304df257 100644 --- a/app/javascript/dashboard/i18n/locale/ar/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ar/inboxMgmt.json @@ -1,7 +1,7 @@ { "INBOX_MGMT": { "HEADER": "قنوات التواصل", - "SIDEBAR_TXT": "

قنوات التواصل

عند ربطك لموقع ويب أو صفحة فيسبوك إلى Chatwooot، يتم تسميتها قناة تواصل. يمكنك إنشاء قنوات تواصل غير محدودة من مختلف الأنواع في حساب Chatwoot الخاص بك.

انقر فوق إضافة قناة تواصل لربط موقع الويب أو صفحة فيسبوك الخاصة بك.

من لوحة الإدارة، يمكنك رؤية جميع المحادثات من جميع صناديق الوارد الخاصة بك والرد عليها من مكان موّحد عبر الضغط على علامة التبويب \"المحادثات\".

يمكنك أيضًا مشاهدة المحادثات الخاصة بصندوق وارد معين بالنقر على اسم صندوق الوارد على الجزء الجانبي من لوحة الإدارة.

", + "SIDEBAR_TXT": "

قنوات التواصل

عند ربطك لموقع ويب أو صفحة فيسبوك إلى Chatwoot، يتم تسميتها قناة تواصل. يمكنك إنشاء قنوات تواصل غير محدودة من مختلف الأنواع في حساب Chatwoot الخاص بك.

انقر فوق إضافة قناة تواصل لربط موقع الويب أو صفحة فيسبوك الخاصة بك.

من لوحة الإدارة، يمكنك رؤية جميع المحادثات من جميع صناديق الوارد الخاصة بك والرد عليها من مكان موّحد عبر الضغط على علامة التبويب \"المحادثات\".

يمكنك أيضًا مشاهدة المحادثات الخاصة بصندوق وارد معين بالنقر على اسم صندوق الوارد على الجزء الجانبي من لوحة الإدارة.

", "LIST": { "404": "لا توجد صناديق وارد لقنوات تواصل مرتبطة بهذا الحساب." }, diff --git a/app/javascript/dashboard/i18n/locale/ar/login.json b/app/javascript/dashboard/i18n/locale/ar/login.json index 93db65575fb2..caf74b78a4af 100644 --- a/app/javascript/dashboard/i18n/locale/ar/login.json +++ b/app/javascript/dashboard/i18n/locale/ar/login.json @@ -1,6 +1,6 @@ { "LOGIN": { - "TITLE": "تسجيل الدخول إلى شات ووت", + "TITLE": "تسجيل الدخول إلى Chatwoot", "EMAIL": { "LABEL": "البريد الإلكتروني", "PLACEHOLDER": "مثال: someone@example.com" diff --git a/app/javascript/dashboard/i18n/locale/ar/settings.json b/app/javascript/dashboard/i18n/locale/ar/settings.json index 3de6ca87e51b..bb035164f6cf 100644 --- a/app/javascript/dashboard/i18n/locale/ar/settings.json +++ b/app/javascript/dashboard/i18n/locale/ar/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "أيام متبقية من الفترة التجريبية.", - "TRAIL_BUTTON": "اشترك الآن" + "TRAIL_BUTTON": "اشترك الآن", + "DELETED_USER": "Deleted User" }, "COMPONENTS": { "CODE": { @@ -142,7 +143,7 @@ "ACCOUNT_SETTINGS": "إعدادات الحساب", "APPLICATIONS": "التطبيقات", "LABELS": "الوسوم", - "ATTRIBUTES": "السمات", + "CUSTOM_ATTRIBUTES": "سمات مخصصة", "TEAMS": "الفرق", "ALL_CONTACTS": "جميع جهات الاتصال", "TAGGED_WITH": "Tagged with", diff --git a/app/javascript/dashboard/i18n/locale/ca/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ca/attributesMgmt.json index 4e3d88e9f605..ebc6648789f4 100644 --- a/app/javascript/dashboard/i18n/locale/ca/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ca/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Attributes", - "HEADER_BTN_TXT": "Add Attribute", - "LOADING": "Fetching attributes", - "SIDEBAR_TXT": "

Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Attributes, just click on the Add Attribute. You can also edit or delete an existing Attribute by clicking on the Edit or Delete button.

", + "HEADER": "Atributs personalitzats", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "Add attribute", + "TITLE": "Add Custom Attribute", "SUBMIT": "Crear", "CANCEL_BUTTON_TEXT": "Cancel·la", "FORM": { "NAME": { "LABEL": "Display Name", - "PLACEHOLDER": "Enter attribute display name", + "PLACEHOLDER": "Enter custom attribute display name", "ERROR": "Name is required" }, "DESC": { "LABEL": "Descripció", - "PLACEHOLDER": "Enter attribute description", + "PLACEHOLDER": "Enter custom attribute description", "ERROR": "Description is required" }, "MODEL": { - "LABEL": "Model", - "PLACEHOLDER": "Please select a model", + "LABEL": "Applies to", + "PLACEHOLDER": "Please select one", "ERROR": "Model is required" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "Type is required" }, "KEY": { - "LABEL": "Key" + "LABEL": "Key", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create an attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "Esborrar", "API": { - "SUCCESS_MESSAGE": "Attribute deleted successfully.", - "ERROR_MESSAGE": "Couldn't delete the attribute. Try again." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { "TITLE": "Are you sure want to delete - %{attributeName}", "PLACE_HOLDER": "Please type {attributeName} to confirm", - "MESSAGE": "Deleting will remove the attribute", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "Suprimeix ", "NO": "Cancel·la" } }, "EDIT": { - "TITLE": "Edit attribute", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "Actualitza", "API": { - "SUCCESS_MESSAGE": "Attribute updated successfully", - "ERROR_MESSAGE": "There was an error updating attribute, please try again" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { @@ -77,8 +80,8 @@ "DELETE": "Esborrar" }, "EMPTY_RESULT": { - "404": "There are no attributes created", - "NOT_FOUND": "There are no attributes configured" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/ca/chatlist.json b/app/javascript/dashboard/i18n/locale/ca/chatlist.json index b33522eae160..99b32381ff8d 100644 --- a/app/javascript/dashboard/i18n/locale/ca/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/ca/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "Obertes", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "Obrir" }, - { - "TEXT": "Resoltes", - "VALUE": "resolved" + "resolved": { + "TEXT": "Resoltes" }, - { - "TEXT": "Pending", - "VALUE": "pending" + "pending": { + "TEXT": "Pending" }, - { - "TEXT": "Snoozed", - "VALUE": "snoozed" + "snoozed": { + "TEXT": "Snoozed" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -85,6 +81,7 @@ "RECEIVED_VIA_EMAIL": "Rebut per correu electrònic", "VIEW_TWEET_IN_TWITTER": "Veure el tuit a Twitter", "REPLY_TO_TWEET": "Respon a aquest tuit", + "SENT": "Sent successfully", "NO_MESSAGES": "Cap Missatge", "NO_CONTENT": "No content available", "HIDE_QUOTED_TEXT": "Hide Quoted Text", diff --git a/app/javascript/dashboard/i18n/locale/ca/contact.json b/app/javascript/dashboard/i18n/locale/ca/contact.json index 22d49bf26782..454018863742 100644 --- a/app/javascript/dashboard/i18n/locale/ca/contact.json +++ b/app/javascript/dashboard/i18n/locale/ca/contact.json @@ -7,6 +7,7 @@ "COMPANY": "Companyia", "LOCATION": "Ubicació", "CONVERSATION_TITLE": "Detalls de les converses", + "VIEW_PROFILE": "View Profile", "BROWSER": "Navegador", "OS": "Sistema operatiu", "INITIATED_FROM": "Iniciada des de", @@ -154,6 +155,11 @@ "LABEL": "Inbox", "ERROR": "Select an inbox" }, + "SUBJECT": { + "LABEL": "Subject", + "PLACEHOLDER": "Subject", + "ERROR": "Subject can't be empty" + }, "MESSAGE": { "LABEL": "Missatge", "PLACEHOLDER": "Write your message here", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "View details" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "Contactes", + "LOADING": "Loading contact profile..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "Add", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Fetching notes...", + "NOT_AVAILABLE": "There are no notes created for this contact", "HEADER": { "TITLE": "Notes" }, + "LIST": { + "LABEL": "added a note" + }, "ADD": { "BUTTON": "Add", "PLACEHOLDER": "Add a note", "TITLE": "Shift + Enter to create a note" }, - "FOOTER": { - "BUTTON": "View all notes" + "CONTENT_HEADER": { + "DELETE": "Delete note" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Add attributes", "BUTTON": "Add custom attribute", "NOT_AVAILABLE": "There are no custom attributes available for this contact.", + "COPY_SUCCESSFUL": "S'ha copiat al porta-retalls amb èxit", + "ACTIONS": { + "COPY": "Copy attribute", + "DELETE": "Delete attribute", + "EDIT": "Edit attribute" + }, "ADD": { "TITLE": "Create custom attribute", "DESC": "Add custom information to this contact." @@ -239,7 +261,29 @@ "VALUE": { "LABEL": "Attribute value", "PLACEHOLDER": "Eg: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" } + }, + "VALIDATIONS": { + "REQUIRED": "Valid value is required", + "INVALID_URL": "Invalid URL" } }, "MERGE_CONTACTS": { diff --git a/app/javascript/dashboard/i18n/locale/ca/conversation.json b/app/javascript/dashboard/i18n/locale/ca/conversation.json index 48f1da0d2b40..435eb9b300b8 100644 --- a/app/javascript/dashboard/i18n/locale/ca/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ca/conversation.json @@ -156,6 +156,27 @@ "PREVIOUS_CONVERSATION": "Converses prèvies" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "ADD": { + "TITLE": "Add", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" + } + }, "EMAIL_HEADER": { "TO": "To", "BCC": "Bcc", diff --git a/app/javascript/dashboard/i18n/locale/ca/settings.json b/app/javascript/dashboard/i18n/locale/ca/settings.json index eaed83181585..08b0939a9164 100644 --- a/app/javascript/dashboard/i18n/locale/ca/settings.json +++ b/app/javascript/dashboard/i18n/locale/ca/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "dies de prova restants.", - "TRAIL_BUTTON": "Compra ara" + "TRAIL_BUTTON": "Compra ara", + "DELETED_USER": "Deleted User" }, "COMPONENTS": { "CODE": { @@ -142,7 +143,7 @@ "ACCOUNT_SETTINGS": "Configuració del compte", "APPLICATIONS": "Applications", "LABELS": "Etiquetes", - "ATTRIBUTES": "Attributes", + "CUSTOM_ATTRIBUTES": "Atributs personalitzats", "TEAMS": "Equips", "ALL_CONTACTS": "All Contacts", "TAGGED_WITH": "Tagged with", diff --git a/app/javascript/dashboard/i18n/locale/cs/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/cs/attributesMgmt.json index ea9001dcb779..e08d72f33ae4 100644 --- a/app/javascript/dashboard/i18n/locale/cs/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/cs/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Attributes", - "HEADER_BTN_TXT": "Add Attribute", - "LOADING": "Fetching attributes", - "SIDEBAR_TXT": "

Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Attributes, just click on the Add Attribute. You can also edit or delete an existing Attribute by clicking on the Edit or Delete button.

", + "HEADER": "Vlastní atributy", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "Add attribute", + "TITLE": "Add Custom Attribute", "SUBMIT": "Create", "CANCEL_BUTTON_TEXT": "Zrušit", "FORM": { "NAME": { "LABEL": "Display Name", - "PLACEHOLDER": "Enter attribute display name", + "PLACEHOLDER": "Enter custom attribute display name", "ERROR": "Name is required" }, "DESC": { "LABEL": "Description", - "PLACEHOLDER": "Enter attribute description", + "PLACEHOLDER": "Enter custom attribute description", "ERROR": "Description is required" }, "MODEL": { - "LABEL": "Model", - "PLACEHOLDER": "Please select a model", + "LABEL": "Applies to", + "PLACEHOLDER": "Please select one", "ERROR": "Model is required" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "Type is required" }, "KEY": { - "LABEL": "Key" + "LABEL": "Key", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create an attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "Vymazat", "API": { - "SUCCESS_MESSAGE": "Attribute deleted successfully.", - "ERROR_MESSAGE": "Couldn't delete the attribute. Try again." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { "TITLE": "Are you sure want to delete - %{attributeName}", "PLACE_HOLDER": "Please type {attributeName} to confirm", - "MESSAGE": "Deleting will remove the attribute", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "Vymazat ", "NO": "Zrušit" } }, "EDIT": { - "TITLE": "Edit attribute", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "Aktualizovat", "API": { - "SUCCESS_MESSAGE": "Attribute updated successfully", - "ERROR_MESSAGE": "There was an error updating attribute, please try again" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { @@ -77,8 +80,8 @@ "DELETE": "Vymazat" }, "EMPTY_RESULT": { - "404": "There are no attributes created", - "NOT_FOUND": "There are no attributes configured" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/cs/chatlist.json b/app/javascript/dashboard/i18n/locale/cs/chatlist.json index eb34de233a57..203b040407a6 100644 --- a/app/javascript/dashboard/i18n/locale/cs/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/cs/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "Otevřít", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "Otevřít" }, - { - "TEXT": "Vyřešeno", - "VALUE": "resolved" + "resolved": { + "TEXT": "Vyřešeno" }, - { - "TEXT": "Čekající", - "VALUE": "čekající" + "pending": { + "TEXT": "Čekající" }, - { - "TEXT": "Odložené", - "VALUE": "odložené" + "snoozed": { + "TEXT": "Odložené" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -85,6 +81,7 @@ "RECEIVED_VIA_EMAIL": "Obdrženo e-mailem", "VIEW_TWEET_IN_TWITTER": "Zobrazit tweet na Twitteru", "REPLY_TO_TWEET": "Odpovědět na tento tweet", + "SENT": "Sent successfully", "NO_MESSAGES": "Žádné zprávy", "NO_CONTENT": "Žádný obsah k dispozici", "HIDE_QUOTED_TEXT": "Hide Quoted Text", diff --git a/app/javascript/dashboard/i18n/locale/cs/contact.json b/app/javascript/dashboard/i18n/locale/cs/contact.json index 6916314c78ae..aad58dae42ea 100644 --- a/app/javascript/dashboard/i18n/locale/cs/contact.json +++ b/app/javascript/dashboard/i18n/locale/cs/contact.json @@ -7,6 +7,7 @@ "COMPANY": "Společnost", "LOCATION": "Poloha", "CONVERSATION_TITLE": "Podrobnosti konverzace", + "VIEW_PROFILE": "View Profile", "BROWSER": "Prohlížeč", "OS": "Operační systém", "INITIATED_FROM": "Zahájeno od", @@ -154,6 +155,11 @@ "LABEL": "Inbox", "ERROR": "Select an inbox" }, + "SUBJECT": { + "LABEL": "Předmět", + "PLACEHOLDER": "Předmět", + "ERROR": "Subject can't be empty" + }, "MESSAGE": { "LABEL": "Zpráva", "PLACEHOLDER": "Write your message here", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "Zobrazit detaily" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "Kontakty", + "LOADING": "Loading contact profile..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "Add", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Fetching notes...", + "NOT_AVAILABLE": "There are no notes created for this contact", "HEADER": { "TITLE": "Notes" }, + "LIST": { + "LABEL": "added a note" + }, "ADD": { "BUTTON": "Add", "PLACEHOLDER": "Add a note", "TITLE": "Shift + Enter to create a note" }, - "FOOTER": { - "BUTTON": "View all notes" + "CONTENT_HEADER": { + "DELETE": "Delete note" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Add attributes", "BUTTON": "Add custom attribute", "NOT_AVAILABLE": "There are no custom attributes available for this contact.", + "COPY_SUCCESSFUL": "Úspěšně zkopírováno do schránky", + "ACTIONS": { + "COPY": "Copy attribute", + "DELETE": "Delete attribute", + "EDIT": "Edit attribute" + }, "ADD": { "TITLE": "Create custom attribute", "DESC": "Add custom information to this contact." @@ -239,7 +261,29 @@ "VALUE": { "LABEL": "Attribute value", "PLACEHOLDER": "Eg: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" } + }, + "VALIDATIONS": { + "REQUIRED": "Valid value is required", + "INVALID_URL": "Invalid URL" } }, "MERGE_CONTACTS": { diff --git a/app/javascript/dashboard/i18n/locale/cs/conversation.json b/app/javascript/dashboard/i18n/locale/cs/conversation.json index 5a1e789f6272..8509089c306b 100644 --- a/app/javascript/dashboard/i18n/locale/cs/conversation.json +++ b/app/javascript/dashboard/i18n/locale/cs/conversation.json @@ -156,6 +156,27 @@ "PREVIOUS_CONVERSATION": "Předchozí konverzace" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "ADD": { + "TITLE": "Add", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" + } + }, "EMAIL_HEADER": { "TO": "Komu", "BCC": "Bcc", diff --git a/app/javascript/dashboard/i18n/locale/cs/settings.json b/app/javascript/dashboard/i18n/locale/cs/settings.json index e9fdacdff9ed..3d71a2bf474c 100644 --- a/app/javascript/dashboard/i18n/locale/cs/settings.json +++ b/app/javascript/dashboard/i18n/locale/cs/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "dní zbývá zkušební verze.", - "TRAIL_BUTTON": "Koupit nyní" + "TRAIL_BUTTON": "Koupit nyní", + "DELETED_USER": "Deleted User" }, "COMPONENTS": { "CODE": { @@ -142,7 +143,7 @@ "ACCOUNT_SETTINGS": "Nastavení účtu", "APPLICATIONS": "Applications", "LABELS": "Štítky", - "ATTRIBUTES": "Attributes", + "CUSTOM_ATTRIBUTES": "Vlastní atributy", "TEAMS": "Týmy", "ALL_CONTACTS": "All Contacts", "TAGGED_WITH": "Tagged with", diff --git a/app/javascript/dashboard/i18n/locale/da/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/da/attributesMgmt.json index cb7e31f8908f..077463076f47 100644 --- a/app/javascript/dashboard/i18n/locale/da/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/da/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Attributes", - "HEADER_BTN_TXT": "Add Attribute", - "LOADING": "Fetching attributes", - "SIDEBAR_TXT": "

Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Attributes, just click on the Add Attribute. You can also edit or delete an existing Attribute by clicking on the Edit or Delete button.

", + "HEADER": "Brugerdefinerede Egenskaber", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "Add attribute", + "TITLE": "Add Custom Attribute", "SUBMIT": "Opret", "CANCEL_BUTTON_TEXT": "Annuller", "FORM": { "NAME": { "LABEL": "Display Name", - "PLACEHOLDER": "Enter attribute display name", + "PLACEHOLDER": "Enter custom attribute display name", "ERROR": "Name is required" }, "DESC": { "LABEL": "Beskrivelse", - "PLACEHOLDER": "Enter attribute description", + "PLACEHOLDER": "Enter custom attribute description", "ERROR": "Description is required" }, "MODEL": { - "LABEL": "Model", - "PLACEHOLDER": "Please select a model", + "LABEL": "Applies to", + "PLACEHOLDER": "Please select one", "ERROR": "Model is required" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "Type is required" }, "KEY": { - "LABEL": "Key" + "LABEL": "Key", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create an attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "Slet", "API": { - "SUCCESS_MESSAGE": "Attribute deleted successfully.", - "ERROR_MESSAGE": "Couldn't delete the attribute. Try again." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { "TITLE": "Are you sure want to delete - %{attributeName}", "PLACE_HOLDER": "Please type {attributeName} to confirm", - "MESSAGE": "Deleting will remove the attribute", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "Slet ", "NO": "Annuller" } }, "EDIT": { - "TITLE": "Edit attribute", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "Opdater", "API": { - "SUCCESS_MESSAGE": "Attribute updated successfully", - "ERROR_MESSAGE": "There was an error updating attribute, please try again" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { @@ -77,8 +80,8 @@ "DELETE": "Slet" }, "EMPTY_RESULT": { - "404": "There are no attributes created", - "NOT_FOUND": "There are no attributes configured" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/da/chatlist.json b/app/javascript/dashboard/i18n/locale/da/chatlist.json index 0d44379721bd..7ec2bddaae18 100644 --- a/app/javascript/dashboard/i18n/locale/da/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/da/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "Åbn", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "Åbn" }, - { - "TEXT": "Løst", - "VALUE": "resolved" + "resolved": { + "TEXT": "Løst" }, - { - "TEXT": "Pending", - "VALUE": "pending" + "pending": { + "TEXT": "Pending" }, - { - "TEXT": "Snoozed", - "VALUE": "snoozed" + "snoozed": { + "TEXT": "Snoozed" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -85,6 +81,7 @@ "RECEIVED_VIA_EMAIL": "Modtaget via e-mail", "VIEW_TWEET_IN_TWITTER": "Se tweet på Twitter", "REPLY_TO_TWEET": "Svar på dette tweet", + "SENT": "Sent successfully", "NO_MESSAGES": "No Messages", "NO_CONTENT": "No content available", "HIDE_QUOTED_TEXT": "Hide Quoted Text", diff --git a/app/javascript/dashboard/i18n/locale/da/contact.json b/app/javascript/dashboard/i18n/locale/da/contact.json index 9d332ad836a3..c995a2757cd0 100644 --- a/app/javascript/dashboard/i18n/locale/da/contact.json +++ b/app/javascript/dashboard/i18n/locale/da/contact.json @@ -7,6 +7,7 @@ "COMPANY": "Virksomhed", "LOCATION": "Lokation", "CONVERSATION_TITLE": "Samtaledetaljer", + "VIEW_PROFILE": "View Profile", "BROWSER": "Browser", "OS": "Operativsystem", "INITIATED_FROM": "Startet fra", @@ -154,6 +155,11 @@ "LABEL": "Inbox", "ERROR": "Select an inbox" }, + "SUBJECT": { + "LABEL": "Subject", + "PLACEHOLDER": "Subject", + "ERROR": "Subject can't be empty" + }, "MESSAGE": { "LABEL": "Besked", "PLACEHOLDER": "Skriv din besked her", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "View details" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "Kontakter", + "LOADING": "Loading contact profile..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "Add", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Fetching notes...", + "NOT_AVAILABLE": "There are no notes created for this contact", "HEADER": { "TITLE": "Notes" }, + "LIST": { + "LABEL": "added a note" + }, "ADD": { "BUTTON": "Add", "PLACEHOLDER": "Add a note", "TITLE": "Shift + Enter to create a note" }, - "FOOTER": { - "BUTTON": "View all notes" + "CONTENT_HEADER": { + "DELETE": "Delete note" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Add attributes", "BUTTON": "Add custom attribute", "NOT_AVAILABLE": "There are no custom attributes available for this contact.", + "COPY_SUCCESSFUL": "Kopiering til udklipsholder lykkedes", + "ACTIONS": { + "COPY": "Copy attribute", + "DELETE": "Delete attribute", + "EDIT": "Edit attribute" + }, "ADD": { "TITLE": "Create custom attribute", "DESC": "Add custom information to this contact." @@ -239,7 +261,29 @@ "VALUE": { "LABEL": "Attribute value", "PLACEHOLDER": "Eg: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" } + }, + "VALIDATIONS": { + "REQUIRED": "Valid value is required", + "INVALID_URL": "Invalid URL" } }, "MERGE_CONTACTS": { diff --git a/app/javascript/dashboard/i18n/locale/da/conversation.json b/app/javascript/dashboard/i18n/locale/da/conversation.json index 6d66610aaeb8..60a43c5a2aaa 100644 --- a/app/javascript/dashboard/i18n/locale/da/conversation.json +++ b/app/javascript/dashboard/i18n/locale/da/conversation.json @@ -156,6 +156,27 @@ "PREVIOUS_CONVERSATION": "Tidligere Samtaler" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "ADD": { + "TITLE": "Add", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" + } + }, "EMAIL_HEADER": { "TO": "To", "BCC": "Bcc", diff --git a/app/javascript/dashboard/i18n/locale/da/settings.json b/app/javascript/dashboard/i18n/locale/da/settings.json index 1f15cbe48fcd..a13f834c2fba 100644 --- a/app/javascript/dashboard/i18n/locale/da/settings.json +++ b/app/javascript/dashboard/i18n/locale/da/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "dage prøveperiode tilbage.", - "TRAIL_BUTTON": "Køb Nu" + "TRAIL_BUTTON": "Køb Nu", + "DELETED_USER": "Deleted User" }, "COMPONENTS": { "CODE": { @@ -142,7 +143,7 @@ "ACCOUNT_SETTINGS": "Kontoindstillinger", "APPLICATIONS": "Applications", "LABELS": "Etiketter", - "ATTRIBUTES": "Attributes", + "CUSTOM_ATTRIBUTES": "Brugerdefinerede Egenskaber", "TEAMS": "Teams", "ALL_CONTACTS": "All Contacts", "TAGGED_WITH": "Tagged with", diff --git a/app/javascript/dashboard/i18n/locale/de/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/de/attributesMgmt.json index c627d29ee9c2..029bc9f2279a 100644 --- a/app/javascript/dashboard/i18n/locale/de/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/de/attributesMgmt.json @@ -1,68 +1,71 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Attributes", - "HEADER_BTN_TXT": "Attribut hinzufügen", - "LOADING": "Fetching attributes", - "SIDEBAR_TXT": "

Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Attributes, just click on the Add Attribute. You can also edit or delete an existing Attribute by clicking on the Edit or Delete button.

", + "HEADER": "Benutzerdefinierte Attribute", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "Attribut hinzufügen", + "TITLE": "Add Custom Attribute", "SUBMIT": "Erstellen", "CANCEL_BUTTON_TEXT": "Stornieren", "FORM": { "NAME": { "LABEL": "Anzeigename", - "PLACEHOLDER": "Enter attribute display name", - "ERROR": "Name is required" + "PLACEHOLDER": "Enter custom attribute display name", + "ERROR": "Name wird benötigt" }, "DESC": { "LABEL": "Beschreibung", - "PLACEHOLDER": "Enter attribute description", - "ERROR": "Description is required" + "PLACEHOLDER": "Enter custom attribute description", + "ERROR": "Beschreibung wird benötigt" }, "MODEL": { - "LABEL": "Modell", - "PLACEHOLDER": "Bitte wählen Sie einen Typ", - "ERROR": "Model is required" + "LABEL": "Applies to", + "PLACEHOLDER": "Please select one", + "ERROR": "Modell wird benötigt" }, "TYPE": { "LABEL": "Typ", - "PLACEHOLDER": "Please select a type", - "ERROR": "Type is required" + "PLACEHOLDER": "Bitte wählen Sie einen Typ", + "ERROR": "Typ wird benötigt" }, "KEY": { - "LABEL": "Schlüssel" + "LABEL": "Schlüssel", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create an attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "Löschen", "API": { - "SUCCESS_MESSAGE": "Attribute deleted successfully.", - "ERROR_MESSAGE": "Couldn't delete the attribute. Try again." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { "TITLE": "Sind Sie sicher, dass Sie %{attributeName} löschen möchten", "PLACE_HOLDER": "Bitte geben Sie {attributeName} zur Bestätigung ein", - "MESSAGE": "Deleting will remove the attribute", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "Löschen ", "NO": "Stornieren" } }, "EDIT": { - "TITLE": "Attribut hinzufügen", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "Aktualisieren", "API": { - "SUCCESS_MESSAGE": "Attribute updated successfully", - "ERROR_MESSAGE": "There was an error updating attribute, please try again" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { "HEADER": "Benutzerdefinierte Attribute", - "CONVERSATION": "Conversation", + "CONVERSATION": "Unterhaltung", "CONTACT": "Kontakt" }, "LIST": { @@ -77,8 +80,8 @@ "DELETE": "Löschen" }, "EMPTY_RESULT": { - "404": "There are no attributes created", - "NOT_FOUND": "There are no attributes configured" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/de/campaign.json b/app/javascript/dashboard/i18n/locale/de/campaign.json index 7f65bf9f422b..644343bbd423 100644 --- a/app/javascript/dashboard/i18n/locale/de/campaign.json +++ b/app/javascript/dashboard/i18n/locale/de/campaign.json @@ -54,7 +54,7 @@ "ERROR": "Uhrzeit auf Seite ist erforderlich" }, "ENABLED": "Kampagne aktivieren", - "TRIGGER_ONLY_BUSINESS_HOURS": "Trigger only during business hours", + "TRIGGER_ONLY_BUSINESS_HOURS": "Nur während Geschäftszeiten auslösen", "SUBMIT": "Kampagne hinzufügen" }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/de/chatlist.json b/app/javascript/dashboard/i18n/locale/de/chatlist.json index 68c5b5cd4505..16304316f4ba 100644 --- a/app/javascript/dashboard/i18n/locale/de/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/de/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "Offen", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "Offen" }, - { - "TEXT": "Gelöst", - "VALUE": "resolved" + "resolved": { + "TEXT": "Gelöst" }, - { - "TEXT": "Ausstehend", - "VALUE": "pending" + "pending": { + "TEXT": "Ausstehend" }, - { - "TEXT": "Erinnern", - "VALUE": "snoozed" + "snoozed": { + "TEXT": "Erinnern" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -85,9 +81,10 @@ "RECEIVED_VIA_EMAIL": "Per E-Mail empfangen", "VIEW_TWEET_IN_TWITTER": "Tweet auf Twitter anzeigen", "REPLY_TO_TWEET": "Auf diesen Tweet antworten", + "SENT": "Erfolgreich gesendet", "NO_MESSAGES": "Keine Nachrichten", "NO_CONTENT": "Kein Inhalt verfügbar", - "HIDE_QUOTED_TEXT": "Hide Quoted Text", - "SHOW_QUOTED_TEXT": "Show Quoted Text" + "HIDE_QUOTED_TEXT": "Zitierten Text ausblenden", + "SHOW_QUOTED_TEXT": "Zitierten Text anzeigen" } } diff --git a/app/javascript/dashboard/i18n/locale/de/contact.json b/app/javascript/dashboard/i18n/locale/de/contact.json index 0e261903b141..2b3d16287313 100644 --- a/app/javascript/dashboard/i18n/locale/de/contact.json +++ b/app/javascript/dashboard/i18n/locale/de/contact.json @@ -7,6 +7,7 @@ "COMPANY": "Firma", "LOCATION": "Ort", "CONVERSATION_TITLE": "Unterhaltungsdetails", + "VIEW_PROFILE": "Profil anzeigen", "BROWSER": "Browser", "OS": "Betriebssystem", "INITIATED_FROM": "Initiiert von", @@ -32,8 +33,8 @@ "NO_RESULT": "Keine Labels gefunden" } }, - "MERGE_CONTACT": "Merge contact", - "CONTACT_ACTIONS": "Contact actions", + "MERGE_CONTACT": "Kontakte zusammenführen", + "CONTACT_ACTIONS": "Kontakt-Aktionen", "MUTE_CONTACT": "Unterhaltung stummschalten", "UNMUTE_CONTACT": "Unterhaltung entmuten", "MUTED_SUCCESS": "Diese Unterhaltung ist für 6 Stunden auf stumm schalten", @@ -57,22 +58,22 @@ "DESC": "Fügen Sie grundlegende Informationen über den Kontakt hinzu." }, "IMPORT_CONTACTS": { - "BUTTON_LABEL": "Import", - "TITLE": "Import Contacts", - "DESC": "Import contacts through a CSV file.", - "DOWNLOAD_LABEL": "Download a sample csv.", + "BUTTON_LABEL": "Importieren", + "TITLE": "Kontakte importieren", + "DESC": "Kontakte über CSV-Datei importieren.", + "DOWNLOAD_LABEL": "Ein CSV-Beispiel herunterladen.", "FORM": { "LABEL": "CSV-Datei", - "SUBMIT": "Import", + "SUBMIT": "Importieren", "CANCEL": "Stornieren" }, - "SUCCESS_MESSAGE": "Contacts saved successfully", + "SUCCESS_MESSAGE": "Kontakte erfolgreich gespeichert", "ERROR_MESSAGE": "Es ist ein Fehler aufgetreten, bitte versuchen Sie es erneut" }, "DELETE_CONTACT": { - "BUTTON_LABEL": "Delete Contact", + "BUTTON_LABEL": "Kontakt löschen", "TITLE": "Kontakt löschen", - "DESC": "Delete contact details", + "DESC": "Kontakt-Details bearbeiten", "CONFIRM": { "TITLE": "Löschung bestätigen", "MESSAGE": "Bist du sicher, das du das löschen möchtest?", @@ -81,8 +82,8 @@ "NO": "Nein, behalten " }, "API": { - "SUCCESS_MESSAGE": "Contact deleted successfully", - "ERROR_MESSAGE": "Could not delete contact. Please try again later." + "SUCCESS_MESSAGE": "Kontakt erfolgreich gelöscht", + "ERROR_MESSAGE": "Kontakt konnte nicht gelöscht werden. Bitte versuchen Sie es später erneut." } }, "CONTACT_FORM": { @@ -154,6 +155,11 @@ "LABEL": "Posteingang", "ERROR": "Posteingang auswählen" }, + "SUBJECT": { + "LABEL": "Betreff", + "PLACEHOLDER": "Betreff", + "ERROR": "Subject can't be empty" + }, "MESSAGE": { "LABEL": "Nachricht", "PLACEHOLDER": "Schreiben Sie Ihre Nachricht hier", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "Details anzeigen" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "Kontakte", + "LOADING": "Kontaktprofil wird geladen..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "Hinzufügen", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Notizen werden geladen...", + "NOT_AVAILABLE": "Für diesen Kontakt wurden keine Notizen erstellt", "HEADER": { "TITLE": "Notizen" }, + "LIST": { + "LABEL": "Notiz hinzugefügt" + }, "ADD": { "BUTTON": "Hinzufügen", "PLACEHOLDER": "Notiz hinzufügen", "TITLE": "Shift + Enter um eine Notiz zu erstellen" }, - "FOOTER": { - "BUTTON": "Alle Notizen anzeigen" + "CONTENT_HEADER": { + "DELETE": "Notiz löschen" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Add attributes", "BUTTON": "Eigenes Attribut hinzufügen", - "NOT_AVAILABLE": "There are no custom attributes available for this contact.", + "NOT_AVAILABLE": "Für diesen Kontakt sind keine benutzerdefinierten Attribute verfügbar.", + "COPY_SUCCESSFUL": "Der Code wurde erfolgreich in die Zwischenablage kopiert", + "ACTIONS": { + "COPY": "Copy attribute", + "DELETE": "Delete attribute", + "EDIT": "Attribut hinzufügen" + }, "ADD": { "TITLE": "Eigenes Attribut erstellen", "DESC": "Füge diesem Kontakt benutzerdefinierte Informationen hinzu." @@ -239,24 +261,46 @@ "VALUE": { "LABEL": "Attributwert", "PLACEHOLDER": "Bsp.: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "Attribut erfolgreich hinzugefügt", + "ERROR": "Unable to add attribute. Please try again later" + }, + "UPDATE": { + "SUCCESS": "Attribut erfolgreich aktualisiert", + "ERROR": "Unable to update attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribut erfolgreich gelöscht", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" } + }, + "VALIDATIONS": { + "REQUIRED": "Valid value is required", + "INVALID_URL": "Invalid URL" } }, "MERGE_CONTACTS": { "TITLE": "Kontakte zusammenführen", - "DESCRIPTION": "Merge contacts to combine two profiles into one, including all attributes and conversations. In case of conflict, the Primary contact’ s attributes will take precedence.", + "DESCRIPTION": "Kontakte zusammenführen, um zwei Profile zu einem zu kombinieren, einschließlich aller Attribute und Gespräche. Im Falle eines Konflikts haben die Attribute des Hauptkontakts Vorrang.", "PRIMARY": { "TITLE": "Hauptkontakt", - "HELP_LABEL": "To be kept" + "HELP_LABEL": "Zu erhalten" }, "CHILD": { "TITLE": "Kontakt zum Zusammenführen", - "PLACEHOLDER": "Search for a contact", - "HELP_LABEL": "To be deleted" + "PLACEHOLDER": "Nach Kontakt suchen", + "HELP_LABEL": "Zu löschen" }, "SUMMARY": { "TITLE": "Zusammenfassung", - "DELETE_WARNING": "Contact of %{childContactName} will be deleted.", + "DELETE_WARNING": "Der Kontakt von %{childContactName} wird gelöscht.", "ATTRIBUTE_WARNING": "Details von Kontakt %{childContactName} wird zu %{primaryContactName} kopiert." }, "SEARCH": { @@ -269,7 +313,7 @@ "ERROR": "Wählen Sie einen Kontakt zum Zusammenführen" }, "SUCCESS_MESSAGE": "Kontakt erfolgreich zusammengeführt", - "ERROR_MESSAGE": "Could not merge contacts, try again!" + "ERROR_MESSAGE": "Kontakte konnten nicht zusammengeführt werden, bitte erneut versuchen!" } } } diff --git a/app/javascript/dashboard/i18n/locale/de/conversation.json b/app/javascript/dashboard/i18n/locale/de/conversation.json index ba041d772556..1a03c16f66e3 100644 --- a/app/javascript/dashboard/i18n/locale/de/conversation.json +++ b/app/javascript/dashboard/i18n/locale/de/conversation.json @@ -23,7 +23,7 @@ "24_HOURS_WINDOW": "24-Stunden-Nachrichtenfenster-Beschränkung", "TWILIO_WHATSAPP_CAN_REPLY": "Du kannst auf diese Unterhaltung nur mit einer Vorlagen-Nachricht antworten aufgrund von", "TWILIO_WHATSAPP_24_HOURS_WINDOW": "24-Stunden-Nachrichtenfenster-Beschränkung", - "SELECT_A_TWEET_TO_REPLY": "Bitte wählen Sie einen Tweet aus, auf den Sie antworten möchten.", + "SELECT_A_TWEET_TO_REPLY": "Bitte wählen Sie einen Tweet aus, auf welchen Sie antworten möchten.", "REPLYING_TO": "Du antwortest auf:", "REMOVE_SELECTION": "Auswahl entfernen", "DOWNLOAD": "Herunterladen", @@ -40,9 +40,9 @@ "OPEN": "Mehr", "CLOSE": "Schließen", "DETAILS": "Einzelheiten", - "SNOOZED_UNTIL_TOMORROW": "Snoozed until tomorrow", - "SNOOZED_UNTIL_NEXT_WEEK": "Snoozed until next week", - "SNOOZED_UNTIL_NEXT_REPLY": "Snoozed until next reply" + "SNOOZED_UNTIL_TOMORROW": "Schlummern bis morgen", + "SNOOZED_UNTIL_NEXT_WEEK": "Schlummern bis nächste Woche", + "SNOOZED_UNTIL_NEXT_REPLY": "Schlummern bis zur nächsten Antwort" }, "RESOLVE_DROPDOWN": { "MARK_PENDING": "Als ausstehend markieren", @@ -87,7 +87,7 @@ "CHANGE_AGENT": "Konversationsempfänger geändert", "CHANGE_TEAM": "Teamzuordnung dieser Konversation geändert", "FILE_SIZE_LIMIT": "Die Datei überschreitet das Limit von {MAXIMUM_FILE_UPLOAD_SIZE} für Anhänge", - "MESSAGE_ERROR": "Unable to send this message, please try again later", + "MESSAGE_ERROR": "Nachricht konnte nicht gesendet werden, bitte versuchen Sie es später erneut", "SENT_BY": "Gesendet von:", "ASSIGNMENT": { "SELECT_AGENT": "Agent auswählen", @@ -148,14 +148,35 @@ "PLACEHOLDER": "Keine" }, "ACCORDION": { - "CONTACT_DETAILS": "Contact Details", - "CONVERSATION_ACTIONS": "Conversation Actions", + "CONTACT_DETAILS": "Kontakt-Details", + "CONVERSATION_ACTIONS": "Aktionen für Unterhaltung", "CONVERSATION_LABELS": "Konversationsetiketten", - "CONVERSATION_INFO": "Conversation Information", - "CONTACT_ATTRIBUTES": "Contact Attributes", + "CONVERSATION_INFO": "Informationen über Unterhaltung", + "CONTACT_ATTRIBUTES": "Kontakt-Attribute", "PREVIOUS_CONVERSATION": "Vorherige Gespräche" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "Attribut erfolgreich aktualisiert", + "ERROR": "Unable to update attribute. Please try again later" + }, + "ADD": { + "TITLE": "Hinzufügen", + "SUCCESS": "Attribut erfolgreich hinzugefügt", + "ERROR": "Unable to add attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribut erfolgreich gelöscht", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" + } + }, "EMAIL_HEADER": { "TO": "An", "BCC": "Bcc", diff --git a/app/javascript/dashboard/i18n/locale/de/generalSettings.json b/app/javascript/dashboard/i18n/locale/de/generalSettings.json index 7343dc720821..5d809f37a389 100644 --- a/app/javascript/dashboard/i18n/locale/de/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/de/generalSettings.json @@ -74,10 +74,10 @@ }, "NETWORK": { "NOTIFICATION": { - "TEXT": "Disconnected from Chatwoot" + "TEXT": "Verbindung zu Chatwoot getrennt" }, "BUTTON": { - "REFRESH": "Refresh" + "REFRESH": "Neu laden" } } } diff --git a/app/javascript/dashboard/i18n/locale/de/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/de/inboxMgmt.json index d2bd065e250f..d450e32a3119 100644 --- a/app/javascript/dashboard/i18n/locale/de/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/de/inboxMgmt.json @@ -58,7 +58,7 @@ }, "CHANNEL_WEBHOOK_URL": { "LABEL": "Webhook-URL", - "PLACEHOLDER": "Enter your Webhook URL", + "PLACEHOLDER": "Geben Sie Ihre Webhook-URL ein", "ERROR": "Bitte geben Sie eine gültige URL ein" }, "CHANNEL_DOMAIN": { @@ -97,8 +97,8 @@ "SUBMIT_BUTTON": "Posteingang erstellen" }, "TWILIO": { - "TITLE": "Twilio SMS/WhatsApp Channel", - "DESC": "Integrate Twilio and start supporting your customers via SMS or WhatsApp.", + "TITLE": "Twilio SMS/WhatsApp-Kanal", + "DESC": "Integrieren Sie Twilio und unterstützen Sie Ihre Kunden via SMS oder WhatsApp.", "ACCOUNT_SID": { "LABEL": "Account SID", "PLACEHOLDER": "Bitte geben Sie Ihre Twilio Account SID ein", @@ -115,7 +115,7 @@ }, "CHANNEL_NAME": { "LABEL": "Posteingang-Name", - "PLACEHOLDER": "Please enter a inbox name", + "PLACEHOLDER": "Bitte geben Sie einen Namen für den Posteingang ein", "ERROR": "Dieses Feld wird benötigt" }, "PHONE_NUMBER": { @@ -137,16 +137,16 @@ "DESC": "Unterstützen Sie Ihre Kunden per SMS mit Twilio-Integration." }, "WHATSAPP": { - "TITLE": "WhatsApp Channel", - "DESC": "Start supporting your customers via WhatsApp.", + "TITLE": "WhatsApp-Kanal", + "DESC": "Unterstützen Sie Ihre Kunden via WhatsApp.", "PROVIDERS": { - "LABEL": "API Provider", + "LABEL": "API-Provider", "TWILIO": "Twilio", "360_DIALOG": "360Dialog" }, "INBOX_NAME": { "LABEL": "Posteingang-Name", - "PLACEHOLDER": "Please enter an inbox name", + "PLACEHOLDER": "Bitte geben Sie einen Namen für den Posteingang ein", "ERROR": "Dieses Feld wird benötigt" }, "PHONE_NUMBER": { @@ -155,15 +155,15 @@ "ERROR": "Bitte geben sie einen gültigen Wert ein. Die Telefonnummer sollte mit dem Pluszeichen beginnen." }, "API_KEY": { - "LABEL": "API key", - "SUBTITLE": "Configure the WhatsApp API key.", - "PLACEHOLDER": "API key", - "APPLY_FOR_ACCESS": "Don't have any API key? Apply for access here", - "ERROR": "Please enter a valid value." + "LABEL": "API-Schlüssel", + "SUBTITLE": "Konfigurieren Sie den WhatsApp API-Schlüssel.", + "PLACEHOLDER": "API-Schlüssel", + "APPLY_FOR_ACCESS": "Sie haben keinen API-Schlüssel? Für den Zugriff hier beantragen", + "ERROR": "Bitte geben Sie einen gültigen Wert ein." }, - "SUBMIT_BUTTON": "Create WhatsApp Channel", + "SUBMIT_BUTTON": "WhatsApp-Kanal erstellen", "API": { - "ERROR_MESSAGE": "We were not able to save the WhatsApp channel" + "ERROR_MESSAGE": "Wir konnten den WhatsApp-Kanal nicht speichern" } }, "API_CHANNEL": { @@ -204,50 +204,50 @@ "FINISH_MESSAGE": "Starten Sie die Weiterleitung Ihrer E-Mails an die folgende E-Mail-Adresse." }, "LINE_CHANNEL": { - "TITLE": "LINE Channel", - "DESC": "Integrate with LINE channel and start supporting your customers.", + "TITLE": "LINE-Kanal", + "DESC": "Integrieren Sie den LINE-Kanal und unterstützen Sie Ihre Kunden.", "CHANNEL_NAME": { "LABEL": "Kanal Name", "PLACEHOLDER": "Bitte geben Sie einen Kanalnamen ein", "ERROR": "Dieses Feld wird benötigt" }, "LINE_CHANNEL_ID": { - "LABEL": "LINE Channel ID", - "PLACEHOLDER": "LINE Channel ID" + "LABEL": "LINE-Kanal-ID", + "PLACEHOLDER": "LINE-Kanal-ID" }, "LINE_CHANNEL_SECRET": { - "LABEL": "LINE Channel Secret", - "PLACEHOLDER": "LINE Channel Secret" + "LABEL": "LINE-Kanal-Geheimnis", + "PLACEHOLDER": "LINE-Kanal-Geheimnis" }, "LINE_CHANNEL_TOKEN": { - "LABEL": "LINE Channel Token", - "PLACEHOLDER": "LINE Channel Token" + "LABEL": "LINE-Kanal-Token", + "PLACEHOLDER": "LINE-Kanal-Token" }, - "SUBMIT_BUTTON": "Create LINE Channel", + "SUBMIT_BUTTON": "LINE-Kanal erstellen", "API": { - "ERROR_MESSAGE": "We were not able to save the LINE channel" + "ERROR_MESSAGE": "Wir konnten den LINE-Kanal nicht speichern" }, "API_CALLBACK": { "TITLE": "Callback URL", - "SUBTITLE": "You have to configure the webhook URL in LINE application with the URL mentioned here." + "SUBTITLE": "Sie müssen die Webhook-URL in der LINE-Anwendung mit der hier genannten URL konfigurieren." } }, "TELEGRAM_CHANNEL": { - "TITLE": "Telegram Channel", - "DESC": "Integrate with Telegram channel and start supporting your customers.", + "TITLE": "Telegram-Kanal", + "DESC": "Integrieren Sie den Telegram-Kanal und unterstützen Sie Ihre Kunden.", "BOT_TOKEN": { - "LABEL": "Bot Token", - "SUBTITLE": "Configure the bot token you have obtained from Telegram BotFather.", - "PLACEHOLDER": "Bot Token" + "LABEL": "Bot-Token", + "SUBTITLE": "Konfigurieren Sie den Bot-Token, welchen Sie von Telegram BotFather erhalten haben.", + "PLACEHOLDER": "Bot-Token" }, - "SUBMIT_BUTTON": "Create Telegram Channel", + "SUBMIT_BUTTON": "Telegram-Kanal erstellen", "API": { - "ERROR_MESSAGE": "We were not able to save the telegram channel" + "ERROR_MESSAGE": "Wir konnten den Telegram-Kanal nicht speichern" } }, "AUTH": { "TITLE": "Wähle einen Kanal", - "DESC": "Chatwoot supports live-chat widget, Facebook page, Twitter profile, WhatsApp, Email etc., as channels. If you want to build a custom channel, you can create it using the API channel. Select one channel from the options below to proceed." + "DESC": "Chatwoot unterstützt Live-Chat-Widget, Facebook-Seite, Twitter-Profil, WhatsApp, E-Mail etc. als Kanäle. Wenn Sie einen eigenen Kanal erstellen möchten, können Sie einen API-Kanal verwenden. Wählen Sie einen Kanal aus den folgenden Optionen aus, um fortzufahren." }, "AGENTS": { "TITLE": "Agenten", @@ -292,23 +292,23 @@ }, "AUTO_ASSIGNMENT": { "ENABLED": "Aktiviert", - "DISABLED": "Behindert" + "DISABLED": "Deaktiviert" }, "EMAIL_COLLECT_BOX": { "ENABLED": "Aktiviert", - "DISABLED": "Behindert" + "DISABLED": "Deaktiviert" }, "ENABLE_CSAT": { "ENABLED": "Aktiviert", - "DISABLED": "Behindert" + "DISABLED": "Deaktiviert" }, "ENABLE_HMAC": { - "LABEL": "Enable" + "LABEL": "Aktivieren" } }, "DELETE": { "BUTTON_TEXT": "Löschen", - "AVATAR_DELETE_BUTTON_TEXT": "Delete Avatar", + "AVATAR_DELETE_BUTTON_TEXT": "Avatar löschen", "CONFIRM": { "TITLE": "Löschung bestätigen", "MESSAGE": "Bist du sicher, das du das löschen möchtest ", @@ -319,8 +319,8 @@ "API": { "SUCCESS_MESSAGE": "Posteingang erfolgreich gelöscht", "ERROR_MESSAGE": "Posteingang konnte nicht gelöscht werden. Bitte versuchen Sie es später noch einmal.", - "AVATAR_SUCCESS_MESSAGE": "Inbox avatar deleted successfully", - "AVATAR_ERROR_MESSAGE": "Could not delete the inbox avatar. Please try again later." + "AVATAR_SUCCESS_MESSAGE": "Avatar von Posteingang erfolgreich gelöscht", + "AVATAR_ERROR_MESSAGE": "Der Avatar vom Posteingang konnte nicht gelöscht werden. Bitte versuchen Sie es später erneut." } }, "TABS": { @@ -353,11 +353,11 @@ "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 Benutzer-Identität zu validieren, kann via SDK einen `identity_hash` für jeden Benutzer übergeben werden. Ein Hash kann mithilfe des SH256-Verfahrens mithilfe des nachfolgenden Schlüssels generiert werden.", - "HMAC_MANDATORY_VERIFICATION": "Enforce User Identity Validation", - "HMAC_MANDATORY_DESCRIPTION": "If enabled, Chatwoot SDKs setUser method will not work unless the `identifier_hash` is provided for each user.", - "INBOX_IDENTIFIER": "Inbox Identifier", - "INBOX_IDENTIFIER_SUB_TEXT": "Use the `inbox_identifier` token shown here to authentication your API clients.", - "FORWARD_EMAIL_TITLE": "Forward to Email", + "HMAC_MANDATORY_VERIFICATION": "Erzwinge Benutzer-Identitätsüberprüfung", + "HMAC_MANDATORY_DESCRIPTION": "Wenn aktiviert, funktioniert die setUser Methode der Chatwoot SDK nur, wenn ein `identifier_hash` für jeden Benutzer mitgeliefert wird.", + "INBOX_IDENTIFIER": "Identifizierung für Posteingang", + "INBOX_IDENTIFIER_SUB_TEXT": "Verwenden Sie den hier angezeigten `inbox_identifier`-Token zur Authentifizierung Ihrer API-Clients.", + "FORWARD_EMAIL_TITLE": "Weiterleitung an E-Mail", "FORWARD_EMAIL_SUB_TEXT": "Starten Sie die Weiterleitung Ihrer E-Mails an die folgende E-Mail-Adresse." }, "FACEBOOK_REAUTHORIZE": { @@ -390,7 +390,7 @@ "TIMEZONE_LABEL": "Zeitzone auswählen", "UPDATE": "Einstellungen für Geschäftszeiten aktualisieren", "TOGGLE_AVAILABILITY": "Geschäftszeiten für diesen Posteingang aktivieren", - "UNAVAILABLE_MESSAGE_LABEL": "Unavailable message for visitors", + "UNAVAILABLE_MESSAGE_LABEL": "Nachricht für Besucher außerhalb Geschäftszeiten", "UNAVAILABLE_MESSAGE_DEFAULT": "Wir sind momentan nicht erreichbar. Hinterlassen Sie eine Nachricht und wir antworten Ihnen sobald wir wieder zurück sind.", "TOGGLE_HELP": "Die Aktivierung der Geschäftsverfügbarkeit zeigt die verfügbaren Stunden auf dem Live-Chat-Widget an, auch wenn alle Agenten offline sind. Außerhalb der verfügbaren Stunden können Besucher mit einer Nachricht und einem Vor-Chat-Formular gewarnt werden.", "DAY": { diff --git a/app/javascript/dashboard/i18n/locale/de/integrationApps.json b/app/javascript/dashboard/i18n/locale/de/integrationApps.json index e6090ad5d78b..c3f10e2107c2 100644 --- a/app/javascript/dashboard/i18n/locale/de/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/de/integrationApps.json @@ -5,7 +5,7 @@ "HEADER": "Anwendungen", "STATUS": { "ENABLED": "Aktiviert", - "DISABLED": "Behindert" + "DISABLED": "Deaktiviert" }, "CONFIGURE": "Konfigurieren", "ADD_BUTTON": "Neuen Hook hinzufügen", diff --git a/app/javascript/dashboard/i18n/locale/de/report.json b/app/javascript/dashboard/i18n/locale/de/report.json index b69515f67bfb..22c844360e4c 100644 --- a/app/javascript/dashboard/i18n/locale/de/report.json +++ b/app/javascript/dashboard/i18n/locale/de/report.json @@ -62,7 +62,7 @@ } }, "AGENT_REPORTS": { - "HEADER": "Agents Overview", + "HEADER": "Agenten-Übersicht", "LOADING_CHART": "Diagrammdaten laden ...", "NO_ENOUGH_DATA": "Wir haben nicht genügend Datenpunkte erhalten, um einen Bericht zu erstellen. Bitte versuchen Sie es später erneut.", "DOWNLOAD_AGENT_REPORTS": "Agenten-Berichte herunterladen", @@ -125,11 +125,11 @@ } }, "LABEL_REPORTS": { - "HEADER": "Labels Overview", + "HEADER": "Label-Übersicht", "LOADING_CHART": "Diagrammdaten laden ...", "NO_ENOUGH_DATA": "Wir haben nicht genügend Datenpunkte erhalten, um einen Bericht zu erstellen. Bitte versuchen Sie es später erneut.", - "DOWNLOAD_LABEL_REPORTS": "Download label reports", - "FILTER_DROPDOWN_LABEL": "Select Label", + "DOWNLOAD_LABEL_REPORTS": "Label-Berichte herunterladen", + "FILTER_DROPDOWN_LABEL": "Label auswählen", "METRICS": { "CONVERSATIONS": { "NAME": "Gespräche", @@ -188,10 +188,10 @@ } }, "INBOX_REPORTS": { - "HEADER": "Inbox Overview", + "HEADER": "Posteingangsübersicht", "LOADING_CHART": "Diagrammdaten laden ...", "NO_ENOUGH_DATA": "Wir haben nicht genügend Datenpunkte erhalten, um einen Bericht zu erstellen. Bitte versuchen Sie es später erneut.", - "DOWNLOAD_INBOX_REPORTS": "Download inbox reports", + "DOWNLOAD_INBOX_REPORTS": "Agenten-Berichte herunterladen", "FILTER_DROPDOWN_LABEL": "Eingang auswählen", "METRICS": { "CONVERSATIONS": { @@ -251,11 +251,11 @@ } }, "TEAM_REPORTS": { - "HEADER": "Team Overview", + "HEADER": "Team-Übersicht", "LOADING_CHART": "Diagrammdaten laden ...", "NO_ENOUGH_DATA": "Wir haben nicht genügend Datenpunkte erhalten, um einen Bericht zu erstellen. Bitte versuchen Sie es später erneut.", - "DOWNLOAD_TEAM_REPORTS": "Download team reports", - "FILTER_DROPDOWN_LABEL": "Select Team", + "DOWNLOAD_TEAM_REPORTS": "Team-Berichte herunterladen", + "FILTER_DROPDOWN_LABEL": "Team auswählen", "METRICS": { "CONVERSATIONS": { "NAME": "Gespräche", diff --git a/app/javascript/dashboard/i18n/locale/de/settings.json b/app/javascript/dashboard/i18n/locale/de/settings.json index 150399b39780..0825a0619d62 100644 --- a/app/javascript/dashboard/i18n/locale/de/settings.json +++ b/app/javascript/dashboard/i18n/locale/de/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "Tage der Testversion verbleibend.", - "TRAIL_BUTTON": "Jetzt kaufen" + "TRAIL_BUTTON": "Jetzt kaufen", + "DELETED_USER": "Deleted User" }, "COMPONENTS": { "CODE": { @@ -142,7 +143,7 @@ "ACCOUNT_SETTINGS": "Kontoeinstellungen", "APPLICATIONS": "Anwendungen", "LABELS": "Labels", - "ATTRIBUTES": "Attributes", + "CUSTOM_ATTRIBUTES": "Benutzerdefinierte Attribute", "TEAMS": "Teams", "ALL_CONTACTS": "Alle Kontakte", "TAGGED_WITH": "Markiert mit", @@ -178,15 +179,15 @@ "OPEN_CONVERSATION": "Unterhaltung öffnen", "RESOLVE_AND_NEXT": "Lösen und zum Nächsten gehen", "NAVIGATE_DROPDOWN": "Dropdown-Elemente navigieren", - "RESOLVE_CONVERSATION": "Unterhaltung lösen", - "GO_TO_CONVERSATION_DASHBOARD": "Zur Konversationsübersicht", + "RESOLVE_CONVERSATION": "Unterhaltung als gelöst kennzeichnen", + "GO_TO_CONVERSATION_DASHBOARD": "Gehe zur Konversationsübersicht", "ADD_ATTACHMENT": "Anhang hinzufügen", "GO_TO_CONTACTS_DASHBOARD": "Zur Kontaktübersicht", "TOGGLE_SIDEBAR": "Seitenleiste umschalten", "GO_TO_REPORTS_SIDEBAR": "Zur Berichtsseitenleiste", "MOVE_TO_NEXT_TAB": "Zum nächsten Tab in der Konversationsliste gehen", "GO_TO_SETTINGS": "Zu den Einstellungen", - "SWITCH_CONVERSATION_STATUS": "Switch to the next conversation status", + "SWITCH_CONVERSATION_STATUS": "Zum nächsten Konversations-Status wechseln", "SWITCH_TO_PRIVATE_NOTE": "Zu privaten Notizen wechseln", "TOGGLE_RICH_CONTENT_EDITOR": "Rich-Content-Editor umschalten", "SWITCH_TO_REPLY": "Zur Antwort wechseln", diff --git a/app/javascript/dashboard/i18n/locale/el/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/el/attributesMgmt.json index 3c9e299d8d04..aa35183014a7 100644 --- a/app/javascript/dashboard/i18n/locale/el/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/el/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Ιδιότητες", - "HEADER_BTN_TXT": "Προσθήκη ιδιότητας", - "LOADING": "Λήψη ιδιοτήτων", - "SIDEBAR_TXT": "

Ιδιότητες

Μια προσαρμοσμένη ιδιότητα παρακολουθεί γεγονότα σχετικά με τις επαφές σας/συνομιλίες σας — όπως για παράδειγμα συνδρομή, ή όταν γίνεται η πρώτη παραγγελία κ. λπ.

Για τη δημιουργία ιδιοτήτων απλά κάντε κλικ στοΠροσθήκη Ιδιότητας. Μπορείτε επίσης να επεξεργαστείτε ή να διαγράψετε μια υπάρχουσα Ιδιότητα κάνοντας κλικ στο κουμπί Επεξεργασία ή διαγραφή.

", + "HEADER": "Προσαρμοζόμενες Ιδιότητες", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "Προσθήκη ιδιότητας", + "TITLE": "Add Custom Attribute", "SUBMIT": "Δημιουργία", "CANCEL_BUTTON_TEXT": "Άκυρο", "FORM": { "NAME": { "LABEL": "Εμφανιζόμενο Όνομα", - "PLACEHOLDER": "Εισάγετε το εμφανιζόμενο όνομα της ιδιότητας", + "PLACEHOLDER": "Enter custom attribute display name", "ERROR": "Το όνομα απαιτείται" }, "DESC": { "LABEL": "Περιγραφή", - "PLACEHOLDER": "Εισάγετε την περιγραφή της ιδιότητας", + "PLACEHOLDER": "Enter custom attribute description", "ERROR": "Η περιγραφή απαιτείται" }, "MODEL": { - "LABEL": "Μοντέλο", - "PLACEHOLDER": "Παρακαλώ επιλέξτε ένα μοντέλο", + "LABEL": "Applies to", + "PLACEHOLDER": "Please select one", "ERROR": "Απαιτείται το μοντέλο" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "Ο τύπος απαιτείται" }, "KEY": { - "LABEL": "Κλειδί" + "LABEL": "Κλειδί", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "Η ιδιότητα προστέθηκε με επιτυχία", - "ERROR_MESSAGE": "Δεν ήταν δυνατή η δημιουργία Ιδιότητας, Παρακαλώ δοκιμάστε ξανά αργότερα" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "Διαγραφή", "API": { - "SUCCESS_MESSAGE": "Η ιδιότητα προστέθηκε με επιτυχία.", - "ERROR_MESSAGE": "Δεν ήταν δυνατή η διαγραφή της ιδιότητας. Δοκιμάστε ξανά." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { "TITLE": "Είστε σίγουροι ότι θέλετε να διαγράψετε την ομάδα %{attributeName}", "PLACE_HOLDER": "Παρακαλώ πληκτρολογήστε {attributeName} για επιβεβαίωση", - "MESSAGE": "Διαγραφή θα καταργήσει την ιδιότητα", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "Διαγραφή ", "NO": "Άκυρο" } }, "EDIT": { - "TITLE": "Επεξεργασία ιδιότητας", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "Ενημέρωση", "API": { - "SUCCESS_MESSAGE": "Ο πράκτορας ενημερώθηκε επιτυχώς", - "ERROR_MESSAGE": "Παρουσιάστηκε σφάλμα κατά την ενημέρωση της ιδιότητας, παρακαλώ προσπαθήστε ξανά" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { @@ -77,8 +80,8 @@ "DELETE": "Διαγραφή" }, "EMPTY_RESULT": { - "404": "Δεν δημιουργήθηκαν χαρακτηριστικά", - "NOT_FOUND": "Δεν έχουν ρυθμιστεί ιδιότητες" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/el/chatlist.json b/app/javascript/dashboard/i18n/locale/el/chatlist.json index 42e8b5069135..093ced9daaef 100644 --- a/app/javascript/dashboard/i18n/locale/el/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/el/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "Ανοιχτές", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "Ανοιχτές" }, - { - "TEXT": "Επιλυθείσες", - "VALUE": "resolved" + "resolved": { + "TEXT": "Επιλύθηκαν" }, - { - "TEXT": "Εκκρεμεί", - "VALUE": "εκκρεμεί" + "pending": { + "TEXT": "Εκκρεμεί" }, - { - "TEXT": "Αναβολή", - "VALUE": "αναβολή" + "snoozed": { + "TEXT": "Αναβολή" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -85,6 +81,7 @@ "RECEIVED_VIA_EMAIL": "Παραλήφθηκε από email", "VIEW_TWEET_IN_TWITTER": "Προβολή του tweet στο Twitter", "REPLY_TO_TWEET": "Απάντηση στο tweet", + "SENT": "Επιτυχής αποστολή", "NO_MESSAGES": "Κανένα Μήνυμα", "NO_CONTENT": "Μη διαθέσιμο περιεχόμενο", "HIDE_QUOTED_TEXT": "Απόκρυψη Κειμένου Παράθεσης", diff --git a/app/javascript/dashboard/i18n/locale/el/contact.json b/app/javascript/dashboard/i18n/locale/el/contact.json index 8d8d0a051435..228da847ce13 100644 --- a/app/javascript/dashboard/i18n/locale/el/contact.json +++ b/app/javascript/dashboard/i18n/locale/el/contact.json @@ -7,6 +7,7 @@ "COMPANY": "Εταιρία", "LOCATION": "Θέση", "CONVERSATION_TITLE": "Λεπτομέρειες συνομιλίας", + "VIEW_PROFILE": "View Profile", "BROWSER": "Φυλλομετρητής", "OS": "Λειτουργικό", "INITIATED_FROM": "Αρχικοποίηση από", @@ -154,6 +155,11 @@ "LABEL": "Εισερχόμενα", "ERROR": "Επιλέξτε ένα κιβώτιο εισερχόμενων" }, + "SUBJECT": { + "LABEL": "Θέμα", + "PLACEHOLDER": "Θέμα", + "ERROR": "Subject can't be empty" + }, "MESSAGE": { "LABEL": "Μήνυμα", "PLACEHOLDER": "Γράψτε το μήνυμά σας εδώ", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "Προβολή λεπτομεριών" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "Επαφές", + "LOADING": "Loading contact profile..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "Προσθήκη", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Fetching notes...", + "NOT_AVAILABLE": "There are no notes created for this contact", "HEADER": { "TITLE": "Σημειώσεις" }, + "LIST": { + "LABEL": "added a note" + }, "ADD": { "BUTTON": "Προσθήκη", "PLACEHOLDER": "Προσθήκη σημείωσης", "TITLE": "Shift + Enter για δημιουργία σημείωσης" }, - "FOOTER": { - "BUTTON": "Εμφάνιση όλων των σημειώσεων" + "CONTENT_HEADER": { + "DELETE": "Delete note" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Add attributes", "BUTTON": "Προσθήκη προσαρμοσμένης ιδιότητας", "NOT_AVAILABLE": "Δεν υπάρχουν διαθέσιμες προσαρμοσμένες ιδιότητες για αυτήν την επαφή.", + "COPY_SUCCESSFUL": "Αντιγράφτηκε με επιτυχία στο πρόχειρο", + "ACTIONS": { + "COPY": "Copy attribute", + "DELETE": "Delete attribute", + "EDIT": "Επεξεργασία ιδιότητας" + }, "ADD": { "TITLE": "Δημιουργία προσαρμοσμένης ιδιότητας", "DESC": "Προσθέστε προσαρμοσμένες πληροφορίες σε αυτήν την επαφή." @@ -239,7 +261,29 @@ "VALUE": { "LABEL": "Τιμή ιδιότητας", "PLACEHOLDER": "π.χ.: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "Η ιδιότητα προστέθηκε με επιτυχία", + "ERROR": "Unable to add attribute. Please try again later" + }, + "UPDATE": { + "SUCCESS": "Ο πράκτορας ενημερώθηκε επιτυχώς", + "ERROR": "Unable to update attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Η ιδιότητα προστέθηκε με επιτυχία", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" } + }, + "VALIDATIONS": { + "REQUIRED": "Valid value is required", + "INVALID_URL": "Invalid URL" } }, "MERGE_CONTACTS": { diff --git a/app/javascript/dashboard/i18n/locale/el/conversation.json b/app/javascript/dashboard/i18n/locale/el/conversation.json index c24f627ea462..63f5bb984191 100644 --- a/app/javascript/dashboard/i18n/locale/el/conversation.json +++ b/app/javascript/dashboard/i18n/locale/el/conversation.json @@ -156,6 +156,27 @@ "PREVIOUS_CONVERSATION": "Προηγούμενες συνομιλίες" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "Ο πράκτορας ενημερώθηκε επιτυχώς", + "ERROR": "Unable to update attribute. Please try again later" + }, + "ADD": { + "TITLE": "Προσθήκη", + "SUCCESS": "Η ιδιότητα προστέθηκε με επιτυχία", + "ERROR": "Unable to add attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Η ιδιότητα προστέθηκε με επιτυχία", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" + } + }, "EMAIL_HEADER": { "TO": "Προς", "BCC": "Bcc", diff --git a/app/javascript/dashboard/i18n/locale/el/settings.json b/app/javascript/dashboard/i18n/locale/el/settings.json index a2ef9ecad07e..daefaa5b52fe 100644 --- a/app/javascript/dashboard/i18n/locale/el/settings.json +++ b/app/javascript/dashboard/i18n/locale/el/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "ημέρες δοκιμαστικής περιόδου απομένουν.", - "TRAIL_BUTTON": "Αγόρασε τώρα" + "TRAIL_BUTTON": "Αγόρασε τώρα", + "DELETED_USER": "Deleted User" }, "COMPONENTS": { "CODE": { @@ -142,7 +143,7 @@ "ACCOUNT_SETTINGS": "Ρυθμίσεις Λογαριασμού", "APPLICATIONS": "Εφαρμογές", "LABELS": "Ετικέτες", - "ATTRIBUTES": "Ιδιότητες", + "CUSTOM_ATTRIBUTES": "Προσαρμοζόμενες Ιδιότητες", "TEAMS": "Ομάδες", "ALL_CONTACTS": "Όλες Οι Επαφές", "TAGGED_WITH": "Ετικέτα με", diff --git a/app/javascript/dashboard/i18n/locale/en/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/en/attributesMgmt.json index d7bcb597adf1..0ea8af780d08 100644 --- a/app/javascript/dashboard/i18n/locale/en/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/en/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Attributes", - "HEADER_BTN_TXT": "Add Attribute", - "LOADING": "Fetching attributes", - "SIDEBAR_TXT": "

Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Attributes, just click on the Add Attribute. You can also edit or delete an existing Attribute by clicking on the Edit or Delete button.

", + "HEADER": "Custom Attributes", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "Add attribute", + "TITLE": "Add Custom Attribute", "SUBMIT": "Create", "CANCEL_BUTTON_TEXT": "Cancel", "FORM": { "NAME": { "LABEL": "Display Name", - "PLACEHOLDER": "Enter attribute display name", + "PLACEHOLDER": "Enter custom attribute display name", "ERROR": "Name is required" }, "DESC": { "LABEL": "Description", - "PLACEHOLDER": "Enter attribute description", + "PLACEHOLDER": "Enter custom attribute description", "ERROR": "Description is required" }, "MODEL": { - "LABEL": "Model", - "PLACEHOLDER": "Please select a model", + "LABEL": "Applies to", + "PLACEHOLDER": "Please select one", "ERROR": "Model is required" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "Type is required" }, "KEY": { - "LABEL": "Key" + "LABEL": "Key", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create an attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "Delete", "API": { - "SUCCESS_MESSAGE": "Attribute deleted successfully.", - "ERROR_MESSAGE": "Couldn't delete the attribute. Try again." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { "TITLE": "Are you sure want to delete - %{attributeName}", "PLACE_HOLDER": "Please type {attributeName} to confirm", - "MESSAGE": "Deleting will remove the attribute", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "Delete ", "NO": "Cancel" } }, "EDIT": { - "TITLE": "Edit attribute", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "Update", "API": { - "SUCCESS_MESSAGE": "Attribute updated successfully", - "ERROR_MESSAGE": "There was an error updating attribute, please try again" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { @@ -72,8 +75,8 @@ "DELETE": "Delete" }, "EMPTY_RESULT": { - "404": "There are no attributes created", - "NOT_FOUND": "There are no attributes configured" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/en/chatlist.json b/app/javascript/dashboard/i18n/locale/en/chatlist.json index cda9f28c9f18..1be18cad9108 100644 --- a/app/javascript/dashboard/i18n/locale/en/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/en/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "Open", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "Open" }, - { - "TEXT": "Resolved", - "VALUE": "resolved" + "resolved": { + "TEXT": "Resolved" }, - { - "TEXT": "Pending", - "VALUE": "pending" + "pending": { + "TEXT": "Pending" }, - { - "TEXT": "Snoozed", - "VALUE": "snoozed" + "snoozed": { + "TEXT": "Snoozed" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", diff --git a/app/javascript/dashboard/i18n/locale/en/contact.json b/app/javascript/dashboard/i18n/locale/en/contact.json index 0f2096b14b85..0286dbfa47e8 100644 --- a/app/javascript/dashboard/i18n/locale/en/contact.json +++ b/app/javascript/dashboard/i18n/locale/en/contact.json @@ -7,6 +7,7 @@ "COMPANY": "Company", "LOCATION": "Location", "CONVERSATION_TITLE": "Conversation Details", + "VIEW_PROFILE": "View Profile", "BROWSER": "Browser", "OS": "Operating System", "INITIATED_FROM": "Initiated from", @@ -154,6 +155,11 @@ "LABEL": "Inbox", "ERROR": "Select an inbox" }, + "SUBJECT": { + "LABEL": "Subject", + "PLACEHOLDER": "Subject", + "ERROR": "Subject can't be empty" + }, "MESSAGE": { "LABEL": "Message", "PLACEHOLDER": "Write your message here", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "View details" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "Contacts", + "LOADING": "Loading contact profile..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "Add", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Fetching notes...", + "NOT_AVAILABLE": "There are no notes created for this contact", "HEADER": { "TITLE": "Notes" }, + "LIST": { + "LABEL": "added a note" + }, "ADD": { "BUTTON": "Add", "PLACEHOLDER": "Add a note", "TITLE": "Shift + Enter to create a note" }, - "FOOTER": { - "BUTTON": "View all notes" + "CONTENT_HEADER": { + "DELETE": "Delete note" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Add attributes", "BUTTON": "Add custom attribute", "NOT_AVAILABLE": "There are no custom attributes available for this contact.", + "COPY_SUCCESSFUL": "Copied to clipboard successfully", + "ACTIONS": { + "COPY": "Copy attribute", + "DELETE": "Delete attribute", + "EDIT": "Edit attribute" + }, "ADD": { "TITLE": "Create custom attribute", "DESC": "Add custom information to this contact." @@ -239,7 +261,29 @@ "VALUE": { "LABEL": "Attribute value", "PLACEHOLDER": "Eg: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" } + }, + "VALIDATIONS": { + "REQUIRED": "Valid value is required", + "INVALID_URL": "Invalid URL" } }, "MERGE_CONTACTS": { diff --git a/app/javascript/dashboard/i18n/locale/en/conversation.json b/app/javascript/dashboard/i18n/locale/en/conversation.json index 2eca316067fc..a50e8cb16cf3 100644 --- a/app/javascript/dashboard/i18n/locale/en/conversation.json +++ b/app/javascript/dashboard/i18n/locale/en/conversation.json @@ -156,6 +156,27 @@ "PREVIOUS_CONVERSATION": "Previous Conversations" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "ADD": { + "TITLE": "Add", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" + } + }, "EMAIL_HEADER": { "TO": "To", "BCC": "Bcc", diff --git a/app/javascript/dashboard/i18n/locale/en/generalSettings.json b/app/javascript/dashboard/i18n/locale/en/generalSettings.json index 223a4688e99e..bbeb72f0f46c 100644 --- a/app/javascript/dashboard/i18n/locale/en/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/en/generalSettings.json @@ -79,5 +79,50 @@ "BUTTON": { "REFRESH": "Refresh" } + }, + "COMMAND_BAR": { + "SEARCH_PLACEHOLDER": "Search or jump to", + "SECTIONS": { + "GENERAL": "General", + "REPORTS": "Reports", + "CONVERSATION": "Conversation", + "CHANGE_ASSIGNEE": "Change Assignee", + "CHANGE_TEAM": "Change Team", + "ADD_LABEL": "Add label to the conversation", + "REMOVE_LABEL": "Remove label from the conversation", + "SETTINGS": "Settings" + }, + "COMMANDS": { + "GO_TO_CONVERSATION_DASHBOARD": "Go to Conversation Dashboard", + "GO_TO_CONTACTS_DASHBOARD": "Go to Contacts Dashboard", + "GO_TO_REPORTS_OVERVIEW": "Go to Reports Overview", + "GO_TO_AGENT_REPORTS": "Go to Agent Reports", + "GO_TO_LABEL_REPORTS": "Go to Label Reports", + "GO_TO_INBOX_REPORTS": "Go to Inbox Reports", + "GO_TO_TEAM_REPORTS": "Go to Team Reports", + "GO_TO_SETTINGS_AGENTS": "Go to Agent Settings", + "GO_TO_SETTINGS_TEAMS": "Go to Team Settings", + "GO_TO_SETTINGS_INBOXES": "Go to Inbox Settings", + "GO_TO_SETTINGS_LABELS": "Go to Label Settings", + "GO_TO_SETTINGS_CANNED_RESPONSES": "Go to Canned Response Settings", + "GO_TO_SETTINGS_APPLICATIONS": "Go to Application Settings", + "GO_TO_SETTINGS_ACCOUNT": "Go to Account Settings", + "GO_TO_SETTINGS_PROFILE": "Go to Profile Settings", + "GO_TO_NOTIFICATIONS": "Go to Notifications", + + "ADD_LABELS_TO_CONVERSATION": "Add label to the conversation", + "ASSIGN_AN_AGENT": "Assign an agent", + "ASSIGN_A_TEAM": "Assign a team", + "MUTE_CONVERSATION": "Mute conversation", + "UNMUTE_CONVERSATION": "Unmute conversation", + "REMOVE_LABEL_FROM_CONVERSATION": "Remove label from the conversation", + "REOPEN_CONVERSATION": "Reopen conversation", + "RESOLVE_CONVERSATION": "Resolve conversation", + "SEND_TRANSCRIPT": "Send an email transcript", + "SNOOZE_CONVERSATION": "Snooze Conversation", + "UNTIL_NEXT_REPLY": "Until next reply", + "UNTIL_NEXT_WEEK": "Until next week", + "UNTIL_TOMORROW": "Until tomorrow" + } } } diff --git a/app/javascript/dashboard/i18n/locale/en/settings.json b/app/javascript/dashboard/i18n/locale/en/settings.json index aae345c88be6..837184245eff 100644 --- a/app/javascript/dashboard/i18n/locale/en/settings.json +++ b/app/javascript/dashboard/i18n/locale/en/settings.json @@ -103,7 +103,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "days trial remaining.", - "TRAIL_BUTTON": "Buy Now" + "TRAIL_BUTTON": "Buy Now", + "DELETED_USER": "Deleted User" }, "COMPONENTS": { "CODE": { @@ -138,7 +139,7 @@ "ACCOUNT_SETTINGS": "Account Settings", "APPLICATIONS": "Applications", "LABELS": "Labels", - "ATTRIBUTES": "Attributes", + "CUSTOM_ATTRIBUTES": "Custom Attributes", "TEAMS": "Teams", "ALL_CONTACTS": "All Contacts", "TAGGED_WITH": "Tagged with", diff --git a/app/javascript/dashboard/i18n/locale/es/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/es/attributesMgmt.json index 0232f1a54912..396912552912 100644 --- a/app/javascript/dashboard/i18n/locale/es/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/es/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Attributes", - "HEADER_BTN_TXT": "Add Attribute", - "LOADING": "Fetching attributes", - "SIDEBAR_TXT": "

Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Attributes, just click on the Add Attribute. You can also edit or delete an existing Attribute by clicking on the Edit or Delete button.

", + "HEADER": "Atributos personalizados", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "Add attribute", + "TITLE": "Add Custom Attribute", "SUBMIT": "Crear", "CANCEL_BUTTON_TEXT": "Cancelar", "FORM": { "NAME": { "LABEL": "Display Name", - "PLACEHOLDER": "Enter attribute display name", + "PLACEHOLDER": "Enter custom attribute display name", "ERROR": "Name is required" }, "DESC": { "LABEL": "Descripción", - "PLACEHOLDER": "Enter attribute description", + "PLACEHOLDER": "Enter custom attribute description", "ERROR": "Description is required" }, "MODEL": { - "LABEL": "Model", - "PLACEHOLDER": "Please select a model", + "LABEL": "Applies to", + "PLACEHOLDER": "Please select one", "ERROR": "Model is required" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "Type is required" }, "KEY": { - "LABEL": "Key" + "LABEL": "Key", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create an attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "Eliminar", "API": { - "SUCCESS_MESSAGE": "Attribute deleted successfully.", - "ERROR_MESSAGE": "Couldn't delete the attribute. Try again." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { "TITLE": "¿Está seguro que quiere borrar - %{attributeName}?", "PLACE_HOLDER": "Por favor, escriba {attributeName} para confirmar", - "MESSAGE": "Deleting will remove the attribute", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "Eliminar ", "NO": "Cancelar" } }, "EDIT": { - "TITLE": "Edit attribute", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "Actualizar", "API": { - "SUCCESS_MESSAGE": "Attribute updated successfully", - "ERROR_MESSAGE": "There was an error updating attribute, please try again" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { @@ -77,8 +80,8 @@ "DELETE": "Eliminar" }, "EMPTY_RESULT": { - "404": "There are no attributes created", - "NOT_FOUND": "There are no attributes configured" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/es/chatlist.json b/app/javascript/dashboard/i18n/locale/es/chatlist.json index efa264004c47..31b01a6917b1 100644 --- a/app/javascript/dashboard/i18n/locale/es/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/es/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "Abrir", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "Abrir" }, - { - "TEXT": "Resuelto", - "VALUE": "resolved" + "resolved": { + "TEXT": "Resuelto" }, - { - "TEXT": "Pending", - "VALUE": "pending" + "pending": { + "TEXT": "Pending" }, - { - "TEXT": "Snoozed", - "VALUE": "snoozed" + "snoozed": { + "TEXT": "Snoozed" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -85,6 +81,7 @@ "RECEIVED_VIA_EMAIL": "Recibido por correo electrónico", "VIEW_TWEET_IN_TWITTER": "Ver trino en Twitter", "REPLY_TO_TWEET": "Responder a éste trino", + "SENT": "Sent successfully", "NO_MESSAGES": "No hay mensajes", "NO_CONTENT": "No hay contenido disponible", "HIDE_QUOTED_TEXT": "Hide Quoted Text", diff --git a/app/javascript/dashboard/i18n/locale/es/contact.json b/app/javascript/dashboard/i18n/locale/es/contact.json index dce2d962aee7..4662cb5e354e 100644 --- a/app/javascript/dashboard/i18n/locale/es/contact.json +++ b/app/javascript/dashboard/i18n/locale/es/contact.json @@ -7,6 +7,7 @@ "COMPANY": "Empresa", "LOCATION": "Ubicación", "CONVERSATION_TITLE": "Detalles de la conversación", + "VIEW_PROFILE": "View Profile", "BROWSER": "Navegador", "OS": "Sistema operativo", "INITIATED_FROM": "Iniciado desde", @@ -154,6 +155,11 @@ "LABEL": "Bandeja de entrada", "ERROR": "Seleccione una bandeja de entrada" }, + "SUBJECT": { + "LABEL": "Subject", + "PLACEHOLDER": "Subject", + "ERROR": "Subject can't be empty" + }, "MESSAGE": { "LABEL": "Mensaje", "PLACEHOLDER": "Escriba su mensaje aquí", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "Ver detalles" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "Contactos", + "LOADING": "Loading contact profile..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "Añadir", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Fetching notes...", + "NOT_AVAILABLE": "There are no notes created for this contact", "HEADER": { "TITLE": "Notas" }, + "LIST": { + "LABEL": "added a note" + }, "ADD": { "BUTTON": "Añadir", "PLACEHOLDER": "Añadir nota", "TITLE": "Shift + Enter para crear una nota" }, - "FOOTER": { - "BUTTON": "Ver todas las notas" + "CONTENT_HEADER": { + "DELETE": "Delete note" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Add attributes", "BUTTON": "Add custom attribute", "NOT_AVAILABLE": "There are no custom attributes available for this contact.", + "COPY_SUCCESSFUL": "Copiado al portapapeles satisfactoriamente", + "ACTIONS": { + "COPY": "Copy attribute", + "DELETE": "Delete attribute", + "EDIT": "Edit attribute" + }, "ADD": { "TITLE": "Create custom attribute", "DESC": "Add custom information to this contact." @@ -233,13 +255,35 @@ "CANCEL": "Cancelar", "NAME": { "LABEL": "Custom attribute name", - "PLACEHOLDER": "Eg: shopify id", + "PLACEHOLDER": "Ej: shopify id", "ERROR": "Invalid custom attribute name" }, "VALUE": { "LABEL": "Attribute value", "PLACEHOLDER": "Eg: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" } + }, + "VALIDATIONS": { + "REQUIRED": "Valid value is required", + "INVALID_URL": "Invalid URL" } }, "MERGE_CONTACTS": { diff --git a/app/javascript/dashboard/i18n/locale/es/conversation.json b/app/javascript/dashboard/i18n/locale/es/conversation.json index 7dc35c0f430d..f05204206a45 100644 --- a/app/javascript/dashboard/i18n/locale/es/conversation.json +++ b/app/javascript/dashboard/i18n/locale/es/conversation.json @@ -156,6 +156,27 @@ "PREVIOUS_CONVERSATION": "Conversaciones anteriores" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "ADD": { + "TITLE": "Añadir", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" + } + }, "EMAIL_HEADER": { "TO": "Para", "BCC": "Bcc", diff --git a/app/javascript/dashboard/i18n/locale/es/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/es/inboxMgmt.json index 266f301e5382..ee1bc52657c1 100644 --- a/app/javascript/dashboard/i18n/locale/es/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/es/inboxMgmt.json @@ -346,7 +346,7 @@ "ENABLE_EMAIL_COLLECT_BOX": "Activar caja de recolección de correo electrónico", "ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Activar o desactivar la caja de recolección de correo electrónico", "AUTO_ASSIGNMENT": "Activar asignación automática", - "ENABLE_CSAT": "Enable CSAT", + "ENABLE_CSAT": "Habilitar Encuesta de Satisfacción", "ENABLE_CSAT_SUB_TEXT": "Enable/Disable CSAT(Customer satisfaction) survey after resolving a conversation", "INBOX_UPDATE_TITLE": "Ajustes de la Bandeja de Entrada", "INBOX_UPDATE_SUB_TEXT": "Actualizar la configuración de tu bandeja de entrada", diff --git a/app/javascript/dashboard/i18n/locale/es/settings.json b/app/javascript/dashboard/i18n/locale/es/settings.json index b79de2f07dd0..bc2ddd2d3738 100644 --- a/app/javascript/dashboard/i18n/locale/es/settings.json +++ b/app/javascript/dashboard/i18n/locale/es/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "días de prueba restantes.", - "TRAIL_BUTTON": "Comprar ahora" + "TRAIL_BUTTON": "Comprar ahora", + "DELETED_USER": "Deleted User" }, "COMPONENTS": { "CODE": { @@ -142,14 +143,14 @@ "ACCOUNT_SETTINGS": "Configuración de la cuenta", "APPLICATIONS": "Aplicaciones", "LABELS": "Etiquetas", - "ATTRIBUTES": "Attributes", + "CUSTOM_ATTRIBUTES": "Atributos personalizados", "TEAMS": "Equipos", "ALL_CONTACTS": "Todos los contactos", "TAGGED_WITH": "Etiquetado con", "REPORTS_OVERVIEW": "Overview", - "CSAT": "CSAT", + "CSAT": "Encuestas de Satisfacción", "CAMPAIGNS": "Campañas", - "ONGOING": "Ongoing", + "ONGOING": "En Curso", "ONE_OFF": "One off", "REPORTS_AGENT": "Agentes", "REPORTS_LABEL": "Etiquetas", diff --git a/app/javascript/dashboard/i18n/locale/fa/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/fa/attributesMgmt.json index 222a6c1ec17a..36e58802a541 100644 --- a/app/javascript/dashboard/i18n/locale/fa/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/fa/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "ویژگی ها", - "HEADER_BTN_TXT": "افزودن ویژگی", - "LOADING": "واکشی ویژگی ها", - "SIDEBAR_TXT": "

ویژگی ها

یک ویژگی سفارشی اطلاعات مربوط به مخاطبین یا مکالمات شما را ردیابی می کند - مانند طرح های اشتراکی یا زمانی که اولین مورد را سفارش داده اند و غیره.

برای ایجاد ویژگیها ، فقط روی افزودن ویژگی. کلیک کنید. همچنین می توانید با کلیک روی دکمه ویرایش یا حذف ، یک ویژگی موجود را ویرایش یا حذف کنید.

", + "HEADER": "ویژگی‌های سفارشی", + "HEADER_BTN_TXT": "اضافه کردن ویژگی سفارشی", + "LOADING": "واکشی ویژگی‌های سفارشی", + "SIDEBAR_TXT": "

ویژگی‌های سفارشی

یک ویژگی سفارشی اطلاعات مربوط به مخاطبین یا گفتگو شما را ردیابی می‌کند — مانند طرح‌های اشتراکی یا زمانی که اولین مورد را سفارش داده‌اند و غیره.

برای ایجاد ویژگی‌های سفارشی، فقط روی افزودن ویژگی سفارشی. کلیک کنید. همچنین می‌توانید با کلیک روی دکمه ویرایش یا حذف، یک ویژگی سفارشی موجود را ویرایش یا حذف کنید.

", "ADD": { - "TITLE": "افزودن ویژگی", + "TITLE": "اضافه کردن ویژگی سفارشی", "SUBMIT": "ايجاد كردن", "CANCEL_BUTTON_TEXT": "انصراف", "FORM": { "NAME": { "LABEL": "نمایش نام", - "PLACEHOLDER": "نام نمایشی ویژگی را وارد کنید", + "PLACEHOLDER": "نام نمایشی ویژگی سفارشی را وارد کنید", "ERROR": "نام الزامی است" }, "DESC": { "LABEL": "توضیحات", - "PLACEHOLDER": "توضیحات ویژگی را وارد کنید", + "PLACEHOLDER": "توضیحات ویژگی سفارشی را وارد کنید", "ERROR": "توضیحات الزامی است" }, "MODEL": { - "LABEL": "مدل", - "PLACEHOLDER": "لطفا مدل را انتخاب کنید", + "LABEL": "شامل", + "PLACEHOLDER": "لطفا یکی را انتخاب کنید", "ERROR": "مدل مورد نیاز است" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "نوع الزامی است" }, "KEY": { - "LABEL": "کلید" + "LABEL": "کلید", + "PLACEHOLDER": "کلید ویژگی سفارشی را وارد کنید", + "ERROR": "کلید الزامی است", + "IN_VALID": "کلید نامعتبر" } }, "API": { - "SUCCESS_MESSAGE": "ویژگی با موفقیت اضافه شد", - "ERROR_MESSAGE": "ویژگی ایجاد نشد ، لطفاً بعداً دوباره امتحان کنید" + "SUCCESS_MESSAGE": "ویژگی سفارشی با موفقیت اضافه شد", + "ERROR_MESSAGE": "نمی‌توان ویژگی سفارشی ایجاد کرد، لطفا بعداً دوباره امتحان کنید" } }, "DELETE": { "BUTTON_TEXT": "حذف", "API": { - "SUCCESS_MESSAGE": "ویژگی با موفقیت حذف شد.", - "ERROR_MESSAGE": "ویژگی حذف نشد. دوباره امتحان کنید." + "SUCCESS_MESSAGE": "ویژگی سفارشی با موفقیت حذف شد.", + "ERROR_MESSAGE": "ویژگی سفارشی حذف نشد. دوباره امتحان کنید." }, "CONFIRM": { "TITLE": "آیا مطمئن هستید که می خواهید حذف کنید - %{attributeName}", "PLACE_HOLDER": "برای تایید لطفا {attributeName} را تایپ کنید", - "MESSAGE": "با حذف ویژگی ، ویژگی به طور کامل پاک می شود", + "MESSAGE": "با حذف ویژگی، ویژگی سفارشی به طور کامل حذف می‌شود", "YES": "حذف ", "NO": "انصراف" } }, "EDIT": { - "TITLE": "ویرایش ویژگی", + "TITLE": "ویرایش ویژگی سفارشی", "UPDATE_BUTTON_TEXT": "اعمال شود", "API": { - "SUCCESS_MESSAGE": "ویژگی با موفقیت به روز شد", - "ERROR_MESSAGE": "هنگام بروزرسانی ویژگی خطایی روی داد ، لطفاً دوباره امتحان کنید" + "SUCCESS_MESSAGE": "ویژگی سفارشی با موفقیت به‌روزرسانی شد", + "ERROR_MESSAGE": "هنگام به‌روزرسانی ویژگی سفارشی خطایی روی داد، لطفا دوباره امتحان کنید" } }, "TABS": { @@ -77,8 +80,8 @@ "DELETE": "حذف" }, "EMPTY_RESULT": { - "404": "هیچ ویژگی ایجاد نشده است", - "NOT_FOUND": "هیچ ویژگی پیکربندی نشده است" + "404": "هیچ ویژگی سفارشی ایجاد نشده است", + "NOT_FOUND": "هیچ ویژگی سفارشی پیکربندی نشده است" } } } diff --git a/app/javascript/dashboard/i18n/locale/fa/chatlist.json b/app/javascript/dashboard/i18n/locale/fa/chatlist.json index f020084de8da..d7e32077678a 100644 --- a/app/javascript/dashboard/i18n/locale/fa/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/fa/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "باز", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "باز" }, - { - "TEXT": "حل شده", - "VALUE": "resolved" + "resolved": { + "TEXT": "حل شده" }, - { - "TEXT": "در انتظار", - "VALUE": "در انتظار" + "pending": { + "TEXT": "در انتظار" }, - { - "TEXT": "به تعویق افتاد", - "VALUE": "به تعویق افتاد" + "snoozed": { + "TEXT": "به تعویق افتاد" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -85,6 +81,7 @@ "RECEIVED_VIA_EMAIL": "از طریق ایمیل دریافت شد", "VIEW_TWEET_IN_TWITTER": "مشاهده توییت در توییتر", "REPLY_TO_TWEET": "پاسخ به این توییت", + "SENT": "با موفقیت ارسال شد", "NO_MESSAGES": "هیچ پیامی وجود ندارد", "NO_CONTENT": "هیچ محتوایی موجود نیست", "HIDE_QUOTED_TEXT": "مخفی کردن متن نقل قول شده", diff --git a/app/javascript/dashboard/i18n/locale/fa/contact.json b/app/javascript/dashboard/i18n/locale/fa/contact.json index 2e49d88bfa58..9d72cee5aa68 100644 --- a/app/javascript/dashboard/i18n/locale/fa/contact.json +++ b/app/javascript/dashboard/i18n/locale/fa/contact.json @@ -7,6 +7,7 @@ "COMPANY": "شرکت", "LOCATION": "مکان", "CONVERSATION_TITLE": "جزئیات مکالمه", + "VIEW_PROFILE": "نمایش مشخصات", "BROWSER": "مرورگر", "OS": "سیستم عامل", "INITIATED_FROM": "شروع شده از", @@ -32,8 +33,8 @@ "NO_RESULT": "هیچ برچسبی یافت نشد" } }, - "MERGE_CONTACT": "Merge contact", - "CONTACT_ACTIONS": "Contact actions", + "MERGE_CONTACT": "ادغام مخاطبین", + "CONTACT_ACTIONS": "اقدامات مخاطب", "MUTE_CONTACT": "بی‌صدا کردن گفتگو", "UNMUTE_CONTACT": "خارج کردن از حالت بی صدا", "MUTED_SUCCESS": "این گفتگو به مدت ۶ ساعت بی‌صدا است", @@ -154,6 +155,11 @@ "LABEL": "صندوق ورودی", "ERROR": "انتخاب صندوق ورودی" }, + "SUBJECT": { + "LABEL": "موضوع", + "PLACEHOLDER": "موضوع", + "ERROR": "موضوع نمی تواند خالی باشد" + }, "MESSAGE": { "LABEL": "پیام", "PLACEHOLDER": "پیام خود را اینجا بنویسید", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "مشاهده جزئیات" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "مخاطبین", + "LOADING": "بارگیری مشخصات مخاطب ..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "افزودن", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "درحال گرفتن یادداشت ها ... ", + "NOT_AVAILABLE": "هیچ یادداشت برای این تماس ایجاد نشده است", "HEADER": { "TITLE": "یادداشت" }, + "LIST": { + "LABEL": "یک یادداشت اضافه شد" + }, "ADD": { "BUTTON": "افزودن", "PLACEHOLDER": "افزودن یادداشت", "TITLE": "برای ایجاد یادداشت Shift + Enter را فشار دهید" }, - "FOOTER": { - "BUTTON": "مشاهده همه یادداشت ها" + "CONTENT_HEADER": { + "DELETE": "حذف یادداشت" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "ویژگی ها را اضافه کنید", "BUTTON": "اضافه کردن ویژگی سفارشی", "NOT_AVAILABLE": "هیچ ویژگی سفارشی برای این مخاطب موجود نیست.", + "COPY_SUCCESSFUL": "با موفقیت در کلیپ‌بورد کپی شد", + "ACTIONS": { + "COPY": "کپی ویژگی", + "DELETE": "حذف ویژگی", + "EDIT": "ویرایش ویژگی" + }, "ADD": { "TITLE": "ساخت ویژگی سفارشی", "DESC": "اطلاعات سفارشی مخاطب را اضافه کنید." @@ -239,24 +261,46 @@ "VALUE": { "LABEL": "مقدار ویژگی", "PLACEHOLDER": "مثال: 11901 " + }, + "ADD": { + "TITLE": "ساخت ویژگی جدید ", + "SUCCESS": "ویژگی با موفقیت اضافه شد", + "ERROR": "امکان افزودن ویژگی وجود ندارد. لطفاً بعداً دوباره امتحان کنید" + }, + "UPDATE": { + "SUCCESS": "ویژگی با موفقیت به روز شد", + "ERROR": "امکان به روزرسانی ویژگی وجود ندارد. لطفاً بعداً دوباره امتحان کنید" + }, + "DELETE": { + "SUCCESS": "ویژگی با موفقیت حذف شد", + "ERROR": "امکان حذف ویژگی وجود ندارد. لطفاً بعداً دوباره امتحان کنید" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "ویژگی ها را اضافه کنید", + "PLACEHOLDER": "جستجو ویژگی ها", + "NO_RESULT": "هیچ ویژگی یافت نشد" } + }, + "VALIDATIONS": { + "REQUIRED": "مقدار معتبر مورد نیاز است", + "INVALID_URL": "URL نامعتبر" } }, "MERGE_CONTACTS": { "TITLE": "ادغام مخاطبین", - "DESCRIPTION": "Merge contacts to combine two profiles into one, including all attributes and conversations. In case of conflict, the Primary contact’ s attributes will take precedence.", + "DESCRIPTION": "با ادغام مخاطبین دو پروفایل به همراه تمام ویژگی ها و گفتگوها با هم ادغام می شود. در صورت تعارض، ویژگی های تماس اولیه اولویت دارد.", "PRIMARY": { "TITLE": "مخاطب اصلی", - "HELP_LABEL": "To be kept" + "HELP_LABEL": "نگه داشتن" }, "CHILD": { "TITLE": "ادغام مخاطب", - "PLACEHOLDER": "Search for a contact", - "HELP_LABEL": "To be deleted" + "PLACEHOLDER": "جستجو برای یک مخاطب", + "HELP_LABEL": "حذف شود" }, "SUMMARY": { "TITLE": "خلاصه", - "DELETE_WARNING": "Contact of %{childContactName} will be deleted.", + "DELETE_WARNING": "اطلاعات مخاطب %{childContactName} حذف خواهد شد.", "ATTRIBUTE_WARNING": "اطلاعات مخاطب %{childContactName} کپی شود به %{primaryContactName}." }, "SEARCH": { @@ -269,7 +313,7 @@ "ERROR": "برای ادغام مخاطب ثانویه را انتخاب کنید" }, "SUCCESS_MESSAGE": "مخاطب با موفقیت ادغام شد", - "ERROR_MESSAGE": "Could not merge contacts, try again!" + "ERROR_MESSAGE": "نمی توان مخاطبین را ادغام کرد، دوباره امتحان کنید!" } } } diff --git a/app/javascript/dashboard/i18n/locale/fa/conversation.json b/app/javascript/dashboard/i18n/locale/fa/conversation.json index 038d2e9d55ad..e6135c5842b7 100644 --- a/app/javascript/dashboard/i18n/locale/fa/conversation.json +++ b/app/javascript/dashboard/i18n/locale/fa/conversation.json @@ -156,6 +156,27 @@ "PREVIOUS_CONVERSATION": "گفتگوهای قبلی" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "ایجاد ویژگی", + "UPDATE": { + "SUCCESS": "ویژگی با موفقیت به روز شد", + "ERROR": "امکان به روزرسانی ویژگی وجود ندارد. لطفاً بعداً دوباره امتحان کنید" + }, + "ADD": { + "TITLE": "افزودن", + "SUCCESS": "ویژگی با موفقیت اضافه شد", + "ERROR": "امکان افزودن ویژگی وجود ندارد. لطفاً بعداً دوباره امتحان کنید" + }, + "DELETE": { + "SUCCESS": "ویژگی با موفقیت حذف شد", + "ERROR": "امکان حذف ویژگی وجود ندارد. لطفاً بعداً دوباره امتحان کنید" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "ویژگی ها را اضافه کنید", + "PLACEHOLDER": "جستجو ویژگی ها", + "NO_RESULT": "هیچ ویژگی یافت نشد" + } + }, "EMAIL_HEADER": { "TO": "به", "BCC": "Bcc", diff --git a/app/javascript/dashboard/i18n/locale/fa/settings.json b/app/javascript/dashboard/i18n/locale/fa/settings.json index ba195bc71c61..67c1915aaacc 100644 --- a/app/javascript/dashboard/i18n/locale/fa/settings.json +++ b/app/javascript/dashboard/i18n/locale/fa/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "روز تا اتمام دوره آزمایشی باقی است.", - "TRAIL_BUTTON": "الان بخرید" + "TRAIL_BUTTON": "الان بخرید", + "DELETED_USER": "کاربر حذف شده" }, "COMPONENTS": { "CODE": { @@ -142,7 +143,7 @@ "ACCOUNT_SETTINGS": "تنظیمات حساب", "APPLICATIONS": "برنامه های کاربردی", "LABELS": "برچسب‌ها", - "ATTRIBUTES": "ویژگی ها", + "CUSTOM_ATTRIBUTES": "ویژگی‌های سفارشی", "TEAMS": "تیم‌ها", "ALL_CONTACTS": "تمام مخاطبین", "TAGGED_WITH": "برچسب گذاری شده با", diff --git a/app/javascript/dashboard/i18n/locale/fi/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/fi/attributesMgmt.json index 1062a3b73791..76655ca8b5ae 100644 --- a/app/javascript/dashboard/i18n/locale/fi/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/fi/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Attributes", - "HEADER_BTN_TXT": "Add Attribute", - "LOADING": "Fetching attributes", - "SIDEBAR_TXT": "

Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Attributes, just click on the Add Attribute. You can also edit or delete an existing Attribute by clicking on the Edit or Delete button.

", + "HEADER": "Mukautetut attribuutit", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "Add attribute", + "TITLE": "Add Custom Attribute", "SUBMIT": "Luo", "CANCEL_BUTTON_TEXT": "Peruuta", "FORM": { "NAME": { "LABEL": "Display Name", - "PLACEHOLDER": "Enter attribute display name", + "PLACEHOLDER": "Enter custom attribute display name", "ERROR": "Name is required" }, "DESC": { "LABEL": "Kuvaus", - "PLACEHOLDER": "Enter attribute description", + "PLACEHOLDER": "Enter custom attribute description", "ERROR": "Description is required" }, "MODEL": { - "LABEL": "Model", - "PLACEHOLDER": "Please select a model", + "LABEL": "Applies to", + "PLACEHOLDER": "Please select one", "ERROR": "Model is required" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "Type is required" }, "KEY": { - "LABEL": "Key" + "LABEL": "Key", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create an attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "Poista", "API": { - "SUCCESS_MESSAGE": "Attribute deleted successfully.", - "ERROR_MESSAGE": "Couldn't delete the attribute. Try again." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { "TITLE": "Are you sure want to delete - %{attributeName}", "PLACE_HOLDER": "Please type {attributeName} to confirm", - "MESSAGE": "Deleting will remove the attribute", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "Poista ", "NO": "Peruuta" } }, "EDIT": { - "TITLE": "Edit attribute", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "Päivitä", "API": { - "SUCCESS_MESSAGE": "Attribute updated successfully", - "ERROR_MESSAGE": "There was an error updating attribute, please try again" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { @@ -77,8 +80,8 @@ "DELETE": "Poista" }, "EMPTY_RESULT": { - "404": "There are no attributes created", - "NOT_FOUND": "There are no attributes configured" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/fi/chatlist.json b/app/javascript/dashboard/i18n/locale/fi/chatlist.json index 548cd45f5dfe..aba8e7053d4c 100644 --- a/app/javascript/dashboard/i18n/locale/fi/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/fi/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "Avoin", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "Avaa" }, - { - "TEXT": "Ratkaistu", - "VALUE": "resolved" + "resolved": { + "TEXT": "Ratkaistu" }, - { - "TEXT": "Pending", - "VALUE": "pending" + "pending": { + "TEXT": "Pending" }, - { - "TEXT": "Snoozed", - "VALUE": "snoozed" + "snoozed": { + "TEXT": "Snoozed" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -85,6 +81,7 @@ "RECEIVED_VIA_EMAIL": "Vastaanotettu sähköpostitse", "VIEW_TWEET_IN_TWITTER": "Näytä twiitti Twitterissä", "REPLY_TO_TWEET": "Vastaa tähän twiittiin", + "SENT": "Sent successfully", "NO_MESSAGES": "Ei Viestejä", "NO_CONTENT": "No content available", "HIDE_QUOTED_TEXT": "Hide Quoted Text", diff --git a/app/javascript/dashboard/i18n/locale/fi/contact.json b/app/javascript/dashboard/i18n/locale/fi/contact.json index 78d29949e04e..edde71e039c9 100644 --- a/app/javascript/dashboard/i18n/locale/fi/contact.json +++ b/app/javascript/dashboard/i18n/locale/fi/contact.json @@ -7,6 +7,7 @@ "COMPANY": "Yritys", "LOCATION": "Sijainti", "CONVERSATION_TITLE": "Keskustelutiedot", + "VIEW_PROFILE": "View Profile", "BROWSER": "Selain", "OS": "Käyttöjärjestelmä", "INITIATED_FROM": "Aloitettu lähteestä", @@ -154,6 +155,11 @@ "LABEL": "Inbox", "ERROR": "Select an inbox" }, + "SUBJECT": { + "LABEL": "Subject", + "PLACEHOLDER": "Subject", + "ERROR": "Subject can't be empty" + }, "MESSAGE": { "LABEL": "Message", "PLACEHOLDER": "Write your message here", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "View details" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "Yhteystiedot", + "LOADING": "Loading contact profile..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "Add", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Fetching notes...", + "NOT_AVAILABLE": "There are no notes created for this contact", "HEADER": { "TITLE": "Notes" }, + "LIST": { + "LABEL": "added a note" + }, "ADD": { "BUTTON": "Add", "PLACEHOLDER": "Add a note", "TITLE": "Shift + Enter to create a note" }, - "FOOTER": { - "BUTTON": "View all notes" + "CONTENT_HEADER": { + "DELETE": "Delete note" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Add attributes", "BUTTON": "Add custom attribute", "NOT_AVAILABLE": "There are no custom attributes available for this contact.", + "COPY_SUCCESSFUL": "Kopioitu leikepöydälle onnistuneesti", + "ACTIONS": { + "COPY": "Copy attribute", + "DELETE": "Delete attribute", + "EDIT": "Edit attribute" + }, "ADD": { "TITLE": "Create custom attribute", "DESC": "Add custom information to this contact." @@ -239,7 +261,29 @@ "VALUE": { "LABEL": "Attribute value", "PLACEHOLDER": "Eg: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" } + }, + "VALIDATIONS": { + "REQUIRED": "Valid value is required", + "INVALID_URL": "Invalid URL" } }, "MERGE_CONTACTS": { diff --git a/app/javascript/dashboard/i18n/locale/fi/conversation.json b/app/javascript/dashboard/i18n/locale/fi/conversation.json index 1c48600a3ac7..4beacb51a1fb 100644 --- a/app/javascript/dashboard/i18n/locale/fi/conversation.json +++ b/app/javascript/dashboard/i18n/locale/fi/conversation.json @@ -156,6 +156,27 @@ "PREVIOUS_CONVERSATION": "Edelliset keskustelut" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "ADD": { + "TITLE": "Add", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" + } + }, "EMAIL_HEADER": { "TO": "To", "BCC": "Bcc", diff --git a/app/javascript/dashboard/i18n/locale/fi/settings.json b/app/javascript/dashboard/i18n/locale/fi/settings.json index be3949f061d6..06e48e9b95d3 100644 --- a/app/javascript/dashboard/i18n/locale/fi/settings.json +++ b/app/javascript/dashboard/i18n/locale/fi/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "päivää jäljellä.", - "TRAIL_BUTTON": "Osta nyt" + "TRAIL_BUTTON": "Osta nyt", + "DELETED_USER": "Deleted User" }, "COMPONENTS": { "CODE": { @@ -142,7 +143,7 @@ "ACCOUNT_SETTINGS": "Tilin asetukset", "APPLICATIONS": "Applications", "LABELS": "Tunnisteet", - "ATTRIBUTES": "Attributes", + "CUSTOM_ATTRIBUTES": "Mukautetut attribuutit", "TEAMS": "Teams", "ALL_CONTACTS": "All Contacts", "TAGGED_WITH": "Tagged with", diff --git a/app/javascript/dashboard/i18n/locale/fr/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/fr/attributesMgmt.json index 86c3e3cb44ad..a69126264f29 100644 --- a/app/javascript/dashboard/i18n/locale/fr/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/fr/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Attributs", - "HEADER_BTN_TXT": "Ajouter un attribut", - "LOADING": "Récupération des attributs", - "SIDEBAR_TXT": "

Attributs

Un attribut personnalisé suit les faits de vos contacts/conversations — comme la formule d'abonnement, ou quand ils ont commandé le premier produit, etc.

Pour créer un Attribut, il suffit de cliquer sur le bouton Ajouter un Attribut. Vous pouvez également modifier ou supprimer un attribut existant en cliquant sur le bouton Modifier ou Supprimer.

", + "HEADER": "Attributs personnalisés", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "Ajouter un attribut", + "TITLE": "Add Custom Attribute", "SUBMIT": "Créer", "CANCEL_BUTTON_TEXT": "Annuler", "FORM": { "NAME": { "LABEL": "Nom affiché", - "PLACEHOLDER": "Entrez le nom d'affichage de l'attribut", + "PLACEHOLDER": "Enter custom attribute display name", "ERROR": "Le nom est requis" }, "DESC": { "LABEL": "Description", - "PLACEHOLDER": "Entrez la description de l'attribut", + "PLACEHOLDER": "Enter custom attribute description", "ERROR": "La description est requise" }, "MODEL": { - "LABEL": "Modèle", - "PLACEHOLDER": "Veuillez sélectionner un modèle", + "LABEL": "Applies to", + "PLACEHOLDER": "Please select one", "ERROR": "Le modèle est requis" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "Le type est requis" }, "KEY": { - "LABEL": "Clé" + "LABEL": "Clé", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "Attribut ajouté avec succès", - "ERROR_MESSAGE": "Impossible de créer un attribut, veuillez réessayer plus tard" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "Supprimer", "API": { - "SUCCESS_MESSAGE": "Attribut supprimé avec succès.", - "ERROR_MESSAGE": "Impossible de supprimer l'attribut. Veuillez réessayer." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { "TITLE": "Voulez-vous vraiment supprimer - %{attributeName}", "PLACE_HOLDER": "Veuillez taper {attributeName} pour confirmer", - "MESSAGE": "La suppression supprimera l'attribut", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "Supprimer ", "NO": "Annuler" } }, "EDIT": { - "TITLE": "Modifier l'attribut", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "Mettre à jour", "API": { - "SUCCESS_MESSAGE": "Attribut mis à jour avec succès", - "ERROR_MESSAGE": "Une erreur s'est produite lors de la mise à jour de l'attribut, veuillez réessayer" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { @@ -77,8 +80,8 @@ "DELETE": "Supprimer" }, "EMPTY_RESULT": { - "404": "Il n’y a aucun attribut créé", - "NOT_FOUND": "Il n'y a aucun attribut configuré" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/fr/chatlist.json b/app/javascript/dashboard/i18n/locale/fr/chatlist.json index 67c8b86d2e2a..7552ea48bcc0 100644 --- a/app/javascript/dashboard/i18n/locale/fr/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/fr/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "Ouvert", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "Ouvert" }, - { - "TEXT": "Résolu", - "VALUE": "resolved" + "resolved": { + "TEXT": "Résolu" }, - { - "TEXT": "En attente", - "VALUE": "pending" + "pending": { + "TEXT": "En attente" }, - { - "TEXT": "Reporté", - "VALUE": "snoozed" + "snoozed": { + "TEXT": "Reporté" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -85,6 +81,7 @@ "RECEIVED_VIA_EMAIL": "Reçu par courriel", "VIEW_TWEET_IN_TWITTER": "Voir le tweet sur Twitter", "REPLY_TO_TWEET": "Répondre à ce tweet", + "SENT": "Sent successfully", "NO_MESSAGES": "Pas de messages", "NO_CONTENT": "Aucun contenu disponible", "HIDE_QUOTED_TEXT": "Masquer le texte cité", diff --git a/app/javascript/dashboard/i18n/locale/fr/contact.json b/app/javascript/dashboard/i18n/locale/fr/contact.json index 5e838a5dc141..81557d57213c 100644 --- a/app/javascript/dashboard/i18n/locale/fr/contact.json +++ b/app/javascript/dashboard/i18n/locale/fr/contact.json @@ -7,6 +7,7 @@ "COMPANY": "Société", "LOCATION": "Localisation", "CONVERSATION_TITLE": "Détails de la conversation", + "VIEW_PROFILE": "View Profile", "BROWSER": "Navigateur", "OS": "Système d'exploitation", "INITIATED_FROM": "Initié depuis", @@ -154,6 +155,11 @@ "LABEL": "Boîte de réception", "ERROR": "Sélectionner une boîte de réception" }, + "SUBJECT": { + "LABEL": "Objet", + "PLACEHOLDER": "Objet", + "ERROR": "Subject can't be empty" + }, "MESSAGE": { "LABEL": "Message", "PLACEHOLDER": "Ecrivez votre message ici", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "Voir les détails" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "Contacts", + "LOADING": "Loading contact profile..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "Ajouter", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Fetching notes...", + "NOT_AVAILABLE": "There are no notes created for this contact", "HEADER": { "TITLE": "Notes" }, + "LIST": { + "LABEL": "added a note" + }, "ADD": { "BUTTON": "Ajouter", "PLACEHOLDER": "Ajouter une note", "TITLE": "Shift + Entrée pour créer une note" }, - "FOOTER": { - "BUTTON": "Voir toutes les notes" + "CONTENT_HEADER": { + "DELETE": "Delete note" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Add attributes", "BUTTON": "Ajouter un attribut personnalisé", "NOT_AVAILABLE": "Il n'y a aucun attribut personnalisé disponible pour ce contact.", + "COPY_SUCCESSFUL": "Copié dans le presse-papiers avec succès", + "ACTIONS": { + "COPY": "Copy attribute", + "DELETE": "Delete attribute", + "EDIT": "Modifier l'attribut" + }, "ADD": { "TITLE": "Créer un attribut personnalisé", "DESC": "Ajouter des informations personnalisées à ce contact." @@ -239,7 +261,29 @@ "VALUE": { "LABEL": "Valeur de l'attribut", "PLACEHOLDER": "Ex.: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "Attribut ajouté avec succès", + "ERROR": "Unable to add attribute. Please try again later" + }, + "UPDATE": { + "SUCCESS": "Attribut mis à jour avec succès", + "ERROR": "Unable to update attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribut supprimé avec succès", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" } + }, + "VALIDATIONS": { + "REQUIRED": "Valid value is required", + "INVALID_URL": "Invalid URL" } }, "MERGE_CONTACTS": { diff --git a/app/javascript/dashboard/i18n/locale/fr/conversation.json b/app/javascript/dashboard/i18n/locale/fr/conversation.json index 1b8acda5b611..4e6596e4dd88 100644 --- a/app/javascript/dashboard/i18n/locale/fr/conversation.json +++ b/app/javascript/dashboard/i18n/locale/fr/conversation.json @@ -156,6 +156,27 @@ "PREVIOUS_CONVERSATION": "Conversations précédentes" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "Attribut mis à jour avec succès", + "ERROR": "Unable to update attribute. Please try again later" + }, + "ADD": { + "TITLE": "Ajouter", + "SUCCESS": "Attribut ajouté avec succès", + "ERROR": "Unable to add attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribut supprimé avec succès", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" + } + }, "EMAIL_HEADER": { "TO": "À", "BCC": "Cci", diff --git a/app/javascript/dashboard/i18n/locale/fr/settings.json b/app/javascript/dashboard/i18n/locale/fr/settings.json index 7a8c4f2208fc..7e2f53639a1b 100644 --- a/app/javascript/dashboard/i18n/locale/fr/settings.json +++ b/app/javascript/dashboard/i18n/locale/fr/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "jours d'essai restants.", - "TRAIL_BUTTON": "Acheter Maintenant" + "TRAIL_BUTTON": "Acheter Maintenant", + "DELETED_USER": "Deleted User" }, "COMPONENTS": { "CODE": { @@ -142,7 +143,7 @@ "ACCOUNT_SETTINGS": "Paramètres du compte", "APPLICATIONS": "Applications", "LABELS": "Étiquettes", - "ATTRIBUTES": "Attributs", + "CUSTOM_ATTRIBUTES": "Attributs personnalisés", "TEAMS": "Équipes", "ALL_CONTACTS": "Tous les contacts", "TAGGED_WITH": "Tagué avec", diff --git a/app/javascript/dashboard/i18n/locale/he/agentMgmt.json b/app/javascript/dashboard/i18n/locale/he/agentMgmt.json index e5a533132553..160dca10d75d 100644 --- a/app/javascript/dashboard/i18n/locale/he/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/he/agentMgmt.json @@ -3,7 +3,7 @@ "HEADER": "סוכנים", "HEADER_BTN_TXT": "הוסף סוכן", "LOADING": "טוען רשימת סוכנים", - "SIDEBAR_TXT": "

Agents

An Agent is a member of your Customer Support team.

Agents will be able to view and reply to messages from your users. The list shows all agents currently in your account.

Click on Add Agent to add a new agent. Agent you add will receive an email with a confirmation link to activate their account, after which they can access Chatwoot and respond to messages.

Access to Chatwoot's features are based on following roles.

Agent - Agents with this role can only access inboxes, reports and conversations. They can assign conversations to other agents or themselves and resolve conversations.

Administrator - Administrator will have access to all Chatwoot features enabled for your account, including settings, along with all of a normal agents' privileges.

", + "SIDEBAR_TXT": "

נציג

נציג חבר בצוות תמיכת הלקוחות שלך.

נציגים יוכלו לצפות ולהשיב להודעות מהמשתמשים שלך. הרשימה מציגה את כל הסוכנים הנמצאים כעת בחשבונך.

לחץ על הוסף נציג כדי להוסיף נציג חדש. הנציג שאתה מוסיף יקבל דוא\"ל עם קישור אישור להפעלת חשבונו, ולאחר מכן יוכל לגשת ל- Chatwoot ולהגיב להודעות.

הגישה לתכונות של Chatwoot מבוססת על תפקידים הבאים.

נציג - סוכנים בעלי התפקיד הזה יכולים לגשת לתיבות דואר נכנס, לדוחות ולשיחות בלבד. הם יכולים להקצות שיחות לסוכנים אחרים או לעצמם ולפתור שיחות.

מנהל - למנהל תהיה גישה לכל תכונות Chatwoot המופעלות בחשבון שלך, כולל הגדרות, יחד עם כל הרשאות נציגים רגילות.

", "AGENT_TYPES": { "ADMINISTRATOR": "אדמין", "AGENT": "סוכן" @@ -90,22 +90,22 @@ } }, "SEARCH": { - "NO_RESULTS": "No results found." + "NO_RESULTS": "לא נמצאו תוצאות." }, "MULTI_SELECTOR": { - "PLACEHOLDER": "None", + "PLACEHOLDER": "אין", "TITLE": { - "AGENT": "Select agent", - "TEAM": "Select team" + "AGENT": "בחר נציג", + "TEAM": "בחר קבוצה" }, "SEARCH": { "NO_RESULTS": { "AGENT": "לא נמצא סוכן", - "TEAM": "No teams found" + "TEAM": "לא נמצאו קבוצות" }, "PLACEHOLDER": { - "AGENT": "Search agents", - "TEAM": "Search teams" + "AGENT": "חפש נציגים", + "TEAM": "חפש קבוצות" } } } diff --git a/app/javascript/dashboard/i18n/locale/he/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/he/attributesMgmt.json index d1abf89b1e8c..56db41f57812 100644 --- a/app/javascript/dashboard/i18n/locale/he/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/he/attributesMgmt.json @@ -1,84 +1,87 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Attributes", - "HEADER_BTN_TXT": "Add Attribute", - "LOADING": "Fetching attributes", - "SIDEBAR_TXT": "

Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Attributes, just click on the Add Attribute. You can also edit or delete an existing Attribute by clicking on the Edit or Delete button.

", + "HEADER": "מאפיינים בהתאמה אישית", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "Add attribute", + "TITLE": "Add Custom Attribute", "SUBMIT": "צור", "CANCEL_BUTTON_TEXT": "ביטול", "FORM": { "NAME": { - "LABEL": "Display Name", - "PLACEHOLDER": "Enter attribute display name", - "ERROR": "Name is required" + "LABEL": "שם תצוגה", + "PLACEHOLDER": "Enter custom attribute display name", + "ERROR": "שם שדה חובה" }, "DESC": { - "LABEL": "Description", - "PLACEHOLDER": "Enter attribute description", - "ERROR": "Description is required" + "LABEL": "תיאור", + "PLACEHOLDER": "Enter custom attribute description", + "ERROR": "נדרש תיאור" }, "MODEL": { - "LABEL": "Model", - "PLACEHOLDER": "Please select a model", - "ERROR": "Model is required" + "LABEL": "חל על", + "PLACEHOLDER": "בבקשה תבחר אחד", + "ERROR": "דגם שדה חובה" }, "TYPE": { - "LABEL": "Type", - "PLACEHOLDER": "Please select a type", - "ERROR": "Type is required" + "LABEL": "סוג", + "PLACEHOLDER": "אנא בחר סוג", + "ERROR": "סוג הינו שדה חובה" }, "KEY": { - "LABEL": "Key" + "LABEL": "מפתח", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create an attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "מחק", "API": { - "SUCCESS_MESSAGE": "Attribute deleted successfully.", - "ERROR_MESSAGE": "Couldn't delete the attribute. Try again." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { - "TITLE": "Are you sure want to delete - %{attributeName}", - "PLACE_HOLDER": "Please type {attributeName} to confirm", - "MESSAGE": "Deleting will remove the attribute", + "TITLE": "האם אתה בטוח רוצה למחוק - %{attributeName}", + "PLACE_HOLDER": "אנא הקלד {attributeName} כדי לאשר", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "מחק ", "NO": "ביטול" } }, "EDIT": { - "TITLE": "Edit attribute", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "עדכן", "API": { - "SUCCESS_MESSAGE": "Attribute updated successfully", - "ERROR_MESSAGE": "There was an error updating attribute, please try again" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { - "HEADER": "Custom Attributes", - "CONVERSATION": "Conversation", - "CONTACT": "Contact" + "HEADER": "מאפיינים בהתאמה אישית", + "CONVERSATION": "שיחה", + "CONTACT": "איש קשר" }, "LIST": { "TABLE_HEADER": [ "שם", - "Description", - "Type", - "Key" + "תיאור", + "סוג", + "מפתח" ], "BUTTONS": { "EDIT": "ערוך", "DELETE": "מחק" }, "EMPTY_RESULT": { - "404": "There are no attributes created", - "NOT_FOUND": "There are no attributes configured" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/he/campaign.json b/app/javascript/dashboard/i18n/locale/he/campaign.json index b097e06c675a..fefb974c4444 100644 --- a/app/javascript/dashboard/i18n/locale/he/campaign.json +++ b/app/javascript/dashboard/i18n/locale/he/campaign.json @@ -1,10 +1,10 @@ { "CAMPAIGN": { "HEADER": "קמפיין", - "SIDEBAR_TXT": "Proactive messages allow the customer to send outbound messages to their contacts which would trigger more conversations. Click on Add Campaign to create a new campaign. You can also edit or delete an existing campaign by clicking on the Edit or Delete button.", + "SIDEBAR_TXT": "הודעות פרואקטיביות מאפשרות ללקוח לשלוח הודעות יוצאות לאנשי הקשר שלו, מה שיפעיל יותר שיחות. לחץ על הוסף מסע פרסום כדי ליצור מסע פרסום חדש. ניתן גם לערוך או למחוק מסע פרסום קיים על ידי לחיצה על הלחצן ערוך או מחק.", "HEADER_BTN_TXT": { - "ONE_OFF": "Create a one off campaign", - "ONGOING": "Create a ongoing campaign" + "ONE_OFF": "צור קמפיין חד פעמי", + "ONGOING": "צור קמפיין מתמשך" }, "ADD": { "TITLE": "צור קמפיין", @@ -18,20 +18,20 @@ "ERROR": "כותרת שדה חובה" }, "SCHEDULED_AT": { - "LABEL": "Scheduled time", - "PLACEHOLDER": "Please select the time", - "CONFIRM": "Confirm", - "ERROR": "Scheduled time is required" + "LABEL": "זמן מתוכנן", + "PLACEHOLDER": "אנא בחר את הזמן", + "CONFIRM": "אמת", + "ERROR": "נדרש זמן מתוכנן" }, "AUDIENCE": { - "LABEL": "Audience", - "PLACEHOLDER": "Select the customer labels", - "ERROR": "Audience is required" + "LABEL": "קהל", + "PLACEHOLDER": "בחר את תוויות הלקוחות", + "ERROR": "נדרש קהל" }, "INBOX": { - "LABEL": "Select Inbox", - "PLACEHOLDER": "Select Inbox", - "ERROR": "Inbox is required" + "LABEL": "בחר תיבת דואר", + "PLACEHOLDER": "בחר תיבת דואר", + "ERROR": "נדרשת תיבת דואר נכנס" }, "MESSAGE": { "LABEL": "הודעה", @@ -54,7 +54,7 @@ "ERROR": "זמן על הדף שדה חובה" }, "ENABLED": "הפעל קמפיין", - "TRIGGER_ONLY_BUSINESS_HOURS": "Trigger only during business hours", + "TRIGGER_ONLY_BUSINESS_HOURS": "הפעל רק בשעות העבודה", "SUBMIT": "הוסף קמפיין" }, "API": { @@ -71,8 +71,8 @@ "NO": "לא, השאר " }, "API": { - "SUCCESS_MESSAGE": "Campaign deleted successfully", - "ERROR_MESSAGE": "Could not delete the campaign. Please try again later." + "SUCCESS_MESSAGE": "מסע הפרסום נמחק בהצלחה", + "ERROR_MESSAGE": "לא ניתן למחוק את מסע הפרסום. בבקשה נסה שוב מאוחר יותר." } }, "EDIT": { @@ -89,11 +89,11 @@ "TABLE_HEADER": { "TITLE": "כותרת", "MESSAGE": "הודעה", - "INBOX": "Inbox", + "INBOX": "תיבת הדואר הנכנס", "STATUS": "מצב", "SENDER": "שולח", "URL": "URL", - "SCHEDULED_AT": "Scheduled time", + "SCHEDULED_AT": "זמן מתוכנן", "TIME_ON_PAGE": "זמן(שניות)", "CREATED_AT": "נוצר בזמן" }, @@ -105,22 +105,22 @@ "STATUS": { "ENABLED": "מופעל", "DISABLED": "כבוי", - "COMPLETED": "Completed", - "ACTIVE": "Active" + "COMPLETED": "הושלם", + "ACTIVE": "פעיל" }, "SENDER": { "BOT": "בוט" } }, "ONE_OFF": { - "HEADER": "One off campaigns", - "404": "There are no one off campaigns created", - "INBOXES_NOT_FOUND": "Please create an sms inbox and start adding campaigns" + "HEADER": "קמפיינים חד פעמיים", + "404": "לא נוצרו מסעות פרסום חד פעמיים", + "INBOXES_NOT_FOUND": "נא ליצור תיבת SMS ולהתחיל להוסיף קמפיינים" }, "ONGOING": { - "HEADER": "Ongoing campaigns", - "404": "There are no ongoing campaigns created", - "INBOXES_NOT_FOUND": "Please create an website inbox and start adding campaigns" + "HEADER": "קמפיינים מתמשכים", + "404": "לא נוצרו קמפיינים מתמשכים", + "INBOXES_NOT_FOUND": "אנא צור תיבת דואר נכנס באתר והתחל להוסיף קמפיינים" } } } diff --git a/app/javascript/dashboard/i18n/locale/he/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/he/cannedMgmt.json index af48f1607485..24b8ac7b11ab 100644 --- a/app/javascript/dashboard/i18n/locale/he/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/he/cannedMgmt.json @@ -1,68 +1,68 @@ { "CANNED_MGMT": { - "HEADER": "Canned Responses", - "HEADER_BTN_TXT": "Add Canned Response", - "LOADING": "Fetching Canned Responses", - "SEARCH_404": "There are no items matching this query", - "SIDEBAR_TXT": "

Canned Responses

Canned Responses are saved reply templates which can be used to quickly send out a reply to a conversation .

For creating a Canned Response, just click on the Add Canned Response. You can also edit or delete an existing Canned Response by clicking on the Edit or Delete button

Canned responses are used with the help of Short Codes. Agents can access canned responses while on a chat by typing '/' followed by the short code.

", + "HEADER": "תגובות מוכנות", + "HEADER_BTN_TXT": "הוסף תגובה מוכנה", + "LOADING": "מביא תגובות שמורות", + "SEARCH_404": "אין פריטים התואמים לשאילתה זו", + "SIDEBAR_TXT": "

תגובות מוכנות

תגובות מוכנות הן תבניות תשובה שמורות בהן ניתן להשתמש כדי לשלוח תשובה מהירה לשיחה .

ליצירת תגובה מוכנה, פשוט לחץ על הוסף תגובה מוכנה. אתה יכול גם לערוך או למחוק תגובה מוכנה קיימת על ידי לחיצה על הלחצן ערוך או מחק

תגובות מוכנות משמשות בעזרת קודים קצרים. סוכנים יכולים לגשת לתגובות מוכנות בזמן צ'אט על ידי הקלדת '/' ואחריה הקוד הקצר.

", "LIST": { - "404": "There are no canned responses available in this account.", - "TITLE": "Manage canned responses", - "DESC": "Canned Responses are predefined reply templates which can be used to quickly send out replies to tickets.", + "404": "אין תגובות מוכנות זמינות בחשבון זה.", + "TITLE": "נהל תגובות מוכנות", + "DESC": "תגובות מוכנות הן תבניות תשובה מוגדרות מראש שבהן ניתן להשתמש כדי לשלוח במהירות תשובות לכרטיסים.", "TABLE_HEADER": [ - "Short Code", - "Content", + "קוד קצר", + "תוכן", "פעולות" ] }, "ADD": { - "TITLE": "Add Canned Response", - "DESC": "Canned Responses are saved reply templates which can be used to quickly send out reply to conversation .", + "TITLE": "הוסף תגובה מוכנה", + "DESC": "תגובות מוכנות הן תבניות תשובה שמורות בהן ניתן להשתמש כדי לשלוח במהירות תשובה לשיחה.", "CANCEL_BUTTON_TEXT": "ביטול", "FORM": { "SHORT_CODE": { - "LABEL": "Short Code", - "PLACEHOLDER": "Please enter a shortcode", - "ERROR": "Short Code is required" + "LABEL": "קוד קצר", + "PLACEHOLDER": "נא להזין קוד קצר", + "ERROR": "קוד קצר נדרש" }, "CONTENT": { - "LABEL": "Content", - "PLACEHOLDER": "Please enter a content", - "ERROR": "Content is required" + "LABEL": "תוכן", + "PLACEHOLDER": "נא להזין תוכן", + "ERROR": "נא להזין תוכן" }, "SUBMIT": "שלח" }, "API": { - "SUCCESS_MESSAGE": "Canned Response added successfully", + "SUCCESS_MESSAGE": "תגובה מוכנה נוספה בהצלחה", "ERROR_MESSAGE": "לא ניתן להתחבר לשרת Woot, נסה שוב מאוחר יותר" } }, "EDIT": { - "TITLE": "Edit Canned Response", + "TITLE": "ערוך תגובה מוכנה", "CANCEL_BUTTON_TEXT": "ביטול", "FORM": { "SHORT_CODE": { - "LABEL": "Short Code", - "PLACEHOLDER": "Please enter a shortcode", - "ERROR": "Short Code is required" + "LABEL": "קוד קצר", + "PLACEHOLDER": "נא להזין קוד קצר", + "ERROR": "קוד קצר נדרש" }, "CONTENT": { - "LABEL": "Content", - "PLACEHOLDER": "Please enter a content", - "ERROR": "Content is required" + "LABEL": "תוכן", + "PLACEHOLDER": "נא להזין תוכן", + "ERROR": "נא להזין תוכן" }, "SUBMIT": "שלח" }, "BUTTON_TEXT": "ערוך", "API": { - "SUCCESS_MESSAGE": "Canned Response updated successfully", + "SUCCESS_MESSAGE": "התגובה המוכנה עודכנה בהצלחה", "ERROR_MESSAGE": "לא ניתן להתחבר לשרת Woot, נסה שוב מאוחר יותר" } }, "DELETE": { "BUTTON_TEXT": "מחק", "API": { - "SUCCESS_MESSAGE": "Canned response deleted successfully", + "SUCCESS_MESSAGE": "התגובה המוכנה נמחקה בהצלחה", "ERROR_MESSAGE": "לא ניתן להתחבר לשרת Woot, נסה שוב מאוחר יותר" }, "CONFIRM": { diff --git a/app/javascript/dashboard/i18n/locale/he/chatlist.json b/app/javascript/dashboard/i18n/locale/he/chatlist.json index 767b465dc36c..78334b7f8a95 100644 --- a/app/javascript/dashboard/i18n/locale/he/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/he/chatlist.json @@ -1,14 +1,14 @@ { "CHAT_LIST": { - "LOADING": "Fetching conversations", - "LOAD_MORE_CONVERSATIONS": "Load more conversations", + "LOADING": "טוען שיחות", + "LOAD_MORE_CONVERSATIONS": "טען עוד שיחות", "EOF": "כל השיחות נטענו 🎉", "LIST": { "404": "אין שיחות פעילות בקבוצה הזו." }, "TAB_HEADING": "שיחות", "SEARCH": { - "INPUT": "Search for People, Chats, Saved Replies .." + "INPUT": "חפש אנשים, צ'אטים, תגובות שמורות .." }, "FILTER_ALL": "הכל", "STATUS_TABS": [ @@ -23,7 +23,7 @@ ], "ASSIGNEE_TYPE_TABS": [ { - "NAME": "Mine", + "NAME": "שלי", "KEY": "me", "COUNT_KEY": "mineCount" }, @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "פתח", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "פתח" }, - { - "TEXT": "נפתרה", - "VALUE": "resolved" + "resolved": { + "TEXT": "נפתרה" }, - { - "TEXT": "Pending", - "VALUE": "pending" + "pending": { + "TEXT": "ממתין ל" }, - { - "TEXT": "Snoozed", - "VALUE": "snoozed" + "snoozed": { + "TEXT": "נימנום" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -63,11 +59,11 @@ }, "audio": { "ICON": "ion-volume-high", - "CONTENT": "Audio message" + "CONTENT": "הודעות קוליות" }, "video": { "ICON": "ion-ios-videocam", - "CONTENT": "Video message" + "CONTENT": "הודעות וידאו" }, "file": { "ICON": "ion-document", @@ -75,19 +71,20 @@ }, "location": { "ICON": "ion-ios-location", - "CONTENT": "Location" + "CONTENT": "מיקום" }, "fallback": { "ICON": "ion-link", - "CONTENT": "has shared a url" + "CONTENT": "שיתף קישור" } }, - "RECEIVED_VIA_EMAIL": "Received via email", - "VIEW_TWEET_IN_TWITTER": "View tweet in Twitter", - "REPLY_TO_TWEET": "Reply to this tweet", - "NO_MESSAGES": "No Messages", - "NO_CONTENT": "No content available", - "HIDE_QUOTED_TEXT": "Hide Quoted Text", - "SHOW_QUOTED_TEXT": "Show Quoted Text" + "RECEIVED_VIA_EMAIL": "התקבל בדואר אלקטרוני", + "VIEW_TWEET_IN_TWITTER": "צפה בציוץ בטוויטר", + "REPLY_TO_TWEET": "הגב לציוץ זה", + "SENT": "נשלח בהצלחה", + "NO_MESSAGES": "אין הודעות", + "NO_CONTENT": "אין תוכן זמין", + "HIDE_QUOTED_TEXT": "הסתר טקסט מצוטט", + "SHOW_QUOTED_TEXT": "הצג טקסט מצוטט" } } diff --git a/app/javascript/dashboard/i18n/locale/he/contact.json b/app/javascript/dashboard/i18n/locale/he/contact.json index 52c79a0e4d51..12ee3af8412f 100644 --- a/app/javascript/dashboard/i18n/locale/he/contact.json +++ b/app/javascript/dashboard/i18n/locale/he/contact.json @@ -1,88 +1,89 @@ { "CONTACT_PANEL": { - "NOT_AVAILABLE": "Not Available", + "NOT_AVAILABLE": "לא זמין", "EMAIL_ADDRESS": "כתובת מייל", - "PHONE_NUMBER": "Phone number", - "COPY_SUCCESSFUL": "Copied to clipboard successfully", - "COMPANY": "Company", - "LOCATION": "Location", - "CONVERSATION_TITLE": "Conversation Details", + "PHONE_NUMBER": "מספר טלפון", + "COPY_SUCCESSFUL": "הועתק ללוח בהצלחה", + "COMPANY": "חברה", + "LOCATION": "מיקום", + "CONVERSATION_TITLE": "פרטי שיחה", + "VIEW_PROFILE": "צפה בפרופיל", "BROWSER": "דפדפן", "OS": "מערכת הפעלה", - "INITIATED_FROM": "Initiated from", - "INITIATED_AT": "Initiated at", - "IP_ADDRESS": "IP Address", - "NEW_MESSAGE": "New message", + "INITIATED_FROM": "יזום מי", + "INITIATED_AT": "יזם ב", + "IP_ADDRESS": "כתובת IP", + "NEW_MESSAGE": "הודעה חדשה", "CONVERSATIONS": { - "NO_RECORDS_FOUND": "There are no previous conversations associated to this contact.", - "TITLE": "Previous Conversations" + "NO_RECORDS_FOUND": "לא היו שיחות קודמות המשויכות לאיש קשר זה.", + "TITLE": "שיחות קודמות" }, "LABELS": { "CONTACT": { - "TITLE": "Contact Labels", - "ERROR": "Couldn't update labels" + "TITLE": "תגיות אנשי קשר", + "ERROR": "לא ניתן לעדכן תוויות" }, "CONVERSATION": { - "TITLE": "Conversation Labels", - "ADD_BUTTON": "Add Labels" + "TITLE": "תוויות שיחה", + "ADD_BUTTON": "הוסף תוויות" }, "LABEL_SELECT": { - "TITLE": "Add Labels", - "PLACEHOLDER": "Search labels", - "NO_RESULT": "No labels found" + "TITLE": "הוסף תוויות", + "PLACEHOLDER": "חפש תוויות", + "NO_RESULT": "לא נמצאו תוויות" } }, - "MERGE_CONTACT": "Merge contact", - "CONTACT_ACTIONS": "Contact actions", - "MUTE_CONTACT": "Mute Conversation", - "UNMUTE_CONTACT": "Unmute Conversation", - "MUTED_SUCCESS": "This conversation is muted for 6 hours", - "UNMUTED_SUCCESS": "This conversation is unmuted", - "SEND_TRANSCRIPT": "Send Transcript", + "MERGE_CONTACT": "מזג אנשי קשר", + "CONTACT_ACTIONS": "פעולות אנשי קשר", + "MUTE_CONTACT": "השתק שיחה", + "UNMUTE_CONTACT": "הסר השתקת שיחה", + "MUTED_SUCCESS": "שיחה זו מושתקת למשך 6 שעות", + "UNMUTED_SUCCESS": "השיחה הזו אינה מושתקת", + "SEND_TRANSCRIPT": "שלח תמלול", "EDIT_LABEL": "ערוך", "SIDEBAR_SECTIONS": { - "CUSTOM_ATTRIBUTES": "Custom Attributes", - "CONTACT_LABELS": "Contact Labels", - "PREVIOUS_CONVERSATIONS": "Previous Conversations" + "CUSTOM_ATTRIBUTES": "תכונות מותאמות אישית", + "CONTACT_LABELS": "תגיות אנשי קשר", + "PREVIOUS_CONVERSATIONS": "שיחות קודמות" } }, "EDIT_CONTACT": { - "BUTTON_LABEL": "Edit Contact", - "TITLE": "Edit contact", - "DESC": "Edit contact details" + "BUTTON_LABEL": "ערוך איש קשר", + "TITLE": "ערוך איש קשר", + "DESC": "ערוך את פרטי הקשר" }, "CREATE_CONTACT": { - "BUTTON_LABEL": "New Contact", - "TITLE": "Create new contact", - "DESC": "Add basic information details about the contact." + "BUTTON_LABEL": "איש קשר חדש", + "TITLE": "צור איש קשר חדש", + "DESC": "הוסף פרטי מידע בסיסיים על איש הקשר." }, "IMPORT_CONTACTS": { - "BUTTON_LABEL": "Import", - "TITLE": "Import Contacts", - "DESC": "Import contacts through a CSV file.", - "DOWNLOAD_LABEL": "Download a sample csv.", + "BUTTON_LABEL": "יבא", + "TITLE": "ייבא אנשי קשר", + "DESC": "ייבא אנשי קשר באמצעות קובץ CSV.", + "DOWNLOAD_LABEL": "הורד קובץ csv לדוגמה.", "FORM": { - "LABEL": "CSV File", - "SUBMIT": "Import", + "LABEL": "קובץ CSV", + "SUBMIT": "יבא", "CANCEL": "ביטול" }, - "SUCCESS_MESSAGE": "Contacts saved successfully", + "SUCCESS_MESSAGE": "אנשי הקשר נשמרו בהצלחה", "ERROR_MESSAGE": "היתה שגיאה, בקשה נסה שוב" }, "DELETE_CONTACT": { - "BUTTON_LABEL": "Delete Contact", - "TITLE": "Delete contact", - "DESC": "Delete contact details", + "BUTTON_LABEL": "מחק איש קשר", + "TITLE": "מחק איש קשר", + "DESC": "מחק את פרטים של איש הקשר", "CONFIRM": { "TITLE": "אשר מחיקה", "MESSAGE": "האם אתה בטוח שברצונך למחוק ", - "PLACE_HOLDER": "Please type {contactName} to confirm", + "PLACE_HOLDER": "הקלד {contactName} כדי לאשר", "YES": "כן, מחק ", "NO": "לא, השאר " }, "API": { - "SUCCESS_MESSAGE": "Contact deleted successfully", - "ERROR_MESSAGE": "Could not delete contact. Please try again later." + "SUCCESS_MESSAGE": "איש הקשר נמחק בהצלחה", + "ERROR_MESSAGE": "לא ניתן היה למחוק איש קשר. בבקשה נסה שוב מאוחר יותר." } }, "CONTACT_FORM": { @@ -90,186 +91,229 @@ "SUBMIT": "שלח", "CANCEL": "ביטול", "AVATAR": { - "LABEL": "Contact Avatar" + "LABEL": "צור קשר עם אווטאר" }, "NAME": { - "PLACEHOLDER": "Enter the full name of the contact", + "PLACEHOLDER": "הזן את שמו המלא של איש הקשר", "LABEL": "שם מלא" }, "BIO": { - "PLACEHOLDER": "Enter the bio of the contact", - "LABEL": "Bio" + "PLACEHOLDER": "הזן את הביוגרפיה של איש הקשר", + "LABEL": "ביוגרפיה" }, "EMAIL_ADDRESS": { - "PLACEHOLDER": "Enter the email address of the contact", + "PLACEHOLDER": "הזן את כתובת האימייל של איש הקשר", "LABEL": "כתובת מייל" }, "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]", - "ERROR": "Phone number should be either empty or of E.164 format" + "PLACEHOLDER": "הזן את מספר הטלפון של איש הקשר", + "LABEL": "מספר טלפון", + "HELP": "מספר הטלפון צריך להיות בפורמט E.164, למשל: +1415555555 [+][קוד מדינה][אזור חיוג][מספר טלפון מקומי]", + "ERROR": "מספר הטלפון צריך להיות ריק או בפורמט E.164" }, "LOCATION": { - "PLACEHOLDER": "Enter the location of the contact", - "LABEL": "Location" + "PLACEHOLDER": "הזן את המיקום של איש הקשר", + "LABEL": "מיקום" }, "COMPANY_NAME": { - "PLACEHOLDER": "Enter the company name", - "LABEL": "Company Name" + "PLACEHOLDER": "הזן את שם החברה", + "LABEL": "שם החברה" }, "SOCIAL_PROFILES": { "FACEBOOK": { - "PLACEHOLDER": "Enter the Facebook username", - "LABEL": "Facebook" + "PLACEHOLDER": "הזן את שם המשתמש בפייסבוק", + "LABEL": "פייסבוק" }, "TWITTER": { - "PLACEHOLDER": "Enter the Twitter username", - "LABEL": "Twitter" + "PLACEHOLDER": "הזן את שם המשתמש בטוויטר", + "LABEL": "טוויטר" }, "LINKEDIN": { - "PLACEHOLDER": "Enter the LinkedIn username", - "LABEL": "LinkedIn" + "PLACEHOLDER": "הזן את שם המשתמש בלינקדאין", + "LABEL": "לינקדאין" }, "GITHUB": { - "PLACEHOLDER": "Enter the Github username", + "PLACEHOLDER": "הזן את שם המשתמש של Github", "LABEL": "Github" } } }, - "SUCCESS_MESSAGE": "Contact saved successfully", - "CONTACT_ALREADY_EXIST": "This email address is in use for another contact.", + "SUCCESS_MESSAGE": "איש הקשר נשמר בהצלחה", + "CONTACT_ALREADY_EXIST": "כתובת דוא\"ל זו נמצאת בשימוש עבור איש קשר אחר.", "ERROR_MESSAGE": "היתה שגיאה, בקשה נסה שוב" }, "NEW_CONVERSATION": { - "BUTTON_LABEL": "Start conversation", - "TITLE": "New conversation", - "DESC": "Start a new conversation by sending a new message.", - "NO_INBOX": "Couldn't find an inbox to initiate a new conversation with this contact.", + "BUTTON_LABEL": "התחל שיחה", + "TITLE": "שיחה חדשה", + "DESC": "התחל שיחה חדשה על ידי שליחת הודעה חדשה.", + "NO_INBOX": "לא ניתן היה למצוא תיבת דואר נכנס כדי ליזום שיחה חדשה עם איש הקשר הזה.", "FORM": { "TO": { - "LABEL": "To" + "LABEL": "אל" }, "INBOX": { - "LABEL": "Inbox", - "ERROR": "Select an inbox" + "LABEL": "תיבת הדואר הנכנס", + "ERROR": "בחר תיבת דואר נכנס" + }, + "SUBJECT": { + "LABEL": "נושא", + "PLACEHOLDER": "נושא", + "ERROR": "הנושא לא יכול להיות ריק" }, "MESSAGE": { "LABEL": "הודעה", - "PLACEHOLDER": "Write your message here", - "ERROR": "Message can't be empty" + "PLACEHOLDER": "כתוב את הודעתך כאן", + "ERROR": "ההודעה לא יכולה להיות ריקה" }, - "SUBMIT": "Send message", + "SUBMIT": "שלח הודעה", "CANCEL": "ביטול", - "SUCCESS_MESSAGE": "Message sent!", - "ERROR_MESSAGE": "Couldn't send! try again" + "SUCCESS_MESSAGE": "הודעה נשלחה!", + "ERROR_MESSAGE": "לא ניתן לשלוח! נסה שוב" } }, "CONTACTS_PAGE": { - "HEADER": "Contacts", - "FIELDS": "Contact fields", - "SEARCH_BUTTON": "Search", - "SEARCH_INPUT_PLACEHOLDER": "Search for contacts", + "HEADER": "איש קשר", + "FIELDS": "שדות איש קשר", + "SEARCH_BUTTON": "חפש", + "SEARCH_INPUT_PLACEHOLDER": "חפש איש קשר", "LIST": { - "LOADING_MESSAGE": "Loading contacts...", - "404": "No contacts matches your search 🔍", - "NO_CONTACTS": "There are no available contacts", + "LOADING_MESSAGE": "טוען אנשי קשר...", + "404": "אין אנשי קשר שתואמים לחיפוש שלך 🔍", + "NO_CONTACTS": "אין אנשי קשר זמינים", "TABLE_HEADER": { "NAME": "שם", - "PHONE_NUMBER": "Phone Number", + "PHONE_NUMBER": "מספר טלפון", "CONVERSATIONS": "שיחות", - "LAST_ACTIVITY": "Last Activity", - "COUNTRY": "Country", - "CITY": "City", - "SOCIAL_PROFILES": "Social Profiles", - "COMPANY": "Company", + "LAST_ACTIVITY": "פעילות אחרונה", + "COUNTRY": "מדינה", + "CITY": "עיר", + "SOCIAL_PROFILES": "פרופילים חברתיים", + "COMPANY": "חברה", "EMAIL_ADDRESS": "כתובת מייל" }, - "VIEW_DETAILS": "View details" + "VIEW_DETAILS": "הצג פרטים" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "איש קשר", + "LOADING": "טוען פרופיל איש קשר..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "הוסף", - "TITLE": "Shift + Enter to create a task" + "TITLE": "Shift + Enter כדי ליצור משימה" }, "FOOTER": { - "DUE_DATE": "Due date", - "LABEL_TITLE": "Set type" + "DUE_DATE": "תאריך להגשה", + "LABEL_TITLE": "הגדר סוג" } }, "NOTES": { + "FETCHING_NOTES": "מביא הערות...", + "NOT_AVAILABLE": "לא נוצרו הערות עבור איש קשר זה", "HEADER": { - "TITLE": "Notes" + "TITLE": "הערות" + }, + "LIST": { + "LABEL": "נוספה הערה" }, "ADD": { "BUTTON": "הוסף", - "PLACEHOLDER": "Add a note", - "TITLE": "Shift + Enter to create a note" + "PLACEHOLDER": "הוסף הערה", + "TITLE": "Shift + Enter כדי ליצור הערה" }, - "FOOTER": { - "BUTTON": "View all notes" + "CONTENT_HEADER": { + "DELETE": "מחק הערה" } }, "EVENTS": { "HEADER": { - "TITLE": "Activities" + "TITLE": "פעילויות" }, "BUTTON": { - "PILL_BUTTON_NOTES": "notes", - "PILL_BUTTON_EVENTS": "events", + "PILL_BUTTON_NOTES": "הערות", + "PILL_BUTTON_EVENTS": "אירועים", "PILL_BUTTON_CONVO": "שיחות" } }, "CUSTOM_ATTRIBUTES": { - "BUTTON": "Add custom attribute", - "NOT_AVAILABLE": "There are no custom attributes available for this contact.", + "ADD_BUTTON_TEXT": "הוסף מאפיין", + "BUTTON": "הוסף מאפיין מותאם אישית", + "NOT_AVAILABLE": "אין מאפיינים מותאמים אישית זמינים עבור איש קשר זה.", + "COPY_SUCCESSFUL": "הועתק ללוח בהצלחה", + "ACTIONS": { + "COPY": "העתק מאפיין", + "DELETE": "מחק מאפיין", + "EDIT": "ערוך מאפיין" + }, "ADD": { - "TITLE": "Create custom attribute", - "DESC": "Add custom information to this contact." + "TITLE": "צור מאפיין מותאם אישית", + "DESC": "הוסף מידע מותאם אישית לאיש קשר זה." }, "FORM": { - "CREATE": "Add attribute", + "CREATE": "הוסף מאפיין", "CANCEL": "ביטול", "NAME": { - "LABEL": "Custom attribute name", - "PLACEHOLDER": "Eg: shopify id", - "ERROR": "Invalid custom attribute name" + "LABEL": "שם מאפיין מותאם אישית", + "PLACEHOLDER": "למשל: מזהה shopify", + "ERROR": "שם מאפיין מותאם אישית לא חוקי" }, "VALUE": { - "LABEL": "Attribute value", - "PLACEHOLDER": "Eg: 11901 " + "LABEL": "ערך מאפיין", + "PLACEHOLDER": "למשל: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "מאפיין נוסף בהצלחה", + "ERROR": "לא ניתן היה ליצור מאפיין, אנא נסה שוב מאוחר יותר" + }, + "UPDATE": { + "SUCCESS": "המאפיין עודכן בהצלחה", + "ERROR": "לא ניתן לעדכן את המאפיין. בבקשה נסה שוב מאוחר יותר" + }, + "DELETE": { + "SUCCESS": "המאפיין נמחק בהצלחה", + "ERROR": "לא ניתן למחוק מאפיין. בבקשה נסה שוב מאוחר יותר" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "הוסף מאפיין", + "PLACEHOLDER": "חפש מאפיין", + "NO_RESULT": "לא נמצאו מאפיינים" } + }, + "VALIDATIONS": { + "REQUIRED": "נדרש ערך חוקי", + "INVALID_URL": "כתובת אתר לא חוקית" } }, "MERGE_CONTACTS": { - "TITLE": "Merge contacts", - "DESCRIPTION": "Merge contacts to combine two profiles into one, including all attributes and conversations. In case of conflict, the Primary contact’ s attributes will take precedence.", + "TITLE": "מזג אנשי קשר", + "DESCRIPTION": "מיזוג אנשי קשר כדי לשלב שני פרופילים לאחד, כולל כל התכונות והשיחות. במקרה של התנגשות, התכונות של איש הקשר הראשי יקבלו עדיפות.", "PRIMARY": { - "TITLE": "Primary contact", - "HELP_LABEL": "To be kept" + "TITLE": "איש קשר ראשי", + "HELP_LABEL": "להישמר" }, "CHILD": { - "TITLE": "Contact to merge", - "PLACEHOLDER": "Search for a contact", - "HELP_LABEL": "To be deleted" + "TITLE": "צור קשר למיזוג", + "PLACEHOLDER": "חפש איש קשר", + "HELP_LABEL": "להימחק" }, "SUMMARY": { - "TITLE": "Summary", - "DELETE_WARNING": "Contact of %{childContactName} will be deleted.", - "ATTRIBUTE_WARNING": "Contact details of %{childContactName} will be copied to %{primaryContactName}." + "TITLE": "סיכום", + "DELETE_WARNING": "איש הקשר של %{childContactName} יימחק.", + "ATTRIBUTE_WARNING": "פרטי הקשר של %{childContactName} יועתקו אל %{primaryContactName}." }, "SEARCH": { - "ERROR": "ERROR_MESSAGE" + "ERROR": "הודעת שגיאה" }, "FORM": { - "SUBMIT": " Merge contacts", + "SUBMIT": " מזג אנשי קשר", "CANCEL": "ביטול", "CHILD_CONTACT": { - "ERROR": "Select a child contact to merge" + "ERROR": "בחר איש קשר צאצא למזג" }, - "SUCCESS_MESSAGE": "Contact merged successfully", - "ERROR_MESSAGE": "Could not merge contacts, try again!" + "SUCCESS_MESSAGE": "איש הקשר מוזג בהצלחה", + "ERROR_MESSAGE": "לא ניתן למזג אנשי קשר, נסה שוב!" } } } diff --git a/app/javascript/dashboard/i18n/locale/he/conversation.json b/app/javascript/dashboard/i18n/locale/he/conversation.json index 4464cccb4011..1ac6de85c496 100644 --- a/app/javascript/dashboard/i18n/locale/he/conversation.json +++ b/app/javascript/dashboard/i18n/locale/he/conversation.json @@ -1,69 +1,69 @@ { "CONVERSATION": { - "404": "Please select a conversation from left pane", - "NO_MESSAGE_1": "Uh oh! Looks like there are no messages from customers in your inbox.", - "NO_MESSAGE_2": " to send a message to your page!", - "NO_INBOX_1": "Hola! Looks like you haven't added any inboxes yet.", - "NO_INBOX_2": " to get started", - "NO_INBOX_AGENT": "Uh Oh! Looks like you are not part of any inbox. Please contact your administrator", - "SEARCH_MESSAGES": "Search for messages in conversations", + "404": "אנא בחר שיחה מהחלונית השמאלית", + "NO_MESSAGE_1": "או - או! נראה שאין הודעות מלקוחות בתיבת הדואר הנכנס שלך.", + "NO_MESSAGE_2": " לשלוח הודעה לעמוד שלך!", + "NO_INBOX_1": "שלום! נראה שעדיין לא הוספת תיבות דואר נכנס.", + "NO_INBOX_2": " להתחיל", + "NO_INBOX_AGENT": "או - או! נראה שאתה לא חלק מתיבת דואר נכנס כלשהי. אנא פנה למנהל המערכת שלך", + "SEARCH_MESSAGES": "חפש הודעות בשיחות", "SEARCH": { - "TITLE": "Search messages", - "RESULT_TITLE": "Search Results", - "LOADING_MESSAGE": "Crunching data...", - "PLACEHOLDER": "Type any text to search messages", - "NO_MATCHING_RESULTS": "No results found." + "TITLE": "חפש הודעות", + "RESULT_TITLE": "תוצאות חיפוש", + "LOADING_MESSAGE": "מחיקת נתונים...", + "PLACEHOLDER": "הקלד כל טקסט כדי לחפש הודעות", + "NO_MATCHING_RESULTS": "לא נמצאו תוצאות." }, - "UNREAD_MESSAGES": "Unread Messages", - "UNREAD_MESSAGE": "Unread Message", - "CLICK_HERE": "Click here", - "LOADING_INBOXES": "Loading inboxes", - "LOADING_CONVERSATIONS": "Loading Conversations", - "CANNOT_REPLY": "You cannot reply due to", - "24_HOURS_WINDOW": "24 hour message window restriction", - "TWILIO_WHATSAPP_CAN_REPLY": "You can only reply to this conversation using a template message due to", - "TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 hour message window restriction", - "SELECT_A_TWEET_TO_REPLY": "Please select a tweet to reply to.", - "REPLYING_TO": "You are replying to:", - "REMOVE_SELECTION": "Remove Selection", + "UNREAD_MESSAGES": "הודעות שלא נקראו", + "UNREAD_MESSAGE": "הודעות שלא נקראו", + "CLICK_HERE": "לחץ כאן", + "LOADING_INBOXES": "טוען תיבות דואר נכנס", + "LOADING_CONVERSATIONS": "טוען שיחות", + "CANNOT_REPLY": "לא ניתן להשיב עקב", + "24_HOURS_WINDOW": "הגבלת חלון הודעות של 24 שעות", + "TWILIO_WHATSAPP_CAN_REPLY": "אתה יכול להשיב לשיחה זו רק באמצעות הודעת תבנית בשל", + "TWILIO_WHATSAPP_24_HOURS_WINDOW": "הגבלת חלון הודעות של 24 שעות", + "SELECT_A_TWEET_TO_REPLY": "אנא בחר ציוץ להשיב.", + "REPLYING_TO": "אתה משיב ל:", + "REMOVE_SELECTION": "הסר בחירה", "DOWNLOAD": "הורד", - "UPLOADING_ATTACHMENTS": "Uploading attachments...", - "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", - "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", - "NO_RESPONSE": "No response", - "RATING_TITLE": "Rating", - "FEEDBACK_TITLE": "Feedback", + "UPLOADING_ATTACHMENTS": "מעלה קובץ מצורף...", + "SUCCESS_DELETE_MESSAGE": "ההודעה נמחקה בהצלחה", + "FAIL_DELETE_MESSSAGE": "לא ניתן למחוק את ההודעה! נסה שוב", + "NO_RESPONSE": "אין תגובה", + "RATING_TITLE": "דירוג", + "FEEDBACK_TITLE": "משוב", "HEADER": { - "RESOLVE_ACTION": "Resolve", - "REOPEN_ACTION": "Reopen", + "RESOLVE_ACTION": "פתרון", + "REOPEN_ACTION": "פתח מחדש", "OPEN_ACTION": "פתח", - "OPEN": "More", + "OPEN": "עוד", "CLOSE": "סגור", - "DETAILS": "details", - "SNOOZED_UNTIL_TOMORROW": "Snoozed until tomorrow", - "SNOOZED_UNTIL_NEXT_WEEK": "Snoozed until next week", - "SNOOZED_UNTIL_NEXT_REPLY": "Snoozed until next reply" + "DETAILS": "פרטים", + "SNOOZED_UNTIL_TOMORROW": "נמנם עד מחר", + "SNOOZED_UNTIL_NEXT_WEEK": "נמנם עד שבוע הבא", + "SNOOZED_UNTIL_NEXT_REPLY": "נמנם עד תגובה הבאה" }, "RESOLVE_DROPDOWN": { - "MARK_PENDING": "Mark as pending", + "MARK_PENDING": "סמן כממתין", "SNOOZE": { - "TITLE": "Snooze until", - "NEXT_REPLY": "Next reply", - "TOMORROW": "Tomorrow", - "NEXT_WEEK": "Next week" + "TITLE": "השהה עד", + "NEXT_REPLY": "תגובה הבאה", + "TOMORROW": "מחר", + "NEXT_WEEK": "שבוע הבא" } }, "FOOTER": { - "MSG_INPUT": "Shift + enter for new line. Start with '/' to select a Canned Response.", - "PRIVATE_MSG_INPUT": "Shift + enter for new line. This will be visible only to Agents" + "MSG_INPUT": "Shift + Enter עבור שורה חדשה. התחל עם '/' כדי לבחור תגובה מוכנה.", + "PRIVATE_MSG_INPUT": "Shift + Enter עבור שורה חדשה. זה יהיה גלוי רק לסוכנים" }, "REPLYBOX": { - "REPLY": "Reply", - "PRIVATE_NOTE": "Private Note", - "SEND": "Send", - "CREATE": "Add Note", - "TWEET": "Tweet", - "TIP_FORMAT_ICON": "Show rich text editor", + "REPLY": "הגב", + "PRIVATE_NOTE": "הערה פרטית", + "SEND": "שלח", + "CREATE": "הוסף הערה", + "TWEET": "ציוץ", + "TIP_FORMAT_ICON": "הצג עורך טקסט עשיר", "TIP_EMOJI_ICON": "Show emoji selector", "TIP_ATTACH_ICON": "Attach files", "ENTER_TO_SEND": "Enter to send", @@ -150,16 +150,37 @@ "ACCORDION": { "CONTACT_DETAILS": "Contact Details", "CONVERSATION_ACTIONS": "Conversation Actions", - "CONVERSATION_LABELS": "Conversation Labels", + "CONVERSATION_LABELS": "תוויות שיחה", "CONVERSATION_INFO": "Conversation Information", "CONTACT_ATTRIBUTES": "Contact Attributes", - "PREVIOUS_CONVERSATION": "Previous Conversations" + "PREVIOUS_CONVERSATION": "שיחות קודמות" + } + }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "המאפיין עודכן בהצלחה", + "ERROR": "לא ניתן לעדכן את המאפיין. בבקשה נסה שוב מאוחר יותר" + }, + "ADD": { + "TITLE": "הוסף", + "SUCCESS": "מאפיין נוסף בהצלחה", + "ERROR": "לא ניתן היה ליצור מאפיין, אנא נסה שוב מאוחר יותר" + }, + "DELETE": { + "SUCCESS": "המאפיין נמחק בהצלחה", + "ERROR": "לא ניתן למחוק מאפיין. בבקשה נסה שוב מאוחר יותר" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "הוסף מאפיין", + "PLACEHOLDER": "חפש מאפיין", + "NO_RESULT": "לא נמצאו מאפיינים" } }, "EMAIL_HEADER": { - "TO": "To", + "TO": "אל", "BCC": "Bcc", - "CC": "Cc", - "SUBJECT": "Subject" + "CC": "עותק", + "SUBJECT": "נושא" } } diff --git a/app/javascript/dashboard/i18n/locale/he/csatMgmt.json b/app/javascript/dashboard/i18n/locale/he/csatMgmt.json index d7d2efc2ada6..129c62d7009c 100644 --- a/app/javascript/dashboard/i18n/locale/he/csatMgmt.json +++ b/app/javascript/dashboard/i18n/locale/he/csatMgmt.json @@ -1,6 +1,6 @@ { "CSAT": { - "TITLE": "Rate your conversation", - "PLACEHOLDER": "Tell us more..." + "TITLE": "דרג את השיחה", + "PLACEHOLDER": "ספר לנו עוד..." } } diff --git a/app/javascript/dashboard/i18n/locale/he/generalSettings.json b/app/javascript/dashboard/i18n/locale/he/generalSettings.json index 572cda56cb52..bbc6356b84d6 100644 --- a/app/javascript/dashboard/i18n/locale/he/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/he/generalSettings.json @@ -1,83 +1,83 @@ { "GENERAL_SETTINGS": { - "TITLE": "Account settings", - "SUBMIT": "Update settings", - "BACK": "Back", + "TITLE": "הגדרות חשבון", + "SUBMIT": "עדכן הגדרות", + "BACK": "חזור", "UPDATE": { - "ERROR": "Could not update settings, try again!", - "SUCCESS": "Successfully updated account settings" + "ERROR": "לא ניתן היה לעדכן את ההגדרות, נסה שוב!", + "SUCCESS": "הגדרות החשבון עודכנו בהצלחה" }, "FORM": { - "ERROR": "Please fix form errors", + "ERROR": "אנא תקן שגיאות בטופס", "GENERAL_SECTION": { - "TITLE": "General settings", + "TITLE": "הגדרות כלליות", "NOTE": "" }, "NAME": { - "LABEL": "Account name", - "PLACEHOLDER": "Your account name", - "ERROR": "Please enter a valid account name" + "LABEL": "שם החשבון", + "PLACEHOLDER": "שם החשבון שלך", + "ERROR": "נא להזין שם חשבון חוקי" }, "LANGUAGE": { - "LABEL": "Site language (Beta)", - "PLACEHOLDER": "Your account name", + "LABEL": "שפת אתר (ביטא)", + "PLACEHOLDER": "שם החשבון שלך", "ERROR": "" }, "DOMAIN": { - "LABEL": "Incoming Email Domain", - "PLACEHOLDER": "The domain where you will receive the emails", + "LABEL": "דומיין דואר נכנס", + "PLACEHOLDER": "הדומיין שבו תקבלו את המיילים", "ERROR": "" }, "SUPPORT_EMAIL": { - "LABEL": "Support Email", - "PLACEHOLDER": "Your company's support email", + "LABEL": "אימייל לתמיכה", + "PLACEHOLDER": "דוא\"ל התמיכה של החברה שלך", "ERROR": "" }, "AUTO_RESOLVE_DURATION": { - "LABEL": "Number of days after a ticket should auto resolve if there is no activity", + "LABEL": "מספר הימים לאחר כרטיס אמור להיפתר אוטומטית אם אין פעילות", "PLACEHOLDER": "30", - "ERROR": "Please enter a valid auto resolve duration (minimum 1 day)" + "ERROR": "אנא הזן משך פתרון אוטומטי חוקי (מינימום יום אחד)" }, "FEATURES": { - "INBOUND_EMAIL_ENABLED": "Conversation continuity with emails is enabled for your account.", - "CUSTOM_EMAIL_DOMAIN_ENABLED": "You can receive emails in your custom domain now." + "INBOUND_EMAIL_ENABLED": "רציפות השיחה עם הודעות אימייל מופעלת עבור החשבון שלך.", + "CUSTOM_EMAIL_DOMAIN_ENABLED": "אתה יכול לקבל אימיילים בדומיין המותאם אישית שלך עכשיו." } }, - "UPDATE_CHATWOOT": "An update %{latestChatwootVersion} for Chatwoot is available. Please update your instance." + "UPDATE_CHATWOOT": "עדכון %{latestChatwootVersion} עבור Chatwoot זמין. אנא עדכן את המופע שלך." }, "FORMS": { "MULTISELECT": { - "ENTER_TO_SELECT": "Press enter to select", - "ENTER_TO_REMOVE": "Press enter to remove", - "SELECT_ONE": "Select one" + "ENTER_TO_SELECT": "הקש אנטר כדי לבחור", + "ENTER_TO_REMOVE": "הקש אנטר כדי להסיר", + "SELECT_ONE": "תבחר אחד" } }, "NOTIFICATIONS_PAGE": { "HEADER": "התראות", - "MARK_ALL_DONE": "Mark All Done", + "MARK_ALL_DONE": "סמן הכל כבוצע", "LIST": { - "LOADING_MESSAGE": "Loading notifications...", - "404": "No Notifications", + "LOADING_MESSAGE": "טוען הודעות...", + "404": "אין התראות", "TABLE_HEADER": [ "שם", - "Phone Number", + "מספר טלפון", "שיחות", - "Last Contacted" + "פניה אחרונה" ] }, "TYPE_LABEL": { - "conversation_creation": "New conversation", - "conversation_assignment": "Conversation Assigned", - "assigned_conversation_new_message": "New Message", - "conversation_mention": "Mention" + "conversation_creation": "שיחה חדשה", + "conversation_assignment": "שיחה הוקצתה", + "assigned_conversation_new_message": "הודעה חדשה", + "conversation_mention": "אִזְכּוּר" } }, "NETWORK": { "NOTIFICATION": { - "TEXT": "Disconnected from Chatwoot" + "TEXT": "מנותק מ-Chatwoot" }, "BUTTON": { - "REFRESH": "Refresh" + "REFRESH": "רענן" } } } diff --git a/app/javascript/dashboard/i18n/locale/he/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/he/inboxMgmt.json index 5d1c5f878e20..d3c343d7ff17 100644 --- a/app/javascript/dashboard/i18n/locale/he/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/he/inboxMgmt.json @@ -1,294 +1,294 @@ { "INBOX_MGMT": { - "HEADER": "Inboxes", - "SIDEBAR_TXT": "

Inbox

When you connect a website or a facebook Page to Chatwoot, it is called an Inbox. You can have unlimited inboxes in your Chatwoot account.

Click on Add Inbox to connect a website or a Facebook Page.

In the Dashboard, you can see all the conversations from all your inboxes in a single place and respond to them under the `Conversations` tab.

You can also see conversations specific to an inbox by clicking on the inbox name on the left pane of the dashboard.

", + "HEADER": "תיבות דואר נכנס", + "SIDEBAR_TXT": "

תיבת דואר נכנס

כאשר אתה מחבר אתר אינטרנט או דף פייסבוק ל-Chatwoot, זה נקרא תיבת דואר נכנס. אתה יכול לקבל תיבות דואר נכנס בלתי מוגבלות בחשבון Chatwoot שלך.

לחץ על הוסף תיבת דואר נכנס כדי לחבר אתר או דף פייסבוק.

בלוח המחוונים, תוכל לראות את כל השיחות מכל תיבות הדואר הנכנס שלך במקום אחד ולהגיב להן בכרטיסייה 'שיחות'.

תוכל גם לראות שיחות ספציפיות לתיבת דואר נכנס על ידי לחיצה על שם תיבת הדואר הנכנס בחלונית השמאלית של לוח המחוונים.

", "LIST": { - "404": "There are no inboxes attached to this account." + "404": "אין תיבות דואר נכנס מצורפות לחשבון זה." }, "CREATE_FLOW": [ { - "title": "Choose Channel", + "title": "בחר ערוץ", "route": "settings_inbox_new", - "body": "Choose the provider you want to integrate with Chatwoot." + "body": "בחר את הספק שברצונך לשלב עם Chatwoot." }, { - "title": "Create Inbox", + "title": "צור תיבת דואר נכנס", "route": "settings_inboxes_page_channel", - "body": "Authenticate your account and create an inbox." + "body": "אמת את חשבונך וצור תיבת דואר נכנס." }, { - "title": "Add Agents", + "title": "הוסף נציג", "route": "settings_inboxes_add_agents", - "body": "Add agents to the created inbox." + "body": "הוסף נציגים לתיבת הדואר הנכנס שנוצרה." }, { - "title": "Voila!", + "title": "וואלה!", "route": "settings_inbox_finish", - "body": "You are all set to go!" + "body": "אתם מוכנים לצאת לדרך!" } ], "ADD": { "CHANNEL_NAME": { - "LABEL": "Inbox Name", - "PLACEHOLDER": "Enter your inbox name (eg: Acme Inc)" + "LABEL": "שם תיבת הדואר הנכנס", + "PLACEHOLDER": "הזן את שם תיבת הדואר הנכנס שלך (למשל: Acme Inc)" }, "WEBSITE_NAME": { - "LABEL": "Website Name", - "PLACEHOLDER": "Enter your website name (eg: Acme Inc)" + "LABEL": "שם האתר", + "PLACEHOLDER": "הזן את שם האתר שלך (למשל: Acme Inc)" }, "FB": { - "HELP": "PS: By signing in, we only get access to your Page's messages. Your private messages can never be accessed by Chatwoot.", - "CHOOSE_PAGE": "Choose Page", - "CHOOSE_PLACEHOLDER": "Select a page from the list", - "INBOX_NAME": "Inbox Name", - "ADD_NAME": "Add a name for your inbox", - "PICK_NAME": "Pick A Name Your Inbox", - "PICK_A_VALUE": "Pick a value" + "HELP": "נ. ב: על ידי כניסה, אנו מקבלים גישה רק להודעות של הדף שלך. לעולם לא ניתן לגשת להודעות הפרטיות שלך על ידי Chatwoot.", + "CHOOSE_PAGE": "בחר עמוד", + "CHOOSE_PLACEHOLDER": "בחר עמוד מהרשימה", + "INBOX_NAME": "שם תיבת הדואר הנכנס", + "ADD_NAME": "הוסף שם לתיבת הדואר הנכנס שלך", + "PICK_NAME": "בחר שם בתיבת הדואר הנכנס שלך", + "PICK_A_VALUE": "בחר ערך" }, "TWITTER": { - "HELP": "To add your Twitter profile as a channel, you need to authenticate your Twitter Profile by clicking on 'Sign in with Twitter' ", - "ERROR_MESSAGE": "There was an error connecting to Twitter, please try again" + "HELP": "כדי להוסיף את פרופיל הטוויטר שלך כערוץ, עליך לאמת את פרופיל הטוויטר שלך על ידי לחיצה על 'היכנס באמצעות טוויטר' ", + "ERROR_MESSAGE": "אירעה שגיאה בחיבור לטוויטר, אנא נסה שוב" }, "WEBSITE_CHANNEL": { - "TITLE": "Website channel", - "DESC": "Create a channel for your website and start supporting your customers via our website widget.", - "LOADING_MESSAGE": "Creating Website Support Channel", + "TITLE": "ערוץ האתר", + "DESC": "צור ערוץ לאתר שלך והתחל לתמוך בלקוחות שלך באמצעות ווידג'ט האתר שלנו.", + "LOADING_MESSAGE": "יצירת ערוץ תמיכה באתר", "CHANNEL_AVATAR": { - "LABEL": "Channel Avatar" + "LABEL": "אוואטר הערוץ" }, "CHANNEL_WEBHOOK_URL": { - "LABEL": "Webhook URL", - "PLACEHOLDER": "Enter your Webhook URL", + "LABEL": "URL של Webhook", + "PLACEHOLDER": "הזן את כתובת האתר שלך ל-Webhook", "ERROR": "אנא הכנס כתובת URL חוקית" }, "CHANNEL_DOMAIN": { - "LABEL": "Website Domain", - "PLACEHOLDER": "Enter your website domain (eg: acme.com)" + "LABEL": "דומיין אתר", + "PLACEHOLDER": "הזן את שם האתר שלך (למשל: Acme Inc)" }, "CHANNEL_WELCOME_TITLE": { - "LABEL": "Welcome Heading", - "PLACEHOLDER": "Hi there !" + "LABEL": "כותרת ברוכים הבאים", + "PLACEHOLDER": "שלום שם !" }, "CHANNEL_WELCOME_TAGLINE": { - "LABEL": "Welcome Tagline", - "PLACEHOLDER": "We make it simple to connect with us. Ask us anything, or share your feedback." + "LABEL": "ברוך הבא לתיוג", + "PLACEHOLDER": "אנחנו עושים את זה פשוט להתחבר אלינו. שאל אותנו כל דבר, או שתף את המשוב שלך." }, "CHANNEL_GREETING_MESSAGE": { - "LABEL": "Channel greeting message", - "PLACEHOLDER": "Acme Inc typically replies in a few hours." + "LABEL": "הודעת ברכה בערוץ", + "PLACEHOLDER": "Acme Inc עונה בדרך כלל תוך מספר שעות." }, "CHANNEL_GREETING_TOGGLE": { - "LABEL": "Enable channel greeting", - "HELP_TEXT": "Send a greeting message to the user when he starts the conversation.", + "LABEL": "אפשר ברכה בערוץ", + "HELP_TEXT": "שלח הודעת ברכה למשתמש כאשר הוא מתחיל את השיחה.", "ENABLED": "מופעל", "DISABLED": "כבוי" }, "REPLY_TIME": { - "TITLE": "Set Reply time", - "IN_A_FEW_MINUTES": "In a few minutes", - "IN_A_FEW_HOURS": "In a few hours", - "IN_A_DAY": "In a day", - "HELP_TEXT": "This reply time will be displayed on the live chat widget" + "TITLE": "הגדר זמן תגובה", + "IN_A_FEW_MINUTES": "בעוד כמה דקות", + "IN_A_FEW_HOURS": "בעוד כמה שעות", + "IN_A_DAY": "ביום", + "HELP_TEXT": "זמן תשובה זה יוצג בווידג'ט הצ'אט החי" }, "WIDGET_COLOR": { - "LABEL": "Widget Color", - "PLACEHOLDER": "Update the widget color used in widget" + "LABEL": "צבע יישומון", + "PLACEHOLDER": "עדכן את צבע הווידג'ט המשמש בווידג'ט" }, - "SUBMIT_BUTTON": "Create inbox" + "SUBMIT_BUTTON": "צור תיבת דואר נכנס" }, "TWILIO": { - "TITLE": "Twilio SMS/WhatsApp Channel", - "DESC": "Integrate Twilio and start supporting your customers via SMS or WhatsApp.", + "TITLE": "ערוץ SMS/ווטסאפ של Twilio", + "DESC": "שלב את Twilio והתחל לתמוך בלקוחות שלך באמצעות SMS או WhatsApp.", "ACCOUNT_SID": { - "LABEL": "Account SID", - "PLACEHOLDER": "Please enter your Twilio Account SID", - "ERROR": "This field is required" + "LABEL": "SID חשבון", + "PLACEHOLDER": "אנא הזן את SID חשבון Twilio שלך", + "ERROR": "שדה חובה" }, "CHANNEL_TYPE": { - "LABEL": "Channel Type", - "ERROR": "Please select your Channel Type" + "LABEL": "סוג ערוץ", + "ERROR": "אנא בחר את סוג הערוץ שלך" }, "AUTH_TOKEN": { "LABEL": "Auth Token", - "PLACEHOLDER": "Please enter your Twilio Auth Token", - "ERROR": "This field is required" + "PLACEHOLDER": "אנא הזן את ה-Twilio Auth Token שלך", + "ERROR": "שדה חובה" }, "CHANNEL_NAME": { - "LABEL": "Inbox Name", - "PLACEHOLDER": "Please enter a inbox name", - "ERROR": "This field is required" + "LABEL": "שם תיבת הדואר הנכנס", + "PLACEHOLDER": "נא להזין שם תיבת דואר נכנס", + "ERROR": "שדה חובה" }, "PHONE_NUMBER": { - "LABEL": "Phone number", - "PLACEHOLDER": "Please enter the phone number from which message will be sent.", - "ERROR": "Please enter a valid value. Phone number should start with `+` sign." + "LABEL": "מספר טלפון", + "PLACEHOLDER": "נא להזין את מספר הטלפון שממנו תישלח ההודעה.", + "ERROR": "אנא הכנס ערך תקין. מספר הטלפון צריך להתחיל בסימן '+'." }, "API_CALLBACK": { - "TITLE": "Callback URL", - "SUBTITLE": "You have to configure the message callback URL in Twilio with the URL mentioned here." + "TITLE": "כתובת אתר להתקשרות חוזרת", + "SUBTITLE": "עליך להגדיר את כתובת האתר להתקשרות חוזרת של ההודעה ב-Twilio עם כתובת האתר המוזכרת כאן." }, - "SUBMIT_BUTTON": "Create Twilio Channel", + "SUBMIT_BUTTON": "צור ערוץ Twilio", "API": { - "ERROR_MESSAGE": "We were not able to authenticate Twilio credentials, please try again" + "ERROR_MESSAGE": "לא הצלחנו לאמת את האישורים של Twilio, אנא נסה שוב" } }, "SMS": { - "TITLE": "SMS Channel via Twilio", - "DESC": "Start supporting your customers via SMS with Twilio integration." + "TITLE": "ערוץ SMS דרך Twilio", + "DESC": "התחל לתמוך בלקוחות שלך באמצעות SMS עם שילוב Twilio." }, "WHATSAPP": { - "TITLE": "WhatsApp Channel", - "DESC": "Start supporting your customers via WhatsApp.", + "TITLE": "ערוץ וואטסאפ", + "DESC": "התחל לתמוך בלקוחות שלך באמצעות וואטסאפ.", "PROVIDERS": { - "LABEL": "API Provider", + "LABEL": "ספק API", "TWILIO": "Twilio", "360_DIALOG": "360Dialog" }, "INBOX_NAME": { - "LABEL": "Inbox Name", - "PLACEHOLDER": "Please enter an inbox name", - "ERROR": "This field is required" + "LABEL": "שם תיבת הדואר הנכנס", + "PLACEHOLDER": "נא להזין שם תיבת דואר נכנס", + "ERROR": "שדה חובה" }, "PHONE_NUMBER": { - "LABEL": "Phone number", - "PLACEHOLDER": "Please enter the phone number from which message will be sent.", - "ERROR": "Please enter a valid value. Phone number should start with `+` sign." + "LABEL": "מספר טלפון", + "PLACEHOLDER": "נא להזין את מספר הטלפון שממנו תישלח ההודעה.", + "ERROR": "אנא הכנס ערך תקין. מספר הטלפון צריך להתחיל בסימן '+'." }, "API_KEY": { "LABEL": "API key", - "SUBTITLE": "Configure the WhatsApp API key.", + "SUBTITLE": "הגדר את מפתח ה-API של וואטסאפ.", "PLACEHOLDER": "API key", - "APPLY_FOR_ACCESS": "Don't have any API key? Apply for access here", - "ERROR": "Please enter a valid value." + "APPLY_FOR_ACCESS": "אין לך מפתח API? הגש בקשה לגישה כאן", + "ERROR": "אנא הכנס ערך תקין." }, - "SUBMIT_BUTTON": "Create WhatsApp Channel", + "SUBMIT_BUTTON": "צור ערוץ וואטסאפ", "API": { - "ERROR_MESSAGE": "We were not able to save the WhatsApp channel" + "ERROR_MESSAGE": "לא הצלחנו לשמור את ערוץ הוואטסאפ" } }, "API_CHANNEL": { - "TITLE": "API Channel", - "DESC": "Integrate with API channel and start supporting your customers.", + "TITLE": "ערוץ API", + "DESC": "שלב עם ערוץ API והתחל לתמוך בלקוחות שלך.", "CHANNEL_NAME": { - "LABEL": "Channel Name", - "PLACEHOLDER": "Please enter a channel name", - "ERROR": "This field is required" + "LABEL": "שם הערוץ", + "PLACEHOLDER": "נא להזין שם ערוץ", + "ERROR": "שדה חובה" }, "WEBHOOK_URL": { "LABEL": "Webhook URL", - "SUBTITLE": "Configure the URL where you want to recieve callbacks on events.", + "SUBTITLE": "הגדר את כתובת האתר שבה ברצונך לקבל התקשרות חוזרת על אירועים.", "PLACEHOLDER": "Webhook URL" }, - "SUBMIT_BUTTON": "Create API Channel", + "SUBMIT_BUTTON": "צור ערוץ API", "API": { - "ERROR_MESSAGE": "We were not able to save the api channel" + "ERROR_MESSAGE": "לא הצלחנו לשמור את ערוץ ה API" } }, "EMAIL_CHANNEL": { - "TITLE": "Email Channel", - "DESC": "Integrate you email inbox.", + "TITLE": "ערוץ דוא\"ל", + "DESC": "שלב את תיבת הדואר הנכנס שלך.", "CHANNEL_NAME": { - "LABEL": "Channel Name", - "PLACEHOLDER": "Please enter a channel name", - "ERROR": "This field is required" + "LABEL": "שם הערוץ", + "PLACEHOLDER": "נא להזין שם ערוץ", + "ERROR": "שדה חובה" }, "EMAIL": { "LABEL": "אימייל", - "SUBTITLE": "Email where your customers sends you support tickets", + "SUBTITLE": "אימייל לאן הלקוחות שלך שולחים לך כרטיסי תמיכה", "PLACEHOLDER": "אימייל" }, - "SUBMIT_BUTTON": "Create Email Channel", + "SUBMIT_BUTTON": "צור ערוץ דוא\"ל", "API": { - "ERROR_MESSAGE": "We were not able to save the email channel" + "ERROR_MESSAGE": "לא הצלחנו לשמור את ערוץ האימייל" }, - "FINISH_MESSAGE": "Start forwarding your emails to the following email address." + "FINISH_MESSAGE": "התחל להעביר את המיילים שלך לכתובת הדוא\"ל הבאה." }, "LINE_CHANNEL": { - "TITLE": "LINE Channel", - "DESC": "Integrate with LINE channel and start supporting your customers.", + "TITLE": "ערוץ LINE", + "DESC": "השתלב עם ערוץ LINE והתחיל לתמוך בלקוחות שלך.", "CHANNEL_NAME": { - "LABEL": "Channel Name", - "PLACEHOLDER": "Please enter a channel name", - "ERROR": "This field is required" + "LABEL": "שם הערוץ", + "PLACEHOLDER": "נא להזין שם ערוץ", + "ERROR": "שדה חובה" }, "LINE_CHANNEL_ID": { - "LABEL": "LINE Channel ID", - "PLACEHOLDER": "LINE Channel ID" + "LABEL": "מזהה ערוץ LINE", + "PLACEHOLDER": "מזהה ערוץ LINE" }, "LINE_CHANNEL_SECRET": { - "LABEL": "LINE Channel Secret", - "PLACEHOLDER": "LINE Channel Secret" + "LABEL": "סוד ערוץ LINE", + "PLACEHOLDER": "סוד ערוץ LINE" }, "LINE_CHANNEL_TOKEN": { - "LABEL": "LINE Channel Token", - "PLACEHOLDER": "LINE Channel Token" + "LABEL": "LINE ערוץ טוקן", + "PLACEHOLDER": "LINE ערוץ טוקן" }, - "SUBMIT_BUTTON": "Create LINE Channel", + "SUBMIT_BUTTON": "צור ערוץ LINE", "API": { - "ERROR_MESSAGE": "We were not able to save the LINE channel" + "ERROR_MESSAGE": "לא הצלחנו לשמור את ערוץ LINE" }, "API_CALLBACK": { - "TITLE": "Callback URL", - "SUBTITLE": "You have to configure the webhook URL in LINE application with the URL mentioned here." + "TITLE": "כתובת אתר להתקשרות חוזרת", + "SUBTITLE": "עליך להגדיר את כתובת האתר של ה-webhook ביישום LINE עם כתובת האתר המוזכרת כאן." } }, "TELEGRAM_CHANNEL": { - "TITLE": "Telegram Channel", - "DESC": "Integrate with Telegram channel and start supporting your customers.", + "TITLE": "ערוץ טלגרם", + "DESC": "השתלב עם ערוץ טלגרם והתחיל לתמוך בלקוחות שלך.", "BOT_TOKEN": { "LABEL": "Bot Token", - "SUBTITLE": "Configure the bot token you have obtained from Telegram BotFather.", + "SUBTITLE": "הגדר את אסימון הבוט שקיבלת מ- Telegram BotFather.", "PLACEHOLDER": "Bot Token" }, - "SUBMIT_BUTTON": "Create Telegram Channel", + "SUBMIT_BUTTON": "צור ערוץ טלגרם", "API": { - "ERROR_MESSAGE": "We were not able to save the telegram channel" + "ERROR_MESSAGE": "לא הצלחנו לשמור את ערוץ הטלגרם" } }, "AUTH": { - "TITLE": "Choose a channel", - "DESC": "Chatwoot supports live-chat widget, Facebook page, Twitter profile, WhatsApp, Email etc., as channels. If you want to build a custom channel, you can create it using the API channel. Select one channel from the options below to proceed." + "TITLE": "בחר ערוץ", + "DESC": "Chatwoot תומך בווידג'ט של צ'אט חי, עמוד פייסבוק, פרופיל טוויטר, וואטסאפ, דוא\"ל וכו', כערוצים. אם אתה רוצה לבנות ערוץ מותאם אישית, אתה יכול ליצור אותו באמצעות ערוץ ה-API. בחר ערוץ אחד מהאפשרויות למטה כדי להמשיך." }, "AGENTS": { "TITLE": "סוכנים", - "DESC": "Here you can add agents to manage your newly created inbox. Only these selected agents will have access to your inbox. Agents which are not part of this inbox will not be able to see or respond to messages in this inbox when they login.
PS: As an administrator, if you need access to all inboxes, you should add yourself as agent to all inboxes that you create.", - "VALIDATION_ERROR": "Add atleast one agent to your new Inbox", - "PICK_AGENTS": "Pick agents for the inbox" + "DESC": "כאן תוכל להוסיף סוכנים לניהול תיבת הדואר הנכנס החדשה שלך. רק לסוכנים שנבחרו אלה תהיה גישה לתיבת הדואר הנכנס שלך. סוכנים שאינם חלק מתיבת הדואר הנכנס הזו לא יוכלו לראות או להגיב להודעות בתיבת הדואר הנכנס הזו כאשר הם נכנסים.
נ. ב.: כמנהל מערכת, אם אתה זקוק לגישה לכל תיבות הדואר הנכנס, עליך להוסיף את עצמך כסוכן לכל תיבות הדואר הנכנס שאתה יוצר.", + "VALIDATION_ERROR": "הוסף לפחות סוכן אחד לתיבת הדואר הנכנס החדשה שלך", + "PICK_AGENTS": "בחר סוכנים לתיבת הדואר הנכנס" }, "DETAILS": { - "TITLE": "Inbox Details", - "DESC": "From the dropdown below, select the Facebook Page you want to connect to Chatwoot. You can also give a custom name to your inbox for better identification." + "TITLE": "פרטי תיבת דואר נכנס", + "DESC": "מהתפריט הנפתח למטה, בחר את דף הפייסבוק שברצונך להתחבר ל-Chatwoot. אתה יכול גם לתת שם מותאם אישית לתיבת הדואר הנכנס שלך לזיהוי טוב יותר." }, "FINISH": { - "TITLE": "Nailed It!", - "DESC": "You have successfully finished integrating your Facebook Page with Chatwoot. Next time a customer messages your Page, the conversation will automatically appear on your inbox.
We are also providing you with a widget script that you can easily add to your website. Once this is live on your website, customers can message you right from your website without the help of any external tool and the conversation will appear right here, on Chatwoot.
Cool, huh? Well, we sure try to be :)" + "TITLE": "הצלחתי!", + "DESC": "סיימת בהצלחה לשלב את דף הפייסבוק שלך עם Chatwoot. בפעם הבאה שלקוח ישלח הודעה לדף שלך, השיחה תופיע אוטומטית בתיבת הדואר הנכנס שלך.
אנחנו גם מספקים לך סקריפט ווידג'ט שתוכל להוסיף בקלות לאתר שלך. ברגע שזה פעיל באתר שלך, לקוחות יכולים לשלוח לך הודעות ישירות מהאתר שלך ללא עזרה של כל כלי חיצוני והשיחה תופיע ממש כאן, ב-Chatwoot.
מגניב, הא? ובכן, אנחנו בטוח מנסים להיות :)" } }, "DETAILS": { - "LOADING_FB": "Authenticating you with Facebook...", - "ERROR_FB_AUTH": "Something went wrong, Please refresh page...", - "CREATING_CHANNEL": "Creating your Inbox...", - "TITLE": "Configure Inbox Details", + "LOADING_FB": "מאמת אותך עם פייסבוק...", + "ERROR_FB_AUTH": "משהו השתבש, אנא רענן את הדף...", + "CREATING_CHANNEL": "יוצר את תיבת הדואר הנכנס שלך...", + "TITLE": "הגדר את פרטי תיבת הדואר הנכנס", "DESC": "" }, "AGENTS": { - "BUTTON_TEXT": "Add agents", - "ADD_AGENTS": "Adding Agents to your Inbox..." + "BUTTON_TEXT": "הוסף נציגים", + "ADD_AGENTS": "מוסיף נציגים לתיבת הדואר הנכנס שלך..." }, "FINISH": { - "TITLE": "Your Inbox is ready!", - "MESSAGE": "You can now engage with your customers through your new Channel. Happy supporting ", - "BUTTON_TEXT": "Take me there", - "MORE_SETTINGS": "More settings", - "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox." + "TITLE": "תיבת הדואר הנכנס שלך מוכנה!", + "MESSAGE": "כעת תוכל ליצור קשר עם הלקוחות שלך דרך הערוץ החדש שלך. תמיכה שמחה ", + "BUTTON_TEXT": "קח אותי לשם", + "MORE_SETTINGS": "הגדרות נוספות", + "WEBSITE_SUCCESS": "סיימת בהצלחה ליצור ערוץ אתר אינטרנט. העתק את הקוד המוצג למטה והדבק אותו באתר שלך. בפעם הבאה שלקוח ישתמש בצ'אט החי, השיחה תופיע אוטומטית בתיבת הדואר הנכנס שלך." }, - "REAUTH": "Reauthorize", - "VIEW": "View", + "REAUTH": "הרשאה מחדש", + "VIEW": "צפה", "EDIT": { "API": { - "SUCCESS_MESSAGE": "Inbox settings updated successfully", - "AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Auto assignment updated successfully", - "ERROR_MESSAGE": "Could not update widget color. Please try again later." + "SUCCESS_MESSAGE": "הגדרות תיבת הדואר הנכנס עודכנו בהצלחה", + "AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "ההקצאה האוטומטית עודכנה בהצלחה", + "ERROR_MESSAGE": "לא ניתן היה לעדכן את צבע הווידג'ט. בבקשה נסה שוב מאוחר יותר." }, "AUTO_ASSIGNMENT": { "ENABLED": "מופעל", @@ -303,102 +303,102 @@ "DISABLED": "כבוי" }, "ENABLE_HMAC": { - "LABEL": "Enable" + "LABEL": "אפשר" } }, "DELETE": { "BUTTON_TEXT": "מחק", - "AVATAR_DELETE_BUTTON_TEXT": "Delete Avatar", + "AVATAR_DELETE_BUTTON_TEXT": "מחק אווטר", "CONFIRM": { "TITLE": "אשר מחיקה", "MESSAGE": "האם אתה בטוח שברצונך למחוק ", - "PLACE_HOLDER": "Please type {inboxName} to confirm", + "PLACE_HOLDER": "אנא הקלד {inboxName} כדי לאשר", "YES": "כן, מחק ", "NO": "לא, השאר " }, "API": { - "SUCCESS_MESSAGE": "Inbox deleted successfully", - "ERROR_MESSAGE": "Could not delete inbox. Please try again later.", - "AVATAR_SUCCESS_MESSAGE": "Inbox avatar deleted successfully", - "AVATAR_ERROR_MESSAGE": "Could not delete the inbox avatar. Please try again later." + "SUCCESS_MESSAGE": "תיבת הדואר הנכנס נמחקה בהצלחה", + "ERROR_MESSAGE": "לא ניתן למחוק את תיבת הדואר הנכנס. בבקשה נסה שוב מאוחר יותר.", + "AVATAR_SUCCESS_MESSAGE": "אווטר תיבת הדואר הנכנס נמחקה בהצלחה", + "AVATAR_ERROR_MESSAGE": "לא ניתן למחוק את האווטר של תיבת הדואר הנכנס. בבקשה נסה שוב מאוחר יותר." } }, "TABS": { "SETTINGS": "הגדרות", - "COLLABORATORS": "Collaborators", - "CONFIGURATION": "Configuration", + "COLLABORATORS": "משתפי פעולה", + "CONFIGURATION": "תצורה", "CAMPAIGN": "קמפיין", - "PRE_CHAT_FORM": "Pre Chat Form", - "BUSINESS_HOURS": "Business Hours" + "PRE_CHAT_FORM": "טופס צ'אט מקדים", + "BUSINESS_HOURS": "שעות פעילות" }, "SETTINGS": "הגדרות", "FEATURES": { - "LABEL": "Features", - "DISPLAY_FILE_PICKER": "Display file picker on the widget", - "DISPLAY_EMOJI_PICKER": "Display emoji picker on the widget" + "LABEL": "מאפיינים", + "DISPLAY_FILE_PICKER": "הצג את בוחר הקבצים בווידג'ט", + "DISPLAY_EMOJI_PICKER": "הצג את בוחר האמוג'י בווידג'ט" }, "SETTINGS_POPUP": { - "MESSENGER_HEADING": "Messenger Script", - "MESSENGER_SUB_HEAD": "Place this button inside your body tag", + "MESSENGER_HEADING": "סקריפט מסנג'ר", + "MESSENGER_SUB_HEAD": "מקם את הכפתור הזה בתוך תג הגוף שלך", "INBOX_AGENTS": "סוכנים", - "INBOX_AGENTS_SUB_TEXT": "Add or remove agents from this inbox", + "INBOX_AGENTS_SUB_TEXT": "הוסף או הסר נציגים מתיבת הדואר הנכנס הזו", "UPDATE": "עדכן", - "ENABLE_EMAIL_COLLECT_BOX": "Enable email collect box", - "ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Enable or disable email collect box on new conversation", - "AUTO_ASSIGNMENT": "Enable auto assignment", - "ENABLE_CSAT": "Enable CSAT", - "ENABLE_CSAT_SUB_TEXT": "Enable/Disable CSAT(Customer satisfaction) survey after resolving a conversation", - "INBOX_UPDATE_TITLE": "Inbox Settings", - "INBOX_UPDATE_SUB_TEXT": "Update your inbox settings", - "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": "Inorder to validate the user's identity, the SDK allows you to pass an `identifier_hash` for each user. You can generate HMAC using 'sha256' with the key shown here.", - "HMAC_MANDATORY_VERIFICATION": "Enforce User Identity Validation", - "HMAC_MANDATORY_DESCRIPTION": "If enabled, Chatwoot SDKs setUser method will not work unless the `identifier_hash` is provided for each user.", - "INBOX_IDENTIFIER": "Inbox Identifier", - "INBOX_IDENTIFIER_SUB_TEXT": "Use the `inbox_identifier` token shown here to authentication your API clients.", - "FORWARD_EMAIL_TITLE": "Forward to Email", - "FORWARD_EMAIL_SUB_TEXT": "Start forwarding your emails to the following email address." + "ENABLE_EMAIL_COLLECT_BOX": "אפשר תיבת איסוף דוא\"ל", + "ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "הפעל או השבת את תיבת איסוף הדוא\"ל בשיחה חדשה", + "AUTO_ASSIGNMENT": "אפשר הקצאה אוטומטית", + "ENABLE_CSAT": "אפשר CSAT", + "ENABLE_CSAT_SUB_TEXT": "הפעל/השבת סקר CSAT (שביעות רצון לקוחות) לאחר פתרון שיחה", + "INBOX_UPDATE_TITLE": "הגדרות תיבת דואר נכנס", + "INBOX_UPDATE_SUB_TEXT": "עדכן את הגדרות תיבת הדואר הנכנס שלך", + "AUTO_ASSIGNMENT_SUB_TEXT": "אפשר או השבת את ההקצאה האוטומטית של שיחות חדשות לסוכנים שנוספו לתיבת הדואר הנכנס הזו.", + "HMAC_VERIFICATION": "אימות זהות משתמש", + "HMAC_DESCRIPTION": "על מנת לאמת את זהות המשתמש, ה-SDK מאפשר לך להעביר `hash מזהה` עבור כל משתמש. אתה יכול ליצור HMAC באמצעות 'sha256' עם המפתח המוצג כאן.", + "HMAC_MANDATORY_VERIFICATION": "אכיפת אימות זהות משתמש", + "HMAC_MANDATORY_DESCRIPTION": "אם מופעלת, שיטת setUser של Chatwoot SDKs לא תעבוד אלא אם ה-'identifier_hash' מסופק עבור כל משתמש.", + "INBOX_IDENTIFIER": "מזהה תיבת דואר נכנס", + "INBOX_IDENTIFIER_SUB_TEXT": "השתמש ב-'inbox_identifier' המוצג כאן כדי לאמת את לקוחות ה-API שלך.", + "FORWARD_EMAIL_TITLE": "העבר לדואר אלקטרוני", + "FORWARD_EMAIL_SUB_TEXT": "התחל להעביר את המיילים שלך לכתובת הדוא\"ל הבאה." }, "FACEBOOK_REAUTHORIZE": { - "TITLE": "Reauthorize", - "SUBTITLE": "Your Facebook connection has expired, please reconnect your Facebook page to continue services", - "MESSAGE_SUCCESS": "Reconnection successful", + "TITLE": "הרשאה מחדש", + "SUBTITLE": "פג תוקף החיבור שלך לפייסבוק, אנא חבר מחדש את דף הפייסבוק שלך כדי להמשיך בשירותים", + "MESSAGE_SUCCESS": "החיבור מחדש הצליח", "MESSAGE_ERROR": "היתה שגיאה, בקשה נסה שוב" }, "PRE_CHAT_FORM": { - "DESCRIPTION": "Pre chat forms enable you to capture user information before they start conversation with you.", + "DESCRIPTION": "טפסי טרום צ'אט מאפשרים לך ללכוד מידע על המשתמש לפני שהם מתחילים בשיחה איתך.", "ENABLE": { - "LABEL": "Enable pre chat form", + "LABEL": "אפשר טופס טרום צ'אט", "OPTIONS": { - "ENABLED": "Yes", - "DISABLED": "No" + "ENABLED": "כן", + "DISABLED": "לא" } }, "PRE_CHAT_MESSAGE": { - "LABEL": "Pre Chat Message", - "PLACEHOLDER": "This message would be visible to the users along with the form" + "LABEL": "הודעת צ'אט מקדימה", + "PLACEHOLDER": "הודעה זו תהיה גלויה למשתמשים יחד עם הטופס" }, "REQUIRE_EMAIL": { - "LABEL": "Visitors should provide their name and email address before starting the chat" + "LABEL": "המבקרים צריכים לספק את שמם וכתובת האימייל שלהם לפני תחילת הצ'אט" } }, "BUSINESS_HOURS": { - "TITLE": "Set your availability", - "SUBTITLE": "Set your availability on your livechat widget", - "WEEKLY_TITLE": "Set your weekly hours", - "TIMEZONE_LABEL": "Select timezone", - "UPDATE": "Update business hours settings", - "TOGGLE_AVAILABILITY": "Enable business availability for this inbox", - "UNAVAILABLE_MESSAGE_LABEL": "Unavailable message for visitors", - "UNAVAILABLE_MESSAGE_DEFAULT": "We are unavailable at the moment. Leave a message we will respond once we are back.", - "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours vistors can be warned with a message and a pre-chat form.", + "TITLE": "הגדר את הזמינות שלך", + "SUBTITLE": "הגדר את הזמינות שלך בווידג'ט הצ'אט החי שלך", + "WEEKLY_TITLE": "הגדר את השעות השבועיות שלך", + "TIMEZONE_LABEL": "בחר אזור זמן", + "UPDATE": "עדכן את הגדרות שעות הפעילות", + "TOGGLE_AVAILABILITY": "הפעל זמינות עסקית עבור תיבת הדואר הנכנס הזו", + "UNAVAILABLE_MESSAGE_LABEL": "הודעה לא זמינה למבקרים", + "UNAVAILABLE_MESSAGE_DEFAULT": "אנחנו לא זמינים כרגע. השאירו הודעה נשיב ברגע שנחזור.", + "TOGGLE_HELP": "הפעלת זמינות עסקית תציג את השעות הזמינות בווידג'ט צ'אט חי גם אם כל הסוכנים אינם מקוונים. מחוץ לשעות הזמינות ניתן להזהיר מבקרים באמצעות הודעה וטופס צ'אט מראש.", "DAY": { - "ENABLE": "Enable availability for this day", - "UNAVAILABLE": "Unavailable", - "HOURS": "hours", - "VALIDATION_ERROR": "Starting time should be before closing time.", - "CHOOSE": "Choose" + "ENABLE": "אפשר זמינות ליום זה", + "UNAVAILABLE": "אינו זמין", + "HOURS": "שעות", + "VALIDATION_ERROR": "שעת ההתחלה צריכה להיות לפני שעת הסגירה.", + "CHOOSE": "בחר" } } } diff --git a/app/javascript/dashboard/i18n/locale/he/integrationApps.json b/app/javascript/dashboard/i18n/locale/he/integrationApps.json index bd0f8fc3e026..e000b0a58bcd 100644 --- a/app/javascript/dashboard/i18n/locale/he/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/he/integrationApps.json @@ -1,36 +1,36 @@ { "INTEGRATION_APPS": { - "FETCHING": "Fetching Integrations", - "NO_HOOK_CONFIGURED": "There are no %{integrationId} integrations configured in this account.", - "HEADER": "Applications", + "FETCHING": "שליפת אינטגרציות", + "NO_HOOK_CONFIGURED": "אין %{integrationId} אינטגרציות מוגדרות בחשבון זה.", + "HEADER": "יישומים", "STATUS": { "ENABLED": "מופעל", "DISABLED": "כבוי" }, - "CONFIGURE": "Configure", - "ADD_BUTTON": "Add a new hook", + "CONFIGURE": "הגדר", + "ADD_BUTTON": "הוסף קרס חדש", "DELETE": { "TITLE": { - "INBOX": "Confirm deletion", - "ACCOUNT": "Disconnect" + "INBOX": "אשר מחיקה", + "ACCOUNT": "התנתק" }, "MESSAGE": { "INBOX": "האם אתה בטוח שברצונך למחוק?", - "ACCOUNT": "Are you sure to disconnect?" + "ACCOUNT": "אתה בטוח שאתה מתנתק?" }, "CONFIRM_BUTTON_TEXT": { "INBOX": "כן, מחק", - "ACCOUNT": "Yes, Disconnect" + "ACCOUNT": "כן, התנתק" }, "CANCEL_BUTTON_TEXT": "ביטול", "API": { - "SUCCESS_MESSAGE": "Hook deleted successfully", + "SUCCESS_MESSAGE": "ה-Hook נמחק בהצלחה", "ERROR_MESSAGE": "לא ניתן להתחבר לשרת Woot, נסה שוב מאוחר יותר" } }, "LIST": { - "FETCHING": "Fetching integration hooks", - "INBOX": "Inbox", + "FETCHING": "הוצאת קרס אינטגרציה", + "INBOX": "תיבת הדואר הנכנס", "DELETE": { "BUTTON_TEXT": "מחק" } @@ -38,14 +38,14 @@ "ADD": { "FORM": { "INBOX": { - "LABEL": "Select Inbox", - "PLACEHOLDER": "Select Inbox" + "LABEL": "בחר תיבת דואר", + "PLACEHOLDER": "בחר תיבת דואר" }, "SUBMIT": "צור", "CANCEL": "ביטול" }, "API": { - "SUCCESS_MESSAGE": "Integration hook added successfully", + "SUCCESS_MESSAGE": "קרס אינטגרציה נוסף בהצלחה", "ERROR_MESSAGE": "לא ניתן להתחבר לשרת Woot, נסה שוב מאוחר יותר" } }, @@ -53,10 +53,10 @@ "BUTTON_TEXT": "התחבר" }, "DISCONNECT": { - "BUTTON_TEXT": "Disconnect" + "BUTTON_TEXT": "התנתק" }, "SIDEBAR_DESCRIPTION": { - "DIALOGFLOW": "Dialogflow is a natural language understanding platform that makes it easy to design and integrate a conversational user interface into your mobile app, web application, device, bot, interactive voice response system, and so on.

Dialogflow integration with %{installationName} allows you to configure a Dialogflow bot with your inboxes which lets the bot handle the queries initially and hand them over to an agent when needed. Dialogflow can be used to qualifying the leads, reduce the workload of agents by providing frequently asked questions etc.

To add Dialogflow, you need to create a Service Account in your Google project console and share the credentials. Please refer to the Dialogflow docs for more information." + "DIALOGFLOW": "Dialogflow היא פלטפורמה להבנת שפה טבעית שמקלה לעצב ולשלב ממשק משתמש לשיחה באפליקציה לנייד, באפליקציית האינטרנט, במכשיר, בבוט, במערכת התגובה הקולית האינטראקטיבית שלך וכן הלאה.

שילוב Dialogflow עם %{installationName} מאפשר לך להגדיר בוט Dialogflow עם תיבות הדואר הנכנס שלך, המאפשר לבוט לטפל בשאילתות בהתחלה ולמסור אותן לסוכן בעת הצורך. ניתן להשתמש ב-Dialogflow כדי להכשיר את הלידים, להפחית את עומס העבודה של סוכנים על ידי מתן שאלות נפוצות וכו'.

כדי להוסיף את Dialogflow, עליך ליצור חשבון שירות במסוף הפרויקט של גוגל ולשתף את האישורים. אנא עיין במסמכי Dialogflow למידע נוסף." } } } diff --git a/app/javascript/dashboard/i18n/locale/he/integrations.json b/app/javascript/dashboard/i18n/locale/he/integrations.json index 72dbab01625d..228dee5e33ef 100644 --- a/app/javascript/dashboard/i18n/locale/he/integrations.json +++ b/app/javascript/dashboard/i18n/locale/he/integrations.json @@ -1,81 +1,81 @@ { "INTEGRATION_SETTINGS": { - "HEADER": "Integrations", + "HEADER": "אינטגרציות", "WEBHOOK": { "TITLE": "Webhook", - "CONFIGURE": "Configure", - "HEADER": "Webhook settings", - "HEADER_BTN_TXT": "Add new webhook", - "LOADING": "Fetching attached webhooks", - "SEARCH_404": "There are no items matching this query", - "SIDEBAR_TXT": "

Webhooks

Webhooks are HTTP callbacks which can be defined for every account. They are triggered by events like message creation in Chatwoot. You can create more than one webhook for this account.

For creating a webhook, click on the Add new webhook button. You can also remove any existing webhook by clicking on the Delete button.

", + "CONFIGURE": "הגדר", + "HEADER": "הגדרןת Webhook", + "HEADER_BTN_TXT": "הוסף Webhook חדש", + "LOADING": "מביאים ל-webhooks מחוברים", + "SEARCH_404": "אין פריטים התואמים לשאילתה זו", + "SIDEBAR_TXT": "

Webhooks

Webhooks הם התקשרות חוזרת של HTTP שניתן להגדיר עבור כל חשבון. הם מופעלים על ידי אירועים כמו יצירת הודעות ב-Chatwoot. אתה יכול ליצור יותר מ-webhook אחד עבור חשבון זה.

ליצירת הוסף אינטרנט, לחץ על הלחצן הוסף אינטרנט חדש. אתה יכול גם להסיר כל webhook קיים על ידי לחיצה על הלחצן Delete.

", "LIST": { - "404": "There are no webhooks configured for this account.", - "TITLE": "Manage webhooks", + "404": "לא הוגדרו webhooks עבור חשבון זה.", + "TITLE": "נהל webhooks", "TABLE_HEADER": [ - "Webhook endpoint", + "נקודת קצה של Webhook", "פעולות" ] }, "EDIT": { "BUTTON_TEXT": "ערוך", - "TITLE": "Edit webhook", + "TITLE": "ערוך webhook", "CANCEL": "ביטול", - "DESC": "Webhook events provide you the realtime information about what's happening in your Chatwoot account. Please enter a valid URL to configure a callback.", + "DESC": "אירועי Webhook מספקים לך מידע בזמן אמת על מה שקורה בחשבון Chatwoot שלך. אנא הזן כתובת אתר חוקית כדי להגדיר התקשרות חוזרת.", "FORM": { "END_POINT": { "LABEL": "Webhook URL", - "PLACEHOLDER": "Example: https://example/api/webhook", + "PLACEHOLDER": "דוגמה: https://example/api/webhook", "ERROR": "אנא הכנס כתובת URL חוקית" }, - "SUBMIT": "Edit webhook" + "SUBMIT": "ערוך webhook" }, "API": { - "SUCCESS_MESSAGE": "Webhook URL updated successfully", + "SUCCESS_MESSAGE": "כתובת האתר של Webhook עודכנה בהצלחה", "ERROR_MESSAGE": "לא ניתן להתחבר לשרת Woot, נסה שוב מאוחר יותר" } }, "ADD": { "CANCEL": "ביטול", - "TITLE": "Add new webhook", - "DESC": "Webhook events provide you the realtime information about what's happening in your Chatwoot account. Please enter a valid URL to configure a callback.", + "TITLE": "הוסף Webhook חדש", + "DESC": "אירועי Webhook מספקים לך מידע בזמן אמת על מה שקורה בחשבון Chatwoot שלך. אנא הזן כתובת אתר חוקית כדי להגדיר התקשרות חוזרת.", "FORM": { "END_POINT": { "LABEL": "Webhook URL", - "PLACEHOLDER": "Example: https://example/api/webhook", + "PLACEHOLDER": "דוגמה: https://example/api/webhook", "ERROR": "אנא הכנס כתובת URL חוקית" }, - "SUBMIT": "Create webhook" + "SUBMIT": "צור webhook" }, "API": { - "SUCCESS_MESSAGE": "Webhook added successfully", + "SUCCESS_MESSAGE": "Webhook נוסף בהצלחה", "ERROR_MESSAGE": "לא ניתן להתחבר לשרת Woot, נסה שוב מאוחר יותר" } }, "DELETE": { "BUTTON_TEXT": "מחק", "API": { - "SUCCESS_MESSAGE": "Webhook deleted successfully", + "SUCCESS_MESSAGE": "Webhook נמחק בהצלחה", "ERROR_MESSAGE": "לא ניתן להתחבר לשרת Woot, נסה שוב מאוחר יותר" }, "CONFIRM": { "TITLE": "אשר מחיקה", "MESSAGE": "האם אתה בטוח שברצונך למחוק ", "YES": "כן, מחק ", - "NO": "No, Keep it" + "NO": "לא, השאר" } } }, "SLACK": { "HELP_TEXT": { - "TITLE": "Using Slack Integration", - "BODY": "

Chatwoot will now sync all the incoming conversations into the customer-conversations channel inside your slack workplace.

Replying to a conversation thread in customer-conversations slack channel will create a response back to the customer through chatwoot.

Start the replies with note: to create private notes instead of replies.

If the replier on slack has an agent profile in chatwoot under the same email, the replies will be associated accordingly.

When the replier doesn't have an associated agent profile, the replies will be made from the bot profile.

" + "TITLE": "שימוש ב-Slack Integration", + "BODY": "

Chatwoot תסנכרן כעת את כל השיחות הנכנסות לערוץ שיחות-לקוח בתוך מקום העבודה הרפוי שלך.

משיב ל- שרשור שיחה בשיחות לקוח ערוץ רפוי ייצור תגובה חזרה ללקוח באמצעות chatwoot.

התחל את התשובות עם הערה: כדי ליצור הערות פרטיות במקום תשובות.

אם למשיב ב-slack יש פרופיל סוכן ב-chatwoot תחת אותו דוא\"ל, התשובות ישויכו בהתאם. p>

כאשר למשיב אין פרופיל סוכן משויך, התשובות ייעשו מפרופיל הבוט.

" } }, "DELETE": { "BUTTON_TEXT": "מחק", "API": { - "SUCCESS_MESSAGE": "Integration deleted successfully" + "SUCCESS_MESSAGE": "האינטגרציה נמחקה בהצלחה" } }, "CONNECT": { diff --git a/app/javascript/dashboard/i18n/locale/he/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/he/labelsMgmt.json index a4bb1c6c4fb6..8e4ef7b2d3e5 100644 --- a/app/javascript/dashboard/i18n/locale/he/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/he/labelsMgmt.json @@ -3,7 +3,7 @@ "HEADER": "Labels", "HEADER_BTN_TXT": "Add label", "LOADING": "Fetching labels", - "SEARCH_404": "There are no items matching this query", + "SEARCH_404": "אין פריטים התואמים לשאילתה זו", "SIDEBAR_TXT": "

Labels

Labels help you to categorize conversations and prioritize them. You can assign label to a conversation from the sidepanel.

Labels are tied to the account and can be used to create custom workflows in your organization. You can assign custom color to a label, it makes it easier to identify the label. You will be able to display the label on the sidebar to filter the conversations easily.

", "LIST": { "404": "There are no labels available in this account.", diff --git a/app/javascript/dashboard/i18n/locale/he/report.json b/app/javascript/dashboard/i18n/locale/he/report.json index 45d16c69b3fb..3ea804798752 100644 --- a/app/javascript/dashboard/i18n/locale/he/report.json +++ b/app/javascript/dashboard/i18n/locale/he/report.json @@ -192,7 +192,7 @@ "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_INBOX_REPORTS": "Download inbox reports", - "FILTER_DROPDOWN_LABEL": "Select Inbox", + "FILTER_DROPDOWN_LABEL": "בחר תיבת דואר", "METRICS": { "CONVERSATIONS": { "NAME": "שיחות", @@ -320,7 +320,7 @@ "HEADER": { "CONTACT_NAME": "Contact", "AGENT_NAME": "Assigned agent", - "RATING": "Rating", + "RATING": "דירוג", "FEEDBACK_TEXT": "Feedback comment" } }, diff --git a/app/javascript/dashboard/i18n/locale/he/resetPassword.json b/app/javascript/dashboard/i18n/locale/he/resetPassword.json index 3167e57945b3..6e0cceebe4f0 100644 --- a/app/javascript/dashboard/i18n/locale/he/resetPassword.json +++ b/app/javascript/dashboard/i18n/locale/he/resetPassword.json @@ -4,10 +4,10 @@ "EMAIL": { "LABEL": "אימייל", "PLACEHOLDER": "הזן בבקשה את האימייל שלך", - "ERROR": "Please enter a valid email" + "ERROR": "אנא הכנס כתובת דוא\"ל חוקית" }, "API": { - "SUCCESS_MESSAGE": "Password reset link has been sent to your email", + "SUCCESS_MESSAGE": "הקישור לאיפוס הסיסמה נשלח לדוא\"ל שלך", "ERROR_MESSAGE": "לא ניתן להתחבר לשרת Woot, נסה שוב מאוחר יותר" }, "SUBMIT": "שלח" diff --git a/app/javascript/dashboard/i18n/locale/he/setNewPassword.json b/app/javascript/dashboard/i18n/locale/he/setNewPassword.json index e69ecc95c1e9..4db399a89eb0 100644 --- a/app/javascript/dashboard/i18n/locale/he/setNewPassword.json +++ b/app/javascript/dashboard/i18n/locale/he/setNewPassword.json @@ -1,18 +1,18 @@ { "SET_NEW_PASSWORD": { - "TITLE": "Set New Password", + "TITLE": "הגדר סיסמה חדשה", "PASSWORD": { "LABEL": "סיסמה", "PLACEHOLDER": "סיסמה", - "ERROR": "Password is too short" + "ERROR": "הסיסמה קצרה מדי" }, "CONFIRM_PASSWORD": { - "LABEL": "Confirm Password", - "PLACEHOLDER": "Confirm Password", - "ERROR": "Passwords do not match" + "LABEL": "אמת סיסמה", + "PLACEHOLDER": "אמת סיסמה", + "ERROR": "סיסמאות לא תואמות" }, "API": { - "SUCCESS_MESSAGE": "Successfully changed the password", + "SUCCESS_MESSAGE": "שינתה את הסיסמה בהצלחה", "ERROR_MESSAGE": "לא ניתן להתחבר לשרת Woot, נסה שוב מאוחר יותר" }, "SUBMIT": "שלח" diff --git a/app/javascript/dashboard/i18n/locale/he/settings.json b/app/javascript/dashboard/i18n/locale/he/settings.json index 0b111a5c9cf1..6f716ef19098 100644 --- a/app/javascript/dashboard/i18n/locale/he/settings.json +++ b/app/javascript/dashboard/i18n/locale/he/settings.json @@ -8,7 +8,7 @@ "AFTER_EMAIL_CHANGED": "Your profile has been updated successfully, please login again as your login credentials are changed", "FORM": { "AVATAR": "Profile Image", - "ERROR": "Please fix form errors", + "ERROR": "אנא תקן שגיאות בטופס", "REMOVE_IMAGE": "Remove", "UPLOAD_IMAGE": "Upload image", "UPDATE_IMAGE": "Update image", @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "days trial remaining.", - "TRAIL_BUTTON": "Buy Now" + "TRAIL_BUTTON": "Buy Now", + "DELETED_USER": "Deleted User" }, "COMPONENTS": { "CODE": { @@ -132,17 +133,17 @@ "CONVERSATIONS": "שיחות", "REPORTS": "Reports", "SETTINGS": "הגדרות", - "CONTACTS": "Contacts", + "CONTACTS": "איש קשר", "HOME": "בית", "AGENTS": "סוכנים", - "INBOXES": "Inboxes", + "INBOXES": "תיבות דואר נכנס", "NOTIFICATIONS": "התראות", - "CANNED_RESPONSES": "Canned Responses", - "INTEGRATIONS": "Integrations", + "CANNED_RESPONSES": "תגובות מוכנות", + "INTEGRATIONS": "אינטגרציות", "ACCOUNT_SETTINGS": "Account Settings", - "APPLICATIONS": "Applications", + "APPLICATIONS": "יישומים", "LABELS": "Labels", - "ATTRIBUTES": "Attributes", + "CUSTOM_ATTRIBUTES": "מאפיינים בהתאמה אישית", "TEAMS": "Teams", "ALL_CONTACTS": "All Contacts", "TAGGED_WITH": "Tagged with", @@ -153,7 +154,7 @@ "ONE_OFF": "One off", "REPORTS_AGENT": "סוכנים", "REPORTS_LABEL": "Labels", - "REPORTS_INBOX": "Inbox", + "REPORTS_INBOX": "תיבת הדואר הנכנס", "REPORTS_TEAM": "Team" }, "CREATE_ACCOUNT": { diff --git a/app/javascript/dashboard/i18n/locale/he/signup.json b/app/javascript/dashboard/i18n/locale/he/signup.json index 1131163f68bc..c5861a3fa083 100644 --- a/app/javascript/dashboard/i18n/locale/he/signup.json +++ b/app/javascript/dashboard/i18n/locale/he/signup.json @@ -4,7 +4,7 @@ "TITLE": "Register", "TERMS_ACCEPT": "By signing up, you agree to our
T & C and Privacy policy", "ACCOUNT_NAME": { - "LABEL": "Account name", + "LABEL": "שם החשבון", "PLACEHOLDER": "Enter an account name. eg: Wayne Enterprises", "ERROR": "Account name is too short" }, @@ -21,11 +21,11 @@ "PASSWORD": { "LABEL": "סיסמה", "PLACEHOLDER": "סיסמה", - "ERROR": "Password is too short" + "ERROR": "הסיסמה קצרה מדי" }, "CONFIRM_PASSWORD": { - "LABEL": "Confirm Password", - "PLACEHOLDER": "Confirm Password", + "LABEL": "אמת סיסמה", + "PLACEHOLDER": "אמת סיסמה", "ERROR": "Password doesnot match" }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/he/teamsSettings.json b/app/javascript/dashboard/i18n/locale/he/teamsSettings.json index f569b250362c..7735dc1c38f1 100644 --- a/app/javascript/dashboard/i18n/locale/he/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/he/teamsSettings.json @@ -24,14 +24,14 @@ "body": "Create a new team of agents." }, { - "title": "Add Agents", + "title": "הוסף נציג", "route": "settings_teams_add_agents", "body": "Add agents to the team." }, { "title": "Finish", "route": "settings_teams_finish", - "body": "You are all set to go!" + "body": "אתם מוכנים לצאת לדרך!" } ] }, @@ -60,7 +60,7 @@ { "title": "Finish", "route": "settings_teams_edit_finish", - "body": "You are all set to go!" + "body": "אתם מוכנים לצאת לדרך!" } ] }, @@ -70,7 +70,7 @@ "AGENTS": { "AGENT": "AGENT", "EMAIL": "מייל", - "BUTTON_TEXT": "Add agents", + "BUTTON_TEXT": "הוסף נציגים", "ADD_AGENTS": "Adding Agents to your Team...", "SELECT": "select", "SELECT_ALL": "select all agents", @@ -82,7 +82,7 @@ "SELECT": "select", "SELECT_ALL": "select all agents", "SELECTED_COUNT": "%{selected} out of %{total} agents selected.", - "BUTTON_TEXT": "Add agents", + "BUTTON_TEXT": "הוסף נציגים", "AGENT_VALIDATION_ERROR": "Select atleaset one agent." }, "FINISH": { diff --git a/app/javascript/dashboard/i18n/locale/hi/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/hi/attributesMgmt.json index 7064537c99d5..ec9e2183e3fe 100644 --- a/app/javascript/dashboard/i18n/locale/hi/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/hi/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Attributes", - "HEADER_BTN_TXT": "Add Attribute", - "LOADING": "Fetching attributes", - "SIDEBAR_TXT": "

Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Attributes, just click on the Add Attribute. You can also edit or delete an existing Attribute by clicking on the Edit or Delete button.

", + "HEADER": "Custom Attributes", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "Add attribute", + "TITLE": "Add Custom Attribute", "SUBMIT": "Create", "CANCEL_BUTTON_TEXT": "Cancel", "FORM": { "NAME": { "LABEL": "Display Name", - "PLACEHOLDER": "Enter attribute display name", + "PLACEHOLDER": "Enter custom attribute display name", "ERROR": "Name is required" }, "DESC": { "LABEL": "Description", - "PLACEHOLDER": "Enter attribute description", + "PLACEHOLDER": "Enter custom attribute description", "ERROR": "Description is required" }, "MODEL": { - "LABEL": "Model", - "PLACEHOLDER": "Please select a model", + "LABEL": "Applies to", + "PLACEHOLDER": "Please select one", "ERROR": "Model is required" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "Type is required" }, "KEY": { - "LABEL": "Key" + "LABEL": "Key", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create an attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "Delete", "API": { - "SUCCESS_MESSAGE": "Attribute deleted successfully.", - "ERROR_MESSAGE": "Couldn't delete the attribute. Try again." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { "TITLE": "Are you sure want to delete - %{attributeName}", "PLACE_HOLDER": "Please type {attributeName} to confirm", - "MESSAGE": "Deleting will remove the attribute", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "Delete ", "NO": "Cancel" } }, "EDIT": { - "TITLE": "Edit attribute", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "Update", "API": { - "SUCCESS_MESSAGE": "Attribute updated successfully", - "ERROR_MESSAGE": "There was an error updating attribute, please try again" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { @@ -77,8 +80,8 @@ "DELETE": "Delete" }, "EMPTY_RESULT": { - "404": "There are no attributes created", - "NOT_FOUND": "There are no attributes configured" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/hi/chatlist.json b/app/javascript/dashboard/i18n/locale/hi/chatlist.json index 7262c4f9a0fe..1be18cad9108 100644 --- a/app/javascript/dashboard/i18n/locale/hi/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/hi/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "Open", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "Open" }, - { - "TEXT": "Resolved", - "VALUE": "resolved" + "resolved": { + "TEXT": "Resolved" }, - { - "TEXT": "Pending", - "VALUE": "pending" + "pending": { + "TEXT": "Pending" }, - { - "TEXT": "Snoozed", - "VALUE": "snoozed" + "snoozed": { + "TEXT": "Snoozed" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -85,6 +81,7 @@ "RECEIVED_VIA_EMAIL": "Received via email", "VIEW_TWEET_IN_TWITTER": "View tweet in Twitter", "REPLY_TO_TWEET": "Reply to this tweet", + "SENT": "Sent successfully", "NO_MESSAGES": "No Messages", "NO_CONTENT": "No content available", "HIDE_QUOTED_TEXT": "Hide Quoted Text", diff --git a/app/javascript/dashboard/i18n/locale/hi/contact.json b/app/javascript/dashboard/i18n/locale/hi/contact.json index 0f2096b14b85..0286dbfa47e8 100644 --- a/app/javascript/dashboard/i18n/locale/hi/contact.json +++ b/app/javascript/dashboard/i18n/locale/hi/contact.json @@ -7,6 +7,7 @@ "COMPANY": "Company", "LOCATION": "Location", "CONVERSATION_TITLE": "Conversation Details", + "VIEW_PROFILE": "View Profile", "BROWSER": "Browser", "OS": "Operating System", "INITIATED_FROM": "Initiated from", @@ -154,6 +155,11 @@ "LABEL": "Inbox", "ERROR": "Select an inbox" }, + "SUBJECT": { + "LABEL": "Subject", + "PLACEHOLDER": "Subject", + "ERROR": "Subject can't be empty" + }, "MESSAGE": { "LABEL": "Message", "PLACEHOLDER": "Write your message here", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "View details" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "Contacts", + "LOADING": "Loading contact profile..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "Add", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Fetching notes...", + "NOT_AVAILABLE": "There are no notes created for this contact", "HEADER": { "TITLE": "Notes" }, + "LIST": { + "LABEL": "added a note" + }, "ADD": { "BUTTON": "Add", "PLACEHOLDER": "Add a note", "TITLE": "Shift + Enter to create a note" }, - "FOOTER": { - "BUTTON": "View all notes" + "CONTENT_HEADER": { + "DELETE": "Delete note" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Add attributes", "BUTTON": "Add custom attribute", "NOT_AVAILABLE": "There are no custom attributes available for this contact.", + "COPY_SUCCESSFUL": "Copied to clipboard successfully", + "ACTIONS": { + "COPY": "Copy attribute", + "DELETE": "Delete attribute", + "EDIT": "Edit attribute" + }, "ADD": { "TITLE": "Create custom attribute", "DESC": "Add custom information to this contact." @@ -239,7 +261,29 @@ "VALUE": { "LABEL": "Attribute value", "PLACEHOLDER": "Eg: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" } + }, + "VALIDATIONS": { + "REQUIRED": "Valid value is required", + "INVALID_URL": "Invalid URL" } }, "MERGE_CONTACTS": { diff --git a/app/javascript/dashboard/i18n/locale/hi/conversation.json b/app/javascript/dashboard/i18n/locale/hi/conversation.json index 2eca316067fc..a50e8cb16cf3 100644 --- a/app/javascript/dashboard/i18n/locale/hi/conversation.json +++ b/app/javascript/dashboard/i18n/locale/hi/conversation.json @@ -156,6 +156,27 @@ "PREVIOUS_CONVERSATION": "Previous Conversations" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "ADD": { + "TITLE": "Add", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" + } + }, "EMAIL_HEADER": { "TO": "To", "BCC": "Bcc", diff --git a/app/javascript/dashboard/i18n/locale/hi/settings.json b/app/javascript/dashboard/i18n/locale/hi/settings.json index 61cfb06f9d1e..809157f4a3e0 100644 --- a/app/javascript/dashboard/i18n/locale/hi/settings.json +++ b/app/javascript/dashboard/i18n/locale/hi/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "days trial remaining.", - "TRAIL_BUTTON": "Buy Now" + "TRAIL_BUTTON": "Buy Now", + "DELETED_USER": "Deleted User" }, "COMPONENTS": { "CODE": { @@ -142,7 +143,7 @@ "ACCOUNT_SETTINGS": "Account Settings", "APPLICATIONS": "Applications", "LABELS": "Labels", - "ATTRIBUTES": "Attributes", + "CUSTOM_ATTRIBUTES": "Custom Attributes", "TEAMS": "Teams", "ALL_CONTACTS": "All Contacts", "TAGGED_WITH": "Tagged with", diff --git a/app/javascript/dashboard/i18n/locale/hu/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/hu/attributesMgmt.json index a555cf81135e..18eb17393eec 100644 --- a/app/javascript/dashboard/i18n/locale/hu/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/hu/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Attributes", - "HEADER_BTN_TXT": "Add Attribute", - "LOADING": "Fetching attributes", - "SIDEBAR_TXT": "

Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Attributes, just click on the Add Attribute. You can also edit or delete an existing Attribute by clicking on the Edit or Delete button.

", + "HEADER": "Egyedi atribútumok", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "Add attribute", + "TITLE": "Add Custom Attribute", "SUBMIT": "Létrehozás", "CANCEL_BUTTON_TEXT": "Mégse", "FORM": { "NAME": { "LABEL": "Display Name", - "PLACEHOLDER": "Enter attribute display name", + "PLACEHOLDER": "Enter custom attribute display name", "ERROR": "Name is required" }, "DESC": { "LABEL": "Leírás", - "PLACEHOLDER": "Enter attribute description", + "PLACEHOLDER": "Enter custom attribute description", "ERROR": "Description is required" }, "MODEL": { - "LABEL": "Model", - "PLACEHOLDER": "Please select a model", + "LABEL": "Applies to", + "PLACEHOLDER": "Please select one", "ERROR": "Model is required" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "Type is required" }, "KEY": { - "LABEL": "Key" + "LABEL": "Key", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create an attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "Törlés", "API": { - "SUCCESS_MESSAGE": "Attribute deleted successfully.", - "ERROR_MESSAGE": "Couldn't delete the attribute. Try again." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { "TITLE": "Biztosan törölni akarod: %{attributeName}", "PLACE_HOLDER": "Please type {attributeName} to confirm", - "MESSAGE": "Deleting will remove the attribute", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "Törlés ", "NO": "Mégse" } }, "EDIT": { - "TITLE": "Edit attribute", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "Frissítés", "API": { - "SUCCESS_MESSAGE": "Attribute updated successfully", - "ERROR_MESSAGE": "There was an error updating attribute, please try again" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { @@ -77,8 +80,8 @@ "DELETE": "Törlés" }, "EMPTY_RESULT": { - "404": "There are no attributes created", - "NOT_FOUND": "There are no attributes configured" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/hu/chatlist.json b/app/javascript/dashboard/i18n/locale/hu/chatlist.json index 88312cfa5a00..ec0adb383dc1 100644 --- a/app/javascript/dashboard/i18n/locale/hu/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/hu/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "Megnyitás", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "Megnyitás" }, - { - "TEXT": "Megoldva", - "VALUE": "resolved" + "resolved": { + "TEXT": "Megoldva" }, - { - "TEXT": "Pending", - "VALUE": "pending" + "pending": { + "TEXT": "Pending" }, - { - "TEXT": "Snoozed", - "VALUE": "snoozed" + "snoozed": { + "TEXT": "Snoozed" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -85,6 +81,7 @@ "RECEIVED_VIA_EMAIL": "E-mailen keresztül érkezett", "VIEW_TWEET_IN_TWITTER": "Üzenet megtekintése Twitteren", "REPLY_TO_TWEET": "Válasz", + "SENT": "Sent successfully", "NO_MESSAGES": "Nincs üzenet", "NO_CONTENT": "Nincs elérhető tartalom", "HIDE_QUOTED_TEXT": "Hide Quoted Text", diff --git a/app/javascript/dashboard/i18n/locale/hu/contact.json b/app/javascript/dashboard/i18n/locale/hu/contact.json index ece740837255..d66181e88fdf 100644 --- a/app/javascript/dashboard/i18n/locale/hu/contact.json +++ b/app/javascript/dashboard/i18n/locale/hu/contact.json @@ -7,6 +7,7 @@ "COMPANY": "Cég", "LOCATION": "Hely", "CONVERSATION_TITLE": "Beszélgetés részletei", + "VIEW_PROFILE": "View Profile", "BROWSER": "Böngésző", "OS": "Operációs rendszer", "INITIATED_FROM": "Kezdeményezve", @@ -154,6 +155,11 @@ "LABEL": "Inbox", "ERROR": "Select an inbox" }, + "SUBJECT": { + "LABEL": "Subject", + "PLACEHOLDER": "Subject", + "ERROR": "Subject can't be empty" + }, "MESSAGE": { "LABEL": "Üzenet", "PLACEHOLDER": "Write your message here", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "Részletek megtekintése" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "Kontaktok", + "LOADING": "Loading contact profile..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "Add", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Fetching notes...", + "NOT_AVAILABLE": "There are no notes created for this contact", "HEADER": { "TITLE": "Notes" }, + "LIST": { + "LABEL": "added a note" + }, "ADD": { "BUTTON": "Add", "PLACEHOLDER": "Add a note", "TITLE": "Shift + Enter to create a note" }, - "FOOTER": { - "BUTTON": "View all notes" + "CONTENT_HEADER": { + "DELETE": "Delete note" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Add attributes", "BUTTON": "Add custom attribute", "NOT_AVAILABLE": "There are no custom attributes available for this contact.", + "COPY_SUCCESSFUL": "Vágólapra másolva", + "ACTIONS": { + "COPY": "Copy attribute", + "DELETE": "Delete attribute", + "EDIT": "Edit attribute" + }, "ADD": { "TITLE": "Create custom attribute", "DESC": "Add custom information to this contact." @@ -239,7 +261,29 @@ "VALUE": { "LABEL": "Attribute value", "PLACEHOLDER": "Eg: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" } + }, + "VALIDATIONS": { + "REQUIRED": "Valid value is required", + "INVALID_URL": "Invalid URL" } }, "MERGE_CONTACTS": { diff --git a/app/javascript/dashboard/i18n/locale/hu/conversation.json b/app/javascript/dashboard/i18n/locale/hu/conversation.json index eae7f8d50be4..e1be15a360d9 100644 --- a/app/javascript/dashboard/i18n/locale/hu/conversation.json +++ b/app/javascript/dashboard/i18n/locale/hu/conversation.json @@ -156,6 +156,27 @@ "PREVIOUS_CONVERSATION": "Korábbi beszélgetések" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "ADD": { + "TITLE": "Add", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" + } + }, "EMAIL_HEADER": { "TO": "To", "BCC": "Bcc", diff --git a/app/javascript/dashboard/i18n/locale/hu/settings.json b/app/javascript/dashboard/i18n/locale/hu/settings.json index 52131603eb36..8089f124ba10 100644 --- a/app/javascript/dashboard/i18n/locale/hu/settings.json +++ b/app/javascript/dashboard/i18n/locale/hu/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "nap van hátra a próbaidőszakból.", - "TRAIL_BUTTON": "Előfizetés" + "TRAIL_BUTTON": "Előfizetés", + "DELETED_USER": "Deleted User" }, "COMPONENTS": { "CODE": { @@ -142,7 +143,7 @@ "ACCOUNT_SETTINGS": "Fiókbeállítások", "APPLICATIONS": "Applications", "LABELS": "Cimkék", - "ATTRIBUTES": "Attributes", + "CUSTOM_ATTRIBUTES": "Egyedi atribútumok", "TEAMS": "Csapatok", "ALL_CONTACTS": "All Contacts", "TAGGED_WITH": "Tagged with", diff --git a/app/javascript/dashboard/i18n/locale/id/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/id/attributesMgmt.json index 1bdc2201e021..9a19970118de 100644 --- a/app/javascript/dashboard/i18n/locale/id/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/id/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Atribut", - "HEADER_BTN_TXT": "Tambahkan Attribut", - "LOADING": "Mengambil atribut", - "SIDEBAR_TXT": "

Atribut

Sebuah atribut kustom melacak fakta-fakta terkait kontak/percakapan Anda — seperti rencana berlangganan, atau ketika melakukan pemesanan pertama kali dan sebagainya.

Untuk membuat sebuah atribut, silakan klik pada Tambahkan Atribut. Anda juga bisa mengedit atau menghapus atribut yang sudah ada dengan mengklik pada tombol Edit atau Hapus.

", + "HEADER": "Atribut Kustom", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "Tambahkan atribut", + "TITLE": "Add Custom Attribute", "SUBMIT": "Buat", "CANCEL_BUTTON_TEXT": "Batalkan", "FORM": { "NAME": { "LABEL": "Nama tampilan", - "PLACEHOLDER": "Masukkan nama tampilan atribut", + "PLACEHOLDER": "Enter custom attribute display name", "ERROR": "Nama dibutuhkan" }, "DESC": { "LABEL": "Deskripsi", - "PLACEHOLDER": "Masukkan deskripsi atribut", + "PLACEHOLDER": "Enter custom attribute description", "ERROR": "Deskripsi dibutuhkan" }, "MODEL": { - "LABEL": "Model", - "PLACEHOLDER": "Silakan pilih sebuah model", + "LABEL": "Applies to", + "PLACEHOLDER": "Please select one", "ERROR": "Model dibutuhkan" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "Tipe dibutuhkan" }, "KEY": { - "LABEL": "Kunci" + "LABEL": "Kunci", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "Atribut berhasil ditambahkan", - "ERROR_MESSAGE": "Tidak dapat membuat sebuah atribut, Silakan coba lagi nanti" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "Hapus", "API": { - "SUCCESS_MESSAGE": "Atribut berhasil dihapus.", - "ERROR_MESSAGE": "Tidak dapat menghapus atribut. Coba lagi." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { "TITLE": "Anda yakin akan menghapus - %{attributeName}", "PLACE_HOLDER": "Silakan ketikkan {attributeName} untuk konfirmasi", - "MESSAGE": "Penghapusan akan menghilangkan atribut", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "Hapus ", "NO": "Batalkan" } }, "EDIT": { - "TITLE": "Edit atribut", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "Perbarui", "API": { - "SUCCESS_MESSAGE": "Atribut berhasil diperbarui", - "ERROR_MESSAGE": "Terjadi kesalahan saat memperbarui atribut, silakan coba lagi" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { @@ -77,8 +80,8 @@ "DELETE": "Hapus" }, "EMPTY_RESULT": { - "404": "Tidak ada atribut yang dibuat", - "NOT_FOUND": "Tidak ada atribut yang dikonfigurasi" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/id/chatlist.json b/app/javascript/dashboard/i18n/locale/id/chatlist.json index be55c5c01647..3ce926a77f22 100644 --- a/app/javascript/dashboard/i18n/locale/id/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/id/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "Terbuka", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "Terbuka" }, - { - "TEXT": "Terselesaikan", - "VALUE": "resolved" + "resolved": { + "TEXT": "Terselesaikan" }, - { - "TEXT": "Pending", - "VALUE": "pending" + "pending": { + "TEXT": "Pending" }, - { - "TEXT": "Snoozed", - "VALUE": "snoozed" + "snoozed": { + "TEXT": "Snoozed" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -85,6 +81,7 @@ "RECEIVED_VIA_EMAIL": "Diterima melalui email", "VIEW_TWEET_IN_TWITTER": "Lihat tweet di Twitter", "REPLY_TO_TWEET": "Balas tweet ini", + "SENT": "Sent successfully", "NO_MESSAGES": "Tidak Ada Pesan", "NO_CONTENT": "Tidak ada konten yang tersedia", "HIDE_QUOTED_TEXT": "Hide Quoted Text", diff --git a/app/javascript/dashboard/i18n/locale/id/contact.json b/app/javascript/dashboard/i18n/locale/id/contact.json index 737149109c37..e535f10d1c8f 100644 --- a/app/javascript/dashboard/i18n/locale/id/contact.json +++ b/app/javascript/dashboard/i18n/locale/id/contact.json @@ -7,6 +7,7 @@ "COMPANY": "Perusahaan", "LOCATION": "Lokasi", "CONVERSATION_TITLE": "Detail Percakapan", + "VIEW_PROFILE": "View Profile", "BROWSER": "Browser", "OS": "Sistem Operasi", "INITIATED_FROM": "Dimulai dari", @@ -154,6 +155,11 @@ "LABEL": "Kotak masuk", "ERROR": "Pilih kotak masuk" }, + "SUBJECT": { + "LABEL": "Subject", + "PLACEHOLDER": "Subject", + "ERROR": "Subject can't be empty" + }, "MESSAGE": { "LABEL": "Pesan", "PLACEHOLDER": "Tulis pesan Anda disini", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "Lihat detail" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "Kontak", + "LOADING": "Loading contact profile..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "Tambah", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Fetching notes...", + "NOT_AVAILABLE": "There are no notes created for this contact", "HEADER": { "TITLE": "Catatan" }, + "LIST": { + "LABEL": "added a note" + }, "ADD": { "BUTTON": "Tambah", "PLACEHOLDER": "Tambahkan Catatan", "TITLE": "Shift + Enter untuk membuat sebuah catatan" }, - "FOOTER": { - "BUTTON": "Lihat semua catatan" + "CONTENT_HEADER": { + "DELETE": "Delete note" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Add attributes", "BUTTON": "Tambahkan atribut kustom", "NOT_AVAILABLE": "Tidak ada atribut kustom yang tersedia untuk kontak ini.", + "COPY_SUCCESSFUL": "Berhasil disalin ke clipboard", + "ACTIONS": { + "COPY": "Copy attribute", + "DELETE": "Delete attribute", + "EDIT": "Edit atribut" + }, "ADD": { "TITLE": "Buat atribut kustom", "DESC": "Tambahkan informasi kustom pada kontak ini." @@ -239,7 +261,29 @@ "VALUE": { "LABEL": "Nilai atribut", "PLACEHOLDER": "Mis: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "Atribut berhasil ditambahkan", + "ERROR": "Unable to add attribute. Please try again later" + }, + "UPDATE": { + "SUCCESS": "Atribut berhasil diperbarui", + "ERROR": "Unable to update attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Atribut berhasil dihapus", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" } + }, + "VALIDATIONS": { + "REQUIRED": "Valid value is required", + "INVALID_URL": "Invalid URL" } }, "MERGE_CONTACTS": { diff --git a/app/javascript/dashboard/i18n/locale/id/conversation.json b/app/javascript/dashboard/i18n/locale/id/conversation.json index ebee2a9307c6..e3052efcec86 100644 --- a/app/javascript/dashboard/i18n/locale/id/conversation.json +++ b/app/javascript/dashboard/i18n/locale/id/conversation.json @@ -156,6 +156,27 @@ "PREVIOUS_CONVERSATION": "Percakapan Sebelumnya" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "Atribut berhasil diperbarui", + "ERROR": "Unable to update attribute. Please try again later" + }, + "ADD": { + "TITLE": "Tambah", + "SUCCESS": "Atribut berhasil ditambahkan", + "ERROR": "Unable to add attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Atribut berhasil dihapus", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" + } + }, "EMAIL_HEADER": { "TO": "Ke", "BCC": "Bcc", diff --git a/app/javascript/dashboard/i18n/locale/id/settings.json b/app/javascript/dashboard/i18n/locale/id/settings.json index 9c244f0fb7b8..9d20a8576ddc 100644 --- a/app/javascript/dashboard/i18n/locale/id/settings.json +++ b/app/javascript/dashboard/i18n/locale/id/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "hari percobaan tersisa.", - "TRAIL_BUTTON": "Beli Sekarang" + "TRAIL_BUTTON": "Beli Sekarang", + "DELETED_USER": "Deleted User" }, "COMPONENTS": { "CODE": { @@ -142,7 +143,7 @@ "ACCOUNT_SETTINGS": "Pengaturan Akun", "APPLICATIONS": "Aplikasi", "LABELS": "Label", - "ATTRIBUTES": "Atribut", + "CUSTOM_ATTRIBUTES": "Atribut Kustom", "TEAMS": "Tim", "ALL_CONTACTS": "Semua Kontak", "TAGGED_WITH": "Tandai dengan", diff --git a/app/javascript/dashboard/i18n/locale/it/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/it/attributesMgmt.json index f3815bd7b649..2d3d0e493d07 100644 --- a/app/javascript/dashboard/i18n/locale/it/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/it/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Attributi", - "HEADER_BTN_TXT": "Aggiungi Attributo", - "LOADING": "Recupero attributi", - "SIDEBAR_TXT": "

Attributi

Un attributo personalizzato tiene traccia dei dati relativi ai tuoi contatti/conversazioni — come il piano di abbonamento, o quando hanno ordinato il primo oggetto, ecc.

Per creare un Attributo, basta cliccare sulAggiungi Attributo. Puoi anche modificare o eliminare un Attributo esistente facendo clic sul pulsante Modifica o Elimina.

", + "HEADER": "Attributi Personalizzati", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "Aggiungi Attributo", + "TITLE": "Add Custom Attribute", "SUBMIT": "Crea", "CANCEL_BUTTON_TEXT": "annulla", "FORM": { "NAME": { "LABEL": "Nome Visualizzato", - "PLACEHOLDER": "Inserisci il nome da visualizzare", + "PLACEHOLDER": "Enter custom attribute display name", "ERROR": "Il nome è obbligatorio" }, "DESC": { "LABEL": "Descrizione", - "PLACEHOLDER": "Inserire descrizione", + "PLACEHOLDER": "Enter custom attribute description", "ERROR": "Descrizione obbligatoria" }, "MODEL": { - "LABEL": "Modello", - "PLACEHOLDER": "Seleziona un modello", + "LABEL": "Applies to", + "PLACEHOLDER": "Please select one", "ERROR": "Il modello è obbligatorio" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "Il tipo è obbligatorio" }, "KEY": { - "LABEL": "Chiave" + "LABEL": "Chiave", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "Attributo aggiunto con successo", - "ERROR_MESSAGE": "Impossibile creare un attributo, riprova più tardi" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "Cancellare", "API": { - "SUCCESS_MESSAGE": "Attributo eliminato con successo.", - "ERROR_MESSAGE": "Impossibile eliminare l'attributo. Riprova." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { "TITLE": "Sei sicuro di voler eliminare - %{attributeName}", "PLACE_HOLDER": "Digita {attributeName} per confermare", - "MESSAGE": "L'eliminazione rimuoverà l'attributo", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "Cancellare ", "NO": "annulla" } }, "EDIT": { - "TITLE": "Modifica attributo", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "Aggiornamento", "API": { - "SUCCESS_MESSAGE": "Attributo aggiornato con successo", - "ERROR_MESSAGE": "Si è verificato un errore durante l'aggiornamento dell'attributo, per favore riprova" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { @@ -77,8 +80,8 @@ "DELETE": "Cancellare" }, "EMPTY_RESULT": { - "404": "Non ci sono attributi creati", - "NOT_FOUND": "Non ci sono attributi configurati" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/it/chatlist.json b/app/javascript/dashboard/i18n/locale/it/chatlist.json index da96089f1b03..9b054a4e19cb 100644 --- a/app/javascript/dashboard/i18n/locale/it/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/it/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "Apri", - "VALUE": "Aperto" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "Apri" }, - { - "TEXT": "Risolti", - "VALUE": "risolto" + "resolved": { + "TEXT": "Risolti" }, - { - "TEXT": "In Attesa", - "VALUE": "pending" + "pending": { + "TEXT": "In Attesa" }, - { - "TEXT": "Posticipato", - "VALUE": "snoozed" + "snoozed": { + "TEXT": "Posticipato" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -85,6 +81,7 @@ "RECEIVED_VIA_EMAIL": "Ricevuto via email", "VIEW_TWEET_IN_TWITTER": "Visualizza tweet su Twitter", "REPLY_TO_TWEET": "Rispondi a questo tweet", + "SENT": "Sent successfully", "NO_MESSAGES": "Nessun Messaggio", "NO_CONTENT": "Nessun contenuto disponibile", "HIDE_QUOTED_TEXT": "Nascondi Testo Citato", diff --git a/app/javascript/dashboard/i18n/locale/it/contact.json b/app/javascript/dashboard/i18n/locale/it/contact.json index ae9513806f54..18dd21201e8e 100644 --- a/app/javascript/dashboard/i18n/locale/it/contact.json +++ b/app/javascript/dashboard/i18n/locale/it/contact.json @@ -7,6 +7,7 @@ "COMPANY": "Azienda", "LOCATION": "Localizzazione", "CONVERSATION_TITLE": "Dettagli conversazione", + "VIEW_PROFILE": "View Profile", "BROWSER": "Browser", "OS": "Sistema Operativo", "INITIATED_FROM": "Iniziato da", @@ -154,6 +155,11 @@ "LABEL": "Inbox", "ERROR": "Select an inbox" }, + "SUBJECT": { + "LABEL": "Subject", + "PLACEHOLDER": "Subject", + "ERROR": "Subject can't be empty" + }, "MESSAGE": { "LABEL": "Messaggio", "PLACEHOLDER": "Write your message here", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "View details" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "Contatti", + "LOADING": "Loading contact profile..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "Add", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Fetching notes...", + "NOT_AVAILABLE": "There are no notes created for this contact", "HEADER": { "TITLE": "Notes" }, + "LIST": { + "LABEL": "added a note" + }, "ADD": { "BUTTON": "Add", "PLACEHOLDER": "Add a note", "TITLE": "Shift + Enter to create a note" }, - "FOOTER": { - "BUTTON": "View all notes" + "CONTENT_HEADER": { + "DELETE": "Delete note" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Add attributes", "BUTTON": "Add custom attribute", "NOT_AVAILABLE": "There are no custom attributes available for this contact.", + "COPY_SUCCESSFUL": "Copiato negli appunti con successo", + "ACTIONS": { + "COPY": "Copy attribute", + "DELETE": "Delete attribute", + "EDIT": "Modifica attributo" + }, "ADD": { "TITLE": "Create custom attribute", "DESC": "Add custom information to this contact." @@ -239,7 +261,29 @@ "VALUE": { "LABEL": "Attribute value", "PLACEHOLDER": "Eg: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "Attributo aggiunto con successo", + "ERROR": "Unable to add attribute. Please try again later" + }, + "UPDATE": { + "SUCCESS": "Attributo aggiornato con successo", + "ERROR": "Unable to update attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attributo eliminato con successo", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" } + }, + "VALIDATIONS": { + "REQUIRED": "Valid value is required", + "INVALID_URL": "Invalid URL" } }, "MERGE_CONTACTS": { diff --git a/app/javascript/dashboard/i18n/locale/it/conversation.json b/app/javascript/dashboard/i18n/locale/it/conversation.json index 80627043ee50..ec8b4b9921b1 100644 --- a/app/javascript/dashboard/i18n/locale/it/conversation.json +++ b/app/javascript/dashboard/i18n/locale/it/conversation.json @@ -156,6 +156,27 @@ "PREVIOUS_CONVERSATION": "Conversazioni precedenti" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "Attributo aggiornato con successo", + "ERROR": "Unable to update attribute. Please try again later" + }, + "ADD": { + "TITLE": "Aggiungi", + "SUCCESS": "Attributo aggiunto con successo", + "ERROR": "Unable to add attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attributo eliminato con successo", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" + } + }, "EMAIL_HEADER": { "TO": "To", "BCC": "Bcc", diff --git a/app/javascript/dashboard/i18n/locale/it/settings.json b/app/javascript/dashboard/i18n/locale/it/settings.json index 9c2d74b4e59b..1c722ee82ba2 100644 --- a/app/javascript/dashboard/i18n/locale/it/settings.json +++ b/app/javascript/dashboard/i18n/locale/it/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "giorni di prova rimanenti.", - "TRAIL_BUTTON": "Acquista Ora" + "TRAIL_BUTTON": "Acquista Ora", + "DELETED_USER": "Deleted User" }, "COMPONENTS": { "CODE": { @@ -142,7 +143,7 @@ "ACCOUNT_SETTINGS": "Impostazioni Account", "APPLICATIONS": "Applicazioni", "LABELS": "Etichette", - "ATTRIBUTES": "Attributi", + "CUSTOM_ATTRIBUTES": "Attributi Personalizzati", "TEAMS": "Teams", "ALL_CONTACTS": "Tutti I Contatti", "TAGGED_WITH": "Etichettato con", diff --git a/app/javascript/dashboard/i18n/locale/ja/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ja/attributesMgmt.json index a156fa532436..a7bafee6e1b2 100644 --- a/app/javascript/dashboard/i18n/locale/ja/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ja/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Attributes", - "HEADER_BTN_TXT": "Add Attribute", - "LOADING": "Fetching attributes", - "SIDEBAR_TXT": "

Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Attributes, just click on the Add Attribute. You can also edit or delete an existing Attribute by clicking on the Edit or Delete button.

", + "HEADER": "カスタム属性", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "Add attribute", + "TITLE": "Add Custom Attribute", "SUBMIT": "作成", "CANCEL_BUTTON_TEXT": "キャンセル", "FORM": { "NAME": { "LABEL": "Display Name", - "PLACEHOLDER": "Enter attribute display name", + "PLACEHOLDER": "Enter custom attribute display name", "ERROR": "Name is required" }, "DESC": { "LABEL": "説明", - "PLACEHOLDER": "Enter attribute description", + "PLACEHOLDER": "Enter custom attribute description", "ERROR": "Description is required" }, "MODEL": { - "LABEL": "Model", - "PLACEHOLDER": "Please select a model", + "LABEL": "Applies to", + "PLACEHOLDER": "Please select one", "ERROR": "Model is required" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "Type is required" }, "KEY": { - "LABEL": "Key" + "LABEL": "Key", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create an attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "削除", "API": { - "SUCCESS_MESSAGE": "Attribute deleted successfully.", - "ERROR_MESSAGE": "Couldn't delete the attribute. Try again." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { "TITLE": "Are you sure want to delete - %{attributeName}", "PLACE_HOLDER": "Please type {attributeName} to confirm", - "MESSAGE": "Deleting will remove the attribute", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "削除 ", "NO": "キャンセル" } }, "EDIT": { - "TITLE": "Edit attribute", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "更新", "API": { - "SUCCESS_MESSAGE": "Attribute updated successfully", - "ERROR_MESSAGE": "There was an error updating attribute, please try again" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { @@ -77,8 +80,8 @@ "DELETE": "削除" }, "EMPTY_RESULT": { - "404": "There are no attributes created", - "NOT_FOUND": "There are no attributes configured" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/ja/chatlist.json b/app/javascript/dashboard/i18n/locale/ja/chatlist.json index 5d79ba0d5255..d4ff266f5416 100644 --- a/app/javascript/dashboard/i18n/locale/ja/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/ja/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "開く", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "開く" }, - { - "TEXT": "解決済み", - "VALUE": "resolved" + "resolved": { + "TEXT": "解決済み" }, - { - "TEXT": "Pending", - "VALUE": "pending" + "pending": { + "TEXT": "Pending" }, - { - "TEXT": "Snoozed", - "VALUE": "snoozed" + "snoozed": { + "TEXT": "Snoozed" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -85,6 +81,7 @@ "RECEIVED_VIA_EMAIL": "メールで受信しました", "VIEW_TWEET_IN_TWITTER": "ツイートをTwitterで見る", "REPLY_TO_TWEET": "このつぶやきに返信", + "SENT": "Sent successfully", "NO_MESSAGES": "No Messages", "NO_CONTENT": "No content available", "HIDE_QUOTED_TEXT": "Hide Quoted Text", diff --git a/app/javascript/dashboard/i18n/locale/ja/contact.json b/app/javascript/dashboard/i18n/locale/ja/contact.json index f0af9e990f4d..6f58fb7ef0e0 100644 --- a/app/javascript/dashboard/i18n/locale/ja/contact.json +++ b/app/javascript/dashboard/i18n/locale/ja/contact.json @@ -7,6 +7,7 @@ "COMPANY": "企業", "LOCATION": "場所", "CONVERSATION_TITLE": "会話の詳細", + "VIEW_PROFILE": "View Profile", "BROWSER": "ブラウザ", "OS": "OS", "INITIATED_FROM": "開始元", @@ -154,6 +155,11 @@ "LABEL": "Inbox", "ERROR": "Select an inbox" }, + "SUBJECT": { + "LABEL": "Subject", + "PLACEHOLDER": "Subject", + "ERROR": "Subject can't be empty" + }, "MESSAGE": { "LABEL": "メッセージ", "PLACEHOLDER": "Write your message here", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "View details" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "Contacts", + "LOADING": "Loading contact profile..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "Add", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Fetching notes...", + "NOT_AVAILABLE": "There are no notes created for this contact", "HEADER": { "TITLE": "Notes" }, + "LIST": { + "LABEL": "added a note" + }, "ADD": { "BUTTON": "Add", "PLACEHOLDER": "Add a note", "TITLE": "Shift + Enter to create a note" }, - "FOOTER": { - "BUTTON": "View all notes" + "CONTENT_HEADER": { + "DELETE": "Delete note" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Add attributes", "BUTTON": "Add custom attribute", "NOT_AVAILABLE": "There are no custom attributes available for this contact.", + "COPY_SUCCESSFUL": "Copied to clipboard successfully", + "ACTIONS": { + "COPY": "Copy attribute", + "DELETE": "Delete attribute", + "EDIT": "Edit attribute" + }, "ADD": { "TITLE": "Create custom attribute", "DESC": "Add custom information to this contact." @@ -239,7 +261,29 @@ "VALUE": { "LABEL": "Attribute value", "PLACEHOLDER": "Eg: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" } + }, + "VALIDATIONS": { + "REQUIRED": "Valid value is required", + "INVALID_URL": "Invalid URL" } }, "MERGE_CONTACTS": { diff --git a/app/javascript/dashboard/i18n/locale/ja/conversation.json b/app/javascript/dashboard/i18n/locale/ja/conversation.json index ee4e8677a434..2284e999bfd9 100644 --- a/app/javascript/dashboard/i18n/locale/ja/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ja/conversation.json @@ -156,6 +156,27 @@ "PREVIOUS_CONVERSATION": "前の会話" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "ADD": { + "TITLE": "Add", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" + } + }, "EMAIL_HEADER": { "TO": "To", "BCC": "Bcc", diff --git a/app/javascript/dashboard/i18n/locale/ja/settings.json b/app/javascript/dashboard/i18n/locale/ja/settings.json index 990ed69db4f6..0a2db1097cc2 100644 --- a/app/javascript/dashboard/i18n/locale/ja/settings.json +++ b/app/javascript/dashboard/i18n/locale/ja/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "日、トライアル期間が残っています。", - "TRAIL_BUTTON": "今すぐ購入" + "TRAIL_BUTTON": "今すぐ購入", + "DELETED_USER": "Deleted User" }, "COMPONENTS": { "CODE": { @@ -142,7 +143,7 @@ "ACCOUNT_SETTINGS": "アカウント設定", "APPLICATIONS": "Applications", "LABELS": "ラベル", - "ATTRIBUTES": "Attributes", + "CUSTOM_ATTRIBUTES": "カスタム属性", "TEAMS": "Teams", "ALL_CONTACTS": "All Contacts", "TAGGED_WITH": "Tagged with", diff --git a/app/javascript/dashboard/i18n/locale/ko/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ko/attributesMgmt.json index 8225a69655f1..69696b4ea12c 100644 --- a/app/javascript/dashboard/i18n/locale/ko/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ko/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Attributes", - "HEADER_BTN_TXT": "Add Attribute", - "LOADING": "Fetching attributes", - "SIDEBAR_TXT": "

Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Attributes, just click on the Add Attribute. You can also edit or delete an existing Attribute by clicking on the Edit or Delete button.

", + "HEADER": "사용자 지정 특성", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "Add attribute", + "TITLE": "Add Custom Attribute", "SUBMIT": "만들기", "CANCEL_BUTTON_TEXT": "취소", "FORM": { "NAME": { "LABEL": "Display Name", - "PLACEHOLDER": "Enter attribute display name", + "PLACEHOLDER": "Enter custom attribute display name", "ERROR": "Name is required" }, "DESC": { "LABEL": "내용", - "PLACEHOLDER": "Enter attribute description", + "PLACEHOLDER": "Enter custom attribute description", "ERROR": "Description is required" }, "MODEL": { - "LABEL": "Model", - "PLACEHOLDER": "Please select a model", + "LABEL": "Applies to", + "PLACEHOLDER": "Please select one", "ERROR": "Model is required" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "Type is required" }, "KEY": { - "LABEL": "Key" + "LABEL": "Key", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create an attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "삭제", "API": { - "SUCCESS_MESSAGE": "Attribute deleted successfully.", - "ERROR_MESSAGE": "Couldn't delete the attribute. Try again." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { "TITLE": "%{attributeName}팀을 삭제하시겠습니까?", "PLACE_HOLDER": "Please type {attributeName} to confirm", - "MESSAGE": "Deleting will remove the attribute", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "삭제 ", "NO": "취소" } }, "EDIT": { - "TITLE": "Edit attribute", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "업데이트", "API": { - "SUCCESS_MESSAGE": "Attribute updated successfully", - "ERROR_MESSAGE": "There was an error updating attribute, please try again" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { @@ -77,8 +80,8 @@ "DELETE": "삭제" }, "EMPTY_RESULT": { - "404": "There are no attributes created", - "NOT_FOUND": "There are no attributes configured" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/ko/chatlist.json b/app/javascript/dashboard/i18n/locale/ko/chatlist.json index 6d1aac89d8cb..aab37eaa8bb8 100644 --- a/app/javascript/dashboard/i18n/locale/ko/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/ko/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "열기", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "열기" }, - { - "TEXT": "해결됨", - "VALUE": "resolved" + "resolved": { + "TEXT": "해결됨" }, - { - "TEXT": "Pending", - "VALUE": "pending" + "pending": { + "TEXT": "Pending" }, - { - "TEXT": "Snoozed", - "VALUE": "snoozed" + "snoozed": { + "TEXT": "Snoozed" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -85,6 +81,7 @@ "RECEIVED_VIA_EMAIL": "이메일을 통해 수신됨", "VIEW_TWEET_IN_TWITTER": "트위터에서 트윗 보기", "REPLY_TO_TWEET": "트윗에 응답하기", + "SENT": "Sent successfully", "NO_MESSAGES": "메시지 없음", "NO_CONTENT": "No content available", "HIDE_QUOTED_TEXT": "Hide Quoted Text", diff --git a/app/javascript/dashboard/i18n/locale/ko/contact.json b/app/javascript/dashboard/i18n/locale/ko/contact.json index bdd2eefce90d..fa87f86a1210 100644 --- a/app/javascript/dashboard/i18n/locale/ko/contact.json +++ b/app/javascript/dashboard/i18n/locale/ko/contact.json @@ -7,6 +7,7 @@ "COMPANY": "회사", "LOCATION": "장소", "CONVERSATION_TITLE": "대화 자세히", + "VIEW_PROFILE": "View Profile", "BROWSER": "브라우저", "OS": "운영 체제", "INITIATED_FROM": "시작 위치", @@ -154,6 +155,11 @@ "LABEL": "Inbox", "ERROR": "Select an inbox" }, + "SUBJECT": { + "LABEL": "Subject", + "PLACEHOLDER": "Subject", + "ERROR": "Subject can't be empty" + }, "MESSAGE": { "LABEL": "메시지", "PLACEHOLDER": "Write your message here", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "상세보기" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "연락처", + "LOADING": "Loading contact profile..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "Add", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Fetching notes...", + "NOT_AVAILABLE": "There are no notes created for this contact", "HEADER": { "TITLE": "Notes" }, + "LIST": { + "LABEL": "added a note" + }, "ADD": { "BUTTON": "Add", "PLACEHOLDER": "Add a note", "TITLE": "Shift + Enter to create a note" }, - "FOOTER": { - "BUTTON": "View all notes" + "CONTENT_HEADER": { + "DELETE": "Delete note" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Add attributes", "BUTTON": "Add custom attribute", "NOT_AVAILABLE": "There are no custom attributes available for this contact.", + "COPY_SUCCESSFUL": "클립보드에 성공적으로 복사됨", + "ACTIONS": { + "COPY": "Copy attribute", + "DELETE": "Delete attribute", + "EDIT": "Edit attribute" + }, "ADD": { "TITLE": "Create custom attribute", "DESC": "Add custom information to this contact." @@ -239,7 +261,29 @@ "VALUE": { "LABEL": "Attribute value", "PLACEHOLDER": "Eg: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" } + }, + "VALIDATIONS": { + "REQUIRED": "Valid value is required", + "INVALID_URL": "Invalid URL" } }, "MERGE_CONTACTS": { diff --git a/app/javascript/dashboard/i18n/locale/ko/conversation.json b/app/javascript/dashboard/i18n/locale/ko/conversation.json index f7d4b428353e..9d4292d09f61 100644 --- a/app/javascript/dashboard/i18n/locale/ko/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ko/conversation.json @@ -156,6 +156,27 @@ "PREVIOUS_CONVERSATION": "이전 대화" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "ADD": { + "TITLE": "Add", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" + } + }, "EMAIL_HEADER": { "TO": "To", "BCC": "Bcc", diff --git a/app/javascript/dashboard/i18n/locale/ko/settings.json b/app/javascript/dashboard/i18n/locale/ko/settings.json index 754a35ac22b5..2c586f859870 100644 --- a/app/javascript/dashboard/i18n/locale/ko/settings.json +++ b/app/javascript/dashboard/i18n/locale/ko/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "일 평가판이 남아 있습니다.", - "TRAIL_BUTTON": "지금 구입하기" + "TRAIL_BUTTON": "지금 구입하기", + "DELETED_USER": "Deleted User" }, "COMPONENTS": { "CODE": { @@ -142,7 +143,7 @@ "ACCOUNT_SETTINGS": "계정 설정", "APPLICATIONS": "Applications", "LABELS": "라벨", - "ATTRIBUTES": "Attributes", + "CUSTOM_ATTRIBUTES": "사용자 지정 특성", "TEAMS": "팀", "ALL_CONTACTS": "All Contacts", "TAGGED_WITH": "Tagged with", diff --git a/app/javascript/dashboard/i18n/locale/ml/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ml/attributesMgmt.json index f5bade425156..e8bfee232b18 100644 --- a/app/javascript/dashboard/i18n/locale/ml/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ml/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Attributes", - "HEADER_BTN_TXT": "Add Attribute", - "LOADING": "Fetching attributes", - "SIDEBAR_TXT": "

Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Attributes, just click on the Add Attribute. You can also edit or delete an existing Attribute by clicking on the Edit or Delete button.

", + "HEADER": "ഇഷ്‌ടാനുസൃത ആട്രിബ്യൂട്ടുകൾ", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "Add attribute", + "TITLE": "Add Custom Attribute", "SUBMIT": "സൃഷ്ടിക്കുക", "CANCEL_BUTTON_TEXT": "റദ്ദാക്കുക", "FORM": { "NAME": { "LABEL": "Display Name", - "PLACEHOLDER": "Enter attribute display name", + "PLACEHOLDER": "Enter custom attribute display name", "ERROR": "Name is required" }, "DESC": { "LABEL": "വിവരണം", - "PLACEHOLDER": "Enter attribute description", + "PLACEHOLDER": "Enter custom attribute description", "ERROR": "Description is required" }, "MODEL": { - "LABEL": "Model", - "PLACEHOLDER": "Please select a model", + "LABEL": "Applies to", + "PLACEHOLDER": "Please select one", "ERROR": "Model is required" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "Type is required" }, "KEY": { - "LABEL": "Key" + "LABEL": "Key", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create an attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "ഇല്ലാതാക്കുക", "API": { - "SUCCESS_MESSAGE": "Attribute deleted successfully.", - "ERROR_MESSAGE": "Couldn't delete the attribute. Try again." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { "TITLE": "Are you sure want to delete - %{attributeName}", "PLACE_HOLDER": "Please type {attributeName} to confirm", - "MESSAGE": "Deleting will remove the attribute", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "ഇല്ലാതാക്കുക ", "NO": "റദ്ദാക്കുക" } }, "EDIT": { - "TITLE": "Edit attribute", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "അപ്‌ഡേറ്റ്", "API": { - "SUCCESS_MESSAGE": "Attribute updated successfully", - "ERROR_MESSAGE": "There was an error updating attribute, please try again" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { @@ -77,8 +80,8 @@ "DELETE": "ഇല്ലാതാക്കുക" }, "EMPTY_RESULT": { - "404": "There are no attributes created", - "NOT_FOUND": "There are no attributes configured" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/ml/chatlist.json b/app/javascript/dashboard/i18n/locale/ml/chatlist.json index 7b7abfcd1cd5..8aa9f9fd6747 100644 --- a/app/javascript/dashboard/i18n/locale/ml/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/ml/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "സജീവം", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "സജീവം" }, - { - "TEXT": "പരിഹരിച്ചത്", - "VALUE": "resolved" + "resolved": { + "TEXT": "പരിഹരിച്ചത്" }, - { - "TEXT": "Pending", - "VALUE": "pending" + "pending": { + "TEXT": "Pending" }, - { - "TEXT": "Snoozed", - "VALUE": "snoozed" + "snoozed": { + "TEXT": "Snoozed" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -85,6 +81,7 @@ "RECEIVED_VIA_EMAIL": "ഇമെയിൽ വഴി ലഭിച്ചു", "VIEW_TWEET_IN_TWITTER": "ട്വിറ്ററിൽ ട്വീറ്റ് കാണുക", "REPLY_TO_TWEET": "ഈ ട്വീറ്റിന് മറുപടി നൽകുക", + "SENT": "Sent successfully", "NO_MESSAGES": "No Messages", "NO_CONTENT": "No content available", "HIDE_QUOTED_TEXT": "Hide Quoted Text", diff --git a/app/javascript/dashboard/i18n/locale/ml/contact.json b/app/javascript/dashboard/i18n/locale/ml/contact.json index a99170021b27..f2fd3b180a74 100644 --- a/app/javascript/dashboard/i18n/locale/ml/contact.json +++ b/app/javascript/dashboard/i18n/locale/ml/contact.json @@ -7,6 +7,7 @@ "COMPANY": "കമ്പനി", "LOCATION": "സ്ഥാനം", "CONVERSATION_TITLE": "സംഭാഷണ വിശദാംശങ്ങൾ", + "VIEW_PROFILE": "View Profile", "BROWSER": "ബ്രൗസർ", "OS": "ഓപ്പറേറ്റിംഗ് സിസ്റ്റം", "INITIATED_FROM": "ആരംഭിച്ച ആൾ ", @@ -154,6 +155,11 @@ "LABEL": "Inbox", "ERROR": "Select an inbox" }, + "SUBJECT": { + "LABEL": "Subject", + "PLACEHOLDER": "Subject", + "ERROR": "Subject can't be empty" + }, "MESSAGE": { "LABEL": "Message", "PLACEHOLDER": "Write your message here", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "View details" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "കോൺ‌ടാക്റ്റുകൾ", + "LOADING": "Loading contact profile..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "Add", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Fetching notes...", + "NOT_AVAILABLE": "There are no notes created for this contact", "HEADER": { "TITLE": "Notes" }, + "LIST": { + "LABEL": "added a note" + }, "ADD": { "BUTTON": "Add", "PLACEHOLDER": "Add a note", "TITLE": "Shift + Enter to create a note" }, - "FOOTER": { - "BUTTON": "View all notes" + "CONTENT_HEADER": { + "DELETE": "Delete note" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Add attributes", "BUTTON": "Add custom attribute", "NOT_AVAILABLE": "There are no custom attributes available for this contact.", + "COPY_SUCCESSFUL": "ക്ലിപ്പ്ബോർഡിലേക്ക് വിജയകരമായി പകർത്തി", + "ACTIONS": { + "COPY": "Copy attribute", + "DELETE": "Delete attribute", + "EDIT": "Edit attribute" + }, "ADD": { "TITLE": "Create custom attribute", "DESC": "Add custom information to this contact." @@ -239,7 +261,29 @@ "VALUE": { "LABEL": "Attribute value", "PLACEHOLDER": "Eg: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" } + }, + "VALIDATIONS": { + "REQUIRED": "Valid value is required", + "INVALID_URL": "Invalid URL" } }, "MERGE_CONTACTS": { diff --git a/app/javascript/dashboard/i18n/locale/ml/conversation.json b/app/javascript/dashboard/i18n/locale/ml/conversation.json index 0d4410ff3317..0c5618db4115 100644 --- a/app/javascript/dashboard/i18n/locale/ml/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ml/conversation.json @@ -156,6 +156,27 @@ "PREVIOUS_CONVERSATION": "മുമ്പത്തെ സംഭാഷണങ്ങൾ" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "ADD": { + "TITLE": "Add", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" + } + }, "EMAIL_HEADER": { "TO": "To", "BCC": "Bcc", diff --git a/app/javascript/dashboard/i18n/locale/ml/settings.json b/app/javascript/dashboard/i18n/locale/ml/settings.json index 43a2eee80ff8..d862124715cd 100644 --- a/app/javascript/dashboard/i18n/locale/ml/settings.json +++ b/app/javascript/dashboard/i18n/locale/ml/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "ദിവസത്തെ ട്രയൽ ശേഷിക്കുന്നു.", - "TRAIL_BUTTON": "ഇപ്പോൾ വാങ്ങുക" + "TRAIL_BUTTON": "ഇപ്പോൾ വാങ്ങുക", + "DELETED_USER": "Deleted User" }, "COMPONENTS": { "CODE": { @@ -142,7 +143,7 @@ "ACCOUNT_SETTINGS": "അക്കൗണ്ട് ക്രമീകരണങ്ങൾ", "APPLICATIONS": "Applications", "LABELS": "ലേബലുകൾ", - "ATTRIBUTES": "Attributes", + "CUSTOM_ATTRIBUTES": "ഇഷ്‌ടാനുസൃത ആട്രിബ്യൂട്ടുകൾ", "TEAMS": "Teams", "ALL_CONTACTS": "All Contacts", "TAGGED_WITH": "Tagged with", diff --git a/app/javascript/dashboard/i18n/locale/ne/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ne/attributesMgmt.json index 7064537c99d5..ec9e2183e3fe 100644 --- a/app/javascript/dashboard/i18n/locale/ne/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ne/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Attributes", - "HEADER_BTN_TXT": "Add Attribute", - "LOADING": "Fetching attributes", - "SIDEBAR_TXT": "

Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Attributes, just click on the Add Attribute. You can also edit or delete an existing Attribute by clicking on the Edit or Delete button.

", + "HEADER": "Custom Attributes", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "Add attribute", + "TITLE": "Add Custom Attribute", "SUBMIT": "Create", "CANCEL_BUTTON_TEXT": "Cancel", "FORM": { "NAME": { "LABEL": "Display Name", - "PLACEHOLDER": "Enter attribute display name", + "PLACEHOLDER": "Enter custom attribute display name", "ERROR": "Name is required" }, "DESC": { "LABEL": "Description", - "PLACEHOLDER": "Enter attribute description", + "PLACEHOLDER": "Enter custom attribute description", "ERROR": "Description is required" }, "MODEL": { - "LABEL": "Model", - "PLACEHOLDER": "Please select a model", + "LABEL": "Applies to", + "PLACEHOLDER": "Please select one", "ERROR": "Model is required" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "Type is required" }, "KEY": { - "LABEL": "Key" + "LABEL": "Key", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create an attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "Delete", "API": { - "SUCCESS_MESSAGE": "Attribute deleted successfully.", - "ERROR_MESSAGE": "Couldn't delete the attribute. Try again." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { "TITLE": "Are you sure want to delete - %{attributeName}", "PLACE_HOLDER": "Please type {attributeName} to confirm", - "MESSAGE": "Deleting will remove the attribute", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "Delete ", "NO": "Cancel" } }, "EDIT": { - "TITLE": "Edit attribute", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "Update", "API": { - "SUCCESS_MESSAGE": "Attribute updated successfully", - "ERROR_MESSAGE": "There was an error updating attribute, please try again" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { @@ -77,8 +80,8 @@ "DELETE": "Delete" }, "EMPTY_RESULT": { - "404": "There are no attributes created", - "NOT_FOUND": "There are no attributes configured" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/ne/chatlist.json b/app/javascript/dashboard/i18n/locale/ne/chatlist.json index 7262c4f9a0fe..1be18cad9108 100644 --- a/app/javascript/dashboard/i18n/locale/ne/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/ne/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "Open", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "Open" }, - { - "TEXT": "Resolved", - "VALUE": "resolved" + "resolved": { + "TEXT": "Resolved" }, - { - "TEXT": "Pending", - "VALUE": "pending" + "pending": { + "TEXT": "Pending" }, - { - "TEXT": "Snoozed", - "VALUE": "snoozed" + "snoozed": { + "TEXT": "Snoozed" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -85,6 +81,7 @@ "RECEIVED_VIA_EMAIL": "Received via email", "VIEW_TWEET_IN_TWITTER": "View tweet in Twitter", "REPLY_TO_TWEET": "Reply to this tweet", + "SENT": "Sent successfully", "NO_MESSAGES": "No Messages", "NO_CONTENT": "No content available", "HIDE_QUOTED_TEXT": "Hide Quoted Text", diff --git a/app/javascript/dashboard/i18n/locale/ne/contact.json b/app/javascript/dashboard/i18n/locale/ne/contact.json index 5a5d81e103d6..72c290a6aae1 100644 --- a/app/javascript/dashboard/i18n/locale/ne/contact.json +++ b/app/javascript/dashboard/i18n/locale/ne/contact.json @@ -7,6 +7,7 @@ "COMPANY": "Company", "LOCATION": "Location", "CONVERSATION_TITLE": "Conversation Details", + "VIEW_PROFILE": "View Profile", "BROWSER": "Browser", "OS": "Operating System", "INITIATED_FROM": "Initiated from", @@ -154,6 +155,11 @@ "LABEL": "Inbox", "ERROR": "Select an inbox" }, + "SUBJECT": { + "LABEL": "Subject", + "PLACEHOLDER": "Subject", + "ERROR": "Subject can't be empty" + }, "MESSAGE": { "LABEL": "Message", "PLACEHOLDER": "Write your message here", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "View details" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "Contacts", + "LOADING": "Loading contact profile..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "Add", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Fetching notes...", + "NOT_AVAILABLE": "There are no notes created for this contact", "HEADER": { "TITLE": "Notes" }, + "LIST": { + "LABEL": "added a note" + }, "ADD": { "BUTTON": "Add", "PLACEHOLDER": "Add a note", "TITLE": "Shift + Enter to create a note" }, - "FOOTER": { - "BUTTON": "View all notes" + "CONTENT_HEADER": { + "DELETE": "Delete note" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Add attributes", "BUTTON": "Add custom attribute", "NOT_AVAILABLE": "There are no custom attributes available for this contact.", + "COPY_SUCCESSFUL": "Copied to clipboard successfully", + "ACTIONS": { + "COPY": "Copy attribute", + "DELETE": "Delete attribute", + "EDIT": "Edit attribute" + }, "ADD": { "TITLE": "Create custom attribute", "DESC": "Add custom information to this contact." @@ -239,7 +261,29 @@ "VALUE": { "LABEL": "Attribute value", "PLACEHOLDER": "Eg: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" } + }, + "VALIDATIONS": { + "REQUIRED": "Valid value is required", + "INVALID_URL": "Invalid URL" } }, "MERGE_CONTACTS": { diff --git a/app/javascript/dashboard/i18n/locale/ne/conversation.json b/app/javascript/dashboard/i18n/locale/ne/conversation.json index 89d78fdb7ac2..98a7fc2d96c9 100644 --- a/app/javascript/dashboard/i18n/locale/ne/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ne/conversation.json @@ -156,6 +156,27 @@ "PREVIOUS_CONVERSATION": "Previous Conversations" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "ADD": { + "TITLE": "Add", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" + } + }, "EMAIL_HEADER": { "TO": "To", "BCC": "Bcc", diff --git a/app/javascript/dashboard/i18n/locale/ne/settings.json b/app/javascript/dashboard/i18n/locale/ne/settings.json index c4f14711926a..64c5353001ed 100644 --- a/app/javascript/dashboard/i18n/locale/ne/settings.json +++ b/app/javascript/dashboard/i18n/locale/ne/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "days trial remaining.", - "TRAIL_BUTTON": "Buy Now" + "TRAIL_BUTTON": "Buy Now", + "DELETED_USER": "Deleted User" }, "COMPONENTS": { "CODE": { @@ -142,7 +143,7 @@ "ACCOUNT_SETTINGS": "Account Settings", "APPLICATIONS": "Applications", "LABELS": "Labels", - "ATTRIBUTES": "Attributes", + "CUSTOM_ATTRIBUTES": "Custom Attributes", "TEAMS": "Teams", "ALL_CONTACTS": "All Contacts", "TAGGED_WITH": "Tagged with", diff --git a/app/javascript/dashboard/i18n/locale/nl/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/nl/attributesMgmt.json index 5e0b6731862d..19844832fad3 100644 --- a/app/javascript/dashboard/i18n/locale/nl/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/nl/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Attributes", - "HEADER_BTN_TXT": "Add Attribute", - "LOADING": "Fetching attributes", - "SIDEBAR_TXT": "

Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Attributes, just click on the Add Attribute. You can also edit or delete an existing Attribute by clicking on the Edit or Delete button.

", + "HEADER": "Custom Attributes", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "Add attribute", + "TITLE": "Add Custom Attribute", "SUBMIT": "Aanmaken", "CANCEL_BUTTON_TEXT": "Annuleren", "FORM": { "NAME": { "LABEL": "Display Name", - "PLACEHOLDER": "Enter attribute display name", + "PLACEHOLDER": "Enter custom attribute display name", "ERROR": "Name is required" }, "DESC": { "LABEL": "Beschrijving", - "PLACEHOLDER": "Enter attribute description", + "PLACEHOLDER": "Enter custom attribute description", "ERROR": "Description is required" }, "MODEL": { - "LABEL": "Model", - "PLACEHOLDER": "Please select a model", + "LABEL": "Applies to", + "PLACEHOLDER": "Please select one", "ERROR": "Model is required" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "Type is required" }, "KEY": { - "LABEL": "Key" + "LABEL": "Key", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create an attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "Verwijderen", "API": { - "SUCCESS_MESSAGE": "Attribute deleted successfully.", - "ERROR_MESSAGE": "Couldn't delete the attribute. Try again." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { "TITLE": "Are you sure want to delete - %{attributeName}", "PLACE_HOLDER": "Please type {attributeName} to confirm", - "MESSAGE": "Deleting will remove the attribute", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "Verwijderen ", "NO": "Annuleren" } }, "EDIT": { - "TITLE": "Edit attribute", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "Vernieuwen", "API": { - "SUCCESS_MESSAGE": "Attribute updated successfully", - "ERROR_MESSAGE": "There was an error updating attribute, please try again" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { @@ -77,8 +80,8 @@ "DELETE": "Verwijderen" }, "EMPTY_RESULT": { - "404": "There are no attributes created", - "NOT_FOUND": "There are no attributes configured" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/nl/chatlist.json b/app/javascript/dashboard/i18n/locale/nl/chatlist.json index 32cf534e4e55..752959d0bb9a 100644 --- a/app/javascript/dashboard/i18n/locale/nl/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/nl/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "Open", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "Open" }, - { - "TEXT": "Opgelost", - "VALUE": "resolved" + "resolved": { + "TEXT": "Opgelost" }, - { - "TEXT": "Afwachtend", - "VALUE": "afwachtend" + "pending": { + "TEXT": "Afwachtend" }, - { - "TEXT": "Gesluimerd", - "VALUE": "gesluimerd" + "snoozed": { + "TEXT": "Gesluimerd" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -85,6 +81,7 @@ "RECEIVED_VIA_EMAIL": "Ontvangen via e-mail", "VIEW_TWEET_IN_TWITTER": "Bekijk tweet op Twitter", "REPLY_TO_TWEET": "Antwoord op deze tweet", + "SENT": "Sent successfully", "NO_MESSAGES": "Geen berichten", "NO_CONTENT": "Geen inhoud beschikbaar", "HIDE_QUOTED_TEXT": "Hide Quoted Text", diff --git a/app/javascript/dashboard/i18n/locale/nl/contact.json b/app/javascript/dashboard/i18n/locale/nl/contact.json index 3c28cf49f6ec..b105e32393b6 100644 --- a/app/javascript/dashboard/i18n/locale/nl/contact.json +++ b/app/javascript/dashboard/i18n/locale/nl/contact.json @@ -7,6 +7,7 @@ "COMPANY": "Bedrijfsnaam", "LOCATION": "Locatie", "CONVERSATION_TITLE": "Gesprekdetails", + "VIEW_PROFILE": "View Profile", "BROWSER": "Browser", "OS": "Besturingssysteem", "INITIATED_FROM": "Geïnitieerd vanuit", @@ -154,6 +155,11 @@ "LABEL": "Inbox", "ERROR": "Select an inbox" }, + "SUBJECT": { + "LABEL": "Subject", + "PLACEHOLDER": "Subject", + "ERROR": "Subject can't be empty" + }, "MESSAGE": { "LABEL": "Message", "PLACEHOLDER": "Write your message here", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "View details" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "Contacts", + "LOADING": "Loading contact profile..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "Add", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Fetching notes...", + "NOT_AVAILABLE": "There are no notes created for this contact", "HEADER": { "TITLE": "Notes" }, + "LIST": { + "LABEL": "added a note" + }, "ADD": { "BUTTON": "Add", "PLACEHOLDER": "Add a note", "TITLE": "Shift + Enter to create a note" }, - "FOOTER": { - "BUTTON": "View all notes" + "CONTENT_HEADER": { + "DELETE": "Delete note" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Add attributes", "BUTTON": "Add custom attribute", "NOT_AVAILABLE": "There are no custom attributes available for this contact.", + "COPY_SUCCESSFUL": "Succesvol gekopieerd naar klembord", + "ACTIONS": { + "COPY": "Copy attribute", + "DELETE": "Delete attribute", + "EDIT": "Edit attribute" + }, "ADD": { "TITLE": "Create custom attribute", "DESC": "Add custom information to this contact." @@ -239,7 +261,29 @@ "VALUE": { "LABEL": "Attribute value", "PLACEHOLDER": "Eg: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" } + }, + "VALIDATIONS": { + "REQUIRED": "Valid value is required", + "INVALID_URL": "Invalid URL" } }, "MERGE_CONTACTS": { diff --git a/app/javascript/dashboard/i18n/locale/nl/conversation.json b/app/javascript/dashboard/i18n/locale/nl/conversation.json index 54d7616859f3..fb86c9561bd8 100644 --- a/app/javascript/dashboard/i18n/locale/nl/conversation.json +++ b/app/javascript/dashboard/i18n/locale/nl/conversation.json @@ -156,6 +156,27 @@ "PREVIOUS_CONVERSATION": "Vorige gesprekken" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "ADD": { + "TITLE": "Add", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" + } + }, "EMAIL_HEADER": { "TO": "To", "BCC": "Bcc", diff --git a/app/javascript/dashboard/i18n/locale/nl/settings.json b/app/javascript/dashboard/i18n/locale/nl/settings.json index 3ace57d50997..4598a241fca1 100644 --- a/app/javascript/dashboard/i18n/locale/nl/settings.json +++ b/app/javascript/dashboard/i18n/locale/nl/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "dagen proefperiode resterend.", - "TRAIL_BUTTON": "Nu kopen" + "TRAIL_BUTTON": "Nu kopen", + "DELETED_USER": "Deleted User" }, "COMPONENTS": { "CODE": { @@ -142,7 +143,7 @@ "ACCOUNT_SETTINGS": "Accountinstellingen", "APPLICATIONS": "Applications", "LABELS": "Labelen", - "ATTRIBUTES": "Attributes", + "CUSTOM_ATTRIBUTES": "Custom Attributes", "TEAMS": "Teams", "ALL_CONTACTS": "All Contacts", "TAGGED_WITH": "Tagged with", diff --git a/app/javascript/dashboard/i18n/locale/no/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/no/attributesMgmt.json index 21bde665615d..739322412c0c 100644 --- a/app/javascript/dashboard/i18n/locale/no/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/no/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Attributes", - "HEADER_BTN_TXT": "Add Attribute", - "LOADING": "Fetching attributes", - "SIDEBAR_TXT": "

Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Attributes, just click on the Add Attribute. You can also edit or delete an existing Attribute by clicking on the Edit or Delete button.

", + "HEADER": "Egendefinerte verdier", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "Add attribute", + "TITLE": "Add Custom Attribute", "SUBMIT": "Opprett", "CANCEL_BUTTON_TEXT": "Avbryt", "FORM": { "NAME": { "LABEL": "Display Name", - "PLACEHOLDER": "Enter attribute display name", + "PLACEHOLDER": "Enter custom attribute display name", "ERROR": "Name is required" }, "DESC": { "LABEL": "Beskrivelse", - "PLACEHOLDER": "Enter attribute description", + "PLACEHOLDER": "Enter custom attribute description", "ERROR": "Description is required" }, "MODEL": { - "LABEL": "Model", - "PLACEHOLDER": "Please select a model", + "LABEL": "Applies to", + "PLACEHOLDER": "Please select one", "ERROR": "Model is required" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "Type is required" }, "KEY": { - "LABEL": "Key" + "LABEL": "Key", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create an attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "Slett", "API": { - "SUCCESS_MESSAGE": "Attribute deleted successfully.", - "ERROR_MESSAGE": "Couldn't delete the attribute. Try again." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { "TITLE": "Are you sure want to delete - %{attributeName}", "PLACE_HOLDER": "Please type {attributeName} to confirm", - "MESSAGE": "Deleting will remove the attribute", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "Slett ", "NO": "Avbryt" } }, "EDIT": { - "TITLE": "Edit attribute", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "Oppdater", "API": { - "SUCCESS_MESSAGE": "Attribute updated successfully", - "ERROR_MESSAGE": "There was an error updating attribute, please try again" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { @@ -77,8 +80,8 @@ "DELETE": "Slett" }, "EMPTY_RESULT": { - "404": "There are no attributes created", - "NOT_FOUND": "There are no attributes configured" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/no/chatlist.json b/app/javascript/dashboard/i18n/locale/no/chatlist.json index 3c37edf46ca6..f9c973507d49 100644 --- a/app/javascript/dashboard/i18n/locale/no/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/no/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "Åpne", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "Åpne" }, - { - "TEXT": "Løst", - "VALUE": "resolved" + "resolved": { + "TEXT": "Løst" }, - { - "TEXT": "Pending", - "VALUE": "pending" + "pending": { + "TEXT": "Pending" }, - { - "TEXT": "Snoozed", - "VALUE": "snoozed" + "snoozed": { + "TEXT": "Snoozed" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -85,6 +81,7 @@ "RECEIVED_VIA_EMAIL": "Mottatt via e-post", "VIEW_TWEET_IN_TWITTER": "Vis tweet i Twitter", "REPLY_TO_TWEET": "Svar på denne tweeten", + "SENT": "Sent successfully", "NO_MESSAGES": "Ingen meldinger", "NO_CONTENT": "No content available", "HIDE_QUOTED_TEXT": "Hide Quoted Text", diff --git a/app/javascript/dashboard/i18n/locale/no/contact.json b/app/javascript/dashboard/i18n/locale/no/contact.json index 88be7c99055e..01ab6c4dabb5 100644 --- a/app/javascript/dashboard/i18n/locale/no/contact.json +++ b/app/javascript/dashboard/i18n/locale/no/contact.json @@ -7,6 +7,7 @@ "COMPANY": "Firma", "LOCATION": "Plassering", "CONVERSATION_TITLE": "Samtaledetaljer", + "VIEW_PROFILE": "View Profile", "BROWSER": "Nettleser", "OS": "Operativsystem", "INITIATED_FROM": "Startet fra", @@ -154,6 +155,11 @@ "LABEL": "Inbox", "ERROR": "Select an inbox" }, + "SUBJECT": { + "LABEL": "Subject", + "PLACEHOLDER": "Subject", + "ERROR": "Subject can't be empty" + }, "MESSAGE": { "LABEL": "Message", "PLACEHOLDER": "Write your message here", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "View details" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "Kontakter", + "LOADING": "Loading contact profile..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "Add", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Fetching notes...", + "NOT_AVAILABLE": "There are no notes created for this contact", "HEADER": { "TITLE": "Notes" }, + "LIST": { + "LABEL": "added a note" + }, "ADD": { "BUTTON": "Add", "PLACEHOLDER": "Add a note", "TITLE": "Shift + Enter to create a note" }, - "FOOTER": { - "BUTTON": "View all notes" + "CONTENT_HEADER": { + "DELETE": "Delete note" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Add attributes", "BUTTON": "Add custom attribute", "NOT_AVAILABLE": "There are no custom attributes available for this contact.", + "COPY_SUCCESSFUL": "Kopiert til utklippstavle", + "ACTIONS": { + "COPY": "Copy attribute", + "DELETE": "Delete attribute", + "EDIT": "Edit attribute" + }, "ADD": { "TITLE": "Create custom attribute", "DESC": "Add custom information to this contact." @@ -239,7 +261,29 @@ "VALUE": { "LABEL": "Attribute value", "PLACEHOLDER": "Eg: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" } + }, + "VALIDATIONS": { + "REQUIRED": "Valid value is required", + "INVALID_URL": "Invalid URL" } }, "MERGE_CONTACTS": { diff --git a/app/javascript/dashboard/i18n/locale/no/conversation.json b/app/javascript/dashboard/i18n/locale/no/conversation.json index f75534209a96..67dfd96d350e 100644 --- a/app/javascript/dashboard/i18n/locale/no/conversation.json +++ b/app/javascript/dashboard/i18n/locale/no/conversation.json @@ -156,6 +156,27 @@ "PREVIOUS_CONVERSATION": "Tidligere samtaler" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "ADD": { + "TITLE": "Add", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" + } + }, "EMAIL_HEADER": { "TO": "To", "BCC": "Bcc", diff --git a/app/javascript/dashboard/i18n/locale/no/settings.json b/app/javascript/dashboard/i18n/locale/no/settings.json index cf466978fc0a..b0644a0a6c01 100644 --- a/app/javascript/dashboard/i18n/locale/no/settings.json +++ b/app/javascript/dashboard/i18n/locale/no/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "dager gjenværende av prøveperioden.", - "TRAIL_BUTTON": "Kjøp nå" + "TRAIL_BUTTON": "Kjøp nå", + "DELETED_USER": "Deleted User" }, "COMPONENTS": { "CODE": { @@ -142,7 +143,7 @@ "ACCOUNT_SETTINGS": "Kontoinnstillinger", "APPLICATIONS": "Applications", "LABELS": "Etiketter", - "ATTRIBUTES": "Attributes", + "CUSTOM_ATTRIBUTES": "Egendefinerte verdier", "TEAMS": "Teams", "ALL_CONTACTS": "All Contacts", "TAGGED_WITH": "Tagged with", diff --git a/app/javascript/dashboard/i18n/locale/pl/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/pl/attributesMgmt.json index ee6ceb3bc130..79e87a281962 100644 --- a/app/javascript/dashboard/i18n/locale/pl/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/pl/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Attributes", - "HEADER_BTN_TXT": "Add Attribute", - "LOADING": "Fetching attributes", - "SIDEBAR_TXT": "

Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Attributes, just click on the Add Attribute. You can also edit or delete an existing Attribute by clicking on the Edit or Delete button.

", + "HEADER": "Niestandardowe atrybuty", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "Dodaj atrybut", + "TITLE": "Add Custom Attribute", "SUBMIT": "Stwórz", "CANCEL_BUTTON_TEXT": "Anuluj", "FORM": { "NAME": { "LABEL": "Display Name", - "PLACEHOLDER": "Enter attribute display name", + "PLACEHOLDER": "Enter custom attribute display name", "ERROR": "Name is required" }, "DESC": { "LABEL": "Description", - "PLACEHOLDER": "Enter attribute description", + "PLACEHOLDER": "Enter custom attribute description", "ERROR": "Description is required" }, "MODEL": { - "LABEL": "Model", - "PLACEHOLDER": "Please select a model", + "LABEL": "Applies to", + "PLACEHOLDER": "Please select one", "ERROR": "Model is required" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "Type is required" }, "KEY": { - "LABEL": "Key" + "LABEL": "Key", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create an attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "Usuń", "API": { - "SUCCESS_MESSAGE": "Attribute deleted successfully.", - "ERROR_MESSAGE": "Couldn't delete the attribute. Try again." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { "TITLE": "Are you sure want to delete - %{attributeName}", "PLACE_HOLDER": "Please type {attributeName} to confirm", - "MESSAGE": "Deleting will remove the attribute", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "Usuń ", "NO": "Anuluj" } }, "EDIT": { - "TITLE": "Edit attribute", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "Aktualizuj", "API": { - "SUCCESS_MESSAGE": "Attribute updated successfully", - "ERROR_MESSAGE": "There was an error updating attribute, please try again" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { @@ -77,8 +80,8 @@ "DELETE": "Usuń" }, "EMPTY_RESULT": { - "404": "There are no attributes created", - "NOT_FOUND": "There are no attributes configured" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/pl/chatlist.json b/app/javascript/dashboard/i18n/locale/pl/chatlist.json index 3989724ba44d..d83324f0c7c3 100644 --- a/app/javascript/dashboard/i18n/locale/pl/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/pl/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "Otwórz", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "Otwórz" }, - { - "TEXT": "Rozwiązano", - "VALUE": "resolved" + "resolved": { + "TEXT": "Rozwiązano" }, - { - "TEXT": "Oczekujące", - "VALUE": "oczekujące" + "pending": { + "TEXT": "Oczekujące" }, - { - "TEXT": "Snoozed", - "VALUE": "snoozed" + "snoozed": { + "TEXT": "Snoozed" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -85,6 +81,7 @@ "RECEIVED_VIA_EMAIL": "Otrzymano przez e-mail", "VIEW_TWEET_IN_TWITTER": "Zobacz tweet na Twitterze", "REPLY_TO_TWEET": "Odpowiedz na ten tweet", + "SENT": "Sent successfully", "NO_MESSAGES": "Brak wiadomości", "NO_CONTENT": "Brak treści", "HIDE_QUOTED_TEXT": "Hide Quoted Text", diff --git a/app/javascript/dashboard/i18n/locale/pl/contact.json b/app/javascript/dashboard/i18n/locale/pl/contact.json index 44cd1325c63d..48ce305b0d1c 100644 --- a/app/javascript/dashboard/i18n/locale/pl/contact.json +++ b/app/javascript/dashboard/i18n/locale/pl/contact.json @@ -7,6 +7,7 @@ "COMPANY": "Firma", "LOCATION": "Lokalizacja", "CONVERSATION_TITLE": "Szczegóły konwersacji", + "VIEW_PROFILE": "View Profile", "BROWSER": "Przeglądarki", "OS": "System operacyjny", "INITIATED_FROM": "Zainicjowano z", @@ -154,6 +155,11 @@ "LABEL": "Skrzynka odbiorcza", "ERROR": "Wybierz skrzynkę odbiorczą" }, + "SUBJECT": { + "LABEL": "Subject", + "PLACEHOLDER": "Subject", + "ERROR": "Subject can't be empty" + }, "MESSAGE": { "LABEL": "Wiadomość", "PLACEHOLDER": "Wpisz swoją wiadomość tutaj", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "Wyświetl szczegóły" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "Kontakty", + "LOADING": "Loading contact profile..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "Dodaj", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Fetching notes...", + "NOT_AVAILABLE": "There are no notes created for this contact", "HEADER": { "TITLE": "Notatki" }, + "LIST": { + "LABEL": "added a note" + }, "ADD": { "BUTTON": "Dodaj", "PLACEHOLDER": "Dodaj notatkę", "TITLE": "Shift + Enter by utworzyć notatkę" }, - "FOOTER": { - "BUTTON": "Wyświetl wszystkie notatki" + "CONTENT_HEADER": { + "DELETE": "Delete note" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Add attributes", "BUTTON": "Dodaj niestandardowy atrybut", "NOT_AVAILABLE": "There are no custom attributes available for this contact.", + "COPY_SUCCESSFUL": "Pomyślnie skopiowano do schowka", + "ACTIONS": { + "COPY": "Copy attribute", + "DELETE": "Delete attribute", + "EDIT": "Edit attribute" + }, "ADD": { "TITLE": "Dodaj niestandardowy atrybut", "DESC": "Dodaj niestandardową informację do tego kontaktu." @@ -239,7 +261,29 @@ "VALUE": { "LABEL": "Wartość atrybutu", "PLACEHOLDER": "Np.: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" } + }, + "VALIDATIONS": { + "REQUIRED": "Valid value is required", + "INVALID_URL": "Invalid URL" } }, "MERGE_CONTACTS": { diff --git a/app/javascript/dashboard/i18n/locale/pl/conversation.json b/app/javascript/dashboard/i18n/locale/pl/conversation.json index 6ca346e83c7a..7a32abb089b0 100644 --- a/app/javascript/dashboard/i18n/locale/pl/conversation.json +++ b/app/javascript/dashboard/i18n/locale/pl/conversation.json @@ -156,6 +156,27 @@ "PREVIOUS_CONVERSATION": "Poprzednie rozmowy" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "ADD": { + "TITLE": "Dodaj", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" + } + }, "EMAIL_HEADER": { "TO": "Do", "BCC": "Bcc", diff --git a/app/javascript/dashboard/i18n/locale/pl/settings.json b/app/javascript/dashboard/i18n/locale/pl/settings.json index 8d0a4f395886..6842ebb5d428 100644 --- a/app/javascript/dashboard/i18n/locale/pl/settings.json +++ b/app/javascript/dashboard/i18n/locale/pl/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "days trial remaining.", - "TRAIL_BUTTON": "Buy Now" + "TRAIL_BUTTON": "Buy Now", + "DELETED_USER": "Deleted User" }, "COMPONENTS": { "CODE": { @@ -142,7 +143,7 @@ "ACCOUNT_SETTINGS": "Account Settings", "APPLICATIONS": "Applications", "LABELS": "Labels", - "ATTRIBUTES": "Attributes", + "CUSTOM_ATTRIBUTES": "Niestandardowe atrybuty", "TEAMS": "Zespoły", "ALL_CONTACTS": "All Contacts", "TAGGED_WITH": "Tagged with", diff --git a/app/javascript/dashboard/i18n/locale/pt/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/pt/attributesMgmt.json index 09b60f014b1c..0ec9927e7c0b 100644 --- a/app/javascript/dashboard/i18n/locale/pt/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/pt/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Attributes", - "HEADER_BTN_TXT": "Add Attribute", - "LOADING": "Fetching attributes", - "SIDEBAR_TXT": "

Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Attributes, just click on the Add Attribute. You can also edit or delete an existing Attribute by clicking on the Edit or Delete button.

", + "HEADER": "Atributos personalizados", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "Adicionar atributo", + "TITLE": "Add Custom Attribute", "SUBMIT": "Criar", "CANCEL_BUTTON_TEXT": "cancelar", "FORM": { "NAME": { "LABEL": "Display Name", - "PLACEHOLDER": "Enter attribute display name", + "PLACEHOLDER": "Enter custom attribute display name", "ERROR": "Name is required" }, "DESC": { "LABEL": "Descrição", - "PLACEHOLDER": "Enter attribute description", + "PLACEHOLDER": "Enter custom attribute description", "ERROR": "Description is required" }, "MODEL": { - "LABEL": "Model", - "PLACEHOLDER": "Please select a model", + "LABEL": "Applies to", + "PLACEHOLDER": "Please select one", "ERROR": "Model is required" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "Type is required" }, "KEY": { - "LABEL": "Key" + "LABEL": "Key", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create an attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "excluir", "API": { - "SUCCESS_MESSAGE": "Attribute deleted successfully.", - "ERROR_MESSAGE": "Couldn't delete the attribute. Try again." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { "TITLE": "Tem a certeza que quer apagar a equipa - %{attributeName}", "PLACE_HOLDER": "Por favor, digite {attributeName} para confirmar", - "MESSAGE": "Deleting will remove the attribute", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "excluir ", "NO": "cancelar" } }, "EDIT": { - "TITLE": "Edit attribute", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "Atualização", "API": { - "SUCCESS_MESSAGE": "Attribute updated successfully", - "ERROR_MESSAGE": "There was an error updating attribute, please try again" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { @@ -77,8 +80,8 @@ "DELETE": "excluir" }, "EMPTY_RESULT": { - "404": "There are no attributes created", - "NOT_FOUND": "There are no attributes configured" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/pt/chatlist.json b/app/javascript/dashboard/i18n/locale/pt/chatlist.json index d5c2730fbf14..dcf62496a76e 100644 --- a/app/javascript/dashboard/i18n/locale/pt/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/pt/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "Abertas", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "Abertas" }, - { - "TEXT": "Resolvido", - "VALUE": "resolved" + "resolved": { + "TEXT": "Resolvido" }, - { - "TEXT": "Pendente", - "VALUE": "pendente" + "pending": { + "TEXT": "Pendente" }, - { - "TEXT": "Adiado", - "VALUE": "adiado" + "snoozed": { + "TEXT": "Adiado" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -85,6 +81,7 @@ "RECEIVED_VIA_EMAIL": "Recebido por e-mail", "VIEW_TWEET_IN_TWITTER": "Ver mensagem no Twitter", "REPLY_TO_TWEET": "Responder à mensagem", + "SENT": "Sent successfully", "NO_MESSAGES": "Nenhuma mensagem", "NO_CONTENT": "Sem conteúdo disponível", "HIDE_QUOTED_TEXT": "Hide Quoted Text", diff --git a/app/javascript/dashboard/i18n/locale/pt/contact.json b/app/javascript/dashboard/i18n/locale/pt/contact.json index ccf604ca6e6a..9be3b7fcf6f5 100644 --- a/app/javascript/dashboard/i18n/locale/pt/contact.json +++ b/app/javascript/dashboard/i18n/locale/pt/contact.json @@ -7,6 +7,7 @@ "COMPANY": "Empresa", "LOCATION": "Local:", "CONVERSATION_TITLE": "Detalhes da conversa", + "VIEW_PROFILE": "View Profile", "BROWSER": "Navegador", "OS": "Sistema operacional", "INITIATED_FROM": "Iniciado de", @@ -154,6 +155,11 @@ "LABEL": "Recebidas", "ERROR": "Escolher uma caixa de entrada" }, + "SUBJECT": { + "LABEL": "Assunto", + "PLACEHOLDER": "Assunto", + "ERROR": "Subject can't be empty" + }, "MESSAGE": { "LABEL": "Messagem", "PLACEHOLDER": "Escreva aqui a sua mensagem", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "Mostrar detalhes" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "Contatos", + "LOADING": "Loading contact profile..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "Adicionar", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Fetching notes...", + "NOT_AVAILABLE": "There are no notes created for this contact", "HEADER": { "TITLE": "Observações" }, + "LIST": { + "LABEL": "added a note" + }, "ADD": { "BUTTON": "Adicionar", "PLACEHOLDER": "Adicionar observação", "TITLE": "Shift + Enter para criar uma observação" }, - "FOOTER": { - "BUTTON": "Ver todas as observaçoes" + "CONTENT_HEADER": { + "DELETE": "Delete note" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Add attributes", "BUTTON": "Adicionar atributo personalizado", "NOT_AVAILABLE": "There are no custom attributes available for this contact.", + "COPY_SUCCESSFUL": "Copiado para área de transferência com sucesso", + "ACTIONS": { + "COPY": "Copy attribute", + "DELETE": "Delete attribute", + "EDIT": "Edit attribute" + }, "ADD": { "TITLE": "Criar atributo personalizado", "DESC": "Adicionar informação personalizada a este contato." @@ -239,7 +261,29 @@ "VALUE": { "LABEL": "Valor do atributo", "PLACEHOLDER": "Eg: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" } + }, + "VALIDATIONS": { + "REQUIRED": "Valid value is required", + "INVALID_URL": "Invalid URL" } }, "MERGE_CONTACTS": { diff --git a/app/javascript/dashboard/i18n/locale/pt/conversation.json b/app/javascript/dashboard/i18n/locale/pt/conversation.json index 2e206ed10856..ad90dfea999f 100644 --- a/app/javascript/dashboard/i18n/locale/pt/conversation.json +++ b/app/javascript/dashboard/i18n/locale/pt/conversation.json @@ -156,6 +156,27 @@ "PREVIOUS_CONVERSATION": "Conversas anteriores" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "ADD": { + "TITLE": "Adicionar", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" + } + }, "EMAIL_HEADER": { "TO": "Para", "BCC": "BCC", diff --git a/app/javascript/dashboard/i18n/locale/pt/settings.json b/app/javascript/dashboard/i18n/locale/pt/settings.json index 70c41077822a..f07fa7994de7 100644 --- a/app/javascript/dashboard/i18n/locale/pt/settings.json +++ b/app/javascript/dashboard/i18n/locale/pt/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "dias de teste restantes.", - "TRAIL_BUTTON": "Comprar agora" + "TRAIL_BUTTON": "Comprar agora", + "DELETED_USER": "Deleted User" }, "COMPONENTS": { "CODE": { @@ -142,7 +143,7 @@ "ACCOUNT_SETTINGS": "Configurações da conta", "APPLICATIONS": "Aplicações", "LABELS": "Etiquetas", - "ATTRIBUTES": "Attributes", + "CUSTOM_ATTRIBUTES": "Atributos personalizados", "TEAMS": "Equipas", "ALL_CONTACTS": "Todos os contatos", "TAGGED_WITH": "Etiquetada com", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/pt_BR/attributesMgmt.json index 624ad7a7246b..42c71e94039b 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Atributos", - "HEADER_BTN_TXT": "Adicionar atributo", - "LOADING": "Buscando atributos", - "SIDEBAR_TXT": "

Atributos

Um atributo personalizado faixa fatos sobre seus contatos/conversa — como o plano de assinatura. ou quando eles compraram o primeiro item, etc.

Para criar um Atributo, basta clicar noAdicionar Atributo. Pode também editar ou apagar um atributo existente clicando em Editar ou Apagar botão.

", + "HEADER": "Atributos Personalizados", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "Adicionar atributo", + "TITLE": "Add Custom Attribute", "SUBMIT": "Criar", "CANCEL_BUTTON_TEXT": "Cancelar", "FORM": { "NAME": { "LABEL": "Nome para exibição", - "PLACEHOLDER": "Digite o nome de exibição do atributo", + "PLACEHOLDER": "Enter custom attribute display name", "ERROR": "O nome é obrigatório" }, "DESC": { "LABEL": "Descrição", - "PLACEHOLDER": "Digite a descrição do atributo", + "PLACEHOLDER": "Enter custom attribute description", "ERROR": "Descrição obrigatória" }, "MODEL": { - "LABEL": "Modelo", - "PLACEHOLDER": "Por favor, selecione um modelo", + "LABEL": "Aplica-se a", + "PLACEHOLDER": "Por favor, selecione um", "ERROR": "O modelo é necessário" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "O tipo é obrigatório" }, "KEY": { - "LABEL": "Chave" + "LABEL": "Chave", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "Atributo adicionado com sucesso", - "ERROR_MESSAGE": "Could not able to create an attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "Excluir", "API": { - "SUCCESS_MESSAGE": "Attribute deleted successfully.", - "ERROR_MESSAGE": "Couldn't delete the attribute. Try again." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { "TITLE": "Tem certeza que deseja excluir - %{attributeName}", "PLACE_HOLDER": "Digite {attributeName} para confirmar", - "MESSAGE": "Deleting will remove the attribute", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "Excluir ", "NO": "Cancelar" } }, "EDIT": { - "TITLE": "Edit attribute", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "Atualizar", "API": { - "SUCCESS_MESSAGE": "Attribute updated successfully", - "ERROR_MESSAGE": "There was an error updating attribute, please try again" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { @@ -77,8 +80,8 @@ "DELETE": "Excluir" }, "EMPTY_RESULT": { - "404": "Não há atributos criados", - "NOT_FOUND": "Não há atributos configurados" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/campaign.json b/app/javascript/dashboard/i18n/locale/pt_BR/campaign.json index d56365cd9e40..f8b1ac71c1c4 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/campaign.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/campaign.json @@ -54,7 +54,7 @@ "ERROR": "Tempo na página é necessário" }, "ENABLED": "Ativar campanha", - "TRIGGER_ONLY_BUSINESS_HOURS": "Trigger only during business hours", + "TRIGGER_ONLY_BUSINESS_HOURS": "Ativar somente durante o horário comercial", "SUBMIT": "Adicionar Campanha" }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/chatlist.json b/app/javascript/dashboard/i18n/locale/pt_BR/chatlist.json index 78441b65aa7d..ec403b296d76 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "Abertas", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "Abertas" }, - { - "TEXT": "Resolvidas", - "VALUE": "resolved" + "resolved": { + "TEXT": "Resolvida" }, - { - "TEXT": "Pendente", - "VALUE": "pendente" + "pending": { + "TEXT": "Pendente" }, - { - "TEXT": "Adiado", - "VALUE": "adiado" + "snoozed": { + "TEXT": "Adiado" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -85,9 +81,10 @@ "RECEIVED_VIA_EMAIL": "Recebido por e-mail", "VIEW_TWEET_IN_TWITTER": "Ver tweet no Twitter", "REPLY_TO_TWEET": "Responder a este tweet", + "SENT": "Enviado com sucesso", "NO_MESSAGES": "Nova Mensagem", "NO_CONTENT": "Nenhum conteúdo disponível", - "HIDE_QUOTED_TEXT": "Hide Quoted Text", - "SHOW_QUOTED_TEXT": "Show Quoted Text" + "HIDE_QUOTED_TEXT": "Ocultar Texto Citado", + "SHOW_QUOTED_TEXT": "Mostrar Texto Citado" } } diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/contact.json b/app/javascript/dashboard/i18n/locale/pt_BR/contact.json index 539e511bf3f0..c20463ff49fa 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/contact.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/contact.json @@ -7,6 +7,7 @@ "COMPANY": "Empresa", "LOCATION": "Localização", "CONVERSATION_TITLE": "Detalhes da conversa", + "VIEW_PROFILE": "Visualizar Perfil", "BROWSER": "Navegador", "OS": "Sistema Operacional", "INITIATED_FROM": "A partir de", @@ -32,8 +33,8 @@ "NO_RESULT": "Nenhum rótulo encontrado" } }, - "MERGE_CONTACT": "Merge contact", - "CONTACT_ACTIONS": "Contact actions", + "MERGE_CONTACT": "Mesclar contatos", + "CONTACT_ACTIONS": "Ações para contatos", "MUTE_CONTACT": "Silenciar Conversa", "UNMUTE_CONTACT": "Reativar Conversa", "MUTED_SUCCESS": "Esta conversa está silenciada por 6 horas", @@ -57,22 +58,22 @@ "DESC": "Adicione informações básicas sobre o contato." }, "IMPORT_CONTACTS": { - "BUTTON_LABEL": "Import", - "TITLE": "Import Contacts", - "DESC": "Import contacts through a CSV file.", - "DOWNLOAD_LABEL": "Download a sample csv.", + "BUTTON_LABEL": "Importar", + "TITLE": "Importar Contatos", + "DESC": "Importar contatos através de um arquivo CSV.", + "DOWNLOAD_LABEL": "Baixar um exemplo de csv.", "FORM": { - "LABEL": "CSV File", - "SUBMIT": "Import", + "LABEL": "Arquivo CSV", + "SUBMIT": "Importar", "CANCEL": "Cancelar" }, - "SUCCESS_MESSAGE": "Contacts saved successfully", + "SUCCESS_MESSAGE": "Contatos salvos com sucesso", "ERROR_MESSAGE": "Ocorreu um erro, por favor tente novamente" }, "DELETE_CONTACT": { - "BUTTON_LABEL": "Delete Contact", - "TITLE": "Delete contact", - "DESC": "Delete contact details", + "BUTTON_LABEL": "Excluir contato", + "TITLE": "Excluir contato", + "DESC": "Excluir detalhes do contato", "CONFIRM": { "TITLE": "Confirmar exclusão", "MESSAGE": "Você tem certeza que deseja excluir ", @@ -81,8 +82,8 @@ "NO": "Não, Mantenha " }, "API": { - "SUCCESS_MESSAGE": "Contact deleted successfully", - "ERROR_MESSAGE": "Could not delete contact. Please try again later." + "SUCCESS_MESSAGE": "Contato excluído com sucesso", + "ERROR_MESSAGE": "Não foi possível excluir o contato. Por favor, tente novamente mais tarde." } }, "CONTACT_FORM": { @@ -154,6 +155,11 @@ "LABEL": "Caixa de Entrada", "ERROR": "Selecione uma caixa de entrada" }, + "SUBJECT": { + "LABEL": "Assunto", + "PLACEHOLDER": "Assunto", + "ERROR": "O assunto não pode estar vazio" + }, "MESSAGE": { "LABEL": "Messagem", "PLACEHOLDER": "Escreva sua mensagem aqui", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "Ver detalhes" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "Contato", + "LOADING": "Carregando perfil de contato..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "Adicionar", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Buscando anotações...", + "NOT_AVAILABLE": "Não há notas criadas para este contato", "HEADER": { "TITLE": "Observações" }, + "LIST": { + "LABEL": "Adicionando uma anotação" + }, "ADD": { "BUTTON": "Adicionar", "PLACEHOLDER": "Adicionar uma nota", "TITLE": "Shift + Enter para criar uma nota" }, - "FOOTER": { - "BUTTON": "Ver todas as notas" + "CONTENT_HEADER": { + "DELETE": "Deletar Anotação" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Adicionar atributo", "BUTTON": "Criar atributo personalizado", - "NOT_AVAILABLE": "There are no custom attributes available for this contact.", + "NOT_AVAILABLE": "Não há atributos personalizados para este contato.", + "COPY_SUCCESSFUL": "Copiado para área de transferência com sucesso", + "ACTIONS": { + "COPY": "Copiar atributo", + "DELETE": "Excluir atributo", + "EDIT": "Editar atributo" + }, "ADD": { "TITLE": "Criar atributo personalizado", "DESC": "Adicionar informações personalizadas a este contato." @@ -239,24 +261,46 @@ "VALUE": { "LABEL": "Valor do atributo", "PLACEHOLDER": "Eg: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "Atributo adicionado com sucesso", + "ERROR": "Não foi possível adicionar o atributo. Por favor, tente mais tarde" + }, + "UPDATE": { + "SUCCESS": "Atributo atualizado com sucesso", + "ERROR": "Não foi possível atualizar o atributo. Por favor, tente mais tarde" + }, + "DELETE": { + "SUCCESS": "Atributo excluído com sucesso", + "ERROR": "Não foi possível excluir o atributo. Por favor, tente mais tarde" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Adicionar atributo", + "PLACEHOLDER": "Procurar atributos", + "NO_RESULT": "Nenhum atributo encontrado" } + }, + "VALIDATIONS": { + "REQUIRED": "Um valor válido é obrigatório", + "INVALID_URL": "URL inválida" } }, "MERGE_CONTACTS": { "TITLE": "Mesclar contatos", - "DESCRIPTION": "Merge contacts to combine two profiles into one, including all attributes and conversations. In case of conflict, the Primary contact’ s attributes will take precedence.", + "DESCRIPTION": "Mescle contatos para combinar dois perfis em um, incluindo todos os atributos e conversas. Em caso de conflito, os atributos do contato principal terão prioridade.", "PRIMARY": { "TITLE": "Contato principal", - "HELP_LABEL": "To be kept" + "HELP_LABEL": "Para ser mantido" }, "CHILD": { "TITLE": "Contato para mesclar", - "PLACEHOLDER": "Search for a contact", - "HELP_LABEL": "To be deleted" + "PLACEHOLDER": "Procurar um contato", + "HELP_LABEL": "Para ser excluído" }, "SUMMARY": { "TITLE": "Sumário", - "DELETE_WARNING": "Contact of %{childContactName} will be deleted.", + "DELETE_WARNING": "Contato de %{childContactName} será excluído.", "ATTRIBUTE_WARNING": "Detalhes de contato de %{childContactName} serão copiados para %{primaryContactName}." }, "SEARCH": { @@ -269,7 +313,7 @@ "ERROR": "Selecione um contato filho para mesclar" }, "SUCCESS_MESSAGE": "Contato mesclado com sucesso", - "ERROR_MESSAGE": "Could not merge contacts, try again!" + "ERROR_MESSAGE": "Não foi possível mesclar contatos, tente novamente!" } } } diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json b/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json index 35211ca38daf..464e48d1638c 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json @@ -40,9 +40,9 @@ "OPEN": "Mais", "CLOSE": "Fechar", "DETAILS": "detalhes", - "SNOOZED_UNTIL_TOMORROW": "Snoozed until tomorrow", - "SNOOZED_UNTIL_NEXT_WEEK": "Snoozed until next week", - "SNOOZED_UNTIL_NEXT_REPLY": "Snoozed until next reply" + "SNOOZED_UNTIL_TOMORROW": "Adiado até amanhã", + "SNOOZED_UNTIL_NEXT_WEEK": "Adiada até a próxima semana", + "SNOOZED_UNTIL_NEXT_REPLY": "Adiado até a próxima resposta" }, "RESOLVE_DROPDOWN": { "MARK_PENDING": "Marcar como pendente", @@ -87,7 +87,7 @@ "CHANGE_AGENT": "Responsável da conversa alterado", "CHANGE_TEAM": "Estado da conversa mudou", "FILE_SIZE_LIMIT": "O arquivo excede o limite de anexos {MAXIMUM_FILE_UPLOAD_SIZE}", - "MESSAGE_ERROR": "Unable to send this message, please try again later", + "MESSAGE_ERROR": "Não foi possível enviar esta mensagem, por favor, tente novamente mais tarde", "SENT_BY": "Enviado por:", "ASSIGNMENT": { "SELECT_AGENT": "Selecione Agente", @@ -148,14 +148,35 @@ "PLACEHOLDER": "Nenhuma" }, "ACCORDION": { - "CONTACT_DETAILS": "Contact Details", - "CONVERSATION_ACTIONS": "Conversation Actions", + "CONTACT_DETAILS": "Detalhes do contato", + "CONVERSATION_ACTIONS": "Ações da conversa", "CONVERSATION_LABELS": "Marcador da conversa", - "CONVERSATION_INFO": "Conversation Information", - "CONTACT_ATTRIBUTES": "Contact Attributes", + "CONVERSATION_INFO": "Informação da conversa", + "CONTACT_ATTRIBUTES": "Atributos do contato", "PREVIOUS_CONVERSATION": "Conversas anteriores" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Criar atributo", + "UPDATE": { + "SUCCESS": "Atributo atualizado com sucesso", + "ERROR": "Não foi possível atualizar o atributo. Por favor, tente mais tarde" + }, + "ADD": { + "TITLE": "Adicionar", + "SUCCESS": "Atributo adicionado com sucesso", + "ERROR": "Não foi possível adicionar o atributo. Por favor, tente mais tarde" + }, + "DELETE": { + "SUCCESS": "Atributo excluído com sucesso", + "ERROR": "Não foi possível excluir o atributo. Por favor, tente mais tarde" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Adicionar atributo", + "PLACEHOLDER": "Procurar atributos", + "NO_RESULT": "Nenhum atributo encontrado" + } + }, "EMAIL_HEADER": { "TO": "Para", "BCC": "CCO", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/generalSettings.json b/app/javascript/dashboard/i18n/locale/pt_BR/generalSettings.json index 8ee34b7f668f..38a42b0579c8 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/generalSettings.json @@ -74,10 +74,10 @@ }, "NETWORK": { "NOTIFICATION": { - "TEXT": "Disconnected from Chatwoot" + "TEXT": "Desconectado " }, "BUTTON": { - "REFRESH": "Refresh" + "REFRESH": "Atualizar" } } } diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/pt_BR/inboxMgmt.json index 4117c6f879dd..50340a08c8e9 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/inboxMgmt.json @@ -58,7 +58,7 @@ }, "CHANNEL_WEBHOOK_URL": { "LABEL": "URL do webhook", - "PLACEHOLDER": "Enter your Webhook URL", + "PLACEHOLDER": "Digite sua URL de Webhook", "ERROR": "Por favor, insira uma URL válida" }, "CHANNEL_DOMAIN": { @@ -98,7 +98,7 @@ }, "TWILIO": { "TITLE": "Twilio SMS/WhatsApp Channel", - "DESC": "Integrate Twilio and start supporting your customers via SMS or WhatsApp.", + "DESC": "Integre o Twilio e comece a oferecer suporte a seus clientes por SMS ou WhatsApp.", "ACCOUNT_SID": { "LABEL": "SID da Conta", "PLACEHOLDER": "Por favor, insira o SID sua conta no Twilio", @@ -115,7 +115,7 @@ }, "CHANNEL_NAME": { "LABEL": "Nome da Caixa de Entrada", - "PLACEHOLDER": "Please enter a inbox name", + "PLACEHOLDER": "Por favor, digite um nome para caixa de entrada", "ERROR": "Este campo é obrigatório" }, "PHONE_NUMBER": { @@ -137,16 +137,16 @@ "DESC": "Comece a apoiar seus clientes através de SMS com integração Twilio." }, "WHATSAPP": { - "TITLE": "WhatsApp Channel", - "DESC": "Start supporting your customers via WhatsApp.", + "TITLE": "Canal do WhatsApp", + "DESC": "Comece a apoiar seus clientes via WhatsApp.", "PROVIDERS": { "LABEL": "API Provider", "TWILIO": "Twilio", - "360_DIALOG": "360Dialog" + "360_DIALOG": "360Diálogo" }, "INBOX_NAME": { "LABEL": "Nome da Caixa de Entrada", - "PLACEHOLDER": "Please enter an inbox name", + "PLACEHOLDER": "Por favor, digite um nome para caixa de entrada", "ERROR": "Este campo é obrigatório" }, "PHONE_NUMBER": { @@ -155,15 +155,15 @@ "ERROR": "Por favor, insira um valor válido. O número de telefone deve começar com o sinal `+`." }, "API_KEY": { - "LABEL": "API key", - "SUBTITLE": "Configure the WhatsApp API key.", - "PLACEHOLDER": "API key", - "APPLY_FOR_ACCESS": "Don't have any API key? Apply for access here", - "ERROR": "Please enter a valid value." + "LABEL": "Chave da API", + "SUBTITLE": "Configure a chave API do WhatsApp.", + "PLACEHOLDER": "Chave da API", + "APPLY_FOR_ACCESS": "Não tem nenhuma chave de API? ", + "ERROR": "Por favor, insira um valor válido." }, - "SUBMIT_BUTTON": "Create WhatsApp Channel", + "SUBMIT_BUTTON": "Criar canal do WhatsApp", "API": { - "ERROR_MESSAGE": "We were not able to save the WhatsApp channel" + "ERROR_MESSAGE": "Não foi possível salvar o canal do WhatsApp" } }, "API_CHANNEL": { @@ -204,28 +204,28 @@ "FINISH_MESSAGE": "Comece a encaminhar seus e-mails para o seguinte endereço de e-mail." }, "LINE_CHANNEL": { - "TITLE": "LINE Channel", - "DESC": "Integrate with LINE channel and start supporting your customers.", + "TITLE": "Canal LINE", + "DESC": "Integre com o canal LINE e comece a apoiar seus clientes.", "CHANNEL_NAME": { "LABEL": "Nome do Canal", "PLACEHOLDER": "Por favor, insira um nome de canal", "ERROR": "Este campo é obrigatório" }, "LINE_CHANNEL_ID": { - "LABEL": "LINE Channel ID", - "PLACEHOLDER": "LINE Channel ID" + "LABEL": "ID do canal LINE", + "PLACEHOLDER": "ID do canal LINE" }, "LINE_CHANNEL_SECRET": { - "LABEL": "LINE Channel Secret", - "PLACEHOLDER": "LINE Channel Secret" + "LABEL": "Canal de LINHA secreto", + "PLACEHOLDER": "Canal de LINHA secreto" }, "LINE_CHANNEL_TOKEN": { - "LABEL": "LINE Channel Token", - "PLACEHOLDER": "LINE Channel Token" + "LABEL": "ID do canal Token", + "PLACEHOLDER": "ID do canal Token" }, - "SUBMIT_BUTTON": "Create LINE Channel", + "SUBMIT_BUTTON": "Criar Canal", "API": { - "ERROR_MESSAGE": "We were not able to save the LINE channel" + "ERROR_MESSAGE": "Não foi possível salvar o canal da LINHA" }, "API_CALLBACK": { "TITLE": "URL de retorno", @@ -246,8 +246,8 @@ } }, "AUTH": { - "TITLE": "Choose a channel", - "DESC": "Chatwoot supports live-chat widget, Facebook page, Twitter profile, WhatsApp, Email etc., as channels. If you want to build a custom channel, you can create it using the API channel. Select one channel from the options below to proceed." + "TITLE": "Escolha um canal", + "DESC": "Suporte o widget de chat ao vivo, página do Facebook, perfil do Twitter, WhatsApp, E-mail, etc., como canais. Se você quiser criar um canal personalizado, você pode criá-lo usando o canal API. Selecione um canal entre as opções abaixo para prosseguir." }, "AGENTS": { "TITLE": "Agentes", @@ -303,12 +303,12 @@ "DISABLED": "Desativado" }, "ENABLE_HMAC": { - "LABEL": "Enable" + "LABEL": "Habilitado" } }, "DELETE": { "BUTTON_TEXT": "Excluir", - "AVATAR_DELETE_BUTTON_TEXT": "Delete Avatar", + "AVATAR_DELETE_BUTTON_TEXT": "Apagar Avatar", "CONFIRM": { "TITLE": "Confirmar exclusão", "MESSAGE": "Você tem certeza que deseja excluir ", @@ -319,8 +319,8 @@ "API": { "SUCCESS_MESSAGE": "Agente excluído com sucesso", "ERROR_MESSAGE": "Não foi possível excluir a caixa de entrada. Tente novamente mais tarde.", - "AVATAR_SUCCESS_MESSAGE": "Inbox avatar deleted successfully", - "AVATAR_ERROR_MESSAGE": "Could not delete the inbox avatar. Please try again later." + "AVATAR_SUCCESS_MESSAGE": "Perfil da caixa de entrada excluído com sucesso", + "AVATAR_ERROR_MESSAGE": "Não foi possível excluir o perfil da caixa de entrada. Por favor, tente novamente mais tarde." } }, "TABS": { @@ -353,8 +353,8 @@ "AUTO_ASSIGNMENT_SUB_TEXT": "Ativar ou desativar a atribuição automática de novas conversas aos agentes adicionados a essa caixa de entrada.", "HMAC_VERIFICATION": "Validação de Identidade do Usuário", "HMAC_DESCRIPTION": "Para validar a identidade do usuário, o SDK permite que você passe um `identifier_hash` para cada usuário. Você pode gerar HMAC usando 'sha256' com a chave mostrada aqui.", - "HMAC_MANDATORY_VERIFICATION": "Enforce User Identity Validation", - "HMAC_MANDATORY_DESCRIPTION": "If enabled, Chatwoot SDKs setUser method will not work unless the `identifier_hash` is provided for each user.", + "HMAC_MANDATORY_VERIFICATION": "Forçar validação de identidade do usuário", + "HMAC_MANDATORY_DESCRIPTION": "Se habilitado, o método SDKs não funcionará a menos que o `identifier_hash` seja fornecido para cada usuário.", "INBOX_IDENTIFIER": "Identificador da caixa de entrada", "INBOX_IDENTIFIER_SUB_TEXT": "Use o token 'inbox_identifier' mostrado aqui para autenticar os seus clientes API.", "FORWARD_EMAIL_TITLE": "Encaminhar para o E-mail", @@ -390,7 +390,7 @@ "TIMEZONE_LABEL": "Selecionar fuso horário", "UPDATE": "Atualizar configurações do horário comercial", "TOGGLE_AVAILABILITY": "Permitir a disponibilidade de negócios para essa caixa de entrada", - "UNAVAILABLE_MESSAGE_LABEL": "Unavailable message for visitors", + "UNAVAILABLE_MESSAGE_LABEL": "Mensagem indisponível para visitantes", "UNAVAILABLE_MESSAGE_DEFAULT": "Nós estamos indisponíveis no momento. Deixe uma mensagem a ser respondida assim que voltarmos.", "TOGGLE_HELP": "Permitir a disponibilidade de negócios mostrará as horas disponíveis no widget de bate-papo ao vivo, mesmo que todos os agentes estejam offline. Os vistores disponíveis horários externos podem ser avisados com uma mensagem e um formulário de pré-bate-papo.", "DAY": { diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/report.json b/app/javascript/dashboard/i18n/locale/pt_BR/report.json index 4c3a06844400..8318ea72acda 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/report.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/report.json @@ -251,11 +251,11 @@ } }, "TEAM_REPORTS": { - "HEADER": "Team Overview", + "HEADER": "Resumo da Equipe", "LOADING_CHART": "Carregando dados do gráfico...", "NO_ENOUGH_DATA": "Não existem dados suficientes para gerar o relatório. Tente novamente mais tarde.", - "DOWNLOAD_TEAM_REPORTS": "Download team reports", - "FILTER_DROPDOWN_LABEL": "Select Team", + "DOWNLOAD_TEAM_REPORTS": "Baixar relatórios da equipe", + "FILTER_DROPDOWN_LABEL": "Selecionar time", "METRICS": { "CONVERSATIONS": { "NAME": "Conversas", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/settings.json b/app/javascript/dashboard/i18n/locale/pt_BR/settings.json index 13bb76db0b04..469a7c1da0c3 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/settings.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "dias de teste restantes.", - "TRAIL_BUTTON": "Comprar agora" + "TRAIL_BUTTON": "Comprar agora", + "DELETED_USER": "Deletar Usuário" }, "COMPONENTS": { "CODE": { @@ -142,7 +143,7 @@ "ACCOUNT_SETTINGS": "Configurações da conta", "APPLICATIONS": "Aplicações", "LABELS": "Marcadores", - "ATTRIBUTES": "Atributos", + "CUSTOM_ATTRIBUTES": "Atributos Personalizados", "TEAMS": "Times", "ALL_CONTACTS": "Todos os Contatos", "TAGGED_WITH": "Marcado com", @@ -154,7 +155,7 @@ "REPORTS_AGENT": "Agentes", "REPORTS_LABEL": "Marcadores", "REPORTS_INBOX": "Caixa de Entrada", - "REPORTS_TEAM": "Team" + "REPORTS_TEAM": "Times" }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Ah oh! Não conseguimos encontrar nenhuma conta. Por favor, crie uma nova conta para continuar.", diff --git a/app/javascript/dashboard/i18n/locale/ro/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ro/attributesMgmt.json index 81d85e241c92..46bae338fe8c 100644 --- a/app/javascript/dashboard/i18n/locale/ro/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ro/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Attributes", - "HEADER_BTN_TXT": "Add Attribute", - "LOADING": "Fetching attributes", - "SIDEBAR_TXT": "

Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Attributes, just click on the Add Attribute. You can also edit or delete an existing Attribute by clicking on the Edit or Delete button.

", + "HEADER": "Custom Attributes", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "Add attribute", + "TITLE": "Add Custom Attribute", "SUBMIT": "Creeaza", "CANCEL_BUTTON_TEXT": "Renunță", "FORM": { "NAME": { "LABEL": "Display Name", - "PLACEHOLDER": "Enter attribute display name", + "PLACEHOLDER": "Enter custom attribute display name", "ERROR": "Name is required" }, "DESC": { "LABEL": "Descriere", - "PLACEHOLDER": "Enter attribute description", + "PLACEHOLDER": "Enter custom attribute description", "ERROR": "Description is required" }, "MODEL": { - "LABEL": "Model", - "PLACEHOLDER": "Please select a model", + "LABEL": "Applies to", + "PLACEHOLDER": "Please select one", "ERROR": "Model is required" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "Type is required" }, "KEY": { - "LABEL": "Key" + "LABEL": "Key", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create an attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "Şterge", "API": { - "SUCCESS_MESSAGE": "Attribute deleted successfully.", - "ERROR_MESSAGE": "Couldn't delete the attribute. Try again." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { "TITLE": "Are you sure want to delete - %{attributeName}", "PLACE_HOLDER": "Please type {attributeName} to confirm", - "MESSAGE": "Deleting will remove the attribute", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "Şterge ", "NO": "Renunță" } }, "EDIT": { - "TITLE": "Edit attribute", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "Actualizare", "API": { - "SUCCESS_MESSAGE": "Attribute updated successfully", - "ERROR_MESSAGE": "There was an error updating attribute, please try again" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { @@ -77,8 +80,8 @@ "DELETE": "Şterge" }, "EMPTY_RESULT": { - "404": "There are no attributes created", - "NOT_FOUND": "There are no attributes configured" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/ro/chatlist.json b/app/javascript/dashboard/i18n/locale/ro/chatlist.json index 0782d028c03f..a2fc1b6a0944 100644 --- a/app/javascript/dashboard/i18n/locale/ro/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/ro/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "Deschide", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "Deschide" }, - { - "TEXT": "Rezolvat", - "VALUE": "resolved" + "resolved": { + "TEXT": "Rezolvat" }, - { - "TEXT": "Pending", - "VALUE": "pending" + "pending": { + "TEXT": "Pending" }, - { - "TEXT": "Snoozed", - "VALUE": "snoozed" + "snoozed": { + "TEXT": "Snoozed" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "icon", @@ -85,6 +81,7 @@ "RECEIVED_VIA_EMAIL": "Received via email", "VIEW_TWEET_IN_TWITTER": "View tweet in Twitter", "REPLY_TO_TWEET": "Reply to this tweet", + "SENT": "Sent successfully", "NO_MESSAGES": "No Messages", "NO_CONTENT": "No content available", "HIDE_QUOTED_TEXT": "Hide Quoted Text", diff --git a/app/javascript/dashboard/i18n/locale/ro/contact.json b/app/javascript/dashboard/i18n/locale/ro/contact.json index 87728d51d3d2..4657adde7fdd 100644 --- a/app/javascript/dashboard/i18n/locale/ro/contact.json +++ b/app/javascript/dashboard/i18n/locale/ro/contact.json @@ -7,6 +7,7 @@ "COMPANY": "Company", "LOCATION": "Locaţie", "CONVERSATION_TITLE": "Detalii conversație", + "VIEW_PROFILE": "View Profile", "BROWSER": "Navigator", "OS": "Sistem de operare", "INITIATED_FROM": "Inițiat de la", @@ -154,6 +155,11 @@ "LABEL": "Inbox", "ERROR": "Select an inbox" }, + "SUBJECT": { + "LABEL": "Subject", + "PLACEHOLDER": "Subject", + "ERROR": "Subject can't be empty" + }, "MESSAGE": { "LABEL": "Message", "PLACEHOLDER": "Write your message here", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "View details" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "Contacts", + "LOADING": "Loading contact profile..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "Add", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Fetching notes...", + "NOT_AVAILABLE": "There are no notes created for this contact", "HEADER": { "TITLE": "Notes" }, + "LIST": { + "LABEL": "added a note" + }, "ADD": { "BUTTON": "Add", "PLACEHOLDER": "Add a note", "TITLE": "Shift + Enter to create a note" }, - "FOOTER": { - "BUTTON": "View all notes" + "CONTENT_HEADER": { + "DELETE": "Delete note" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Add attributes", "BUTTON": "Add custom attribute", "NOT_AVAILABLE": "There are no custom attributes available for this contact.", + "COPY_SUCCESSFUL": "Copied to clipboard successfully", + "ACTIONS": { + "COPY": "Copy attribute", + "DELETE": "Delete attribute", + "EDIT": "Edit attribute" + }, "ADD": { "TITLE": "Create custom attribute", "DESC": "Add custom information to this contact." @@ -239,7 +261,29 @@ "VALUE": { "LABEL": "Attribute value", "PLACEHOLDER": "Eg: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" } + }, + "VALIDATIONS": { + "REQUIRED": "Valid value is required", + "INVALID_URL": "Invalid URL" } }, "MERGE_CONTACTS": { diff --git a/app/javascript/dashboard/i18n/locale/ro/conversation.json b/app/javascript/dashboard/i18n/locale/ro/conversation.json index a9b4545f8a9f..7d7114dfcc14 100644 --- a/app/javascript/dashboard/i18n/locale/ro/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ro/conversation.json @@ -156,6 +156,27 @@ "PREVIOUS_CONVERSATION": "Conversații anterioare" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "ADD": { + "TITLE": "Add", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" + } + }, "EMAIL_HEADER": { "TO": "To", "BCC": "Bcc", diff --git a/app/javascript/dashboard/i18n/locale/ro/settings.json b/app/javascript/dashboard/i18n/locale/ro/settings.json index 4b5196004816..10168d597d96 100644 --- a/app/javascript/dashboard/i18n/locale/ro/settings.json +++ b/app/javascript/dashboard/i18n/locale/ro/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "zile de încercare rămase.", - "TRAIL_BUTTON": "Cumpara acum" + "TRAIL_BUTTON": "Cumpara acum", + "DELETED_USER": "Deleted User" }, "COMPONENTS": { "CODE": { @@ -142,7 +143,7 @@ "ACCOUNT_SETTINGS": "Setările contului", "APPLICATIONS": "Applications", "LABELS": "Etichete", - "ATTRIBUTES": "Attributes", + "CUSTOM_ATTRIBUTES": "Custom Attributes", "TEAMS": "Teams", "ALL_CONTACTS": "All Contacts", "TAGGED_WITH": "Tagged with", diff --git a/app/javascript/dashboard/i18n/locale/ru/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ru/attributesMgmt.json index cf8915fe1f6c..324879d49f10 100644 --- a/app/javascript/dashboard/i18n/locale/ru/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ru/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Свойства", - "HEADER_BTN_TXT": "Добавить параметр", - "LOADING": "Загрузка атрибутов", - "SIDEBAR_TXT": "

Атрибуты

Пользовательский атрибут отслеживает факты о ваших контактах/диалогах — как план подписки, или когда они сделали первый заказ и т. д.

Для создания атрибутов, просто нажмите кнопкуДобавить атрибут. Вы также можете редактировать или удалять существующие атрибуты, нажав на кнопку Правка или Удалить.

", + "HEADER": "Пользовательские атрибуты", + "HEADER_BTN_TXT": "Добавить пользовательский атрибут", + "LOADING": "Получение пользовательских атрибутов", + "SIDEBAR_TXT": "

Пользовательские Атрибуты

Пользовательский атрибут отслеживает факты о ваших контактах/диалогах — например план подписки, или когда клиент сделал первый заказ и т. д.

Для создания атрибутов, просто нажмите кнопкуДобавить атрибут. Вы также можете редактировать или удалять существующие атрибуты, нажав на кнопку Редактировать или Удалить.

", "ADD": { - "TITLE": "Добавить параметр", + "TITLE": "Добавить пользовательский атрибут", "SUBMIT": "Создать", "CANCEL_BUTTON_TEXT": "Отменить", "FORM": { "NAME": { "LABEL": "Отображать имя", - "PLACEHOLDER": "Введите имя отображаемого атрибута", + "PLACEHOLDER": "Введите отображаемое имя пользовательского атрибута", "ERROR": "Необходимо указать имя" }, "DESC": { "LABEL": "Описание", - "PLACEHOLDER": "Введите описание атрибута", + "PLACEHOLDER": "Введите описание пользовательского атрибута", "ERROR": "Необходимо описание" }, "MODEL": { - "LABEL": "Модель", - "PLACEHOLDER": "Пожалуйста, выберите модель", + "LABEL": "Применить к", + "PLACEHOLDER": "Пожалуйста, выберите один", "ERROR": "Необходимо указать модель" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "Необходимо указать тип" }, "KEY": { - "LABEL": "Ключ" + "LABEL": "Ключ", + "PLACEHOLDER": "Введите ключ пользовательского атрибута", + "ERROR": "Необходимо указать ключ", + "IN_VALID": "Неверный ключ" } }, "API": { - "SUCCESS_MESSAGE": "Атрибут успешно добавлен", - "ERROR_MESSAGE": "Невозможно создать атрибут, пожалуйста, повторите попытку позже" + "SUCCESS_MESSAGE": "Пользовательский атрибут успешно добавлен", + "ERROR_MESSAGE": "Невозможно создать пользовательский атрибут, пожалуйста, повторите попытку позже" } }, "DELETE": { "BUTTON_TEXT": "Удалить", "API": { - "SUCCESS_MESSAGE": "Атрибут успешно удалён.", - "ERROR_MESSAGE": "Не удалось удалить атрибут. Попробуйте еще раз." + "SUCCESS_MESSAGE": "Пользовательский атрибут успешно добавлен.", + "ERROR_MESSAGE": "Не возможно удалить пользовательский атрибут. Попробуйте еще раз." }, "CONFIRM": { "TITLE": "Вы уверены, что хотите удалить - %{attributeName}", "PLACE_HOLDER": "Пожалуйста, введите {attributeName} для подтверждения", - "MESSAGE": "Удаление приведет к удалению свойства", + "MESSAGE": "Удаление приведет к окончательному удалению атрибута", "YES": "Удалить ", "NO": "Отменить" } }, "EDIT": { - "TITLE": "Изменить атрибут", + "TITLE": "Редактирование пользовательского атрибута", "UPDATE_BUTTON_TEXT": "Обновить", "API": { - "SUCCESS_MESSAGE": "Атрибут успешно обновлен", - "ERROR_MESSAGE": "Произошла ошибка при обновлении атрибута, пожалуйста, попробуйте еще раз" + "SUCCESS_MESSAGE": "Пользовательский атрибут успешно обновлен", + "ERROR_MESSAGE": "Произошла ошибка при обновлении пользовательского атрибута, пожалуйста, попробуйте еще раз" } }, "TABS": { @@ -77,8 +80,8 @@ "DELETE": "Удалить" }, "EMPTY_RESULT": { - "404": "Нет созданных атрибутов", - "NOT_FOUND": "Нет настроенных атрибутов" + "404": "Нет созданных пользовательских атрибутов", + "NOT_FOUND": "Нет настроенных пользовательских атрибутов" } } } diff --git a/app/javascript/dashboard/i18n/locale/ru/chatlist.json b/app/javascript/dashboard/i18n/locale/ru/chatlist.json index 41a574f44fb4..761b664d039f 100644 --- a/app/javascript/dashboard/i18n/locale/ru/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/ru/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "Открытые", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "Открыть" }, - { - "TEXT": "Закрытые", - "VALUE": "resolved" + "resolved": { + "TEXT": "Закрыт" }, - { - "TEXT": "В ожидании", - "VALUE": "в ожидании" + "pending": { + "TEXT": "В ожидании" }, - { - "TEXT": "Отложено", - "VALUE": "отложено" + "snoozed": { + "TEXT": "Отложено" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -85,6 +81,7 @@ "RECEIVED_VIA_EMAIL": "Получено по email", "VIEW_TWEET_IN_TWITTER": "Просмотреть твит в Twitter", "REPLY_TO_TWEET": "Ответить на этот твит", + "SENT": "Успешно отправлено", "NO_MESSAGES": "Нет сообщений", "NO_CONTENT": "Содержимое отсутствует", "HIDE_QUOTED_TEXT": "Скрыть цитируемый текст", diff --git a/app/javascript/dashboard/i18n/locale/ru/contact.json b/app/javascript/dashboard/i18n/locale/ru/contact.json index 688282d5d412..31fe0c16be07 100644 --- a/app/javascript/dashboard/i18n/locale/ru/contact.json +++ b/app/javascript/dashboard/i18n/locale/ru/contact.json @@ -7,6 +7,7 @@ "COMPANY": "Компания", "LOCATION": "Местоположение", "CONVERSATION_TITLE": "Детали диалога", + "VIEW_PROFILE": "Просмотр профиля", "BROWSER": "Браузер", "OS": "Операционная система", "INITIATED_FROM": "Начат из", @@ -32,8 +33,8 @@ "NO_RESULT": "Метки не найдены" } }, - "MERGE_CONTACT": "Merge contact", - "CONTACT_ACTIONS": "Contact actions", + "MERGE_CONTACT": "Объединить контакты", + "CONTACT_ACTIONS": "Действия с контактами", "MUTE_CONTACT": "Заглушить диалог", "UNMUTE_CONTACT": "Включить звук диалога", "MUTED_SUCCESS": "Этот диалог заглушен на 6 часов", @@ -154,6 +155,11 @@ "LABEL": "Электронная почта", "ERROR": "Выберите электронную почту" }, + "SUBJECT": { + "LABEL": "Тема", + "PLACEHOLDER": "Тема", + "ERROR": "Тема не может быть пустой" + }, "MESSAGE": { "LABEL": "Сообщение", "PLACEHOLDER": "Напишите здесь ваше сообщение", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "Просмотреть подробности" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "Контакты", + "LOADING": "Загрузка профиля контакта..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "Добавить", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Получение заметок...", + "NOT_AVAILABLE": "Нет заметок для этого контакта", "HEADER": { "TITLE": "Заметки" }, + "LIST": { + "LABEL": "добавлена заметка" + }, "ADD": { "BUTTON": "Добавить", "PLACEHOLDER": "Добавить заметку", "TITLE": "Shift + Enter для создания заметки" }, - "FOOTER": { - "BUTTON": "Показать все заметки" + "CONTENT_HEADER": { + "DELETE": "Удалить заметку" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Добавить атрибуты", "BUTTON": "Добавить пользовательский атрибут", "NOT_AVAILABLE": "Для этого контакта нет доступных пользовательских атрибутов.", + "COPY_SUCCESSFUL": "Скопировано в буфер обмена", + "ACTIONS": { + "COPY": "Копировать атрибут", + "DELETE": "Удалить атрибут", + "EDIT": "Изменить атрибут" + }, "ADD": { "TITLE": "Создать пользовательский атрибут", "DESC": "Добавить пользовательскую информацию этому контакту." @@ -239,24 +261,46 @@ "VALUE": { "LABEL": "Значение параметра", "PLACEHOLDER": "Eg: 11901 " + }, + "ADD": { + "TITLE": "Создать новый атрибут ", + "SUCCESS": "Атрибут успешно добавлен", + "ERROR": "Невозможно добавить атрибут. Пожалуйста, повторите попытку позже" + }, + "UPDATE": { + "SUCCESS": "Атрибут успешно обновлен", + "ERROR": "Не удается обновить атрибут. Повторите попытку позже" + }, + "DELETE": { + "SUCCESS": "Атрибут успешно удалён", + "ERROR": "Невозможно удалить атрибут. Пожалуйста, повторите попытку позже" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Добавить атрибуты", + "PLACEHOLDER": "Поиск по атрибутам", + "NO_RESULT": "Атрибуты не найдены" } + }, + "VALIDATIONS": { + "REQUIRED": "Требуется корректное значение", + "INVALID_URL": "Некорректный URL" } }, "MERGE_CONTACTS": { "TITLE": "Объединить контакты", - "DESCRIPTION": "Merge contacts to combine two profiles into one, including all attributes and conversations. In case of conflict, the Primary contact’ s attributes will take precedence.", + "DESCRIPTION": "Объединение контактов для объединения двух профилей в один, включая все атрибуты и разговоры. В случае конфликта приоритет будет иметь атрибуты первичного контакта.", "PRIMARY": { "TITLE": "Основной контакт", - "HELP_LABEL": "To be kept" + "HELP_LABEL": "Оставлять" }, "CHILD": { "TITLE": "Контакт для слияния", - "PLACEHOLDER": "Search for a contact", - "HELP_LABEL": "To be deleted" + "PLACEHOLDER": "Поиск по контактам", + "HELP_LABEL": "Удалять" }, "SUMMARY": { "TITLE": "Краткая информация", - "DELETE_WARNING": "Contact of %{childContactName} will be deleted.", + "DELETE_WARNING": "Контакт %{childContactName} будет удален.", "ATTRIBUTE_WARNING": "Контактная информация %{childContactName} будет скопирована в %{primaryContactName}." }, "SEARCH": { @@ -269,7 +313,7 @@ "ERROR": "Выберите контакт, для объединения" }, "SUCCESS_MESSAGE": "Контакт успешно объединён", - "ERROR_MESSAGE": "Could not merge contacts, try again!" + "ERROR_MESSAGE": "Невозможно объединить контакты, попробуйте еще раз!" } } } diff --git a/app/javascript/dashboard/i18n/locale/ru/conversation.json b/app/javascript/dashboard/i18n/locale/ru/conversation.json index f937ae494a68..7f0d6b7efd4b 100644 --- a/app/javascript/dashboard/i18n/locale/ru/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ru/conversation.json @@ -156,6 +156,27 @@ "PREVIOUS_CONVERSATION": "Предыдущие диалоги" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Создать атрибут", + "UPDATE": { + "SUCCESS": "Атрибут успешно обновлен", + "ERROR": "Не удается обновить атрибут. Повторите попытку позже" + }, + "ADD": { + "TITLE": "Добавить", + "SUCCESS": "Атрибут успешно добавлен", + "ERROR": "Невозможно добавить атрибут. Пожалуйста, повторите попытку позже" + }, + "DELETE": { + "SUCCESS": "Атрибут успешно удалён", + "ERROR": "Невозможно удалить атрибут. Пожалуйста, повторите попытку позже" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Добавить атрибуты", + "PLACEHOLDER": "Поиск атрибутов", + "NO_RESULT": "Атрибуты не найдены" + } + }, "EMAIL_HEADER": { "TO": "Кому", "BCC": "Bcc", diff --git a/app/javascript/dashboard/i18n/locale/ru/report.json b/app/javascript/dashboard/i18n/locale/ru/report.json index eb4d6e04274c..354eb3a228c1 100644 --- a/app/javascript/dashboard/i18n/locale/ru/report.json +++ b/app/javascript/dashboard/i18n/locale/ru/report.json @@ -254,7 +254,7 @@ "HEADER": "Обзор команды", "LOADING_CHART": "Загрузка данных графика...", "NO_ENOUGH_DATA": "Недостаточно данных для создания отчета, пожалуйста, повторите попытку позже.", - "DOWNLOAD_TEAM_REPORTS": "Скачать отчеты по команде", + "DOWNLOAD_TEAM_REPORTS": "Скачать отчет по команде", "FILTER_DROPDOWN_LABEL": "Выберите команду", "METRICS": { "CONVERSATIONS": { diff --git a/app/javascript/dashboard/i18n/locale/ru/settings.json b/app/javascript/dashboard/i18n/locale/ru/settings.json index ec768f4ba024..7b8758024cc3 100644 --- a/app/javascript/dashboard/i18n/locale/ru/settings.json +++ b/app/javascript/dashboard/i18n/locale/ru/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "дней до окончания бесплатного периода.", - "TRAIL_BUTTON": "Купить" + "TRAIL_BUTTON": "Купить", + "DELETED_USER": "Удаленный пользователь" }, "COMPONENTS": { "CODE": { @@ -142,7 +143,7 @@ "ACCOUNT_SETTINGS": "Настройки аккаунта", "APPLICATIONS": "Приложения", "LABELS": "Категории", - "ATTRIBUTES": "Свойства", + "CUSTOM_ATTRIBUTES": "Пользовательские атрибуты", "TEAMS": "Команды", "ALL_CONTACTS": "Все контакты", "TAGGED_WITH": "С метками", diff --git a/app/javascript/dashboard/i18n/locale/sk/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/sk/attributesMgmt.json index 7064537c99d5..ec9e2183e3fe 100644 --- a/app/javascript/dashboard/i18n/locale/sk/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sk/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Attributes", - "HEADER_BTN_TXT": "Add Attribute", - "LOADING": "Fetching attributes", - "SIDEBAR_TXT": "

Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Attributes, just click on the Add Attribute. You can also edit or delete an existing Attribute by clicking on the Edit or Delete button.

", + "HEADER": "Custom Attributes", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "Add attribute", + "TITLE": "Add Custom Attribute", "SUBMIT": "Create", "CANCEL_BUTTON_TEXT": "Cancel", "FORM": { "NAME": { "LABEL": "Display Name", - "PLACEHOLDER": "Enter attribute display name", + "PLACEHOLDER": "Enter custom attribute display name", "ERROR": "Name is required" }, "DESC": { "LABEL": "Description", - "PLACEHOLDER": "Enter attribute description", + "PLACEHOLDER": "Enter custom attribute description", "ERROR": "Description is required" }, "MODEL": { - "LABEL": "Model", - "PLACEHOLDER": "Please select a model", + "LABEL": "Applies to", + "PLACEHOLDER": "Please select one", "ERROR": "Model is required" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "Type is required" }, "KEY": { - "LABEL": "Key" + "LABEL": "Key", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create an attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "Delete", "API": { - "SUCCESS_MESSAGE": "Attribute deleted successfully.", - "ERROR_MESSAGE": "Couldn't delete the attribute. Try again." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { "TITLE": "Are you sure want to delete - %{attributeName}", "PLACE_HOLDER": "Please type {attributeName} to confirm", - "MESSAGE": "Deleting will remove the attribute", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "Delete ", "NO": "Cancel" } }, "EDIT": { - "TITLE": "Edit attribute", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "Update", "API": { - "SUCCESS_MESSAGE": "Attribute updated successfully", - "ERROR_MESSAGE": "There was an error updating attribute, please try again" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { @@ -77,8 +80,8 @@ "DELETE": "Delete" }, "EMPTY_RESULT": { - "404": "There are no attributes created", - "NOT_FOUND": "There are no attributes configured" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/sk/chatlist.json b/app/javascript/dashboard/i18n/locale/sk/chatlist.json index 7262c4f9a0fe..1be18cad9108 100644 --- a/app/javascript/dashboard/i18n/locale/sk/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/sk/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "Open", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "Open" }, - { - "TEXT": "Resolved", - "VALUE": "resolved" + "resolved": { + "TEXT": "Resolved" }, - { - "TEXT": "Pending", - "VALUE": "pending" + "pending": { + "TEXT": "Pending" }, - { - "TEXT": "Snoozed", - "VALUE": "snoozed" + "snoozed": { + "TEXT": "Snoozed" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -85,6 +81,7 @@ "RECEIVED_VIA_EMAIL": "Received via email", "VIEW_TWEET_IN_TWITTER": "View tweet in Twitter", "REPLY_TO_TWEET": "Reply to this tweet", + "SENT": "Sent successfully", "NO_MESSAGES": "No Messages", "NO_CONTENT": "No content available", "HIDE_QUOTED_TEXT": "Hide Quoted Text", diff --git a/app/javascript/dashboard/i18n/locale/sk/contact.json b/app/javascript/dashboard/i18n/locale/sk/contact.json index 0f2096b14b85..0286dbfa47e8 100644 --- a/app/javascript/dashboard/i18n/locale/sk/contact.json +++ b/app/javascript/dashboard/i18n/locale/sk/contact.json @@ -7,6 +7,7 @@ "COMPANY": "Company", "LOCATION": "Location", "CONVERSATION_TITLE": "Conversation Details", + "VIEW_PROFILE": "View Profile", "BROWSER": "Browser", "OS": "Operating System", "INITIATED_FROM": "Initiated from", @@ -154,6 +155,11 @@ "LABEL": "Inbox", "ERROR": "Select an inbox" }, + "SUBJECT": { + "LABEL": "Subject", + "PLACEHOLDER": "Subject", + "ERROR": "Subject can't be empty" + }, "MESSAGE": { "LABEL": "Message", "PLACEHOLDER": "Write your message here", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "View details" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "Contacts", + "LOADING": "Loading contact profile..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "Add", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Fetching notes...", + "NOT_AVAILABLE": "There are no notes created for this contact", "HEADER": { "TITLE": "Notes" }, + "LIST": { + "LABEL": "added a note" + }, "ADD": { "BUTTON": "Add", "PLACEHOLDER": "Add a note", "TITLE": "Shift + Enter to create a note" }, - "FOOTER": { - "BUTTON": "View all notes" + "CONTENT_HEADER": { + "DELETE": "Delete note" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Add attributes", "BUTTON": "Add custom attribute", "NOT_AVAILABLE": "There are no custom attributes available for this contact.", + "COPY_SUCCESSFUL": "Copied to clipboard successfully", + "ACTIONS": { + "COPY": "Copy attribute", + "DELETE": "Delete attribute", + "EDIT": "Edit attribute" + }, "ADD": { "TITLE": "Create custom attribute", "DESC": "Add custom information to this contact." @@ -239,7 +261,29 @@ "VALUE": { "LABEL": "Attribute value", "PLACEHOLDER": "Eg: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" } + }, + "VALIDATIONS": { + "REQUIRED": "Valid value is required", + "INVALID_URL": "Invalid URL" } }, "MERGE_CONTACTS": { diff --git a/app/javascript/dashboard/i18n/locale/sk/conversation.json b/app/javascript/dashboard/i18n/locale/sk/conversation.json index 2eca316067fc..a50e8cb16cf3 100644 --- a/app/javascript/dashboard/i18n/locale/sk/conversation.json +++ b/app/javascript/dashboard/i18n/locale/sk/conversation.json @@ -156,6 +156,27 @@ "PREVIOUS_CONVERSATION": "Previous Conversations" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "ADD": { + "TITLE": "Add", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" + } + }, "EMAIL_HEADER": { "TO": "To", "BCC": "Bcc", diff --git a/app/javascript/dashboard/i18n/locale/sk/settings.json b/app/javascript/dashboard/i18n/locale/sk/settings.json index 61cfb06f9d1e..809157f4a3e0 100644 --- a/app/javascript/dashboard/i18n/locale/sk/settings.json +++ b/app/javascript/dashboard/i18n/locale/sk/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "days trial remaining.", - "TRAIL_BUTTON": "Buy Now" + "TRAIL_BUTTON": "Buy Now", + "DELETED_USER": "Deleted User" }, "COMPONENTS": { "CODE": { @@ -142,7 +143,7 @@ "ACCOUNT_SETTINGS": "Account Settings", "APPLICATIONS": "Applications", "LABELS": "Labels", - "ATTRIBUTES": "Attributes", + "CUSTOM_ATTRIBUTES": "Custom Attributes", "TEAMS": "Teams", "ALL_CONTACTS": "All Contacts", "TAGGED_WITH": "Tagged with", diff --git a/app/javascript/dashboard/i18n/locale/sv/agentMgmt.json b/app/javascript/dashboard/i18n/locale/sv/agentMgmt.json index 8b149849bccf..8ddcf1245f9c 100644 --- a/app/javascript/dashboard/i18n/locale/sv/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sv/agentMgmt.json @@ -90,22 +90,22 @@ } }, "SEARCH": { - "NO_RESULTS": "No results found." + "NO_RESULTS": "Inga resultat hittades." }, "MULTI_SELECTOR": { - "PLACEHOLDER": "None", + "PLACEHOLDER": "Inget", "TITLE": { - "AGENT": "Select agent", - "TEAM": "Select team" + "AGENT": "Välj agent", + "TEAM": "Välj team" }, "SEARCH": { "NO_RESULTS": { - "AGENT": "No agents found", - "TEAM": "No teams found" + "AGENT": "Inga agenter hittades", + "TEAM": "Inga team hittades" }, "PLACEHOLDER": { - "AGENT": "Search agents", - "TEAM": "Search teams" + "AGENT": "Sök efter agenter", + "TEAM": "Sök efter team" } } } diff --git a/app/javascript/dashboard/i18n/locale/sv/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/sv/attributesMgmt.json index c5b8fe0fdd66..07c4599cd4f9 100644 --- a/app/javascript/dashboard/i18n/locale/sv/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sv/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Attributes", - "HEADER_BTN_TXT": "Add Attribute", - "LOADING": "Fetching attributes", - "SIDEBAR_TXT": "

Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Attributes, just click on the Add Attribute. You can also edit or delete an existing Attribute by clicking on the Edit or Delete button.

", + "HEADER": "Egna egenskaper", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "Add attribute", + "TITLE": "Add Custom Attribute", "SUBMIT": "Skapa", "CANCEL_BUTTON_TEXT": "Avbryt", "FORM": { "NAME": { "LABEL": "Display Name", - "PLACEHOLDER": "Enter attribute display name", + "PLACEHOLDER": "Enter custom attribute display name", "ERROR": "Name is required" }, "DESC": { "LABEL": "Beskrivning", - "PLACEHOLDER": "Enter attribute description", + "PLACEHOLDER": "Enter custom attribute description", "ERROR": "Description is required" }, "MODEL": { - "LABEL": "Model", - "PLACEHOLDER": "Please select a model", + "LABEL": "Applies to", + "PLACEHOLDER": "Please select one", "ERROR": "Model is required" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "Type is required" }, "KEY": { - "LABEL": "Key" + "LABEL": "Key", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create an attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "Radera", "API": { - "SUCCESS_MESSAGE": "Attribute deleted successfully.", - "ERROR_MESSAGE": "Couldn't delete the attribute. Try again." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { "TITLE": "Are you sure want to delete - %{attributeName}", "PLACE_HOLDER": "Please type {attributeName} to confirm", - "MESSAGE": "Deleting will remove the attribute", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "Radera ", "NO": "Avbryt" } }, "EDIT": { - "TITLE": "Edit attribute", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "Uppdatera", "API": { - "SUCCESS_MESSAGE": "Attribute updated successfully", - "ERROR_MESSAGE": "There was an error updating attribute, please try again" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { @@ -77,8 +80,8 @@ "DELETE": "Radera" }, "EMPTY_RESULT": { - "404": "There are no attributes created", - "NOT_FOUND": "There are no attributes configured" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/sv/campaign.json b/app/javascript/dashboard/i18n/locale/sv/campaign.json index 4a9699bc09ee..b45365c6d05e 100644 --- a/app/javascript/dashboard/i18n/locale/sv/campaign.json +++ b/app/javascript/dashboard/i18n/locale/sv/campaign.json @@ -89,7 +89,7 @@ "TABLE_HEADER": { "TITLE": "Title", "MESSAGE": "Message", - "INBOX": "Inbox", + "INBOX": "Inkorg", "STATUS": "Status", "SENDER": "Sender", "URL": "URL", diff --git a/app/javascript/dashboard/i18n/locale/sv/chatlist.json b/app/javascript/dashboard/i18n/locale/sv/chatlist.json index 2ebaddb85818..f74e4473c499 100644 --- a/app/javascript/dashboard/i18n/locale/sv/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/sv/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "Öppna", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "Öppna" }, - { - "TEXT": "Lösta", - "VALUE": "resolved" + "resolved": { + "TEXT": "Löst" }, - { - "TEXT": "Pending", - "VALUE": "pending" + "pending": { + "TEXT": "Väntande" }, - { - "TEXT": "Snoozed", - "VALUE": "snoozed" + "snoozed": { + "TEXT": "Pausad" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -85,9 +81,10 @@ "RECEIVED_VIA_EMAIL": "Mottaget via e-post", "VIEW_TWEET_IN_TWITTER": "Visa tweet i Twitter", "REPLY_TO_TWEET": "Svara på detta tweet", + "SENT": "Skickades framgångsrikt", "NO_MESSAGES": "Inga meddelanden", - "NO_CONTENT": "No content available", - "HIDE_QUOTED_TEXT": "Hide Quoted Text", - "SHOW_QUOTED_TEXT": "Show Quoted Text" + "NO_CONTENT": "Inget innehåll tillgängligt", + "HIDE_QUOTED_TEXT": "Dölj citerad text", + "SHOW_QUOTED_TEXT": "Visa citerad text" } } diff --git a/app/javascript/dashboard/i18n/locale/sv/contact.json b/app/javascript/dashboard/i18n/locale/sv/contact.json index 96e979890d1d..ddc4a92ffe0f 100644 --- a/app/javascript/dashboard/i18n/locale/sv/contact.json +++ b/app/javascript/dashboard/i18n/locale/sv/contact.json @@ -7,6 +7,7 @@ "COMPANY": "Företag", "LOCATION": "Plats", "CONVERSATION_TITLE": "Konversationsdetaljer", + "VIEW_PROFILE": "Visa profil", "BROWSER": "Webbläsare", "OS": "Operativsystem", "INITIATED_FROM": "Initierad från", @@ -19,21 +20,21 @@ }, "LABELS": { "CONTACT": { - "TITLE": "Contact Labels", - "ERROR": "Couldn't update labels" + "TITLE": "Etiketter för kontakt", + "ERROR": "Kunde inte uppdatera etiketter" }, "CONVERSATION": { - "TITLE": "Conversation Labels", - "ADD_BUTTON": "Add Labels" + "TITLE": "Etiketter för konversation", + "ADD_BUTTON": "Lägg till etiketter" }, "LABEL_SELECT": { - "TITLE": "Add Labels", - "PLACEHOLDER": "Search labels", - "NO_RESULT": "No labels found" + "TITLE": "Lägg till etiketter", + "PLACEHOLDER": "Sök etiketter", + "NO_RESULT": "Inga etiketter hittades" } }, - "MERGE_CONTACT": "Merge contact", - "CONTACT_ACTIONS": "Contact actions", + "MERGE_CONTACT": "Slå samman kontakt", + "CONTACT_ACTIONS": "Kontakt åtgärder", "MUTE_CONTACT": "Tysta konversation", "UNMUTE_CONTACT": "Avtysta konversation", "MUTED_SUCCESS": "Denna konversation är tystad i 6 timmar", @@ -42,7 +43,7 @@ "EDIT_LABEL": "Redigera", "SIDEBAR_SECTIONS": { "CUSTOM_ATTRIBUTES": "Egna egenskaper", - "CONTACT_LABELS": "Contact Labels", + "CONTACT_LABELS": "Etiketter för kontakt", "PREVIOUS_CONVERSATIONS": "Tidigare konversationer" } }, @@ -54,35 +55,35 @@ "CREATE_CONTACT": { "BUTTON_LABEL": "Ny kontakt", "TITLE": "Skapa ny kontakt", - "DESC": "Add basic information details about the contact." + "DESC": "Lägg till grundläggande information om kontakten." }, "IMPORT_CONTACTS": { - "BUTTON_LABEL": "Import", - "TITLE": "Import Contacts", - "DESC": "Import contacts through a CSV file.", - "DOWNLOAD_LABEL": "Download a sample csv.", + "BUTTON_LABEL": "Importera", + "TITLE": "Importera kontakter", + "DESC": "Importera kontakter via en CSV-fil.", + "DOWNLOAD_LABEL": "Ladda ner en exempel csv.", "FORM": { - "LABEL": "CSV File", - "SUBMIT": "Import", + "LABEL": "CSV-fil", + "SUBMIT": "Importera", "CANCEL": "Avbryt" }, - "SUCCESS_MESSAGE": "Contacts saved successfully", + "SUCCESS_MESSAGE": "Kontakter har sparats", "ERROR_MESSAGE": "Ett fel uppstod, vänligen försök igen" }, "DELETE_CONTACT": { - "BUTTON_LABEL": "Delete Contact", - "TITLE": "Delete contact", - "DESC": "Delete contact details", + "BUTTON_LABEL": "Ta bort kontakt", + "TITLE": "Ta bort kontakt", + "DESC": "Ta bort kontaktuppgifter", "CONFIRM": { "TITLE": "Bekräfta borttagning", "MESSAGE": "Är du säker på att ta bort ", - "PLACE_HOLDER": "Please type {contactName} to confirm", + "PLACE_HOLDER": "Vänligen skriv {contactName} för att bekräfta", "YES": "Ja, ta bort ", "NO": "Nej, behåll " }, "API": { - "SUCCESS_MESSAGE": "Contact deleted successfully", - "ERROR_MESSAGE": "Could not delete contact. Please try again later." + "SUCCESS_MESSAGE": "Kontakten har tagits bort", + "ERROR_MESSAGE": "Kunde inte ta bort kontakt. Försök igen senare." } }, "CONTACT_FORM": { @@ -107,8 +108,8 @@ "PHONE_NUMBER": { "PLACEHOLDER": "Ange telefonnummer till kontakten", "LABEL": "Telefonnummer", - "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" + "HELP": "Telefonnumret bör ha formatet E.164, t.ex.: +1415555555 [+][landsnummer][riktnummer][lokalt telefonnummer]", + "ERROR": "Telefonnumret ska vara antingen tomt eller i E.164-format" }, "LOCATION": { "PLACEHOLDER": "Ange platsen för kontakten", @@ -137,29 +138,34 @@ } } }, - "SUCCESS_MESSAGE": "Contact saved successfully", + "SUCCESS_MESSAGE": "Kontakt har sparats", "CONTACT_ALREADY_EXIST": "Den här e-postadressen används för en annan kontakt.", "ERROR_MESSAGE": "Ett fel uppstod, vänligen försök igen" }, "NEW_CONVERSATION": { - "BUTTON_LABEL": "Start conversation", + "BUTTON_LABEL": "Starta konversation", "TITLE": "Ny konversation", - "DESC": "Start a new conversation by sending a new message.", - "NO_INBOX": "Couldn't find an inbox to initiate a new conversation with this contact.", + "DESC": "Starta en ny konversation genom att skicka ett nytt meddelande.", + "NO_INBOX": "Det gick inte att hitta en inkorg för att initiera en ny konversation med denna kontakt.", "FORM": { "TO": { "LABEL": "Till" }, "INBOX": { - "LABEL": "Inbox", - "ERROR": "Select an inbox" + "LABEL": "Inkorg", + "ERROR": "Välj en inkorg" + }, + "SUBJECT": { + "LABEL": "Ämne", + "PLACEHOLDER": "Ämne", + "ERROR": "Ämne kan inte vara tomt" }, "MESSAGE": { - "LABEL": "Message", - "PLACEHOLDER": "Write your message here", - "ERROR": "Message can't be empty" + "LABEL": "Meddelande", + "PLACEHOLDER": "Skriv ditt meddelande här", + "ERROR": "Meddelandet kan inte vara tomt" }, - "SUBMIT": "Send message", + "SUBMIT": "Skicka meddelande", "CANCEL": "Avbryt", "SUCCESS_MESSAGE": "Message sent!", "ERROR_MESSAGE": "Couldn't send! try again" @@ -188,6 +194,10 @@ "VIEW_DETAILS": "View details" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "Kontakter", + "LOADING": "Loading contact profile..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "Add", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Fetching notes...", + "NOT_AVAILABLE": "There are no notes created for this contact", "HEADER": { "TITLE": "Notes" }, + "LIST": { + "LABEL": "added a note" + }, "ADD": { "BUTTON": "Add", "PLACEHOLDER": "Add a note", "TITLE": "Shift + Enter to create a note" }, - "FOOTER": { - "BUTTON": "View all notes" + "CONTENT_HEADER": { + "DELETE": "Delete note" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Add attributes", "BUTTON": "Add custom attribute", "NOT_AVAILABLE": "There are no custom attributes available for this contact.", + "COPY_SUCCESSFUL": "Kopierat till urklipp", + "ACTIONS": { + "COPY": "Copy attribute", + "DELETE": "Delete attribute", + "EDIT": "Edit attribute" + }, "ADD": { "TITLE": "Create custom attribute", "DESC": "Add custom information to this contact." @@ -239,37 +261,59 @@ "VALUE": { "LABEL": "Attribute value", "PLACEHOLDER": "Eg: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" } + }, + "VALIDATIONS": { + "REQUIRED": "Valid value is required", + "INVALID_URL": "Ogiltig URL" } }, "MERGE_CONTACTS": { - "TITLE": "Merge contacts", - "DESCRIPTION": "Merge contacts to combine two profiles into one, including all attributes and conversations. In case of conflict, the Primary contact’ s attributes will take precedence.", + "TITLE": "Slå samman kontakter", + "DESCRIPTION": "Sammanfoga kontakter för att kombinera två profiler till en, inklusive alla attribut och konversationer. Vid konflikter kommer attributen Primärkontakt att ha företräde.", "PRIMARY": { - "TITLE": "Primary contact", - "HELP_LABEL": "To be kept" + "TITLE": "Primär kontakt", + "HELP_LABEL": "Att behållas" }, "CHILD": { - "TITLE": "Contact to merge", - "PLACEHOLDER": "Search for a contact", - "HELP_LABEL": "To be deleted" + "TITLE": "Kontakt att slå samman", + "PLACEHOLDER": "Sök efter en kontakt", + "HELP_LABEL": "Ta bort" }, "SUMMARY": { - "TITLE": "Summary", - "DELETE_WARNING": "Contact of %{childContactName} will be deleted.", - "ATTRIBUTE_WARNING": "Contact details of %{childContactName} will be copied to %{primaryContactName}." + "TITLE": "Sammanfattning", + "DELETE_WARNING": "Kontakt för %{childContactName} kommer att tas bort.", + "ATTRIBUTE_WARNING": "Kontaktuppgifter till %{childContactName} kommer att kopieras till %{primaryContactName}." }, "SEARCH": { - "ERROR": "ERROR_MESSAGE" + "ERROR": "FEL_MESSAGE" }, "FORM": { - "SUBMIT": " Merge contacts", + "SUBMIT": " Slå samman kontakter", "CANCEL": "Avbryt", "CHILD_CONTACT": { - "ERROR": "Select a child contact to merge" + "ERROR": "Välj en underordnad kontakt att slå samman" }, - "SUCCESS_MESSAGE": "Contact merged successfully", - "ERROR_MESSAGE": "Could not merge contacts, try again!" + "SUCCESS_MESSAGE": "Kontakten har slagits samman", + "ERROR_MESSAGE": "Kunde inte slå samman kontakter, försök igen!" } } } diff --git a/app/javascript/dashboard/i18n/locale/sv/conversation.json b/app/javascript/dashboard/i18n/locale/sv/conversation.json index 7ec0d7679e1e..24662e241eaa 100644 --- a/app/javascript/dashboard/i18n/locale/sv/conversation.json +++ b/app/javascript/dashboard/i18n/locale/sv/conversation.json @@ -9,10 +9,10 @@ "SEARCH_MESSAGES": "Sök meddelanden i konversationer", "SEARCH": { "TITLE": "Sök meddelanden", - "RESULT_TITLE": "Search Results", + "RESULT_TITLE": "Sökresultat", "LOADING_MESSAGE": "Tuggar data...", "PLACEHOLDER": "Skriv valfri text för att söka efter meddelanden", - "NO_MATCHING_RESULTS": "No results found." + "NO_MATCHING_RESULTS": "Inga resultat hittades." }, "UNREAD_MESSAGES": "Olästa meddelanden", "UNREAD_MESSAGE": "Oläst meddelande", @@ -21,17 +21,17 @@ "LOADING_CONVERSATIONS": "Laddar konversationer", "CANNOT_REPLY": "Du kan inte svara på grund av", "24_HOURS_WINDOW": "24 timmars meddelandebegränsning", - "TWILIO_WHATSAPP_CAN_REPLY": "You can only reply to this conversation using a template message due to", + "TWILIO_WHATSAPP_CAN_REPLY": "Du kan bara svara på denna konversation med ett mallmeddelande på grund av", "TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 timmars meddelandebegränsning", - "SELECT_A_TWEET_TO_REPLY": "Please select a tweet to reply to.", + "SELECT_A_TWEET_TO_REPLY": "Välj en tweet att svara på.", "REPLYING_TO": "Du svarar:", "REMOVE_SELECTION": "Ta bort urval", "DOWNLOAD": "Hämta", "UPLOADING_ATTACHMENTS": "Laddar upp bilagor...", - "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", - "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", + "SUCCESS_DELETE_MESSAGE": "Meddelandet har tagits bort", + "FAIL_DELETE_MESSSAGE": "Det gick inte att ta bort meddelande! Försök igen", "NO_RESPONSE": "Inget svar", - "RATING_TITLE": "Rating", + "RATING_TITLE": "Betyg", "FEEDBACK_TITLE": "Feedback", "HEADER": { "RESOLVE_ACTION": "Lös", @@ -40,17 +40,17 @@ "OPEN": "Mer", "CLOSE": "Stäng", "DETAILS": "detaljer", - "SNOOZED_UNTIL_TOMORROW": "Snoozed until tomorrow", - "SNOOZED_UNTIL_NEXT_WEEK": "Snoozed until next week", - "SNOOZED_UNTIL_NEXT_REPLY": "Snoozed until next reply" + "SNOOZED_UNTIL_TOMORROW": "Snoozad till imorgon", + "SNOOZED_UNTIL_NEXT_WEEK": "Snoozad till nästa vecka", + "SNOOZED_UNTIL_NEXT_REPLY": "Snoozad till nästa svar" }, "RESOLVE_DROPDOWN": { - "MARK_PENDING": "Mark as pending", + "MARK_PENDING": "Markera som väntande", "SNOOZE": { - "TITLE": "Snooze until", - "NEXT_REPLY": "Next reply", - "TOMORROW": "Tomorrow", - "NEXT_WEEK": "Next week" + "TITLE": "Snooza tills", + "NEXT_REPLY": "Nästa svar", + "TOMORROW": "Imorgon", + "NEXT_WEEK": "Nästa vecka" } }, "FOOTER": { @@ -67,27 +67,27 @@ "TIP_EMOJI_ICON": "Visa emoji-väljare", "TIP_ATTACH_ICON": "Bifoga filer", "ENTER_TO_SEND": "Enter för att skicka", - "DRAG_DROP": "Drag and drop here to attach", + "DRAG_DROP": "Dra och släpp hit för att bifoga", "EMAIL_HEAD": { - "ADD_BCC": "Add bcc", + "ADD_BCC": "Lägg till bcc", "CC": { "LABEL": "CC", - "PLACEHOLDER": "Emails separated by commas", - "ERROR": "Please enter valid email addresses" + "PLACEHOLDER": "E-post separerade med kommatecken", + "ERROR": "Ange giltiga e-postadresser" }, "BCC": { "LABEL": "BCC", - "PLACEHOLDER": "Emails separated by commas", - "ERROR": "Please enter valid email addresses" + "PLACEHOLDER": "E-post separerade med kommatecken", + "ERROR": "Ange giltiga e-postadresser" } } }, "VISIBLE_TO_AGENTS": "Privat anteckning: Endast synlig för dig och ditt team", "CHANGE_STATUS": "Konversationsstatus ändrad", "CHANGE_AGENT": "Konversationstilldelning ändrad", - "CHANGE_TEAM": "Conversation team changed", - "FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_FILE_UPLOAD_SIZE} attachment limit", - "MESSAGE_ERROR": "Unable to send this message, please try again later", + "CHANGE_TEAM": "Konversationsteamet har ändrats", + "FILE_SIZE_LIMIT": "Filen överskrider gränsen för {MAXIMUM_FILE_UPLOAD_SIZE} bifogade filer", + "MESSAGE_ERROR": "Det gick inte att skicka detta meddelande, försök igen senare", "SENT_BY": "Skickat av:", "ASSIGNMENT": { "SELECT_AGENT": "Välj agent", @@ -117,16 +117,16 @@ } }, "ONBOARDING": { - "TITLE": "Hey 👋, Welcome to %{installationName}!", - "DESCRIPTION": "Thanks for signing up. We want you to get the most out of %{installationName}. Here are a few things you can do in %{installationName} to make the experience delightful.", - "READ_LATEST_UPDATES": "Read our latest updates", + "TITLE": "Hej 👋, Välkommen till %{installationName}!", + "DESCRIPTION": "Tack för att du registrerar dig. Vi vill att du ska få ut det mesta av %{installationName}. Här är några saker du kan göra i %{installationName} för att göra upplevelsen härlig.", + "READ_LATEST_UPDATES": "Läs våra senaste uppdateringar", "ALL_CONVERSATION": { - "TITLE": "All your conversations in one place", - "DESCRIPTION": "View all the conversations from your customers in one single dashboard. You can filter the conversations by the incoming channel, label and status." + "TITLE": "Alla dina konversationer på ett ställe", + "DESCRIPTION": "Visa alla konversationer från dina kunder i en enda instrumentpanel. Du kan filtrera konversationerna genom inkommande kanal, etikett och status." }, "TEAM_MEMBERS": { - "TITLE": "Invite your team members", - "DESCRIPTION": "Since you are getting ready to talk to your customer, bring in your teammates to assist you. You can invite your teammates by adding their email address to the agent list.", + "TITLE": "Bjud in dina teammedlemmar", + "DESCRIPTION": "Eftersom du är redo att prata med din kund, ta in dina lagkamrater för att hjälpa dig. Du kan bjuda in dina lagkamrater genom att lägga till deras e-postadress i agentlistan.", "NEW_LINK": "Click here to invite a team member" }, "INBOXES": { @@ -150,12 +150,33 @@ "ACCORDION": { "CONTACT_DETAILS": "Contact Details", "CONVERSATION_ACTIONS": "Conversation Actions", - "CONVERSATION_LABELS": "Conversation Labels", + "CONVERSATION_LABELS": "Etiketter för konversation", "CONVERSATION_INFO": "Conversation Information", "CONTACT_ATTRIBUTES": "Contact Attributes", "PREVIOUS_CONVERSATION": "Tidigare konversationer" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "ADD": { + "TITLE": "Add", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" + } + }, "EMAIL_HEADER": { "TO": "Till", "BCC": "Bcc", diff --git a/app/javascript/dashboard/i18n/locale/sv/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/sv/inboxMgmt.json index 43adfcb9bfb9..f7dd8779658d 100644 --- a/app/javascript/dashboard/i18n/locale/sv/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sv/inboxMgmt.json @@ -159,11 +159,11 @@ "SUBTITLE": "Configure the WhatsApp API key.", "PLACEHOLDER": "API key", "APPLY_FOR_ACCESS": "Don't have any API key? Apply for access here", - "ERROR": "Please enter a valid value." + "ERROR": "Ange ett giltigt värde." }, - "SUBMIT_BUTTON": "Create WhatsApp Channel", + "SUBMIT_BUTTON": "Skapa WhatsApp-kanal", "API": { - "ERROR_MESSAGE": "We were not able to save the WhatsApp channel" + "ERROR_MESSAGE": "Vi kunde inte spara WhatsApp-kanalen" } }, "API_CHANNEL": { @@ -204,40 +204,40 @@ "FINISH_MESSAGE": "Börja vidarebefordra dina e-postmeddelanden till följande e-postadress." }, "LINE_CHANNEL": { - "TITLE": "LINE Channel", - "DESC": "Integrate with LINE channel and start supporting your customers.", + "TITLE": "LINE kanal", + "DESC": "Integrera med LINE-kanalen och börja stödja dina kunder.", "CHANNEL_NAME": { "LABEL": "Kanalnamn", "PLACEHOLDER": "Ange ett kanalnamn", "ERROR": "Detta fält är obligatoriskt" }, "LINE_CHANNEL_ID": { - "LABEL": "LINE Channel ID", - "PLACEHOLDER": "LINE Channel ID" + "LABEL": "LINE kanal-ID", + "PLACEHOLDER": "LINE kanal-ID" }, "LINE_CHANNEL_SECRET": { - "LABEL": "LINE Channel Secret", - "PLACEHOLDER": "LINE Channel Secret" + "LABEL": "LINE kanal hemlighet", + "PLACEHOLDER": "LINE kanal hemlighet" }, "LINE_CHANNEL_TOKEN": { - "LABEL": "LINE Channel Token", - "PLACEHOLDER": "LINE Channel Token" + "LABEL": "LINE kanal hemlighet", + "PLACEHOLDER": "LINE kanal hemlighet" }, - "SUBMIT_BUTTON": "Create LINE Channel", + "SUBMIT_BUTTON": "Skapa API-kanal", "API": { - "ERROR_MESSAGE": "We were not able to save the LINE channel" + "ERROR_MESSAGE": "Vi kunde inte spara API-kanalen" }, "API_CALLBACK": { "TITLE": "Callback-URL", - "SUBTITLE": "You have to configure the webhook URL in LINE application with the URL mentioned here." + "SUBTITLE": "Du måste konfigurera webhook URL i LINE-programmet med den URL som nämns här." } }, "TELEGRAM_CHANNEL": { - "TITLE": "Telegram Channel", - "DESC": "Integrate with Telegram channel and start supporting your customers.", + "TITLE": "Telegram kanal", + "DESC": "Integrera med Telegram kanal och börja stödja dina kunder.", "BOT_TOKEN": { "LABEL": "Bot Token", - "SUBTITLE": "Configure the bot token you have obtained from Telegram BotFather.", + "SUBTITLE": "Konfigurera bot token du har fått från Telegram BotFather.", "PLACEHOLDER": "Bot Token" }, "SUBMIT_BUTTON": "Create Telegram Channel", @@ -246,8 +246,8 @@ } }, "AUTH": { - "TITLE": "Choose a channel", - "DESC": "Chatwoot supports live-chat widget, Facebook page, Twitter profile, WhatsApp, Email etc., as channels. If you want to build a custom channel, you can create it using the API channel. Select one channel from the options below to proceed." + "TITLE": "Välj en kanal", + "DESC": "Chatwoot stöder live-chat widget, Facebook-sida, Twitter-profil, WhatsApp, E-post etc., som kanaler. Om du vill bygga en anpassad kanal kan du skapa den med hjälp av API-kanalen. Välj en kanal från alternativen nedan för att fortsätta." }, "AGENTS": { "TITLE": "Agenter", @@ -279,7 +279,7 @@ "TITLE": "Din inkorg är redo!", "MESSAGE": "Du kan nu interagera med dina kunder genom din nya kanal. Supporta glatt ", "BUTTON_TEXT": "Ta mig dit", - "MORE_SETTINGS": "More settings", + "MORE_SETTINGS": "Fler inställningar", "WEBSITE_SUCCESS": "Du har skapat en webbplatskanal. Kopiera koden som visas nedan och klistra in den på din webbplats. Nästa gång en kund använder livechatten visas konversationen automatiskt i din inkorg." }, "REAUTH": "Återauktorisera", @@ -303,33 +303,33 @@ "DISABLED": "Inaktiverad" }, "ENABLE_HMAC": { - "LABEL": "Enable" + "LABEL": "Aktivera" } }, "DELETE": { "BUTTON_TEXT": "Radera", - "AVATAR_DELETE_BUTTON_TEXT": "Delete Avatar", + "AVATAR_DELETE_BUTTON_TEXT": "Ta bort Avatar", "CONFIRM": { "TITLE": "Bekräfta borttagning", "MESSAGE": "Är du säker på att ta bort ", - "PLACE_HOLDER": "Please type {inboxName} to confirm", + "PLACE_HOLDER": "Vänligen skriv {inboxName} för att bekräfta", "YES": "Ja, ta bort ", "NO": "Nej, behåll " }, "API": { "SUCCESS_MESSAGE": "Inkorgen har tagits bort", "ERROR_MESSAGE": "Kunde inte ta bort inkorgen. Försök igen senare.", - "AVATAR_SUCCESS_MESSAGE": "Inbox avatar deleted successfully", - "AVATAR_ERROR_MESSAGE": "Could not delete the inbox avatar. Please try again later." + "AVATAR_SUCCESS_MESSAGE": "Inkorgavatar har tagits bort", + "AVATAR_ERROR_MESSAGE": "Kunde inte ta bort inbox-avataren. Försök igen senare." } }, "TABS": { "SETTINGS": "Inställningar", "COLLABORATORS": "Medarbetare", "CONFIGURATION": "Konfiguration", - "CAMPAIGN": "Campaigns", - "PRE_CHAT_FORM": "Pre Chat Form", - "BUSINESS_HOURS": "Business Hours" + "CAMPAIGN": "Kampanjer", + "PRE_CHAT_FORM": "Förre chattformulär", + "BUSINESS_HOURS": "Affärstimmar" }, "SETTINGS": "Inställningar", "FEATURES": { @@ -343,21 +343,21 @@ "INBOX_AGENTS": "Agenter", "INBOX_AGENTS_SUB_TEXT": "Lägg till eller ta bort agenter från denna inkorg", "UPDATE": "Uppdatera", - "ENABLE_EMAIL_COLLECT_BOX": "Enable email collect box", - "ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Enable or disable email collect box on new conversation", + "ENABLE_EMAIL_COLLECT_BOX": "Aktivera inkasso för e-post", + "ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Aktivera eller inaktivera insamlingsrutan för e-post på ny konversation", "AUTO_ASSIGNMENT": "Aktivera automatisk tilldelning", - "ENABLE_CSAT": "Enable CSAT", - "ENABLE_CSAT_SUB_TEXT": "Enable/Disable CSAT(Customer satisfaction) survey after resolving a conversation", + "ENABLE_CSAT": "Aktivera CSAT", + "ENABLE_CSAT_SUB_TEXT": "Aktivera/inaktivera CSAT(kundnöjdhet) undersökning efter att ha löst ett samtal", "INBOX_UPDATE_TITLE": "Inkorgsinställningar", "INBOX_UPDATE_SUB_TEXT": "Uppdatera inställningarna för din inkorg", "AUTO_ASSIGNMENT_SUB_TEXT": "Aktivera eller inaktivera automatisk tilldelning av nya konversationer till de agenter som lagts till den här inkorgen.", "HMAC_VERIFICATION": "Validering av användaridentitet", - "HMAC_DESCRIPTION": "Inorder to validate the user's identity, the SDK allows you to pass an `identifier_hash` for each user. You can generate HMAC using 'sha256' with the key shown here.", - "HMAC_MANDATORY_VERIFICATION": "Enforce User Identity Validation", - "HMAC_MANDATORY_DESCRIPTION": "If enabled, Chatwoot SDKs setUser method will not work unless the `identifier_hash` is provided for each user.", - "INBOX_IDENTIFIER": "Inbox Identifier", - "INBOX_IDENTIFIER_SUB_TEXT": "Use the `inbox_identifier` token shown here to authentication your API clients.", - "FORWARD_EMAIL_TITLE": "Forward to Email", + "HMAC_DESCRIPTION": "För att validera användarens identitet låter SDKn dig att skicka en `identity_hash` för varje användare. Du kan generera HMAC med 'sha256' med nyckeln som visas här.", + "HMAC_MANDATORY_VERIFICATION": "Validering av användaridentitet", + "HMAC_MANDATORY_DESCRIPTION": "Om aktiverad, kommer Chatwoot SDKs setUser metod inte att fungera om inte `identifier_hash` tillhandahålls för varje användare.", + "INBOX_IDENTIFIER": "Identifierare för inkorgen", + "INBOX_IDENTIFIER_SUB_TEXT": "Använd `inbox_identifier`-token som visas här för att autentisera dina API-klienter.", + "FORWARD_EMAIL_TITLE": "Vidarebefordra till e-post", "FORWARD_EMAIL_SUB_TEXT": "Börja vidarebefordra dina e-postmeddelanden till följande e-postadress." }, "FACEBOOK_REAUTHORIZE": { @@ -367,24 +367,24 @@ "MESSAGE_ERROR": "Ett fel uppstod, vänligen försök igen" }, "PRE_CHAT_FORM": { - "DESCRIPTION": "Pre chat forms enable you to capture user information before they start conversation with you.", + "DESCRIPTION": "Förre chattformulär gör det möjligt för dig att samla in användarinformation innan de börjar samtala med dig.", "ENABLE": { - "LABEL": "Enable pre chat form", + "LABEL": "Aktivera förchattformulär", "OPTIONS": { - "ENABLED": "Yes", - "DISABLED": "No" + "ENABLED": "Ja", + "DISABLED": "Nej" } }, "PRE_CHAT_MESSAGE": { - "LABEL": "Pre Chat Message", - "PLACEHOLDER": "This message would be visible to the users along with the form" + "LABEL": "Förre chattinlägg", + "PLACEHOLDER": "Detta meddelande skulle vara synligt för användarna tillsammans med formuläret" }, "REQUIRE_EMAIL": { - "LABEL": "Visitors should provide their name and email address before starting the chat" + "LABEL": "Besökare bör uppge sitt namn och sin e-postadress innan de startar chatten" } }, "BUSINESS_HOURS": { - "TITLE": "Set your availability", + "TITLE": "Ställ in din tillgänglighet", "SUBTITLE": "Set your availability on your livechat widget", "WEEKLY_TITLE": "Set your weekly hours", "TIMEZONE_LABEL": "Select timezone", diff --git a/app/javascript/dashboard/i18n/locale/sv/integrationApps.json b/app/javascript/dashboard/i18n/locale/sv/integrationApps.json index e0f447142568..d1dbe46eabdb 100644 --- a/app/javascript/dashboard/i18n/locale/sv/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/sv/integrationApps.json @@ -30,7 +30,7 @@ }, "LIST": { "FETCHING": "Fetching integration hooks", - "INBOX": "Inbox", + "INBOX": "Inkorg", "DELETE": { "BUTTON_TEXT": "Radera" } diff --git a/app/javascript/dashboard/i18n/locale/sv/report.json b/app/javascript/dashboard/i18n/locale/sv/report.json index dacdfb573540..66df8cb540d0 100644 --- a/app/javascript/dashboard/i18n/locale/sv/report.json +++ b/app/javascript/dashboard/i18n/locale/sv/report.json @@ -320,7 +320,7 @@ "HEADER": { "CONTACT_NAME": "Contact", "AGENT_NAME": "Assigned agent", - "RATING": "Rating", + "RATING": "Betyg", "FEEDBACK_TEXT": "Feedback comment" } }, diff --git a/app/javascript/dashboard/i18n/locale/sv/settings.json b/app/javascript/dashboard/i18n/locale/sv/settings.json index e0c360c0843c..10af435dd966 100644 --- a/app/javascript/dashboard/i18n/locale/sv/settings.json +++ b/app/javascript/dashboard/i18n/locale/sv/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "dagars provperiod återstår.", - "TRAIL_BUTTON": "Köp nu" + "TRAIL_BUTTON": "Köp nu", + "DELETED_USER": "Deleted User" }, "COMPONENTS": { "CODE": { @@ -142,7 +143,7 @@ "ACCOUNT_SETTINGS": "Kontoinställningar", "APPLICATIONS": "Applications", "LABELS": "Etiketter", - "ATTRIBUTES": "Attributes", + "CUSTOM_ATTRIBUTES": "Egna egenskaper", "TEAMS": "Teams", "ALL_CONTACTS": "All Contacts", "TAGGED_WITH": "Tagged with", @@ -153,7 +154,7 @@ "ONE_OFF": "One off", "REPORTS_AGENT": "Agenter", "REPORTS_LABEL": "Etiketter", - "REPORTS_INBOX": "Inbox", + "REPORTS_INBOX": "Inkorg", "REPORTS_TEAM": "Team" }, "CREATE_ACCOUNT": { diff --git a/app/javascript/dashboard/i18n/locale/ta/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ta/attributesMgmt.json index c0faac437a74..a5312e847ed3 100644 --- a/app/javascript/dashboard/i18n/locale/ta/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ta/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Attributes", - "HEADER_BTN_TXT": "Add Attribute", - "LOADING": "Fetching attributes", - "SIDEBAR_TXT": "

Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Attributes, just click on the Add Attribute. You can also edit or delete an existing Attribute by clicking on the Edit or Delete button.

", + "HEADER": "Custom Attributes", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "Add attribute", + "TITLE": "Add Custom Attribute", "SUBMIT": "Create", "CANCEL_BUTTON_TEXT": "ரத்துசெய்", "FORM": { "NAME": { "LABEL": "Display Name", - "PLACEHOLDER": "Enter attribute display name", + "PLACEHOLDER": "Enter custom attribute display name", "ERROR": "Name is required" }, "DESC": { "LABEL": "Description", - "PLACEHOLDER": "Enter attribute description", + "PLACEHOLDER": "Enter custom attribute description", "ERROR": "Description is required" }, "MODEL": { - "LABEL": "Model", - "PLACEHOLDER": "Please select a model", + "LABEL": "Applies to", + "PLACEHOLDER": "Please select one", "ERROR": "Model is required" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "Type is required" }, "KEY": { - "LABEL": "Key" + "LABEL": "Key", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create an attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "Delete", "API": { - "SUCCESS_MESSAGE": "Attribute deleted successfully.", - "ERROR_MESSAGE": "Couldn't delete the attribute. Try again." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { "TITLE": "Are you sure want to delete - %{attributeName}", "PLACE_HOLDER": "Please type {attributeName} to confirm", - "MESSAGE": "Deleting will remove the attribute", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "Delete ", "NO": "ரத்துசெய்" } }, "EDIT": { - "TITLE": "Edit attribute", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "புதுப்பிப்பு", "API": { - "SUCCESS_MESSAGE": "Attribute updated successfully", - "ERROR_MESSAGE": "There was an error updating attribute, please try again" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { @@ -77,8 +80,8 @@ "DELETE": "Delete" }, "EMPTY_RESULT": { - "404": "There are no attributes created", - "NOT_FOUND": "There are no attributes configured" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/ta/chatlist.json b/app/javascript/dashboard/i18n/locale/ta/chatlist.json index 79e5c0095bfa..3c208d637e31 100644 --- a/app/javascript/dashboard/i18n/locale/ta/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/ta/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "திற", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "திற" }, - { - "TEXT": "தீர்க்கப்பட்டது", - "VALUE": "resolved" + "resolved": { + "TEXT": "தீர்க்கப்பட்டது" }, - { - "TEXT": "Pending", - "VALUE": "pending" + "pending": { + "TEXT": "Pending" }, - { - "TEXT": "Snoozed", - "VALUE": "snoozed" + "snoozed": { + "TEXT": "Snoozed" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -85,6 +81,7 @@ "RECEIVED_VIA_EMAIL": "Received via email", "VIEW_TWEET_IN_TWITTER": "View tweet in Twitter", "REPLY_TO_TWEET": "Reply to this tweet", + "SENT": "Sent successfully", "NO_MESSAGES": "No Messages", "NO_CONTENT": "No content available", "HIDE_QUOTED_TEXT": "Hide Quoted Text", diff --git a/app/javascript/dashboard/i18n/locale/ta/contact.json b/app/javascript/dashboard/i18n/locale/ta/contact.json index 8d72a70d6a4b..08abd4975d7c 100644 --- a/app/javascript/dashboard/i18n/locale/ta/contact.json +++ b/app/javascript/dashboard/i18n/locale/ta/contact.json @@ -7,6 +7,7 @@ "COMPANY": "Company", "LOCATION": "இருப்பிடம்", "CONVERSATION_TITLE": "உரையாடல் விவரங்கள்", + "VIEW_PROFILE": "View Profile", "BROWSER": "புரவுஸர்", "OS": "ஆப்பரேட்டிங் சிஸ்டம்", "INITIATED_FROM": "இருந்து தொடங்கப்பட்டது", @@ -154,6 +155,11 @@ "LABEL": "Inbox", "ERROR": "Select an inbox" }, + "SUBJECT": { + "LABEL": "Subject", + "PLACEHOLDER": "Subject", + "ERROR": "Subject can't be empty" + }, "MESSAGE": { "LABEL": "Message", "PLACEHOLDER": "Write your message here", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "View details" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "Contacts", + "LOADING": "Loading contact profile..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "Add", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Fetching notes...", + "NOT_AVAILABLE": "There are no notes created for this contact", "HEADER": { "TITLE": "Notes" }, + "LIST": { + "LABEL": "added a note" + }, "ADD": { "BUTTON": "Add", "PLACEHOLDER": "Add a note", "TITLE": "Shift + Enter to create a note" }, - "FOOTER": { - "BUTTON": "View all notes" + "CONTENT_HEADER": { + "DELETE": "Delete note" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Add attributes", "BUTTON": "Add custom attribute", "NOT_AVAILABLE": "There are no custom attributes available for this contact.", + "COPY_SUCCESSFUL": "Copied to clipboard successfully", + "ACTIONS": { + "COPY": "Copy attribute", + "DELETE": "Delete attribute", + "EDIT": "Edit attribute" + }, "ADD": { "TITLE": "Create custom attribute", "DESC": "Add custom information to this contact." @@ -239,7 +261,29 @@ "VALUE": { "LABEL": "Attribute value", "PLACEHOLDER": "Eg: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" } + }, + "VALIDATIONS": { + "REQUIRED": "Valid value is required", + "INVALID_URL": "Invalid URL" } }, "MERGE_CONTACTS": { diff --git a/app/javascript/dashboard/i18n/locale/ta/conversation.json b/app/javascript/dashboard/i18n/locale/ta/conversation.json index 14b64012ed48..3956a8a95f49 100644 --- a/app/javascript/dashboard/i18n/locale/ta/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ta/conversation.json @@ -156,6 +156,27 @@ "PREVIOUS_CONVERSATION": "முந்தைய உரையாடல்கள்" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "ADD": { + "TITLE": "Add", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" + } + }, "EMAIL_HEADER": { "TO": "To", "BCC": "Bcc", diff --git a/app/javascript/dashboard/i18n/locale/ta/settings.json b/app/javascript/dashboard/i18n/locale/ta/settings.json index cbbd37ea2111..c189061bc730 100644 --- a/app/javascript/dashboard/i18n/locale/ta/settings.json +++ b/app/javascript/dashboard/i18n/locale/ta/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "நாட்கள் சோதனை மீதமுள்ளது.", - "TRAIL_BUTTON": "இப்போது வாங்க" + "TRAIL_BUTTON": "இப்போது வாங்க", + "DELETED_USER": "Deleted User" }, "COMPONENTS": { "CODE": { @@ -142,7 +143,7 @@ "ACCOUNT_SETTINGS": "கணக்கின் அமைப்புகள்", "APPLICATIONS": "Applications", "LABELS": "Labels", - "ATTRIBUTES": "Attributes", + "CUSTOM_ATTRIBUTES": "Custom Attributes", "TEAMS": "Teams", "ALL_CONTACTS": "All Contacts", "TAGGED_WITH": "Tagged with", diff --git a/app/javascript/dashboard/i18n/locale/th/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/th/attributesMgmt.json index f9d0ac581981..3e91a3adfe65 100644 --- a/app/javascript/dashboard/i18n/locale/th/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/th/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Attributes", - "HEADER_BTN_TXT": "Add Attribute", - "LOADING": "Fetching attributes", - "SIDEBAR_TXT": "

Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Attributes, just click on the Add Attribute. You can also edit or delete an existing Attribute by clicking on the Edit or Delete button.

", + "HEADER": "แอตทริบิวต์ที่กำหนดเอง", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "เพิ่มแอตทริบิวต์", + "TITLE": "Add Custom Attribute", "SUBMIT": "สร้าง", "CANCEL_BUTTON_TEXT": "ยกเลิก", "FORM": { "NAME": { "LABEL": "Display Name", - "PLACEHOLDER": "Enter attribute display name", + "PLACEHOLDER": "Enter custom attribute display name", "ERROR": "Name is required" }, "DESC": { "LABEL": "Description", - "PLACEHOLDER": "Enter attribute description", + "PLACEHOLDER": "Enter custom attribute description", "ERROR": "Description is required" }, "MODEL": { - "LABEL": "Model", - "PLACEHOLDER": "Please select a model", + "LABEL": "Applies to", + "PLACEHOLDER": "Please select one", "ERROR": "Model is required" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "Type is required" }, "KEY": { - "LABEL": "Key" + "LABEL": "Key", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create an attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "ลบ", "API": { - "SUCCESS_MESSAGE": "Attribute deleted successfully.", - "ERROR_MESSAGE": "Couldn't delete the attribute. Try again." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { "TITLE": "Are you sure want to delete - %{attributeName}", "PLACE_HOLDER": "Please type {attributeName} to confirm", - "MESSAGE": "Deleting will remove the attribute", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "ลบ ", "NO": "ยกเลิก" } }, "EDIT": { - "TITLE": "Edit attribute", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "อัพเดท", "API": { - "SUCCESS_MESSAGE": "Attribute updated successfully", - "ERROR_MESSAGE": "There was an error updating attribute, please try again" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { @@ -77,8 +80,8 @@ "DELETE": "ลบ" }, "EMPTY_RESULT": { - "404": "There are no attributes created", - "NOT_FOUND": "There are no attributes configured" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/th/chatlist.json b/app/javascript/dashboard/i18n/locale/th/chatlist.json index 402dfe9ba6f7..1b565589ccc0 100644 --- a/app/javascript/dashboard/i18n/locale/th/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/th/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "เปิด", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "เปิด" }, - { - "TEXT": "เสร็จสิ้น", - "VALUE": "resolved" + "resolved": { + "TEXT": "เสร็จสิ้น" }, - { - "TEXT": "กำลังร้องขอ", - "VALUE": "กำลังร้องขอ" + "pending": { + "TEXT": "กำลังร้องขอ" }, - { - "TEXT": "หลับ", - "VALUE": "หลับ" + "snoozed": { + "TEXT": "หลับ" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -85,9 +81,10 @@ "RECEIVED_VIA_EMAIL": "ได้รับทางอีเมลล์", "VIEW_TWEET_IN_TWITTER": "ดูทวิตในทวิตเตอร์", "REPLY_TO_TWEET": "ตอบกลับทวิตนี้", + "SENT": "จัดส่งสำเร็จ", "NO_MESSAGES": "ไม่มีข้อความ", "NO_CONTENT": "ไม่มีเนื้อหา", - "HIDE_QUOTED_TEXT": "Hide Quoted Text", - "SHOW_QUOTED_TEXT": "Show Quoted Text" + "HIDE_QUOTED_TEXT": "ซ่อนข้อความในเครื่องหมายคำพูด", + "SHOW_QUOTED_TEXT": "แสดงข้อความในเครื่องหมายคำพูด" } } diff --git a/app/javascript/dashboard/i18n/locale/th/contact.json b/app/javascript/dashboard/i18n/locale/th/contact.json index 1b4079e8a167..96fdb567db6c 100644 --- a/app/javascript/dashboard/i18n/locale/th/contact.json +++ b/app/javascript/dashboard/i18n/locale/th/contact.json @@ -7,6 +7,7 @@ "COMPANY": "บริษัท", "LOCATION": "สถานที่", "CONVERSATION_TITLE": "รายละเอียดการสนทนา", + "VIEW_PROFILE": "ดูโปรไฟล์", "BROWSER": "บราวเซอร์", "OS": "ระบบปฏิบัติการ", "INITIATED_FROM": "Initiated from", @@ -154,6 +155,11 @@ "LABEL": "กล่องข้อความ", "ERROR": "เลือกกล่องข้อความ" }, + "SUBJECT": { + "LABEL": "Subject", + "PLACEHOLDER": "Subject", + "ERROR": "Subject can't be empty" + }, "MESSAGE": { "LABEL": "ข้อความ", "PLACEHOLDER": "เขียนข้อความของคุณที่นี่", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "ดูรายละเอียด" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "ผู้ติดต่อ", + "LOADING": "Loading contact profile..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "เพิ่ม", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Fetching notes...", + "NOT_AVAILABLE": "There are no notes created for this contact", "HEADER": { "TITLE": "โน้ต" }, + "LIST": { + "LABEL": "added a note" + }, "ADD": { "BUTTON": "เพิ่ม", "PLACEHOLDER": "เพิ่มโน็ต", "TITLE": "Shift + Enter เพื่อสร้างโน็ต" }, - "FOOTER": { - "BUTTON": "ดูโน็ตทั้งหมด" + "CONTENT_HEADER": { + "DELETE": "Delete note" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Add attributes", "BUTTON": "เพิ่มแอตทริบิวต์เเบบกำหนดเอง", "NOT_AVAILABLE": "There are no custom attributes available for this contact.", + "COPY_SUCCESSFUL": "คัดลอกไปยังคริปบอร์ดเเล้ว", + "ACTIONS": { + "COPY": "Copy attribute", + "DELETE": "Delete attribute", + "EDIT": "Edit attribute" + }, "ADD": { "TITLE": "สร้างแอตทริบิวต์เเบบกำหนดเอง", "DESC": "เพิ่มข้อมูลแอตทริบิวต์ในผู้ติดต่อนี้" @@ -239,7 +261,29 @@ "VALUE": { "LABEL": "ค่าของแอตทริบิวต์", "PLACEHOLDER": "ตัวอย่าง: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" } + }, + "VALIDATIONS": { + "REQUIRED": "Valid value is required", + "INVALID_URL": "Invalid URL" } }, "MERGE_CONTACTS": { diff --git a/app/javascript/dashboard/i18n/locale/th/conversation.json b/app/javascript/dashboard/i18n/locale/th/conversation.json index eed4a1169b1b..41c135edeed4 100644 --- a/app/javascript/dashboard/i18n/locale/th/conversation.json +++ b/app/javascript/dashboard/i18n/locale/th/conversation.json @@ -64,7 +64,7 @@ "CREATE": "เพิ่มโน้ต", "TWEET": "ทวิต", "TIP_FORMAT_ICON": "เเสดงที่เเก้ไขข้อความ", - "TIP_EMOJI_ICON": "โชว์ที่เบือกอีโมจิ", + "TIP_EMOJI_ICON": "โชว์ตัวเลือกอีโมจิ", "TIP_ATTACH_ICON": "เพิ่มไฟล์", "ENTER_TO_SEND": "กดเอ็นเทอร์เพื่อส่ง", "DRAG_DROP": "ลากเเละปล่อยที่นี่เพื่อเพิ่ม", @@ -87,7 +87,7 @@ "CHANGE_AGENT": "ผู้ได้รับมอบหมายการสนทนานี้มีการเปลี่ยนแปลง", "CHANGE_TEAM": "เปลี่ยนทีมการสนทนาเเล้ว", "FILE_SIZE_LIMIT": "ไฟล์ใหเกินกว่า {MAXIMUM_FILE_UPLOAD_SIZE} ที่กำหนดไว้", - "MESSAGE_ERROR": "Unable to send this message, please try again later", + "MESSAGE_ERROR": "ไม่สามารถส่งข้อความนี้ได้ กรุณาลองใหม่อีกครั้ง", "SENT_BY": "ส่งโดย:", "ASSIGNMENT": { "SELECT_AGENT": "เลือกพนักงาน", @@ -125,19 +125,19 @@ "DESCRIPTION": "ดูการสนทนาทั้งหมดจากลูกค้าของคุณในหน้าเเดสบอรด์เดียว คุณสามารถกรอกการสนทนาโดยช่องที่เข้ามา หรือ ป้ายกำกับเเละสถานะ" }, "TEAM_MEMBERS": { - "TITLE": "Invite your team members", - "DESCRIPTION": "Since you are getting ready to talk to your customer, bring in your teammates to assist you. You can invite your teammates by adding their email address to the agent list.", - "NEW_LINK": "Click here to invite a team member" + "TITLE": "เชิญสมาชิกในทีมของคุณ", + "DESCRIPTION": "เมื่อคุณพร้อมที่จะคุยกับลูกค้าของคุณ กรุณาให้เพื่อนในทีมมาช่วยคุณ คุณสามารถเชิญเพื่อนในทีมได้โดยการใส่อีเมลของเขาใน Agent List", + "NEW_LINK": "คลิกที่นี่เพื่อเชิญสมาชิกในทีม" }, "INBOXES": { - "TITLE": "Connect Inboxes", + "TITLE": "เชื่อมต่อกล่องข้อความ", "DESCRIPTION": "Connect various channels through which your customers would be talking to you. It can be a website live-chat, your Facebook or Twitter page or even your WhatsApp number.", - "NEW_LINK": "Click here to create an inbox" + "NEW_LINK": "คลิกที่นี่เพื่อสร้างกล่องข้อความ" }, "LABELS": { - "TITLE": "Organize conversations with labels", - "DESCRIPTION": "Labels provide an easier way to categorize your conversation. Create some labels like #support-enquiry, #billing-question etc., so that you can use them in a conversation later.", - "NEW_LINK": "Click here to create tags" + "TITLE": "จัดกลุ่มบทสนทนาด้วยฉลาก", + "DESCRIPTION": "การติดฉลากเป็นวิธีง่ายๆ ในการจัดกลุ่มบทสนทนาของคุณ คุณสามารถสร้างฉลากเช่น #การช่วยเหลือ #คำถามเรื่องใบเสร็จ เพื่อนำมาใช้ในบทสนทนาต่อไป", + "NEW_LINK": "คลิกที่นี่เพื่อสร้างแท็ก" } }, "CONVERSATION_SIDEBAR": { @@ -156,6 +156,27 @@ "PREVIOUS_CONVERSATION": "การสนทนาก่อนหน้า" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "ADD": { + "TITLE": "เพิ่ม", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" + } + }, "EMAIL_HEADER": { "TO": "ถึง", "BCC": "Bcc", diff --git a/app/javascript/dashboard/i18n/locale/th/settings.json b/app/javascript/dashboard/i18n/locale/th/settings.json index 4c5eb051a093..6c9d7fea9371 100644 --- a/app/javascript/dashboard/i18n/locale/th/settings.json +++ b/app/javascript/dashboard/i18n/locale/th/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "days trial remaining.", - "TRAIL_BUTTON": "Buy Now" + "TRAIL_BUTTON": "Buy Now", + "DELETED_USER": "Deleted User" }, "COMPONENTS": { "CODE": { @@ -142,7 +143,7 @@ "ACCOUNT_SETTINGS": "Account Settings", "APPLICATIONS": "Applications", "LABELS": "Labels", - "ATTRIBUTES": "Attributes", + "CUSTOM_ATTRIBUTES": "แอตทริบิวต์ที่กำหนดเอง", "TEAMS": "Teams", "ALL_CONTACTS": "All Contacts", "TAGGED_WITH": "Tagged with", diff --git a/app/javascript/dashboard/i18n/locale/tr/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/tr/attributesMgmt.json index 12f540ab2272..88950a0fc156 100644 --- a/app/javascript/dashboard/i18n/locale/tr/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/tr/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Öznitelikler", - "HEADER_BTN_TXT": "Öznitelik ekle", - "LOADING": "Fetching attributes", - "SIDEBAR_TXT": "

Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Attributes, just click on the Add Attribute. You can also edit or delete an existing Attribute by clicking on the Edit or Delete button.

", + "HEADER": "Özel Nitelikler", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "Öznitelik ekle", + "TITLE": "Add Custom Attribute", "SUBMIT": "Yarat", "CANCEL_BUTTON_TEXT": "İptal Et", "FORM": { "NAME": { "LABEL": "Ekran adı", - "PLACEHOLDER": "Öznitelik adı girin", + "PLACEHOLDER": "Enter custom attribute display name", "ERROR": "Name is required" }, "DESC": { "LABEL": "Açıklama", - "PLACEHOLDER": "Öznitelik açıklaması girin", + "PLACEHOLDER": "Enter custom attribute description", "ERROR": "Description is required" }, "MODEL": { - "LABEL": "Model", - "PLACEHOLDER": "Lütfen model seçin", + "LABEL": "Applies to", + "PLACEHOLDER": "Please select one", "ERROR": "Model gerekli" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "Tip gerekli" }, "KEY": { - "LABEL": "Anahtar" + "LABEL": "Anahtar", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "Öznitelik başarıyla eklendi", - "ERROR_MESSAGE": "Could not able to create an attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "Sil", "API": { - "SUCCESS_MESSAGE": "Attribute deleted successfully.", - "ERROR_MESSAGE": "Couldn't delete the attribute. Try again." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { "TITLE": "Are you sure want to delete - %{attributeName}", "PLACE_HOLDER": "Please type {attributeName} to confirm", - "MESSAGE": "Deleting will remove the attribute", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "Sil ", "NO": "İptal Et" } }, "EDIT": { - "TITLE": "Edit attribute", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "Güncelleme", "API": { - "SUCCESS_MESSAGE": "Attribute updated successfully", - "ERROR_MESSAGE": "There was an error updating attribute, please try again" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { @@ -77,8 +80,8 @@ "DELETE": "Sil" }, "EMPTY_RESULT": { - "404": "There are no attributes created", - "NOT_FOUND": "There are no attributes configured" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/tr/chatlist.json b/app/javascript/dashboard/i18n/locale/tr/chatlist.json index 3d80c7552ac1..fec2cf3a5637 100644 --- a/app/javascript/dashboard/i18n/locale/tr/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/tr/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "Açık", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "Açık" }, - { - "TEXT": "Çözüldü", - "VALUE": "resolved" + "resolved": { + "TEXT": "Çözüldü" }, - { - "TEXT": "Bekliyor", - "VALUE": "bekliyor" + "pending": { + "TEXT": "Bekliyor" }, - { - "TEXT": "Susturuldu", - "VALUE": "susturuldu" + "snoozed": { + "TEXT": "Susturuldu" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -85,6 +81,7 @@ "RECEIVED_VIA_EMAIL": "E-posta ile alındı", "VIEW_TWEET_IN_TWITTER": "Twitter'da tweet'i görüntüleyin", "REPLY_TO_TWEET": "Bu tweet'i yanıtla", + "SENT": "Sent successfully", "NO_MESSAGES": "Mesaj yok", "NO_CONTENT": "İçerik yok", "HIDE_QUOTED_TEXT": "Hide Quoted Text", diff --git a/app/javascript/dashboard/i18n/locale/tr/contact.json b/app/javascript/dashboard/i18n/locale/tr/contact.json index 5e6e72b9b99a..665c8fc34a1b 100644 --- a/app/javascript/dashboard/i18n/locale/tr/contact.json +++ b/app/javascript/dashboard/i18n/locale/tr/contact.json @@ -7,6 +7,7 @@ "COMPANY": "Şirket", "LOCATION": "Yer", "CONVERSATION_TITLE": "Sohbet Ayrıntıları", + "VIEW_PROFILE": "View Profile", "BROWSER": "Tarayıcı", "OS": "İşletim sistemi", "INITIATED_FROM": "Başlatıldı", @@ -154,6 +155,11 @@ "LABEL": "Gelen kutusu", "ERROR": "Gelen kutusu seç" }, + "SUBJECT": { + "LABEL": "Subject", + "PLACEHOLDER": "Subject", + "ERROR": "Subject can't be empty" + }, "MESSAGE": { "LABEL": "Mesaj", "PLACEHOLDER": "Write your message here", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "Detayları göster" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "Kişiler", + "LOADING": "Loading contact profile..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "Ekle", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Fetching notes...", + "NOT_AVAILABLE": "There are no notes created for this contact", "HEADER": { "TITLE": "Notlar" }, + "LIST": { + "LABEL": "added a note" + }, "ADD": { "BUTTON": "Ekle", "PLACEHOLDER": "Not ekle", "TITLE": "Yeni not oluşturmak için shift + enter ' a basınız" }, - "FOOTER": { - "BUTTON": "Tüm notları görüntüle" + "CONTENT_HEADER": { + "DELETE": "Delete note" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Add attributes", "BUTTON": "Add custom attribute", "NOT_AVAILABLE": "There are no custom attributes available for this contact.", + "COPY_SUCCESSFUL": "Panoya başarıyla kopyalandı", + "ACTIONS": { + "COPY": "Copy attribute", + "DELETE": "Delete attribute", + "EDIT": "Edit attribute" + }, "ADD": { "TITLE": "Create custom attribute", "DESC": "Add custom information to this contact." @@ -239,7 +261,29 @@ "VALUE": { "LABEL": "Attribute value", "PLACEHOLDER": "Eg: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "Öznitelik başarıyla eklendi", + "ERROR": "Unable to add attribute. Please try again later" + }, + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" } + }, + "VALIDATIONS": { + "REQUIRED": "Valid value is required", + "INVALID_URL": "Invalid URL" } }, "MERGE_CONTACTS": { diff --git a/app/javascript/dashboard/i18n/locale/tr/conversation.json b/app/javascript/dashboard/i18n/locale/tr/conversation.json index 4fa80cd11252..9b31d09d405d 100644 --- a/app/javascript/dashboard/i18n/locale/tr/conversation.json +++ b/app/javascript/dashboard/i18n/locale/tr/conversation.json @@ -156,6 +156,27 @@ "PREVIOUS_CONVERSATION": "Önceki Sohbetler" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "ADD": { + "TITLE": "Ekle", + "SUCCESS": "Öznitelik başarıyla eklendi", + "ERROR": "Unable to add attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" + } + }, "EMAIL_HEADER": { "TO": "ya", "BCC": "Bcc", diff --git a/app/javascript/dashboard/i18n/locale/tr/settings.json b/app/javascript/dashboard/i18n/locale/tr/settings.json index c9cf38233823..6170cb6f65a7 100644 --- a/app/javascript/dashboard/i18n/locale/tr/settings.json +++ b/app/javascript/dashboard/i18n/locale/tr/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "gün deneme kaldı.", - "TRAIL_BUTTON": "Şimdi satın al" + "TRAIL_BUTTON": "Şimdi satın al", + "DELETED_USER": "Deleted User" }, "COMPONENTS": { "CODE": { @@ -142,7 +143,7 @@ "ACCOUNT_SETTINGS": "Hesap ayarları", "APPLICATIONS": "Applications", "LABELS": "Etiketler", - "ATTRIBUTES": "Öznitelikler", + "CUSTOM_ATTRIBUTES": "Özel Nitelikler", "TEAMS": "Teams", "ALL_CONTACTS": "All Contacts", "TAGGED_WITH": "Tagged with", diff --git a/app/javascript/dashboard/i18n/locale/uk/agentMgmt.json b/app/javascript/dashboard/i18n/locale/uk/agentMgmt.json index b28ef56da245..50d798150a16 100644 --- a/app/javascript/dashboard/i18n/locale/uk/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/uk/agentMgmt.json @@ -93,19 +93,19 @@ "NO_RESULTS": "No results found." }, "MULTI_SELECTOR": { - "PLACEHOLDER": "None", + "PLACEHOLDER": "Нiчого", "TITLE": { "AGENT": "Select agent", - "TEAM": "Select team" + "TEAM": "Виберіть команду" }, "SEARCH": { "NO_RESULTS": { "AGENT": "Агентів не знайдено", - "TEAM": "No teams found" + "TEAM": "Жодних команд не знайдено" }, "PLACEHOLDER": { - "AGENT": "Search agents", - "TEAM": "Search teams" + "AGENT": "Пошук агентів", + "TEAM": "Пошук команд" } } } diff --git a/app/javascript/dashboard/i18n/locale/uk/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/uk/attributesMgmt.json index 8f208a17ab33..11bfb33a8b36 100644 --- a/app/javascript/dashboard/i18n/locale/uk/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/uk/attributesMgmt.json @@ -1,84 +1,87 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Attributes", - "HEADER_BTN_TXT": "Add Attribute", - "LOADING": "Fetching attributes", - "SIDEBAR_TXT": "

Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Attributes, just click on the Add Attribute. You can also edit or delete an existing Attribute by clicking on the Edit or Delete button.

", + "HEADER": "Свої атрибути", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "Add attribute", - "SUBMIT": "Create", + "TITLE": "Add Custom Attribute", + "SUBMIT": "Створити", "CANCEL_BUTTON_TEXT": "Скасувати", "FORM": { "NAME": { - "LABEL": "Display Name", - "PLACEHOLDER": "Enter attribute display name", - "ERROR": "Name is required" + "LABEL": "Ім'я для відображення", + "PLACEHOLDER": "Enter custom attribute display name", + "ERROR": "Назва обов'язкова" }, "DESC": { - "LABEL": "Description", - "PLACEHOLDER": "Enter attribute description", - "ERROR": "Description is required" + "LABEL": "Опис", + "PLACEHOLDER": "Enter custom attribute description", + "ERROR": "Необхідний опис" }, "MODEL": { - "LABEL": "Model", - "PLACEHOLDER": "Please select a model", - "ERROR": "Model is required" + "LABEL": "Застосовується до", + "PLACEHOLDER": "Будь ласка, виберіть", + "ERROR": "Необхідно вказати модель" }, "TYPE": { - "LABEL": "Type", + "LABEL": "Тип", "PLACEHOLDER": "Будь ласка, оберіть тип", - "ERROR": "Type is required" + "ERROR": "Потрібен тип" }, "KEY": { - "LABEL": "Key" + "LABEL": "Ключ", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create an attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "Видалити", "API": { - "SUCCESS_MESSAGE": "Attribute deleted successfully.", - "ERROR_MESSAGE": "Couldn't delete the attribute. Try again." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { - "TITLE": "Are you sure want to delete - %{attributeName}", - "PLACE_HOLDER": "Please type {attributeName} to confirm", - "MESSAGE": "Deleting will remove the attribute", + "TITLE": "Ви дійсно бажаєте видалити - %{attributeName}", + "PLACE_HOLDER": "Будь ласка, введіть {attributeName} щоб підтвердити", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "Видалити ", "NO": "Скасувати" } }, "EDIT": { - "TITLE": "Edit attribute", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "Оновити", "API": { - "SUCCESS_MESSAGE": "Attribute updated successfully", - "ERROR_MESSAGE": "There was an error updating attribute, please try again" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { - "HEADER": "Custom Attributes", - "CONVERSATION": "Conversation", - "CONTACT": "Contact" + "HEADER": "Свої атрибути", + "CONVERSATION": "Діалог", + "CONTACT": "Контакт" }, "LIST": { "TABLE_HEADER": [ "Ім'я", - "Description", - "Type", - "Key" + "Опис", + "Тип", + "Ключ" ], "BUTTONS": { "EDIT": "Редагувати", "DELETE": "Видалити" }, "EMPTY_RESULT": { - "404": "There are no attributes created", - "NOT_FOUND": "There are no attributes configured" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/uk/campaign.json b/app/javascript/dashboard/i18n/locale/uk/campaign.json index 5e91081746c0..b457157787b9 100644 --- a/app/javascript/dashboard/i18n/locale/uk/campaign.json +++ b/app/javascript/dashboard/i18n/locale/uk/campaign.json @@ -10,7 +10,7 @@ "TITLE": "Create a campaign", "DESC": "Proactive messages allow the customer to send outbound messages to their contacts which would trigger more conversations.", "CANCEL_BUTTON_TEXT": "Скасувати", - "CREATE_BUTTON_TEXT": "Create", + "CREATE_BUTTON_TEXT": "Створити", "FORM": { "TITLE": { "LABEL": "Title", @@ -26,40 +26,40 @@ "AUDIENCE": { "LABEL": "Audience", "PLACEHOLDER": "Select the customer labels", - "ERROR": "Audience is required" + "ERROR": "Потрібна аудиторія" }, "INBOX": { - "LABEL": "Select Inbox", - "PLACEHOLDER": "Select Inbox", - "ERROR": "Inbox is required" + "LABEL": "Оберіть канал", + "PLACEHOLDER": "Оберіть канал", + "ERROR": "Канал потрібен" }, "MESSAGE": { - "LABEL": "Message", - "PLACEHOLDER": "Please enter the message of campaign", - "ERROR": "Message is required" + "LABEL": "Текст повідомлення", + "PLACEHOLDER": "Будь ласка, введіть повідомлення кампанії", + "ERROR": "Необхідне повідомлення" }, "SENT_BY": { - "LABEL": "Sent by", - "PLACEHOLDER": "Please select the the content of campaign", - "ERROR": "Sender is required" + "LABEL": "Надіслав", + "PLACEHOLDER": "Оберіть вміст кампанії", + "ERROR": "Відправник обов'язковий" }, "END_POINT": { "LABEL": "URL", - "PLACEHOLDER": "Please enter the URL", + "PLACEHOLDER": "Будь ласка, введіть URL", "ERROR": "Будь ласка, введіть правильний URL" }, "TIME_ON_PAGE": { - "LABEL": "Time on page(Seconds)", - "PLACEHOLDER": "Please enter the time", - "ERROR": "Time on page is required" + "LABEL": "Час на сторінці (секунд)", + "PLACEHOLDER": "Будь ласка, введіть час", + "ERROR": "Потрібен час на сторінці" }, - "ENABLED": "Enable campaign", - "TRIGGER_ONLY_BUSINESS_HOURS": "Trigger only during business hours", - "SUBMIT": "Add Campaign" + "ENABLED": "Увімкнути кампанію", + "TRIGGER_ONLY_BUSINESS_HOURS": "Активувати лише протягом робочих годин", + "SUBMIT": "Додати маркет. кампанію" }, "API": { - "SUCCESS_MESSAGE": "Campaign created successfully", - "ERROR_MESSAGE": "There was an error. Please try again." + "SUCCESS_MESSAGE": "Кампанію успішно створено", + "ERROR_MESSAGE": "Сталася помилка, будь ласка, спробуйте ще раз." } }, "DELETE": { @@ -68,59 +68,59 @@ "TITLE": "Підтвердження видалення", "MESSAGE": "Справді бажаєте видалити?", "YES": "Так, видалити ", - "NO": "No, Keep " + "NO": "Ні, залишити " }, "API": { - "SUCCESS_MESSAGE": "Campaign deleted successfully", - "ERROR_MESSAGE": "Could not delete the campaign. Please try again later." + "SUCCESS_MESSAGE": "Кампанію успішно видалено", + "ERROR_MESSAGE": "Не вдалося видалити кампанію. Будь ласка, спробуйте ще раз пізніше." } }, "EDIT": { - "TITLE": "Edit campaign", + "TITLE": "Редагувати кампанію", "UPDATE_BUTTON_TEXT": "Оновити", "API": { - "SUCCESS_MESSAGE": "Campaign updated successfully", - "ERROR_MESSAGE": "There was an error, please try again" + "SUCCESS_MESSAGE": "Кампанію успішно оновлено", + "ERROR_MESSAGE": "Сталася помилка, будь ласка, спробуйте ще раз" } }, "LIST": { - "LOADING_MESSAGE": "Loading campaigns...", - "404": "There are no campaigns created for this inbox.", + "LOADING_MESSAGE": "Завантаження кампаній...", + "404": "Не створено жодної кампанії, створені для цього каналу.", "TABLE_HEADER": { - "TITLE": "Title", - "MESSAGE": "Message", - "INBOX": "Inbox", + "TITLE": "Назва", + "MESSAGE": "Текст повідомлення", + "INBOX": "Канал", "STATUS": "Статус", - "SENDER": "Sender", + "SENDER": "Відправник", "URL": "URL", - "SCHEDULED_AT": "Scheduled time", - "TIME_ON_PAGE": "Time(Seconds)", - "CREATED_AT": "Created at" + "SCHEDULED_AT": "Запланований час", + "TIME_ON_PAGE": "Час (в секундах)", + "CREATED_AT": "Створений в" }, "BUTTONS": { - "ADD": "Add", + "ADD": "Додати", "EDIT": "Редагувати", "DELETE": "Видалити" }, "STATUS": { "ENABLED": "Увімкнено", "DISABLED": "Вимкнено", - "COMPLETED": "Completed", - "ACTIVE": "Active" + "COMPLETED": "Завершено", + "ACTIVE": "Активний" }, "SENDER": { - "BOT": "Bot" + "BOT": "Бот" } }, "ONE_OFF": { - "HEADER": "One off campaigns", - "404": "There are no one off campaigns created", - "INBOXES_NOT_FOUND": "Please create an sms inbox and start adding campaigns" + "HEADER": "Одна з попередніх кампаній", + "404": "Жодної кампанії не створено", + "INBOXES_NOT_FOUND": "Створіть канал для відправки SMS та почніть додавати розсилки" }, "ONGOING": { - "HEADER": "Ongoing campaigns", - "404": "There are no ongoing campaigns created", - "INBOXES_NOT_FOUND": "Please create an website inbox and start adding campaigns" + "HEADER": "Поточні кампанії", + "404": "Жодної постійної кампанії не створено", + "INBOXES_NOT_FOUND": "Будь ласка створіть канал та почніть додавати розсилку" } } } diff --git a/app/javascript/dashboard/i18n/locale/uk/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/uk/cannedMgmt.json index 2a077b17b47d..1c653a81e5d4 100644 --- a/app/javascript/dashboard/i18n/locale/uk/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/uk/cannedMgmt.json @@ -69,7 +69,7 @@ "TITLE": "Підтвердження видалення", "MESSAGE": "Справді бажаєте видалити ", "YES": "Так, видалити ", - "NO": "No, Keep " + "NO": "Ні, залишити " } } } diff --git a/app/javascript/dashboard/i18n/locale/uk/chatlist.json b/app/javascript/dashboard/i18n/locale/uk/chatlist.json index 7137027067d0..a4dae75ae523 100644 --- a/app/javascript/dashboard/i18n/locale/uk/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/uk/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "Відкритий", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "Відкриті" }, - { - "TEXT": "Вирішений", - "VALUE": "resolved" + "resolved": { + "TEXT": "Вирішені" }, - { - "TEXT": "Pending", - "VALUE": "pending" + "pending": { + "TEXT": "Очікує" }, - { - "TEXT": "Snoozed", - "VALUE": "snoozed" + "snoozed": { + "TEXT": "Відкладено" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -82,12 +78,13 @@ "CONTENT": "поділився посиланням" } }, - "RECEIVED_VIA_EMAIL": "Received via email", - "VIEW_TWEET_IN_TWITTER": "View tweet in Twitter", - "REPLY_TO_TWEET": "Reply to this tweet", - "NO_MESSAGES": "No Messages", - "NO_CONTENT": "No content available", - "HIDE_QUOTED_TEXT": "Hide Quoted Text", - "SHOW_QUOTED_TEXT": "Show Quoted Text" + "RECEIVED_VIA_EMAIL": "Отримано електронною поштою", + "VIEW_TWEET_IN_TWITTER": "Переглянути твіт у Twitter", + "REPLY_TO_TWEET": "Відповісти на цей твіт", + "SENT": "Успішно надіслано", + "NO_MESSAGES": "Немає повідомлень", + "NO_CONTENT": "Немає вмісту", + "HIDE_QUOTED_TEXT": "Приховати цитований текст", + "SHOW_QUOTED_TEXT": "Показати цитований текст" } } diff --git a/app/javascript/dashboard/i18n/locale/uk/contact.json b/app/javascript/dashboard/i18n/locale/uk/contact.json index 1ba9893b592e..9ffa7ae48044 100644 --- a/app/javascript/dashboard/i18n/locale/uk/contact.json +++ b/app/javascript/dashboard/i18n/locale/uk/contact.json @@ -1,73 +1,74 @@ { "CONTACT_PANEL": { - "NOT_AVAILABLE": "Not Available", + "NOT_AVAILABLE": "Не доступно", "EMAIL_ADDRESS": "Адреса електронної пошти", "PHONE_NUMBER": "Номер телефону", - "COPY_SUCCESSFUL": "Copied to clipboard successfully", - "COMPANY": "Company", + "COPY_SUCCESSFUL": "Скопійовано до буферу обміну", + "COMPANY": "Організація", "LOCATION": "Місцезнаходження", "CONVERSATION_TITLE": "Деталі бесіди", + "VIEW_PROFILE": "Дивитись профіль", "BROWSER": "Браузер", "OS": "Операційна система", "INITIATED_FROM": "Почалося з", "INITIATED_AT": "Час початку", - "IP_ADDRESS": "IP Address", - "NEW_MESSAGE": "New message", + "IP_ADDRESS": "IP-адреса", + "NEW_MESSAGE": "Нове повідомлення", "CONVERSATIONS": { "NO_RECORDS_FOUND": "Не було попередніх бесід, пов'язаних з цим контактом.", "TITLE": "Попередні бесіди" }, "LABELS": { "CONTACT": { - "TITLE": "Contact Labels", - "ERROR": "Couldn't update labels" + "TITLE": "Мітки контакту", + "ERROR": "Не вдалося оновити мітки" }, "CONVERSATION": { - "TITLE": "Conversation Labels", - "ADD_BUTTON": "Add Labels" + "TITLE": "Мітки бесіди", + "ADD_BUTTON": "Додати мітки" }, "LABEL_SELECT": { - "TITLE": "Add Labels", - "PLACEHOLDER": "Search labels", - "NO_RESULT": "No labels found" + "TITLE": "Додати мітки", + "PLACEHOLDER": "Пошук міток", + "NO_RESULT": "Міток не знайдено" } }, - "MERGE_CONTACT": "Merge contact", - "CONTACT_ACTIONS": "Contact actions", - "MUTE_CONTACT": "Mute Conversation", - "UNMUTE_CONTACT": "Unmute Conversation", - "MUTED_SUCCESS": "This conversation is muted for 6 hours", - "UNMUTED_SUCCESS": "This conversation is unmuted", - "SEND_TRANSCRIPT": "Send Transcript", + "MERGE_CONTACT": "Об'єднати", + "CONTACT_ACTIONS": "Дії з контактами", + "MUTE_CONTACT": "Заглушити розмову", + "UNMUTE_CONTACT": "Увімкнути розмову", + "MUTED_SUCCESS": "Ця розмова заглушена на 6 годин", + "UNMUTED_SUCCESS": "Ця розмова увімкнена", + "SEND_TRANSCRIPT": "Надіслати транскрипт", "EDIT_LABEL": "Редагувати", "SIDEBAR_SECTIONS": { - "CUSTOM_ATTRIBUTES": "Custom Attributes", - "CONTACT_LABELS": "Contact Labels", + "CUSTOM_ATTRIBUTES": "Свої атрибути", + "CONTACT_LABELS": "Мітки контакту", "PREVIOUS_CONVERSATIONS": "Попередні бесіди" } }, "EDIT_CONTACT": { - "BUTTON_LABEL": "Edit Contact", - "TITLE": "Edit contact", - "DESC": "Edit contact details" + "BUTTON_LABEL": "Редагувати контакт", + "TITLE": "Редагувати контакт", + "DESC": "Змінити контактні дані" }, "CREATE_CONTACT": { - "BUTTON_LABEL": "New Contact", - "TITLE": "Create new contact", - "DESC": "Add basic information details about the contact." + "BUTTON_LABEL": "Новий контакт", + "TITLE": "Створити новий контакт", + "DESC": "Додайте основну інформацію про контакт." }, "IMPORT_CONTACTS": { - "BUTTON_LABEL": "Import", + "BUTTON_LABEL": "Імпорт", "TITLE": "Import Contacts", "DESC": "Import contacts through a CSV file.", "DOWNLOAD_LABEL": "Download a sample csv.", "FORM": { "LABEL": "CSV File", - "SUBMIT": "Import", + "SUBMIT": "Імпорт", "CANCEL": "Скасувати" }, "SUCCESS_MESSAGE": "Contacts saved successfully", - "ERROR_MESSAGE": "There was an error, please try again" + "ERROR_MESSAGE": "Сталася помилка, будь ласка, спробуйте ще раз" }, "DELETE_CONTACT": { "BUTTON_LABEL": "Delete Contact", @@ -94,7 +95,7 @@ }, "NAME": { "PLACEHOLDER": "Enter the full name of the contact", - "LABEL": "Full Name" + "LABEL": "Повне ім`я" }, "BIO": { "PLACEHOLDER": "Enter the bio of the contact", @@ -139,7 +140,7 @@ }, "SUCCESS_MESSAGE": "Contact saved successfully", "CONTACT_ALREADY_EXIST": "This email address is in use for another contact.", - "ERROR_MESSAGE": "There was an error, please try again" + "ERROR_MESSAGE": "Сталася помилка, будь ласка, спробуйте ще раз" }, "NEW_CONVERSATION": { "BUTTON_LABEL": "Start conversation", @@ -154,92 +155,135 @@ "LABEL": "Inbox", "ERROR": "Select an inbox" }, + "SUBJECT": { + "LABEL": "Тема", + "PLACEHOLDER": "Тема", + "ERROR": "Тема не може бути порожньою" + }, "MESSAGE": { - "LABEL": "Message", - "PLACEHOLDER": "Write your message here", - "ERROR": "Message can't be empty" + "LABEL": "Текст повідомлення", + "PLACEHOLDER": "Напишіть ваше повідомлення тут", + "ERROR": "Повідомлення не може бути пустим" }, - "SUBMIT": "Send message", + "SUBMIT": "Надіслати", "CANCEL": "Скасувати", - "SUCCESS_MESSAGE": "Message sent!", - "ERROR_MESSAGE": "Couldn't send! try again" + "SUCCESS_MESSAGE": "Повідомлення надіслано!", + "ERROR_MESSAGE": "Не вдалося надіслати! Повторіть спробу" } }, "CONTACTS_PAGE": { - "HEADER": "Contacts", - "FIELDS": "Contact fields", - "SEARCH_BUTTON": "Search", - "SEARCH_INPUT_PLACEHOLDER": "Search for contacts", + "HEADER": "Контакти", + "FIELDS": "Поля контактів", + "SEARCH_BUTTON": "Пошук", + "SEARCH_INPUT_PLACEHOLDER": "Пошук контактів", "LIST": { - "LOADING_MESSAGE": "Loading contacts...", - "404": "No contacts matches your search 🔍", - "NO_CONTACTS": "There are no available contacts", + "LOADING_MESSAGE": "Завантаження контактів...", + "404": "Немає контактів, які відповідають вашому пошуку 🔍", + "NO_CONTACTS": "Немає доступних контактів", "TABLE_HEADER": { "NAME": "Ім'я", - "PHONE_NUMBER": "Phone Number", + "PHONE_NUMBER": "Номер телефону", "CONVERSATIONS": "Бесіди", - "LAST_ACTIVITY": "Last Activity", - "COUNTRY": "Country", - "CITY": "City", + "LAST_ACTIVITY": "Остання активність", + "COUNTRY": "Країна", + "CITY": "Місто", "SOCIAL_PROFILES": "Social Profiles", - "COMPANY": "Company", + "COMPANY": "Організація", "EMAIL_ADDRESS": "Адреса електронної пошти" }, - "VIEW_DETAILS": "View details" + "VIEW_DETAILS": "Докладніше" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "Контакти", + "LOADING": "Завантаження профілю контакту..." + }, "REMINDER": { "ADD_BUTTON": { - "BUTTON": "Add", - "TITLE": "Shift + Enter to create a task" + "BUTTON": "Додати", + "TITLE": "Shift + Enter, щоб створити завдання" }, "FOOTER": { - "DUE_DATE": "Due date", - "LABEL_TITLE": "Set type" + "DUE_DATE": "Дата завершення", + "LABEL_TITLE": "Встановити тип" } }, "NOTES": { + "FETCHING_NOTES": "Отримання нотаток...", + "NOT_AVAILABLE": "Для цього контакту не створено жодних нотаток", "HEADER": { - "TITLE": "Notes" + "TITLE": "Нотатки" + }, + "LIST": { + "LABEL": "додано нотатку" }, "ADD": { - "BUTTON": "Add", - "PLACEHOLDER": "Add a note", - "TITLE": "Shift + Enter to create a note" + "BUTTON": "Додати", + "PLACEHOLDER": "Додати нотатку", + "TITLE": "Shift + Enter, щоб створити нотатку" }, - "FOOTER": { - "BUTTON": "View all notes" + "CONTENT_HEADER": { + "DELETE": "Видалити нотатку" } }, "EVENTS": { "HEADER": { - "TITLE": "Activities" + "TITLE": "Події" }, "BUTTON": { - "PILL_BUTTON_NOTES": "notes", - "PILL_BUTTON_EVENTS": "events", + "PILL_BUTTON_NOTES": "нотатки", + "PILL_BUTTON_EVENTS": "події", "PILL_BUTTON_CONVO": "бесіди" } }, "CUSTOM_ATTRIBUTES": { - "BUTTON": "Add custom attribute", - "NOT_AVAILABLE": "There are no custom attributes available for this contact.", + "ADD_BUTTON_TEXT": "Додати атрибут", + "BUTTON": "Додати користувацький атрибут", + "NOT_AVAILABLE": "Немає ніяких користувацьких атрибутів для цього контакту.", + "COPY_SUCCESSFUL": "Скопійовано до буферу обміну", + "ACTIONS": { + "COPY": "Копіювати атрибут", + "DELETE": "Видалити атрибут", + "EDIT": "Редагувати атрибут" + }, "ADD": { - "TITLE": "Create custom attribute", - "DESC": "Add custom information to this contact." + "TITLE": "Створити користувацький атрибут", + "DESC": "Додати користувацьку інформацію до цього контакту." }, "FORM": { - "CREATE": "Add attribute", + "CREATE": "Додати атрибут", "CANCEL": "Скасувати", "NAME": { - "LABEL": "Custom attribute name", - "PLACEHOLDER": "Eg: shopify id", - "ERROR": "Invalid custom attribute name" + "LABEL": "Назва користувацької атрибуту", + "PLACEHOLDER": "Наприклад: shopify id", + "ERROR": "Некоректна назва користувацького атрибуту" }, "VALUE": { - "LABEL": "Attribute value", + "LABEL": "Значення атрибуту", "PLACEHOLDER": "Eg: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "Атрибут додано успішно", + "ERROR": "Unable to add attribute. Please try again later" + }, + "UPDATE": { + "SUCCESS": "Атрибут успішно оновлено", + "ERROR": "Unable to update attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Додати атрибут", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" } + }, + "VALIDATIONS": { + "REQUIRED": "Valid value is required", + "INVALID_URL": "Invalid URL" } }, "MERGE_CONTACTS": { diff --git a/app/javascript/dashboard/i18n/locale/uk/conversation.json b/app/javascript/dashboard/i18n/locale/uk/conversation.json index 7bf7a28ebef4..e7504efe51ff 100644 --- a/app/javascript/dashboard/i18n/locale/uk/conversation.json +++ b/app/javascript/dashboard/i18n/locale/uk/conversation.json @@ -48,9 +48,9 @@ "MARK_PENDING": "Mark as pending", "SNOOZE": { "TITLE": "Snooze until", - "NEXT_REPLY": "Next reply", - "TOMORROW": "Tomorrow", - "NEXT_WEEK": "Next week" + "NEXT_REPLY": "Наступна відповідь", + "TOMORROW": "Завтра", + "NEXT_WEEK": "Наступного тижня" } }, "FOOTER": { @@ -63,36 +63,36 @@ "SEND": "Надіслати", "CREATE": "Додати нотатку", "TWEET": "Твітнути", - "TIP_FORMAT_ICON": "Show rich text editor", - "TIP_EMOJI_ICON": "Show emoji selector", - "TIP_ATTACH_ICON": "Attach files", - "ENTER_TO_SEND": "Enter to send", - "DRAG_DROP": "Drag and drop here to attach", + "TIP_FORMAT_ICON": "Показати текстовий редактор", + "TIP_EMOJI_ICON": "Показати емодзі", + "TIP_ATTACH_ICON": "Прикріпити файли", + "ENTER_TO_SEND": "Enter для надсилання", + "DRAG_DROP": "Перетягніть сюди, щоб прикріпити", "EMAIL_HEAD": { - "ADD_BCC": "Add bcc", + "ADD_BCC": "Додати bcc", "CC": { "LABEL": "CC", - "PLACEHOLDER": "Emails separated by commas", - "ERROR": "Please enter valid email addresses" + "PLACEHOLDER": "Адреси електронної пошти, розділені комами", + "ERROR": "Будь ласка, введіть коректну адресу електронної пошти" }, "BCC": { - "LABEL": "BCC", - "PLACEHOLDER": "Emails separated by commas", - "ERROR": "Please enter valid email addresses" + "LABEL": "Прихована копія", + "PLACEHOLDER": "Адреси електронної пошти, розділені комами", + "ERROR": "Будь ласка, введіть коректну адресу електронної пошти" } } }, "VISIBLE_TO_AGENTS": "Приватна нотатка: видима тільки вам та вашій команді", "CHANGE_STATUS": "Статус бесіди змінено", "CHANGE_AGENT": "Оператора бесіди змінено", - "CHANGE_TEAM": "Conversation team changed", - "FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_FILE_UPLOAD_SIZE} attachment limit", - "MESSAGE_ERROR": "Unable to send this message, please try again later", - "SENT_BY": "Sent by:", + "CHANGE_TEAM": "Команда змінена", + "FILE_SIZE_LIMIT": "Файл перевищує ліміт вкладення {MAXIMUM_FILE_UPLOAD_SIZE}", + "MESSAGE_ERROR": "Не вдалося надіслати повідомлення, будь ласка, повторіть спробу пізніше", + "SENT_BY": "Надіслав:", "ASSIGNMENT": { - "SELECT_AGENT": "Select Agent", + "SELECT_AGENT": "Виберіть агента", "REMOVE": "Видалити", - "ASSIGN": "Assign" + "ASSIGN": "Призначити" }, "CONTEXT_MENU": { "COPY": "Копіювати", @@ -100,62 +100,83 @@ } }, "EMAIL_TRANSCRIPT": { - "TITLE": "Send conversation transcript", - "DESC": "Send a copy of the conversation transcript to the specified email address", + "TITLE": "Надіслати стенограму розмови", + "DESC": "Відправте копію стенограми розмови на вказану адресу електронної пошти", "SUBMIT": "Додати", "CANCEL": "Скасувати", - "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", - "SEND_EMAIL_ERROR": "There was an error, please try again", + "SEND_EMAIL_SUCCESS": "Текст розмови надісланий", + "SEND_EMAIL_ERROR": "Сталася помилка, будь ласка, спробуйте ще раз", "FORM": { - "SEND_TO_CONTACT": "Send the transcript to the customer", - "SEND_TO_AGENT": "Send the transcript to the assigned agent", - "SEND_TO_OTHER_EMAIL_ADDRESS": "Send the transcript to another email address", + "SEND_TO_CONTACT": "Надіслати клієнту стенограму", + "SEND_TO_AGENT": "Надіслати стенограму агенту", + "SEND_TO_OTHER_EMAIL_ADDRESS": "Відправити стенограму на іншу електронну адресу", "EMAIL": { - "PLACEHOLDER": "Enter an email address", + "PLACEHOLDER": "Введіть адресу електронної пошти", "ERROR": "Будь ласка, введіть коректну адресу електронної пошти" } } }, "ONBOARDING": { - "TITLE": "Hey 👋, Welcome to %{installationName}!", - "DESCRIPTION": "Thanks for signing up. We want you to get the most out of %{installationName}. Here are a few things you can do in %{installationName} to make the experience delightful.", - "READ_LATEST_UPDATES": "Read our latest updates", + "TITLE": "Привіт, 👋, Ласкаво просимо на %{installationName}!", + "DESCRIPTION": "Дякуємо за реєстрацію. Ми хочемо отримати максимум від %{installationName}. Ось кілька речей, які ви можете зробити в %{installationName}, щоб отримати приємний досвід.", + "READ_LATEST_UPDATES": "Читати наші останні оновлення", "ALL_CONVERSATION": { - "TITLE": "All your conversations in one place", - "DESCRIPTION": "View all the conversations from your customers in one single dashboard. You can filter the conversations by the incoming channel, label and status." + "TITLE": "Всі ваші розмови в одному місці", + "DESCRIPTION": "Переглядайте всі розмови з Ваших клієнтів в одній панелі. Ви можете фільтрувати розмови за допомогою каналу, міток та статусу." }, "TEAM_MEMBERS": { - "TITLE": "Invite your team members", - "DESCRIPTION": "Since you are getting ready to talk to your customer, bring in your teammates to assist you. You can invite your teammates by adding their email address to the agent list.", - "NEW_LINK": "Click here to invite a team member" + "TITLE": "Запросити членів команди", + "DESCRIPTION": "Оскільки Ви готуєтеся поговорити зі своїм клієнтом, запросіть ваших партнерів по команді, щоб допомогти вам. Ви можете запросити ваших товаришів по команді, додавши їх адреси електронної пошти до списку співробітників.", + "NEW_LINK": "Натисніть тут, щоб запросити учасника" }, "INBOXES": { - "TITLE": "Connect Inboxes", - "DESCRIPTION": "Connect various channels through which your customers would be talking to you. It can be a website live-chat, your Facebook or Twitter page or even your WhatsApp number.", - "NEW_LINK": "Click here to create an inbox" + "TITLE": "Приєднати канал", + "DESCRIPTION": "З'єднайте різні канали, за допомогою яких ваші клієнти будуть спілкуватися з вами. Це може бути онлайн сайт на вашому сторінці Facebook або Твіттері або навіть номер Вашого WhatsApp (WhatsApp).", + "NEW_LINK": "Натисніть тут, щоб створити вхідний канал" }, "LABELS": { - "TITLE": "Organize conversations with labels", - "DESCRIPTION": "Labels provide an easier way to categorize your conversation. Create some labels like #support-enquiry, #billing-question etc., so that you can use them in a conversation later.", - "NEW_LINK": "Click here to create tags" + "TITLE": "Організувуйте бесіди за допомогою міток", + "DESCRIPTION": "Мітки забезпечують простіший спосіб вести категоризацію ваших розмов. Створіть деякі мітки, такі як #support-enquy, #billing-question і т. п., щоб ви могли використовувати їх в розмовах пізніше.", + "NEW_LINK": "Натисніть тут, щоб створити мітки" } }, "CONVERSATION_SIDEBAR": { - "ASSIGNEE_LABEL": "Assigned Agent", - "SELF_ASSIGN": "Assign to me", - "TEAM_LABEL": "Assigned Team", + "ASSIGNEE_LABEL": "Призначений агент", + "SELF_ASSIGN": "Призначити мені", + "TEAM_LABEL": "Призначена команда", "SELECT": { - "PLACEHOLDER": "None" + "PLACEHOLDER": "Нiчого" }, "ACCORDION": { - "CONTACT_DETAILS": "Contact Details", - "CONVERSATION_ACTIONS": "Conversation Actions", - "CONVERSATION_LABELS": "Conversation Labels", - "CONVERSATION_INFO": "Conversation Information", + "CONTACT_DETAILS": "Контактні дані", + "CONVERSATION_ACTIONS": "Дії при бесіді", + "CONVERSATION_LABELS": "Мітки бесіди", + "CONVERSATION_INFO": "Інформація про бесіду", "CONTACT_ATTRIBUTES": "Contact Attributes", "PREVIOUS_CONVERSATION": "Попередні бесіди" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "Атрибут успішно оновлено", + "ERROR": "Unable to update attribute. Please try again later" + }, + "ADD": { + "TITLE": "Додати", + "SUCCESS": "Атрибут додано успішно", + "ERROR": "Unable to add attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Додати атрибут", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" + } + }, "EMAIL_HEADER": { "TO": "To", "BCC": "Bcc", diff --git a/app/javascript/dashboard/i18n/locale/uk/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/uk/inboxMgmt.json index 6aedaa4a3f0c..451ed45b513f 100644 --- a/app/javascript/dashboard/i18n/locale/uk/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/uk/inboxMgmt.json @@ -46,19 +46,19 @@ "PICK_A_VALUE": "Pick a value" }, "TWITTER": { - "HELP": "To add your Twitter profile as a channel, you need to authenticate your Twitter Profile by clicking on 'Sign in with Twitter' ", - "ERROR_MESSAGE": "There was an error connecting to Twitter, please try again" + "HELP": "Щоб додати свій профіль у Twitter як канал, вам потрібно авторизувати свій профіль у Twitter, натиснувши кнопку \"Увійти через Twitter\" ", + "ERROR_MESSAGE": "Помилка підключення до Twitter, будь ласка, спробуйте ще раз" }, "WEBSITE_CHANNEL": { "TITLE": "Канал Веб-сайт", "DESC": "Створіть канал для свого сайту та почніть підтримувати своїх клієнтів за допомогою нашого віджету.", "LOADING_MESSAGE": "Створення каналу підтримки веб-сайту", "CHANNEL_AVATAR": { - "LABEL": "Channel Avatar" + "LABEL": "Аватар каналу" }, "CHANNEL_WEBHOOK_URL": { "LABEL": "URL вебхука", - "PLACEHOLDER": "Enter your Webhook URL", + "PLACEHOLDER": "Введіть URL вашого вебхука", "ERROR": "Будь ласка, введіть правильний URL" }, "CHANNEL_DOMAIN": { @@ -66,29 +66,29 @@ "PLACEHOLDER": "Введіть домен вашого сайту (наприклад: acme.com)" }, "CHANNEL_WELCOME_TITLE": { - "LABEL": "Welcome Heading", - "PLACEHOLDER": "Hi there !" + "LABEL": "Заголовок", + "PLACEHOLDER": "Привіт!" }, "CHANNEL_WELCOME_TAGLINE": { - "LABEL": "Welcome Tagline", - "PLACEHOLDER": "We make it simple to connect with us. Ask us anything, or share your feedback." + "LABEL": "Талін привітання", + "PLACEHOLDER": "Ми робимо це простим — запитуємо що-небудь чи поділіться своїми відгуками." }, "CHANNEL_GREETING_MESSAGE": { - "LABEL": "Channel greeting message", - "PLACEHOLDER": "Acme Inc typically replies in a few hours." + "LABEL": "Вітання каналу", + "PLACEHOLDER": "Acme Inc зазвичай відповідає за кілька годин." }, "CHANNEL_GREETING_TOGGLE": { - "LABEL": "Enable channel greeting", - "HELP_TEXT": "Send a greeting message to the user when he starts the conversation.", + "LABEL": "Увімкнути вітання каналу", + "HELP_TEXT": "Привітання користувачу, коли він розпочинає розмову.", "ENABLED": "Увімкнено", "DISABLED": "Вимкнено" }, "REPLY_TIME": { - "TITLE": "Set Reply time", - "IN_A_FEW_MINUTES": "In a few minutes", - "IN_A_FEW_HOURS": "In a few hours", - "IN_A_DAY": "In a day", - "HELP_TEXT": "This reply time will be displayed on the live chat widget" + "TITLE": "Встановити час відповіді", + "IN_A_FEW_MINUTES": "За кілька хвилин", + "IN_A_FEW_HOURS": "За кілька годин", + "IN_A_DAY": "Протягом дня", + "HELP_TEXT": "Цей час відповіді буде показуватися на віджеті онлайн чату" }, "WIDGET_COLOR": { "LABEL": "Колір віджета", @@ -97,16 +97,16 @@ "SUBMIT_BUTTON": "Створити скриньку \"Вхідні\"" }, "TWILIO": { - "TITLE": "Twilio SMS/WhatsApp Channel", - "DESC": "Integrate Twilio and start supporting your customers via SMS or WhatsApp.", + "TITLE": "Twilio SMS/WhatsApp канал", + "DESC": "Інтегруйте Twilio та починайте підтримувати своїх клієнтів через SMS чи WhatsApp.", "ACCOUNT_SID": { "LABEL": "SID облікового запису", "PLACEHOLDER": "Будь ласка, введіть SID облікового запису Twilio", "ERROR": "Це поле є обов'язковим" }, "CHANNEL_TYPE": { - "LABEL": "Channel Type", - "ERROR": "Please select your Channel Type" + "LABEL": "Тип каналу", + "ERROR": "Будь ласка, оберіть тип вашого каналу" }, "AUTH_TOKEN": { "LABEL": "Токен автентифікації", @@ -114,8 +114,8 @@ "ERROR": "Це поле є обов'язковим" }, "CHANNEL_NAME": { - "LABEL": "Inbox Name", - "PLACEHOLDER": "Please enter a inbox name", + "LABEL": "Назва каналу", + "PLACEHOLDER": "Будь ласка, введіть назву каналу", "ERROR": "Це поле є обов'язковим" }, "PHONE_NUMBER": { @@ -125,7 +125,7 @@ }, "API_CALLBACK": { "TITLE": "Callback URL", - "SUBTITLE": "You have to configure the message callback URL in Twilio with the URL mentioned here." + "SUBTITLE": "Ви повинні налаштувати URL зворотнього виклику у Twilio з URL-адресою, згаданим тут." }, "SUBMIT_BUTTON": "Створити Twilio канал", "API": { @@ -133,20 +133,20 @@ } }, "SMS": { - "TITLE": "SMS Channel via Twilio", - "DESC": "Start supporting your customers via SMS with Twilio integration." + "TITLE": "SMS-канал через Twilio", + "DESC": "Розпочніть підтримувати клієнтів через SMS з Twilio інтеграцією." }, "WHATSAPP": { - "TITLE": "WhatsApp Channel", - "DESC": "Start supporting your customers via WhatsApp.", + "TITLE": "Канал WhatsApp", + "DESC": "Розпочніть підтримувати своїх клієнтів через WhatsApp.", "PROVIDERS": { "LABEL": "API Provider", "TWILIO": "Twilio", "360_DIALOG": "360Dialog" }, "INBOX_NAME": { - "LABEL": "Inbox Name", - "PLACEHOLDER": "Please enter an inbox name", + "LABEL": "Назва каналу", + "PLACEHOLDER": "Будь ласка, введіть назву каналу", "ERROR": "Це поле є обов'язковим" }, "PHONE_NUMBER": { @@ -155,20 +155,20 @@ "ERROR": "Номер телефону повинен починатися з символу `+'." }, "API_KEY": { - "LABEL": "API key", - "SUBTITLE": "Configure the WhatsApp API key.", - "PLACEHOLDER": "API key", - "APPLY_FOR_ACCESS": "Don't have any API key? Apply for access here", - "ERROR": "Please enter a valid value." + "LABEL": "API ключ", + "SUBTITLE": "Налаштуйте ключ WhatsApp API.", + "PLACEHOLDER": "API ключ", + "APPLY_FOR_ACCESS": "У вас немає жодного ключа API? Він потрібен для доступу", + "ERROR": "Будь ласка введіть правильне значення." }, - "SUBMIT_BUTTON": "Create WhatsApp Channel", + "SUBMIT_BUTTON": "Створити канал WhatsApp", "API": { - "ERROR_MESSAGE": "We were not able to save the WhatsApp channel" + "ERROR_MESSAGE": "Ми не змогли зберегти канал WhatsApp" } }, "API_CHANNEL": { - "TITLE": "API Channel", - "DESC": "Integrate with API channel and start supporting your customers.", + "TITLE": "API канал", + "DESC": "Інтегруйте з API каналом і почніть підтримувати клієнтів.", "CHANNEL_NAME": { "LABEL": "Назва каналу", "PLACEHOLDER": "Будь ласка, введіть назву каналу", @@ -176,17 +176,17 @@ }, "WEBHOOK_URL": { "LABEL": "URL вебхука", - "SUBTITLE": "Configure the URL where you want to recieve callbacks on events.", + "SUBTITLE": "Налаштуйте URL, де бажаєте відкликати події та приймати виклики.", "PLACEHOLDER": "URL вебхука" }, - "SUBMIT_BUTTON": "Create API Channel", + "SUBMIT_BUTTON": "Створити API канал", "API": { - "ERROR_MESSAGE": "We were not able to save the api channel" + "ERROR_MESSAGE": "Ми не змогли зберегти канал api" } }, "EMAIL_CHANNEL": { - "TITLE": "Email Channel", - "DESC": "Integrate you email inbox.", + "TITLE": "Email канал", + "DESC": "Інтегруйте поштову скриньку.", "CHANNEL_NAME": { "LABEL": "Назва каналу", "PLACEHOLDER": "Будь ласка, введіть назву каналу", @@ -194,10 +194,10 @@ }, "EMAIL": { "LABEL": "Email", - "SUBTITLE": "Email where your customers sends you support tickets", + "SUBTITLE": "Пишіть куди клієнти відправляють вам квитки підтримки", "PLACEHOLDER": "Email" }, - "SUBMIT_BUTTON": "Create Email Channel", + "SUBMIT_BUTTON": "Створити Канал E-mail", "API": { "ERROR_MESSAGE": "We were not able to save the email channel" }, @@ -347,58 +347,58 @@ "ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Enable or disable email collect box on new conversation", "AUTO_ASSIGNMENT": "Увімкнути автопризначення", "ENABLE_CSAT": "Enable CSAT", - "ENABLE_CSAT_SUB_TEXT": "Enable/Disable CSAT(Customer satisfaction) survey after resolving a conversation", - "INBOX_UPDATE_TITLE": "Inbox Settings", - "INBOX_UPDATE_SUB_TEXT": "Update your inbox settings", - "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": "Inorder to validate the user's identity, the SDK allows you to pass an `identifier_hash` for each user. You can generate HMAC using 'sha256' with the key shown here.", - "HMAC_MANDATORY_VERIFICATION": "Enforce User Identity Validation", - "HMAC_MANDATORY_DESCRIPTION": "If enabled, Chatwoot SDKs setUser method will not work unless the `identifier_hash` is provided for each user.", - "INBOX_IDENTIFIER": "Inbox Identifier", - "INBOX_IDENTIFIER_SUB_TEXT": "Use the `inbox_identifier` token shown here to authentication your API clients.", - "FORWARD_EMAIL_TITLE": "Forward to Email", - "FORWARD_EMAIL_SUB_TEXT": "Start forwarding your emails to the following email address." + "ENABLE_CSAT_SUB_TEXT": "Увімкнути/Вимкнути опитування CSAT(Задоволення клієнтів) після вирішення розмови", + "INBOX_UPDATE_TITLE": "Налаштування каналу", + "INBOX_UPDATE_SUB_TEXT": "Оновіть параметри каналу", + "AUTO_ASSIGNMENT_SUB_TEXT": "Увімкнення або вимкнення автоматичного призначення нових розмов до агентів, доданих до цього каналу.", + "HMAC_VERIFICATION": "Перевірка ідентифікації користувача", + "HMAC_DESCRIPTION": "Щоб підтвердити ідентифікацію користувача, SDK дозволяє вам передати `identifier_hash` для кожного користувача. Тут можна згенерувати HMAC за допомогою 'sha256'.", + "HMAC_MANDATORY_VERIFICATION": "Застосувати примусову перевірку особистості користувача", + "HMAC_MANDATORY_DESCRIPTION": "Якщо увімкнено, метод Chatwoot SDKs setUser не буде працювати, якщо тільки для кожного користувача не надається `identifier_hash'.", + "INBOX_IDENTIFIER": "Ідентифікатор каналу", + "INBOX_IDENTIFIER_SUB_TEXT": "Використовуйте токен `inbox_identifier`, показаний тут для аутентифікації ваших API клієнтів.", + "FORWARD_EMAIL_TITLE": "Переслати на ел. пошту", + "FORWARD_EMAIL_SUB_TEXT": "Почніть перенаправляти листи до наступної адреси електронної пошти." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Повторна авторизація", - "SUBTITLE": "Your Facebook connection has expired, please reconnect your Facebook page to continue services", - "MESSAGE_SUCCESS": "Reconnection successful", - "MESSAGE_ERROR": "There was an error, please try again" + "SUBTITLE": "Підключення до Facebook закінчилося, будь ласка, поновіть сторінку Facebook, щоб продовжити роботу служб", + "MESSAGE_SUCCESS": "З'єднання пройшло успішно", + "MESSAGE_ERROR": "Сталася помилка, будь ласка, спробуйте ще раз" }, "PRE_CHAT_FORM": { - "DESCRIPTION": "Pre chat forms enable you to capture user information before they start conversation with you.", + "DESCRIPTION": "Попередні форми чату дозволяють зберегти інформацію про користувача, перш ніж вони почнуть розмову з вами.", "ENABLE": { - "LABEL": "Enable pre chat form", + "LABEL": "Увімкнути форму попереднього чату", "OPTIONS": { - "ENABLED": "Yes", - "DISABLED": "No" + "ENABLED": "Так", + "DISABLED": "Ні" } }, "PRE_CHAT_MESSAGE": { - "LABEL": "Pre Chat Message", - "PLACEHOLDER": "This message would be visible to the users along with the form" + "LABEL": "Попереднє повідомлення чату", + "PLACEHOLDER": "Це повідомлення буде видимим для користувачів разом з формою" }, "REQUIRE_EMAIL": { - "LABEL": "Visitors should provide their name and email address before starting the chat" + "LABEL": "Відвідувачі повинні надати своє ім'я та адресу електронної пошти перед початком чату" } }, "BUSINESS_HOURS": { - "TITLE": "Set your availability", - "SUBTITLE": "Set your availability on your livechat widget", - "WEEKLY_TITLE": "Set your weekly hours", - "TIMEZONE_LABEL": "Select timezone", - "UPDATE": "Update business hours settings", - "TOGGLE_AVAILABILITY": "Enable business availability for this inbox", - "UNAVAILABLE_MESSAGE_LABEL": "Unavailable message for visitors", - "UNAVAILABLE_MESSAGE_DEFAULT": "We are unavailable at the moment. Leave a message we will respond once we are back.", - "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours vistors can be warned with a message and a pre-chat form.", + "TITLE": "Встановіть доступність", + "SUBTITLE": "Встановіть доступність на вашому віджеті", + "WEEKLY_TITLE": "Встановіть робочі години", + "TIMEZONE_LABEL": "Обрати часовий пояс", + "UPDATE": "Оновити налаштування робочих годин", + "TOGGLE_AVAILABILITY": "Увімкнути робочі години для цього каналу", + "UNAVAILABLE_MESSAGE_LABEL": "Повідомлення для відвідувачів у неробочі години", + "UNAVAILABLE_MESSAGE_DEFAULT": "На даний момент ми недоступні. Залиште повідомлення, що ми відповімо, щойно повернемося.", + "TOGGLE_HELP": "Включення покаже робочі години на віджеті в чаті, навіть якщо всі агенти перебувають у автономному режимі. У неробочі години відвідувачі можуть бути попереджені повідомленням і формою попереднього чату.", "DAY": { - "ENABLE": "Enable availability for this day", - "UNAVAILABLE": "Unavailable", - "HOURS": "hours", - "VALIDATION_ERROR": "Starting time should be before closing time.", - "CHOOSE": "Choose" + "ENABLE": "Увімкнути доступність для цього дня", + "UNAVAILABLE": "Неприсутній", + "HOURS": "години", + "VALIDATION_ERROR": "Час початку має бути менше часу закриття.", + "CHOOSE": "Обрати" } } } diff --git a/app/javascript/dashboard/i18n/locale/uk/integrationApps.json b/app/javascript/dashboard/i18n/locale/uk/integrationApps.json index 11671710ce4e..600c7624021d 100644 --- a/app/javascript/dashboard/i18n/locale/uk/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/uk/integrationApps.json @@ -1,26 +1,26 @@ { "INTEGRATION_APPS": { - "FETCHING": "Fetching Integrations", - "NO_HOOK_CONFIGURED": "There are no %{integrationId} integrations configured in this account.", - "HEADER": "Applications", + "FETCHING": "Отримання інтеграцій", + "NO_HOOK_CONFIGURED": "Немає сконфігурованих інтеграцій %{integrationId} в цьому обліковому записі.", + "HEADER": "Додатки", "STATUS": { "ENABLED": "Увімкнено", "DISABLED": "Вимкнено" }, "CONFIGURE": "Настроїти", - "ADD_BUTTON": "Add a new hook", + "ADD_BUTTON": "Додати новий хук", "DELETE": { "TITLE": { - "INBOX": "Confirm deletion", - "ACCOUNT": "Disconnect" + "INBOX": "Підтвердіть видалення", + "ACCOUNT": "Від'єднатись" }, "MESSAGE": { "INBOX": "Справді бажаєте видалити?", - "ACCOUNT": "Are you sure to disconnect?" + "ACCOUNT": "Ви дійсно бажаєте відключитися?" }, "CONFIRM_BUTTON_TEXT": { "INBOX": "Так, видалити", - "ACCOUNT": "Yes, Disconnect" + "ACCOUNT": "Так, відключити" }, "CANCEL_BUTTON_TEXT": "Скасувати", "API": { @@ -41,7 +41,7 @@ "LABEL": "Select Inbox", "PLACEHOLDER": "Select Inbox" }, - "SUBMIT": "Create", + "SUBMIT": "Створити", "CANCEL": "Скасувати" }, "API": { @@ -50,10 +50,10 @@ } }, "CONNECT": { - "BUTTON_TEXT": "Connect" + "BUTTON_TEXT": "Підключитися" }, "DISCONNECT": { - "BUTTON_TEXT": "Disconnect" + "BUTTON_TEXT": "Від'єднатись" }, "SIDEBAR_DESCRIPTION": { "DIALOGFLOW": "Dialogflow is a natural language understanding platform that makes it easy to design and integrate a conversational user interface into your mobile app, web application, device, bot, interactive voice response system, and so on.

Dialogflow integration with %{installationName} allows you to configure a Dialogflow bot with your inboxes which lets the bot handle the queries initially and hand them over to an agent when needed. Dialogflow can be used to qualifying the leads, reduce the workload of agents by providing frequently asked questions etc.

To add Dialogflow, you need to create a Service Account in your Google project console and share the credentials. Please refer to the Dialogflow docs for more information." diff --git a/app/javascript/dashboard/i18n/locale/uk/integrations.json b/app/javascript/dashboard/i18n/locale/uk/integrations.json index f3b65a7d81f4..e2d3ac7cd7f7 100644 --- a/app/javascript/dashboard/i18n/locale/uk/integrations.json +++ b/app/javascript/dashboard/i18n/locale/uk/integrations.json @@ -19,7 +19,7 @@ }, "EDIT": { "BUTTON_TEXT": "Редагувати", - "TITLE": "Edit webhook", + "TITLE": "Редагувати вебхук", "CANCEL": "Скасувати", "DESC": "Вебхуки автоматично повідомляють про те, що відбувається у вашому обліковому записі Chatwoot. Будь ласка, введіть дійсний URL для налаштування зворотного виклику.", "FORM": { @@ -28,10 +28,10 @@ "PLACEHOLDER": "Наприклад: https://example/api/webhook", "ERROR": "Будь ласка, введіть правильний URL" }, - "SUBMIT": "Edit webhook" + "SUBMIT": "Редагувати вебхук" }, "API": { - "SUCCESS_MESSAGE": "Webhook URL updated successfully", + "SUCCESS_MESSAGE": "URL вебхуку успішно оновлено", "ERROR_MESSAGE": "Не вдалося підключитися до Woot Server, спробуйте ще раз пізніше" } }, @@ -68,18 +68,18 @@ }, "SLACK": { "HELP_TEXT": { - "TITLE": "Using Slack Integration", - "BODY": "

Chatwoot will now sync all the incoming conversations into the customer-conversations channel inside your slack workplace.

Replying to a conversation thread in customer-conversations slack channel will create a response back to the customer through chatwoot.

Start the replies with note: to create private notes instead of replies.

If the replier on slack has an agent profile in chatwoot under the same email, the replies will be associated accordingly.

When the replier doesn't have an associated agent profile, the replies will be made from the bot profile.

" + "TITLE": "Використання Slack інтеграцію", + "BODY": "

Chatwoot тепер синхронізує всі вхідні розмови на customer-conversations каналу всередині вашого slack workplace.

Відповідь на тему розмови в customer-conversations slack канал створить відповідь покупцю через chatwoot.

Розпочніть відповіді з нотатки: для створення приватних нотаток замість відповідей.

Якщо автор на slack має профіль агента в chatwoot під тим самим повідомленням, відповіді будуть надані відповідно.

, коли користувач не має пов'язаного агента, відповідь буде виконана з профілю бота.

" } }, "DELETE": { "BUTTON_TEXT": "Видалити", "API": { - "SUCCESS_MESSAGE": "Integration deleted successfully" + "SUCCESS_MESSAGE": "Інтеграція успішно видалена" } }, "CONNECT": { - "BUTTON_TEXT": "Connect" + "BUTTON_TEXT": "Підключитися" } } } diff --git a/app/javascript/dashboard/i18n/locale/uk/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/uk/labelsMgmt.json index 754da51f3255..0f37e7806312 100644 --- a/app/javascript/dashboard/i18n/locale/uk/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/uk/labelsMgmt.json @@ -1,69 +1,69 @@ { "LABEL_MGMT": { - "HEADER": "Labels", - "HEADER_BTN_TXT": "Add label", - "LOADING": "Fetching labels", + "HEADER": "Мітки", + "HEADER_BTN_TXT": "Додати мітку", + "LOADING": "Отримання міток", "SEARCH_404": "Немає елементів, що відповідають запиту", - "SIDEBAR_TXT": "

Labels

Labels help you to categorize conversations and prioritize them. You can assign label to a conversation from the sidepanel.

Labels are tied to the account and can be used to create custom workflows in your organization. You can assign custom color to a label, it makes it easier to identify the label. You will be able to display the label on the sidebar to filter the conversations easily.

", + "SIDEBAR_TXT": "

Мітки

Мітки допомагають вам розділити розмови та визначити пріоритети. Ви можете призначати мітку до розмови з панелі завдань.

Мітки зв'язані з обліковим записом і можуть бути використані для створення користувацьких робочих процесів у вашій організації. Ви можете призначати користувацький колір до мітки, це полегшує визначення мітки. Ви зможете відображати мітку на бічній панелі, щоб легко відфільтрувати розмови.

", "LIST": { - "404": "There are no labels available in this account.", - "TITLE": "Manage labels", - "DESC": "Labels let you group the conversations together.", + "404": "У цьому акаунті немає міток.", + "TITLE": "Керувати мітками", + "DESC": "Мітки, які дозволяють згрупувати розмови.", "TABLE_HEADER": [ "Ім'я", - "Description", - "Color" + "Опис", + "Колір" ] }, "FORM": { "NAME": { - "LABEL": "Label Name", - "PLACEHOLDER": "Label name", - "REQUIRED_ERROR": "Label name is required", - "MINIMUM_LENGTH_ERROR": "Minimum length 2 is required", - "VALID_ERROR": "Only Alphabets, Numbers, Hyphen and Underscore are allowed" + "LABEL": "Назва мітки", + "PLACEHOLDER": "Назва мітки", + "REQUIRED_ERROR": "Потрібна назва мітки", + "MINIMUM_LENGTH_ERROR": "Необхідна мінімальна довжина 2", + "VALID_ERROR": "Дозволено тільки букви, цифри, гіфен та підкреслення" }, "DESCRIPTION": { - "LABEL": "Description", - "PLACEHOLDER": "Label Description" + "LABEL": "Опис", + "PLACEHOLDER": "Опис мітки" }, "COLOR": { - "LABEL": "Color" + "LABEL": "Колір" }, "SHOW_ON_SIDEBAR": { - "LABEL": "Show label on sidebar" + "LABEL": "Показувати мітку на бічній панелі" }, "EDIT": "Редагувати", - "CREATE": "Create", + "CREATE": "Створити", "DELETE": "Видалити", "CANCEL": "Скасувати" }, "ADD": { - "TITLE": "Add label", - "DESC": "Labels let you group the conversations together.", + "TITLE": "Додати мітку", + "DESC": "Мітки, які дозволяють згрупувати розмови.", "API": { - "SUCCESS_MESSAGE": "Label added successfully", - "ERROR_MESSAGE": "There was an error, please try again" + "SUCCESS_MESSAGE": "Мітку додано успішно", + "ERROR_MESSAGE": "Сталася помилка, будь ласка, спробуйте ще раз" } }, "EDIT": { - "TITLE": "Edit label", + "TITLE": "Редагувати мітку", "API": { - "SUCCESS_MESSAGE": "Label updated successfully", - "ERROR_MESSAGE": "There was an error, please try again" + "SUCCESS_MESSAGE": "Мітку успішно оновлено", + "ERROR_MESSAGE": "Сталася помилка, будь ласка, спробуйте ще раз" } }, "DELETE": { "BUTTON_TEXT": "Видалити", "API": { - "SUCCESS_MESSAGE": "Label deleted successfully", - "ERROR_MESSAGE": "There was an error, please try again" + "SUCCESS_MESSAGE": "Мітку успішно видалено", + "ERROR_MESSAGE": "Сталася помилка, будь ласка, спробуйте ще раз" }, "CONFIRM": { "TITLE": "Підтвердження видалення", "MESSAGE": "Справді бажаєте видалити ", "YES": "Так, видалити ", - "NO": "No, Keep " + "NO": "Ні, залишити " } } } diff --git a/app/javascript/dashboard/i18n/locale/uk/report.json b/app/javascript/dashboard/i18n/locale/uk/report.json index d22d8b1d5c6f..0d107a9f2889 100644 --- a/app/javascript/dashboard/i18n/locale/uk/report.json +++ b/app/javascript/dashboard/i18n/locale/uk/report.json @@ -1,9 +1,9 @@ { "REPORT": { - "HEADER": "Overview", + "HEADER": "Огляд", "LOADING_CHART": "Завантаження даних діаграми...", "NO_ENOUGH_DATA": "Ми не отримали достатньо даних для генерації звіту. Будь ласка, спробуйте ще раз пізніше.", - "DOWNLOAD_AGENT_REPORTS": "Download agent reports", + "DOWNLOAD_AGENT_REPORTS": "Завантажити звіти агентів", "METRICS": { "CONVERSATIONS": { "NAME": "Бесіди", @@ -41,19 +41,19 @@ }, { "id": 2, - "name": "Last 3 months" + "name": "Останні 3 місяці" }, { "id": 3, - "name": "Last 6 months" + "name": "Останні 6 місяців" }, { "id": 4, - "name": "Last year" + "name": "Минулий рік" }, { "id": 5, - "name": "Custom date range" + "name": "Довільний діапазон дат" } ], "CUSTOM_DATE_RANGE": { @@ -65,8 +65,8 @@ "HEADER": "Agents Overview", "LOADING_CHART": "Завантаження даних діаграми...", "NO_ENOUGH_DATA": "Ми не отримали достатньо даних для генерації звіту. Будь ласка, спробуйте ще раз пізніше.", - "DOWNLOAD_AGENT_REPORTS": "Download agent reports", - "FILTER_DROPDOWN_LABEL": "Select Agent", + "DOWNLOAD_AGENT_REPORTS": "Завантажити звіти агентів", + "FILTER_DROPDOWN_LABEL": "Виберіть агента", "METRICS": { "CONVERSATIONS": { "NAME": "Бесіди", @@ -104,19 +104,19 @@ }, { "id": 2, - "name": "Last 3 months" + "name": "Останні 3 місяці" }, { "id": 3, - "name": "Last 6 months" + "name": "Останні 6 місяців" }, { "id": 4, - "name": "Last year" + "name": "Минулий рік" }, { "id": 5, - "name": "Custom date range" + "name": "Довільний діапазон дат" } ], "CUSTOM_DATE_RANGE": { @@ -167,19 +167,19 @@ }, { "id": 2, - "name": "Last 3 months" + "name": "Останні 3 місяці" }, { "id": 3, - "name": "Last 6 months" + "name": "Останні 6 місяців" }, { "id": 4, - "name": "Last year" + "name": "Минулий рік" }, { "id": 5, - "name": "Custom date range" + "name": "Довільний діапазон дат" } ], "CUSTOM_DATE_RANGE": { @@ -230,19 +230,19 @@ }, { "id": 2, - "name": "Last 3 months" + "name": "Останні 3 місяці" }, { "id": 3, - "name": "Last 6 months" + "name": "Останні 6 місяців" }, { "id": 4, - "name": "Last year" + "name": "Минулий рік" }, { "id": 5, - "name": "Custom date range" + "name": "Довільний діапазон дат" } ], "CUSTOM_DATE_RANGE": { @@ -293,19 +293,19 @@ }, { "id": 2, - "name": "Last 3 months" + "name": "Останні 3 місяці" }, { "id": 3, - "name": "Last 6 months" + "name": "Останні 6 місяців" }, { "id": 4, - "name": "Last year" + "name": "Минулий рік" }, { "id": 5, - "name": "Custom date range" + "name": "Довільний діапазон дат" } ], "CUSTOM_DATE_RANGE": { diff --git a/app/javascript/dashboard/i18n/locale/uk/settings.json b/app/javascript/dashboard/i18n/locale/uk/settings.json index 5d87c5b33718..341cc1508225 100644 --- a/app/javascript/dashboard/i18n/locale/uk/settings.json +++ b/app/javascript/dashboard/i18n/locale/uk/settings.json @@ -28,7 +28,7 @@ "AUDIO_NOTIFICATIONS_SECTION": { "TITLE": "Audio Notifications", "NOTE": "Enable audio notifications in dashboard for new messages and conversations.", - "NONE": "None", + "NONE": "Нiчого", "ASSIGNED": "Assigned Conversations", "ALL_CONVERSATIONS": "All Conversations" }, @@ -59,20 +59,20 @@ }, "NAME": { "LABEL": "Your full name", - "ERROR": "Please enter a valid full name", - "PLACEHOLDER": "Please enter your full name" + "ERROR": "Будь ласка, введіть своє повне ім'я", + "PLACEHOLDER": "Будь ласка, введіть своє повне ім'я" }, "DISPLAY_NAME": { - "LABEL": "Display name", - "ERROR": "Please enter a valid display name", - "PLACEHOLDER": "Please enter a display name, this would be displayed in conversations" + "LABEL": "Ім'я для відображення", + "ERROR": "Будь ласка, введіть коректне ім'я", + "PLACEHOLDER": "Будь ласка, введіть ім'я, яке буде показано у розмовах" }, "AVAILABILITY": { - "LABEL": "Availability", + "LABEL": "Присутність", "STATUSES_LIST": [ - "Online", - "Busy", - "Offline" + "Онлайн", + "Зайнятий", + "Не в мережі" ] }, "EMAIL": { @@ -81,9 +81,9 @@ "PLACEHOLDER": "Введіть адресу електронної пошти, її буде видно в бесідах" }, "CURRENT_PASSWORD": { - "LABEL": "Current password", - "ERROR": "Please enter the current password", - "PLACEHOLDER": "Please enter the current password" + "LABEL": "Поточний пароль", + "ERROR": "Будь ласка, введіть поточний пароль", + "PLACEHOLDER": "Будь ласка, введіть поточний пароль" }, "PASSWORD": { "LABEL": "Пароль", @@ -99,20 +99,21 @@ }, "SIDEBAR_ITEMS": { "CHANGE_AVAILABILITY_STATUS": "Змінити", - "CHANGE_ACCOUNTS": "Switch Account", - "SELECTOR_SUBTITLE": "Select an account from the following list", + "CHANGE_ACCOUNTS": "Змінити обліковий запис", + "SELECTOR_SUBTITLE": "Виберіть обліковий запис із наступного списку", "PROFILE_SETTINGS": "Налаштування облікового запису", - "KEYBOARD_SHORTCUTS": "Keyboard Shortcuts", + "KEYBOARD_SHORTCUTS": "Комбінації клавіш", "LOGOUT": "Вийти" }, "APP_GLOBAL": { - "TRIAL_MESSAGE": "days trial remaining.", - "TRAIL_BUTTON": "Придбати зараз" + "TRIAL_MESSAGE": "днів пробного періоду залишилося.", + "TRAIL_BUTTON": "Придбати зараз", + "DELETED_USER": "Видалений користувач" }, "COMPONENTS": { "CODE": { "BUTTON_TEXT": "Копіювати", - "COPY_SUCCESSFUL": "Code copied to clipboard successfully" + "COPY_SUCCESSFUL": "Код скопійований в буфер обміну" }, "FILE_BUBBLE": { "DOWNLOAD": "Звантажити", @@ -122,47 +123,47 @@ "SUBMIT": "Додати" } }, - "CONFIRM_EMAIL": "Verifying...", + "CONFIRM_EMAIL": "Перевірка...", "SETTINGS": { "INBOXES": { - "NEW_INBOX": "Add Inbox" + "NEW_INBOX": "Додати канал" } }, "SIDEBAR": { "CONVERSATIONS": "Бесіди", "REPORTS": "Звіти", "SETTINGS": "Налаштування", - "CONTACTS": "Contacts", + "CONTACTS": "Контакти", "HOME": "Головна", "AGENTS": "Агенти", "INBOXES": "Вхідні", - "NOTIFICATIONS": "Notifications", + "NOTIFICATIONS": "Сповіщення", "CANNED_RESPONSES": "Швидкі відповіді", "INTEGRATIONS": "Інтеграції", "ACCOUNT_SETTINGS": "Налаштування акаунту", - "APPLICATIONS": "Applications", - "LABELS": "Labels", - "ATTRIBUTES": "Attributes", - "TEAMS": "Teams", - "ALL_CONTACTS": "All Contacts", - "TAGGED_WITH": "Tagged with", - "REPORTS_OVERVIEW": "Overview", + "APPLICATIONS": "Додатки", + "LABELS": "Мітки", + "CUSTOM_ATTRIBUTES": "Свої атрибути", + "TEAMS": "Команди", + "ALL_CONTACTS": "Усі контакти", + "TAGGED_WITH": "З тегами", + "REPORTS_OVERVIEW": "Огляд", "CSAT": "CSAT", - "CAMPAIGNS": "Campaigns", - "ONGOING": "Ongoing", - "ONE_OFF": "One off", + "CAMPAIGNS": "Маркетингові кампанії", + "ONGOING": "У процесі", + "ONE_OFF": "Один з", "REPORTS_AGENT": "Агенти", - "REPORTS_LABEL": "Labels", - "REPORTS_INBOX": "Inbox", - "REPORTS_TEAM": "Team" + "REPORTS_LABEL": "Мітки", + "REPORTS_INBOX": "Канал", + "REPORTS_TEAM": "Команда" }, "CREATE_ACCOUNT": { - "NO_ACCOUNT_WARNING": "Uh oh! We could not find any Chatwoot accounts. Please create a new account to continue.", - "NEW_ACCOUNT": "New Account", - "SELECTOR_SUBTITLE": "Create a new account", + "NO_ACCOUNT_WARNING": "Ой! Ми не змогли знайти жодного облікового запису Chatwoot. Будь ласка, створіть новий обліковий запис, щоб продовжити.", + "NEW_ACCOUNT": "Новий акаунт", + "SELECTOR_SUBTITLE": "Створити новий обліковий запис", "API": { - "SUCCESS_MESSAGE": "Account created successfully", - "EXIST_MESSAGE": "Account already exists", + "SUCCESS_MESSAGE": "Обліковий запис створено", + "EXIST_MESSAGE": "Обліковий запис вже існує", "ERROR_MESSAGE": "Не вдалося підключитися до Woot Server, спробуйте ще раз пізніше" }, "FORM": { @@ -175,18 +176,18 @@ }, "KEYBOARD_SHORTCUTS": { "TITLE": { - "OPEN_CONVERSATION": "Open conversation", - "RESOLVE_AND_NEXT": "Resolve and move to next", - "NAVIGATE_DROPDOWN": "Navigate dropdown items", - "RESOLVE_CONVERSATION": "Resolve Conversation", - "GO_TO_CONVERSATION_DASHBOARD": "Go to Conversation Dashboard", - "ADD_ATTACHMENT": "Add Attachment", - "GO_TO_CONTACTS_DASHBOARD": "Go to Contacts Dashboard", - "TOGGLE_SIDEBAR": "Toggle Sidebar", - "GO_TO_REPORTS_SIDEBAR": "Go to Reports sidebar", - "MOVE_TO_NEXT_TAB": "Move to next tab in conversation list", - "GO_TO_SETTINGS": "Go to Settings", - "SWITCH_CONVERSATION_STATUS": "Switch to the next conversation status", + "OPEN_CONVERSATION": "Відкрити розмову", + "RESOLVE_AND_NEXT": "Вирішити і перейти до наступного", + "NAVIGATE_DROPDOWN": "Навігація випадаючих елементів", + "RESOLVE_CONVERSATION": "Вирішити розмову", + "GO_TO_CONVERSATION_DASHBOARD": "Перейти до панелі керування бесід", + "ADD_ATTACHMENT": "Додати вкладення", + "GO_TO_CONTACTS_DASHBOARD": "Перейти до панелі керування контактами", + "TOGGLE_SIDEBAR": "Перемикач бічної панелі", + "GO_TO_REPORTS_SIDEBAR": "Перейти до бічної панелі звітів", + "MOVE_TO_NEXT_TAB": "Перейти до наступної вкладки в списку бесід", + "GO_TO_SETTINGS": "Перейти до налаштувань", + "SWITCH_CONVERSATION_STATUS": "Перейти до статусу наступної розмови", "SWITCH_TO_PRIVATE_NOTE": "Switch to Private Note", "TOGGLE_RICH_CONTENT_EDITOR": "Toggle Rich Content editor", "SWITCH_TO_REPLY": "Switch to Reply", diff --git a/app/javascript/dashboard/i18n/locale/uk/teamsSettings.json b/app/javascript/dashboard/i18n/locale/uk/teamsSettings.json index 5149ec97d725..a5dc7c0515b7 100644 --- a/app/javascript/dashboard/i18n/locale/uk/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/uk/teamsSettings.json @@ -1,35 +1,35 @@ { "TEAMS_SETTINGS": { - "NEW_TEAM": "Create new team", - "HEADER": "Teams", - "SIDEBAR_TXT": "

Teams

Teams let you organize your agents into groups based on their responsibilities.
A user can be part of multiple teams. You can assign conversations to a team when you are working collaboratively.

", + "NEW_TEAM": "Створити нову команду", + "HEADER": "Команди", + "SIDEBAR_TXT": "

Команди

Команди дозволяють організовувати своїх агентів в групи на основі їх обов'язків.
Користувач може бути частиною декількох команд. Ви можете призначити розмови команді, коли працюєте спільно.

", "LIST": { - "404": "There are no teams created on this account.", - "EDIT_TEAM": "Edit team" + "404": "В цьому обліковому запису не створено жодної команди.", + "EDIT_TEAM": "Редагувати команду" }, "CREATE_FLOW": { "CREATE": { - "TITLE": "Create a new team", - "DESC": "Add a title and description to your new team." + "TITLE": "Створити нову команду", + "DESC": "Додати заголовок та опис до вашої нової команди." }, "AGENTS": { - "BUTTON_TEXT": "Add agents to team", - "TITLE": "Add agents to team - %{teamName}", - "DESC": "Add Agents to your newly created team. This lets you collaborate as a team on conversations, get notified on new events in the same conversation." + "BUTTON_TEXT": "Додати агентів до команди", + "TITLE": "Додати агентів до команди - %{teamName}", + "DESC": "Додати співробітників до новоствореної команди. Це дозволить вам співпрацювати як команда в розмовах, отримувати повідомлення про нові події в тій самій розмові." }, "WIZARD": [ { - "title": "Create", + "title": "Створити", "route": "settings_teams_new", - "body": "Create a new team of agents." + "body": "Створіть нову команду агентів." }, { "title": "Додати агентів", "route": "settings_teams_add_agents", - "body": "Add agents to the team." + "body": "Додати агентів до команди." }, { - "title": "Finish", + "title": "Закінчити", "route": "settings_teams_finish", "body": "Все готово!" } @@ -43,7 +43,7 @@ }, "AGENTS": { "BUTTON_TEXT": "Update agents in team", - "TITLE": "Add agents to team - %{teamName}", + "TITLE": "Додати агентів до команди - %{teamName}", "DESC": "Add Agents to your newly created team. All the added agents will be notified when a conversation is assigned to this team." }, "WIZARD": [ @@ -58,7 +58,7 @@ "body": "Edit agents in your team." }, { - "title": "Finish", + "title": "Закінчити", "route": "settings_teams_edit_finish", "body": "Все готово!" } @@ -77,8 +77,8 @@ "SELECTED_COUNT": "%{selected} out of %{total} agents selected." }, "ADD": { - "TITLE": "Add agents to team - %{teamName}", - "DESC": "Add Agents to your newly created team. This lets you collaborate as a team on conversations, get notified on new events in the same conversation.", + "TITLE": "Додати агентів до команди - %{teamName}", + "DESC": "Додати співробітників до новоствореної команди. Це дозволить вам співпрацювати як команда в розмовах, отримувати повідомлення про нові події в тій самій розмові.", "SELECT": "select", "SELECT_ALL": "select all agents", "SELECTED_COUNT": "%{selected} out of %{total} agents selected.", @@ -88,7 +88,7 @@ "FINISH": { "TITLE": "Your team is ready!", "MESSAGE": "You can now collaborate as a team on conversations. Happy supporting ", - "BUTTON_TEXT": "Finish" + "BUTTON_TEXT": "Закінчити" }, "DELETE": { "BUTTON_TEXT": "Видалити", diff --git a/app/javascript/dashboard/i18n/locale/vi/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/vi/attributesMgmt.json index 158bc475af9f..3c820d155086 100644 --- a/app/javascript/dashboard/i18n/locale/vi/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/vi/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Attributes", - "HEADER_BTN_TXT": "Add Attribute", - "LOADING": "Fetching attributes", - "SIDEBAR_TXT": "

Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Attributes, just click on the Add Attribute. You can also edit or delete an existing Attribute by clicking on the Edit or Delete button.

", + "HEADER": "Thuộc tính tùy chỉnh", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "Add attribute", + "TITLE": "Add Custom Attribute", "SUBMIT": "Tạo", "CANCEL_BUTTON_TEXT": "Huỷ", "FORM": { "NAME": { "LABEL": "Display Name", - "PLACEHOLDER": "Enter attribute display name", + "PLACEHOLDER": "Enter custom attribute display name", "ERROR": "Name is required" }, "DESC": { "LABEL": "Mô tả", - "PLACEHOLDER": "Enter attribute description", + "PLACEHOLDER": "Enter custom attribute description", "ERROR": "Description is required" }, "MODEL": { - "LABEL": "Model", - "PLACEHOLDER": "Please select a model", + "LABEL": "Applies to", + "PLACEHOLDER": "Please select one", "ERROR": "Model is required" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "Type is required" }, "KEY": { - "LABEL": "Key" + "LABEL": "Key", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create an attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "Xoá", "API": { - "SUCCESS_MESSAGE": "Attribute deleted successfully.", - "ERROR_MESSAGE": "Couldn't delete the attribute. Try again." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { "TITLE": "Are you sure want to delete - %{attributeName}", "PLACE_HOLDER": "Please type {attributeName} to confirm", - "MESSAGE": "Deleting will remove the attribute", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "Xoá ", "NO": "Huỷ" } }, "EDIT": { - "TITLE": "Edit attribute", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "Cập nhật", "API": { - "SUCCESS_MESSAGE": "Attribute updated successfully", - "ERROR_MESSAGE": "There was an error updating attribute, please try again" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { @@ -77,8 +80,8 @@ "DELETE": "Xoá" }, "EMPTY_RESULT": { - "404": "There are no attributes created", - "NOT_FOUND": "There are no attributes configured" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/vi/chatlist.json b/app/javascript/dashboard/i18n/locale/vi/chatlist.json index 28be3dc52294..8b90c49c5c71 100644 --- a/app/javascript/dashboard/i18n/locale/vi/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/vi/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "Mở", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "Mở" }, - { - "TEXT": "Đã được giải quyết", - "VALUE": "resolved" + "resolved": { + "TEXT": "Đã được giải quyết" }, - { - "TEXT": "Pending", - "VALUE": "pending" + "pending": { + "TEXT": "Pending" }, - { - "TEXT": "Snoozed", - "VALUE": "snoozed" + "snoozed": { + "TEXT": "Snoozed" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -85,6 +81,7 @@ "RECEIVED_VIA_EMAIL": "Nhận được từ email", "VIEW_TWEET_IN_TWITTER": "Xem tweet trên Twitter", "REPLY_TO_TWEET": "Trả lời cho tweet này", + "SENT": "Sent successfully", "NO_MESSAGES": "Không có tin nhắn", "NO_CONTENT": "Không có nội dung", "HIDE_QUOTED_TEXT": "Hide Quoted Text", diff --git a/app/javascript/dashboard/i18n/locale/vi/contact.json b/app/javascript/dashboard/i18n/locale/vi/contact.json index f9abc90f2e47..f7fcc4c2deff 100644 --- a/app/javascript/dashboard/i18n/locale/vi/contact.json +++ b/app/javascript/dashboard/i18n/locale/vi/contact.json @@ -7,6 +7,7 @@ "COMPANY": "Công ty", "LOCATION": "Vị trí", "CONVERSATION_TITLE": "Chi tiết của cuộc trò chuyện", + "VIEW_PROFILE": "View Profile", "BROWSER": "Trình duyệt", "OS": "Hệ điều hành", "INITIATED_FROM": "Bắt đầu từ", @@ -154,6 +155,11 @@ "LABEL": "Inbox", "ERROR": "Select an inbox" }, + "SUBJECT": { + "LABEL": "Subject", + "PLACEHOLDER": "Subject", + "ERROR": "Subject can't be empty" + }, "MESSAGE": { "LABEL": "Tin nhắn", "PLACEHOLDER": "Write your message here", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "View details" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "Contacts", + "LOADING": "Loading contact profile..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "Add", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Fetching notes...", + "NOT_AVAILABLE": "There are no notes created for this contact", "HEADER": { "TITLE": "Notes" }, + "LIST": { + "LABEL": "added a note" + }, "ADD": { "BUTTON": "Add", "PLACEHOLDER": "Add a note", "TITLE": "Shift + Enter to create a note" }, - "FOOTER": { - "BUTTON": "View all notes" + "CONTENT_HEADER": { + "DELETE": "Delete note" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Add attributes", "BUTTON": "Add custom attribute", "NOT_AVAILABLE": "There are no custom attributes available for this contact.", + "COPY_SUCCESSFUL": "Đã sao chép mã thành công", + "ACTIONS": { + "COPY": "Copy attribute", + "DELETE": "Delete attribute", + "EDIT": "Edit attribute" + }, "ADD": { "TITLE": "Create custom attribute", "DESC": "Add custom information to this contact." @@ -239,7 +261,29 @@ "VALUE": { "LABEL": "Attribute value", "PLACEHOLDER": "Eg: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" } + }, + "VALIDATIONS": { + "REQUIRED": "Valid value is required", + "INVALID_URL": "Invalid URL" } }, "MERGE_CONTACTS": { diff --git a/app/javascript/dashboard/i18n/locale/vi/conversation.json b/app/javascript/dashboard/i18n/locale/vi/conversation.json index baa0d959f607..64f230ceb730 100644 --- a/app/javascript/dashboard/i18n/locale/vi/conversation.json +++ b/app/javascript/dashboard/i18n/locale/vi/conversation.json @@ -156,6 +156,27 @@ "PREVIOUS_CONVERSATION": "Cuộc trò chuyện trước đó" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "ADD": { + "TITLE": "Add", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" + } + }, "EMAIL_HEADER": { "TO": "To", "BCC": "Bcc", diff --git a/app/javascript/dashboard/i18n/locale/vi/settings.json b/app/javascript/dashboard/i18n/locale/vi/settings.json index 5640c7fc992c..f57aa5d14954 100644 --- a/app/javascript/dashboard/i18n/locale/vi/settings.json +++ b/app/javascript/dashboard/i18n/locale/vi/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "ngày dùng thử còn lại.", - "TRAIL_BUTTON": "Mua Ngay" + "TRAIL_BUTTON": "Mua Ngay", + "DELETED_USER": "Deleted User" }, "COMPONENTS": { "CODE": { @@ -142,7 +143,7 @@ "ACCOUNT_SETTINGS": "Cài Đặt Tài Khoản", "APPLICATIONS": "Applications", "LABELS": "Nhãn", - "ATTRIBUTES": "Attributes", + "CUSTOM_ATTRIBUTES": "Thuộc tính tùy chỉnh", "TEAMS": "Nhóm", "ALL_CONTACTS": "All Contacts", "TAGGED_WITH": "Tagged with", diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/zh_CN/attributesMgmt.json index d422e10e9e74..7f62b473ce11 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "Attributes", - "HEADER_BTN_TXT": "Add Attribute", - "LOADING": "Fetching attributes", - "SIDEBAR_TXT": "

Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Attributes, just click on the Add Attribute. You can also edit or delete an existing Attribute by clicking on the Edit or Delete button.

", + "HEADER": "自定义属性", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "Add attribute", + "TITLE": "Add Custom Attribute", "SUBMIT": "创建", "CANCEL_BUTTON_TEXT": "取消", "FORM": { "NAME": { "LABEL": "Display Name", - "PLACEHOLDER": "Enter attribute display name", + "PLACEHOLDER": "Enter custom attribute display name", "ERROR": "Name is required" }, "DESC": { "LABEL": "描述信息", - "PLACEHOLDER": "Enter attribute description", + "PLACEHOLDER": "Enter custom attribute description", "ERROR": "Description is required" }, "MODEL": { - "LABEL": "Model", - "PLACEHOLDER": "Please select a model", + "LABEL": "Applies to", + "PLACEHOLDER": "Please select one", "ERROR": "Model is required" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "Type is required" }, "KEY": { - "LABEL": "Key" + "LABEL": "Key", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create an attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "删除", "API": { - "SUCCESS_MESSAGE": "Attribute deleted successfully.", - "ERROR_MESSAGE": "Couldn't delete the attribute. Try again." + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { "TITLE": "Are you sure want to delete - %{attributeName}", "PLACE_HOLDER": "Please type {attributeName} to confirm", - "MESSAGE": "Deleting will remove the attribute", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "删除 ", "NO": "取消" } }, "EDIT": { - "TITLE": "Edit attribute", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "更新", "API": { - "SUCCESS_MESSAGE": "Attribute updated successfully", - "ERROR_MESSAGE": "There was an error updating attribute, please try again" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { @@ -77,8 +80,8 @@ "DELETE": "删除" }, "EMPTY_RESULT": { - "404": "未创建任何属性", - "NOT_FOUND": "没有配置任何属性" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/chatlist.json b/app/javascript/dashboard/i18n/locale/zh_CN/chatlist.json index 95eaabb00466..4da85b374901 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "正在进行的\n", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "打开" }, - { - "TEXT": "已解决", - "VALUE": "resolved" + "resolved": { + "TEXT": "已解决" }, - { - "TEXT": "Pending", - "VALUE": "pending" + "pending": { + "TEXT": "等待中" }, - { - "TEXT": "Snoozed", - "VALUE": "snoozed" + "snoozed": { + "TEXT": "已关闭" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -85,6 +81,7 @@ "RECEIVED_VIA_EMAIL": "通过电子邮件接收", "VIEW_TWEET_IN_TWITTER": "在 Twitter 中查看 tweet", "REPLY_TO_TWEET": "回复此推文", + "SENT": "Sent successfully", "NO_MESSAGES": "没有信息", "NO_CONTENT": "没有可用的内容", "HIDE_QUOTED_TEXT": "Hide Quoted Text", diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/contact.json b/app/javascript/dashboard/i18n/locale/zh_CN/contact.json index 7ba435fcc938..b20421bfc21c 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/contact.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/contact.json @@ -7,6 +7,7 @@ "COMPANY": "公司", "LOCATION": "位置", "CONVERSATION_TITLE": "对话详情", + "VIEW_PROFILE": "View Profile", "BROWSER": "浏览器", "OS": "操作系统", "INITIATED_FROM": "启动自:", @@ -154,6 +155,11 @@ "LABEL": "Inbox", "ERROR": "Select an inbox" }, + "SUBJECT": { + "LABEL": "Subject", + "PLACEHOLDER": "Subject", + "ERROR": "Subject can't be empty" + }, "MESSAGE": { "LABEL": "消息", "PLACEHOLDER": "Write your message here", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "View details" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "Contacts", + "LOADING": "Loading contact profile..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "Add", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Fetching notes...", + "NOT_AVAILABLE": "There are no notes created for this contact", "HEADER": { "TITLE": "Notes" }, + "LIST": { + "LABEL": "added a note" + }, "ADD": { "BUTTON": "Add", "PLACEHOLDER": "Add a note", "TITLE": "Shift + Enter to create a note" }, - "FOOTER": { - "BUTTON": "View all notes" + "CONTENT_HEADER": { + "DELETE": "Delete note" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Add attributes", "BUTTON": "Add custom attribute", "NOT_AVAILABLE": "There are no custom attributes available for this contact.", + "COPY_SUCCESSFUL": "已成功复制到剪贴板", + "ACTIONS": { + "COPY": "Copy attribute", + "DELETE": "Delete attribute", + "EDIT": "Edit attribute" + }, "ADD": { "TITLE": "Create custom attribute", "DESC": "Add custom information to this contact." @@ -239,7 +261,29 @@ "VALUE": { "LABEL": "Attribute value", "PLACEHOLDER": "Eg: 11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" } + }, + "VALIDATIONS": { + "REQUIRED": "Valid value is required", + "INVALID_URL": "Invalid URL" } }, "MERGE_CONTACTS": { diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/conversation.json b/app/javascript/dashboard/i18n/locale/zh_CN/conversation.json index 2896db38a1c9..9281e2d5ab8b 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/conversation.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/conversation.json @@ -156,6 +156,27 @@ "PREVIOUS_CONVERSATION": "上一次对话" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "Attribute updated successfully", + "ERROR": "Unable to update attribute. Please try again later" + }, + "ADD": { + "TITLE": "Add", + "SUCCESS": "Attribute added successfully", + "ERROR": "Unable to add attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" + } + }, "EMAIL_HEADER": { "TO": "To", "BCC": "Bcc", diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/settings.json b/app/javascript/dashboard/i18n/locale/zh_CN/settings.json index b75c27573e30..43c5b602c9e0 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/settings.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "剩余试用期天数", - "TRAIL_BUTTON": "立即购买" + "TRAIL_BUTTON": "立即购买", + "DELETED_USER": "Deleted User" }, "COMPONENTS": { "CODE": { @@ -142,7 +143,7 @@ "ACCOUNT_SETTINGS": "帐户设置", "APPLICATIONS": "Applications", "LABELS": "标签", - "ATTRIBUTES": "Attributes", + "CUSTOM_ATTRIBUTES": "自定义属性", "TEAMS": "Teams", "ALL_CONTACTS": "All Contacts", "TAGGED_WITH": "Tagged with", diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/zh_TW/attributesMgmt.json index fc0941da47c9..cbfc53f14fa0 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/attributesMgmt.json @@ -1,27 +1,27 @@ { "ATTRIBUTES_MGMT": { - "HEADER": "屬性", - "HEADER_BTN_TXT": "新增屬性", - "LOADING": "取得屬性", - "SIDEBAR_TXT": "

Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Attributes, just click on the Add Attribute. You can also edit or delete an existing Attribute by clicking on the Edit or Delete button.

", + "HEADER": "自訂屬性", + "HEADER_BTN_TXT": "Add Custom Attribute", + "LOADING": "Fetching custom attributes", + "SIDEBAR_TXT": "

Custom Attributes

A custom attribute tracks facts about your contacts/conversation — like the subscription plan, or when they ordered the first item etc.

For creating a Custom Attribute, just click on the Add Custom Attribute. You can also edit or delete an existing Custom Attribute by clicking on the Edit or Delete button.

", "ADD": { - "TITLE": "新增屬性", + "TITLE": "Add Custom Attribute", "SUBMIT": "建立", "CANCEL_BUTTON_TEXT": "取消", "FORM": { "NAME": { "LABEL": "顯示名稱", - "PLACEHOLDER": "輸入屬性顯示名稱", + "PLACEHOLDER": "Enter custom attribute display name", "ERROR": "名稱為必填" }, "DESC": { "LABEL": "描述資訊", - "PLACEHOLDER": "輸入屬性描述", + "PLACEHOLDER": "Enter custom attribute description", "ERROR": "描述為必填" }, "MODEL": { - "LABEL": "Model", - "PLACEHOLDER": "Please select a model", + "LABEL": "Applies to", + "PLACEHOLDER": "Please select one", "ERROR": "Model is required" }, "TYPE": { @@ -30,34 +30,37 @@ "ERROR": "類別為必填" }, "KEY": { - "LABEL": "Key" + "LABEL": "Key", + "PLACEHOLDER": "Enter custom attribute key", + "ERROR": "Key is required", + "IN_VALID": "Invalid key" } }, "API": { - "SUCCESS_MESSAGE": "屬性新增成功", - "ERROR_MESSAGE": "Could not able to create an attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully", + "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" } }, "DELETE": { "BUTTON_TEXT": "刪除", "API": { - "SUCCESS_MESSAGE": "Attribute deleted successfully.", - "ERROR_MESSAGE": "無法刪除屬性,請再試一次。" + "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", + "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." }, "CONFIRM": { "TITLE": "確定要刪除 - %{attributeName} ?", "PLACE_HOLDER": "請輸入 {attributeName} 以確認", - "MESSAGE": "Deleting will remove the attribute", + "MESSAGE": "Deleting will remove the custom attribute", "YES": "刪除 ", "NO": "取消" } }, "EDIT": { - "TITLE": "編輯屬性", + "TITLE": "Edit Custom Attribute", "UPDATE_BUTTON_TEXT": "更新", "API": { - "SUCCESS_MESSAGE": "屬性更新成功", - "ERROR_MESSAGE": "There was an error updating attribute, please try again" + "SUCCESS_MESSAGE": "Custom Attribute updated successfully", + "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" } }, "TABS": { @@ -77,8 +80,8 @@ "DELETE": "刪除" }, "EMPTY_RESULT": { - "404": "There are no attributes created", - "NOT_FOUND": "There are no attributes configured" + "404": "There are no custom attributes created", + "NOT_FOUND": "There are no custom attributes configured" } } } diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/chatlist.json b/app/javascript/dashboard/i18n/locale/zh_TW/chatlist.json index 76ca2cbc4ae8..d06313dfe598 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/chatlist.json @@ -38,24 +38,20 @@ "COUNT_KEY": "allCount" } ], - "CHAT_STATUS_ITEMS": [ - { - "TEXT": "正在進行的\n", - "VALUE": "open" + "CHAT_STATUS_FILTER_ITEMS": { + "open": { + "TEXT": "打開" }, - { - "TEXT": "已解決", - "VALUE": "resolved" + "resolved": { + "TEXT": "已解決" }, - { - "TEXT": "待處理", - "VALUE": "待處理" + "pending": { + "TEXT": "待處理" }, - { - "TEXT": "Snoozed", - "VALUE": "snoozed" + "snoozed": { + "TEXT": "Snoozed" } - ], + }, "ATTACHMENTS": { "image": { "ICON": "ion-image", @@ -85,6 +81,7 @@ "RECEIVED_VIA_EMAIL": "使用電子郵件接收", "VIEW_TWEET_IN_TWITTER": "View tweet in Twitter", "REPLY_TO_TWEET": "Reply to this tweet", + "SENT": "Sent successfully", "NO_MESSAGES": "沒有訊息", "NO_CONTENT": "沒有可用內容", "HIDE_QUOTED_TEXT": "隱藏引用文字", diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/contact.json b/app/javascript/dashboard/i18n/locale/zh_TW/contact.json index a96aac4485f2..e9cef1246acc 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/contact.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/contact.json @@ -7,6 +7,7 @@ "COMPANY": "公司", "LOCATION": "位置", "CONVERSATION_TITLE": "對話詳細資訊", + "VIEW_PROFILE": "View Profile", "BROWSER": "瀏覽器", "OS": "作業系统", "INITIATED_FROM": "發起自:", @@ -154,6 +155,11 @@ "LABEL": "收件匣", "ERROR": "選擇一個收件匣" }, + "SUBJECT": { + "LABEL": "主旨", + "PLACEHOLDER": "主旨", + "ERROR": "Subject can't be empty" + }, "MESSAGE": { "LABEL": "訊息", "PLACEHOLDER": "在此填寫你的訊息", @@ -188,6 +194,10 @@ "VIEW_DETAILS": "查看詳細資訊" } }, + "CONTACT_PROFILE": { + "BACK_BUTTON": "聯絡人", + "LOADING": "Loading contact profile..." + }, "REMINDER": { "ADD_BUTTON": { "BUTTON": "新增", @@ -199,16 +209,21 @@ } }, "NOTES": { + "FETCHING_NOTES": "Fetching notes...", + "NOT_AVAILABLE": "There are no notes created for this contact", "HEADER": { "TITLE": "筆記" }, + "LIST": { + "LABEL": "added a note" + }, "ADD": { "BUTTON": "新增", "PLACEHOLDER": "新增筆記", "TITLE": "Shift + Enter to create a note" }, - "FOOTER": { - "BUTTON": "查看所有筆記" + "CONTENT_HEADER": { + "DELETE": "Delete note" } }, "EVENTS": { @@ -222,8 +237,15 @@ } }, "CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Add attributes", "BUTTON": "新增自訂屬性", "NOT_AVAILABLE": "There are no custom attributes available for this contact.", + "COPY_SUCCESSFUL": "成功複製到剪貼簿", + "ACTIONS": { + "COPY": "Copy attribute", + "DELETE": "Delete attribute", + "EDIT": "編輯屬性" + }, "ADD": { "TITLE": "建立自訂屬性", "DESC": "為聯絡人新增自訂資訊" @@ -239,7 +261,29 @@ "VALUE": { "LABEL": "屬性值", "PLACEHOLDER": "例如:11901 " + }, + "ADD": { + "TITLE": "Create new attribute ", + "SUCCESS": "屬性新增成功", + "ERROR": "Unable to add attribute. Please try again later" + }, + "UPDATE": { + "SUCCESS": "屬性更新成功", + "ERROR": "Unable to update attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" } + }, + "VALIDATIONS": { + "REQUIRED": "Valid value is required", + "INVALID_URL": "Invalid URL" } }, "MERGE_CONTACTS": { diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/conversation.json b/app/javascript/dashboard/i18n/locale/zh_TW/conversation.json index 2e5c33ae7664..da119629df88 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/conversation.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/conversation.json @@ -156,6 +156,27 @@ "PREVIOUS_CONVERSATION": "上一次對話" } }, + "CONVERSATION_CUSTOM_ATTRIBUTES": { + "ADD_BUTTON_TEXT": "Create attribute", + "UPDATE": { + "SUCCESS": "屬性更新成功", + "ERROR": "Unable to update attribute. Please try again later" + }, + "ADD": { + "TITLE": "新增", + "SUCCESS": "屬性新增成功", + "ERROR": "Unable to add attribute. Please try again later" + }, + "DELETE": { + "SUCCESS": "Attribute deleted successfully", + "ERROR": "Unable to delete attribute. Please try again later" + }, + "ATTRIBUTE_SELECT": { + "TITLE": "Add attributes", + "PLACEHOLDER": "Search attributes", + "NO_RESULT": "No attributes found" + } + }, "EMAIL_HEADER": { "TO": "To", "BCC": "密件副本", diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/settings.json b/app/javascript/dashboard/i18n/locale/zh_TW/settings.json index eb840f0eb792..ad7f0dc6eee7 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/settings.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/settings.json @@ -107,7 +107,8 @@ }, "APP_GLOBAL": { "TRIAL_MESSAGE": "剩餘試用期天數", - "TRAIL_BUTTON": "立即購買" + "TRAIL_BUTTON": "立即購買", + "DELETED_USER": "Deleted User" }, "COMPONENTS": { "CODE": { @@ -142,7 +143,7 @@ "ACCOUNT_SETTINGS": "帳戶設定", "APPLICATIONS": "Applications", "LABELS": "標籤", - "ATTRIBUTES": "屬性", + "CUSTOM_ATTRIBUTES": "自訂屬性", "TEAMS": "團隊", "ALL_CONTACTS": "所有聯絡人", "TAGGED_WITH": "Tagged with", diff --git a/app/javascript/dashboard/i18n/sidebarItems/contacts.js b/app/javascript/dashboard/i18n/sidebarItems/contacts.js index de858d5db837..a1ecf4a7af6b 100644 --- a/app/javascript/dashboard/i18n/sidebarItems/contacts.js +++ b/app/javascript/dashboard/i18n/sidebarItems/contacts.js @@ -3,7 +3,7 @@ import { frontendURL } from '../../helper/URLHelper'; const contacts = accountId => ({ routes: [ 'contacts_dashboard', - 'contacts_dashboard_manage', + 'contact_profile_dashboard', 'contacts_labels_dashboard', ], menuItems: { diff --git a/app/javascript/dashboard/i18n/sidebarItems/settings.js b/app/javascript/dashboard/i18n/sidebarItems/settings.js index 406b8fa10cba..c2e7b8f0b595 100644 --- a/app/javascript/dashboard/i18n/sidebarItems/settings.js +++ b/app/javascript/dashboard/i18n/sidebarItems/settings.js @@ -67,9 +67,11 @@ const settings = accountId => ({ }, attributes: { icon: 'ion-code', - label: 'ATTRIBUTES', + label: 'CUSTOM_ATTRIBUTES', hasSubMenu: false, - toState: frontendURL(`accounts/${accountId}/settings/attributes/list`), + toState: frontendURL( + `accounts/${accountId}/settings/custom-attributes/list` + ), toStateName: 'attributes_list', }, cannedResponses: { diff --git a/app/javascript/dashboard/mixins/agentMixin.js b/app/javascript/dashboard/mixins/agentMixin.js index 295dafa8a25e..14c5bb043994 100644 --- a/app/javascript/dashboard/mixins/agentMixin.js +++ b/app/javascript/dashboard/mixins/agentMixin.js @@ -7,9 +7,7 @@ export default { this.inboxId ); }, - ...mapGetters({ - currentUser: 'getCurrentUser', - }), + ...mapGetters({ currentUser: 'getCurrentUser' }), isAgentSelected() { return this.currentChat?.meta?.assignee; }, diff --git a/app/javascript/dashboard/mixins/attributeMixin.js b/app/javascript/dashboard/mixins/attributeMixin.js new file mode 100644 index 000000000000..d861ec059160 --- /dev/null +++ b/app/javascript/dashboard/mixins/attributeMixin.js @@ -0,0 +1,81 @@ +import { mapGetters } from 'vuex'; + +export default { + computed: { + ...mapGetters({ + currentChat: 'getSelectedChat', + accountId: 'getCurrentAccountId', + }), + attributes() { + return this.$store.getters['attributes/getAttributesByModel']( + this.attributeType + ); + }, + customAttributes() { + if (this.attributeType === 'conversation_attribute') + return this.currentChat.custom_attributes || {}; + return this.contact.custom_attributes || {}; + }, + contactIdentifier() { + return ( + this.currentChat.meta?.sender?.id || + this.$route.params.contactId || + this.contactId + ); + }, + contact() { + return this.$store.getters['contacts/getContact'](this.contactIdentifier); + }, + conversationId() { + return this.currentChat.id; + }, + + filteredAttributes() { + return Object.keys(this.customAttributes).map(key => { + const item = this.attributes.find( + attribute => attribute.attribute_key === key + ); + if (item) { + return { + ...item, + value: this.customAttributes[key], + }; + } + + return { + ...item, + value: this.customAttributes[key], + attribute_description: key, + attribute_display_name: key, + attribute_display_type: this.attributeDisplayType( + this.customAttributes[key] + ), + attribute_key: key, + attribute_model: this.attributeType, + id: Math.random(), + }; + }); + }, + }, + methods: { + isAttributeNumber(attributeValue) { + return ( + Number.isInteger(Number(attributeValue)) && Number(attributeValue) > 0 + ); + }, + isAttributeLink(attributeValue) { + /* eslint-disable no-useless-escape */ + const URL_REGEX = /^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)$/gm; + return URL_REGEX.test(attributeValue); + }, + attributeDisplayType(attributeValue) { + if (this.isAttributeNumber(attributeValue)) { + return 'number'; + } + if (this.isAttributeLink(attributeValue)) { + return 'link'; + } + return 'text'; + }, + }, +}; diff --git a/app/javascript/dashboard/mixins/conversation/labelMixin.js b/app/javascript/dashboard/mixins/conversation/labelMixin.js new file mode 100644 index 000000000000..622bd3519b02 --- /dev/null +++ b/app/javascript/dashboard/mixins/conversation/labelMixin.js @@ -0,0 +1,41 @@ +import { mapGetters } from 'vuex'; + +export default { + computed: { + ...mapGetters({ accountLabels: 'labels/getLabels' }), + savedLabels() { + return this.$store.getters['conversationLabels/getConversationLabels']( + this.conversationId + ); + }, + activeLabels() { + return this.accountLabels.filter(({ title }) => + this.savedLabels.includes(title) + ); + }, + inactiveLabels() { + return this.accountLabels.filter( + ({ title }) => !this.savedLabels.includes(title) + ); + }, + }, + methods: { + addLabelToConversation(value) { + const result = this.activeLabels.map(item => item.title); + result.push(value.title); + this.onUpdateLabels(result); + }, + removeLabelFromConversation(value) { + const result = this.activeLabels + .map(label => label.title) + .filter(label => label !== value); + this.onUpdateLabels(result); + }, + async onUpdateLabels(selectedLabels) { + this.$store.dispatch('conversationLabels/update', { + conversationId: this.conversationId, + labels: selectedLabels, + }); + }, + }, +}; diff --git a/app/javascript/dashboard/mixins/conversation/teamMixin.js b/app/javascript/dashboard/mixins/conversation/teamMixin.js new file mode 100644 index 000000000000..745f91589bf7 --- /dev/null +++ b/app/javascript/dashboard/mixins/conversation/teamMixin.js @@ -0,0 +1,22 @@ +import { mapGetters } from 'vuex'; + +export default { + computed: { + ...mapGetters({ teams: 'teams/getTeams' }), + hasAnAssignedTeam() { + return !!this.currentChat?.meta?.team; + }, + teamsList() { + if (this.hasAnAssignedTeam) { + return [ + { + id: 0, + name: 'None', + }, + ...this.teams, + ]; + } + return this.teams; + }, + }, +}; diff --git a/app/javascript/dashboard/mixins/specs/attributeFixtures.js b/app/javascript/dashboard/mixins/specs/attributeFixtures.js new file mode 100644 index 000000000000..9b0cc0fc11a6 --- /dev/null +++ b/app/javascript/dashboard/mixins/specs/attributeFixtures.js @@ -0,0 +1,26 @@ +export default [ + { + attribute_description: 'Product name', + attribute_display_name: 'Product name', + attribute_display_type: 'text', + attribute_key: 'product_name', + attribute_model: 'conversation_attribute', + created_at: '2021-09-03T10:45:09.587Z', + default_value: null, + id: 6, + updated_at: '2021-09-22T10:40:42.511Z', + }, + { + attribute_description: 'Product identifier', + attribute_display_name: 'Product id', + attribute_display_type: 'number', + attribute_key: 'product_id', + attribute_model: 'conversation_attribute', + created_at: '2021-09-16T13:06:47.329Z', + default_value: null, + icon: 'ion-calculator', + id: 10, + updated_at: '2021-09-22T10:42:25.873Z', + value: 2021, + }, +]; diff --git a/app/javascript/dashboard/mixins/specs/attributeMixin.spec.js b/app/javascript/dashboard/mixins/specs/attributeMixin.spec.js new file mode 100644 index 000000000000..222b35838aae --- /dev/null +++ b/app/javascript/dashboard/mixins/specs/attributeMixin.spec.js @@ -0,0 +1,195 @@ +import { shallowMount, createLocalVue } from '@vue/test-utils'; +import attributeMixin from '../attributeMixin'; +import Vuex from 'vuex'; +import attributeFixtures from './attributeFixtures'; + +const localVue = createLocalVue(); +localVue.use(Vuex); + +describe('attributeMixin', () => { + let getters; + let actions; + let store; + + beforeEach(() => { + actions = { updateUISettings: jest.fn(), toggleSidebarUIState: jest.fn() }; + getters = { + getSelectedChat: () => ({ + id: 7165, + custom_attributes: { + product_id: 2021, + }, + meta: { + sender: { + id: 1212, + }, + }, + }), + getCurrentAccountId: () => 1, + attributeType: () => 'conversation_attribute', + }; + store = new Vuex.Store({ actions, getters }); + }); + + it('returns currently selected conversation id', () => { + const Component = { + render() {}, + title: 'TestComponent', + mixins: [attributeMixin], + }; + const wrapper = shallowMount(Component, { store, localVue }); + expect(wrapper.vm.conversationId).toEqual(7165); + }); + + it('returns filtered attributes from conversation custom attributes', () => { + const Component = { + render() {}, + title: 'TestComponent', + mixins: [attributeMixin], + computed: { + attributes() { + return attributeFixtures; + }, + contact() { + return { + id: 7165, + custom_attributes: { + product_id: 2021, + }, + }; + }, + }, + }; + const wrapper = shallowMount(Component, { store, localVue }); + expect(wrapper.vm.filteredAttributes).toEqual([ + { + attribute_description: 'Product identifier', + attribute_display_name: 'Product id', + attribute_display_type: 'number', + attribute_key: 'product_id', + attribute_model: 'conversation_attribute', + created_at: '2021-09-16T13:06:47.329Z', + default_value: null, + icon: 'ion-calculator', + id: 10, + updated_at: '2021-09-22T10:42:25.873Z', + value: 2021, + }, + ]); + }); + + it('return display type if attribute passed', () => { + const Component = { + render() {}, + title: 'TestComponent', + mixins: [attributeMixin], + }; + const wrapper = shallowMount(Component, { store, localVue }); + expect(wrapper.vm.attributeDisplayType('date')).toBe('text'); + expect( + wrapper.vm.attributeDisplayType('https://www.chatwoot.com/pricing') + ).toBe('link'); + expect(wrapper.vm.attributeDisplayType(9988)).toBe('number'); + }); + + it('return true if link is passed', () => { + const Component = { + render() {}, + title: 'TestComponent', + mixins: [attributeMixin], + }; + const wrapper = shallowMount(Component, { store, localVue }); + expect(wrapper.vm.isAttributeLink('https://www.chatwoot.com/pricing')).toBe( + true + ); + }); + + it('return true if number is passed', () => { + const Component = { + render() {}, + title: 'TestComponent', + mixins: [attributeMixin], + }; + const wrapper = shallowMount(Component, { store, localVue }); + expect(wrapper.vm.isAttributeNumber(9988)).toBe(true); + }); + + it('returns currently selected contact', () => { + const Component = { + render() {}, + title: 'TestComponent', + mixins: [attributeMixin], + computed: { + contact() { + return { + id: 7165, + custom_attributes: { + product_id: 2021, + }, + }; + }, + }, + }; + const wrapper = shallowMount(Component, { store, localVue }); + expect(wrapper.vm.contact).toEqual({ + id: 7165, + custom_attributes: { + product_id: 2021, + }, + }); + }); + + it('returns currently selected contact id', () => { + const Component = { + render() {}, + title: 'TestComponent', + mixins: [attributeMixin], + }; + const wrapper = shallowMount(Component, { store, localVue }); + expect(wrapper.vm.contactIdentifier).toEqual(1212); + }); + + it('returns currently selected conversation custom attributes', () => { + const Component = { + render() {}, + title: 'TestComponent', + mixins: [attributeMixin], + computed: { + contact() { + return { + id: 7165, + custom_attributes: { + product_id: 2021, + }, + }; + }, + }, + }; + const wrapper = shallowMount(Component, { store, localVue }); + expect(wrapper.vm.customAttributes).toEqual({ + product_id: 2021, + }); + }); + + it('returns currently selected contact custom attributes', () => { + const Component = { + render() {}, + title: 'TestComponent', + mixins: [attributeMixin], + computed: { + contact() { + return { + id: 7165, + custom_attributes: { + cloudCustomer: true, + }, + }; + }, + }, + }; + const wrapper = shallowMount(Component, { store, localVue }); + expect(wrapper.vm.customAttributes).toEqual({ + cloudCustomer: true, + }); + }); +}); diff --git a/app/javascript/dashboard/mixins/specs/uiSettings.spec.js b/app/javascript/dashboard/mixins/specs/uiSettings.spec.js index fcde4a2915bc..6b1118ab8189 100644 --- a/app/javascript/dashboard/mixins/specs/uiSettings.spec.js +++ b/app/javascript/dashboard/mixins/specs/uiSettings.spec.js @@ -1,7 +1,9 @@ import { shallowMount, createLocalVue } from '@vue/test-utils'; -import uiSettingsMixin from '../uiSettings'; +import uiSettingsMixin, { + DEFAULT_CONVERSATION_SIDEBAR_ITEMS_ORDER, + DEFAULT_CONTACT_SIDEBAR_ITEMS_ORDER, +} from '../uiSettings'; import Vuex from 'vuex'; - const localVue = createLocalVue(); localVue.use(Vuex); @@ -17,6 +19,8 @@ describe('uiSettingsMixin', () => { display_rich_content_editor: false, enter_to_send_enabled: false, is_ct_labels_open: true, + conversation_sidebar_items_order: DEFAULT_CONVERSATION_SIDEBAR_ITEMS_ORDER, + contact_sidebar_items_order: DEFAULT_CONTACT_SIDEBAR_ITEMS_ORDER, }), }; store = new Vuex.Store({ actions, getters }); @@ -33,6 +37,8 @@ describe('uiSettingsMixin', () => { display_rich_content_editor: false, enter_to_send_enabled: false, is_ct_labels_open: true, + conversation_sidebar_items_order: DEFAULT_CONVERSATION_SIDEBAR_ITEMS_ORDER, + contact_sidebar_items_order: DEFAULT_CONTACT_SIDEBAR_ITEMS_ORDER, }); }); @@ -52,6 +58,8 @@ describe('uiSettingsMixin', () => { display_rich_content_editor: false, enter_to_send_enabled: true, is_ct_labels_open: true, + conversation_sidebar_items_order: DEFAULT_CONVERSATION_SIDEBAR_ITEMS_ORDER, + contact_sidebar_items_order: DEFAULT_CONTACT_SIDEBAR_ITEMS_ORDER, }, }, undefined @@ -75,6 +83,8 @@ describe('uiSettingsMixin', () => { display_rich_content_editor: false, enter_to_send_enabled: false, is_ct_labels_open: false, + conversation_sidebar_items_order: DEFAULT_CONVERSATION_SIDEBAR_ITEMS_ORDER, + contact_sidebar_items_order: DEFAULT_CONTACT_SIDEBAR_ITEMS_ORDER, }, }, undefined @@ -98,4 +108,36 @@ describe('uiSettingsMixin', () => { ).toEqual(false); }); }); + + describe('#conversationSidebarItemsOrder', () => { + it('returns correct values', () => { + const Component = { + render() {}, + title: 'TestComponent', + mixins: [uiSettingsMixin], + }; + const wrapper = shallowMount(Component, { store, localVue }); + expect(wrapper.vm.conversationSidebarItemsOrder).toEqual([ + { name: 'conversation_actions' }, + { name: 'conversation_info' }, + { name: 'contact_attributes' }, + { name: 'previous_conversation' }, + ]); + }); + }); + describe('#contactSidebarItemsOrder', () => { + it('returns correct values', () => { + const Component = { + render() {}, + title: 'TestComponent', + mixins: [uiSettingsMixin], + }; + const wrapper = shallowMount(Component, { store, localVue }); + expect(wrapper.vm.contactSidebarItemsOrder).toEqual([ + { name: 'contact_attributes' }, + { name: 'contact_labels' }, + { name: 'previous_conversation' }, + ]); + }); + }); }); diff --git a/app/javascript/dashboard/mixins/uiSettings.js b/app/javascript/dashboard/mixins/uiSettings.js index 3518f4497707..e265975e1cad 100644 --- a/app/javascript/dashboard/mixins/uiSettings.js +++ b/app/javascript/dashboard/mixins/uiSettings.js @@ -1,10 +1,28 @@ import { mapGetters } from 'vuex'; - +export const DEFAULT_CONVERSATION_SIDEBAR_ITEMS_ORDER = [ + { name: 'conversation_actions' }, + { name: 'conversation_info' }, + { name: 'contact_attributes' }, + { name: 'previous_conversation' }, +]; +export const DEFAULT_CONTACT_SIDEBAR_ITEMS_ORDER = [ + { name: 'contact_attributes' }, + { name: 'contact_labels' }, + { name: 'previous_conversation' }, +]; export default { computed: { ...mapGetters({ uiSettings: 'getUISettings', }), + conversationSidebarItemsOrder() { + const { conversation_sidebar_items_order: itemsOrder } = this.uiSettings; + return itemsOrder || DEFAULT_CONVERSATION_SIDEBAR_ITEMS_ORDER; + }, + contactSidebarItemsOrder() { + const { contact_sidebar_items_order: itemsOrder } = this.uiSettings; + return itemsOrder || DEFAULT_CONTACT_SIDEBAR_ITEMS_ORDER; + }, }, methods: { updateUISettings(uiSettings = {}) { diff --git a/app/javascript/dashboard/modules/contact/components/ManageLayout.vue b/app/javascript/dashboard/modules/contact/components/ManageLayout.vue deleted file mode 100644 index 239a190f138a..000000000000 --- a/app/javascript/dashboard/modules/contact/components/ManageLayout.vue +++ /dev/null @@ -1,74 +0,0 @@ - - - - - diff --git a/app/javascript/dashboard/modules/notes/NotesOnContactPage.vue b/app/javascript/dashboard/modules/notes/NotesOnContactPage.vue index 256f9435e40f..6ce3d9c1a549 100644 --- a/app/javascript/dashboard/modules/notes/NotesOnContactPage.vue +++ b/app/javascript/dashboard/modules/notes/NotesOnContactPage.vue @@ -1,8 +1,14 @@ - - diff --git a/app/javascript/dashboard/routes/dashboard/Dashboard.vue b/app/javascript/dashboard/routes/dashboard/Dashboard.vue index 1b0744bbdf3f..123863eb7daf 100644 --- a/app/javascript/dashboard/routes/dashboard/Dashboard.vue +++ b/app/javascript/dashboard/routes/dashboard/Dashboard.vue @@ -3,16 +3,19 @@
+
+ + diff --git a/app/javascript/dashboard/routes/dashboard/commands/conversationHotKeys.js b/app/javascript/dashboard/routes/dashboard/commands/conversationHotKeys.js new file mode 100644 index 000000000000..4d1e1cfd7377 --- /dev/null +++ b/app/javascript/dashboard/routes/dashboard/commands/conversationHotKeys.js @@ -0,0 +1,277 @@ +import { mapGetters } from 'vuex'; +import wootConstants from '../../../constants'; +import { + CMD_MUTE_CONVERSATION, + CMD_REOPEN_CONVERSATION, + CMD_RESOLVE_CONVERSATION, + CMD_SEND_TRANSCRIPT, + CMD_SNOOZE_CONVERSATION, + CMD_UNMUTE_CONVERSATION, +} from './commandBarBusEvents'; + +import { + ICON_ADD_LABEL, + ICON_ASSIGN_AGENT, + ICON_ASSIGN_TEAM, + ICON_MUTE_CONVERSATION, + ICON_REMOVE_LABEL, + ICON_REOPEN_CONVERSATION, + ICON_RESOLVE_CONVERSATION, + ICON_SEND_TRANSCRIPT, + ICON_SNOOZE_CONVERSATION, + ICON_SNOOZE_UNTIL_NEXT_REPLY, + ICON_SNOOZE_UNTIL_NEXT_WEEK, + ICON_SNOOZE_UNTIL_TOMORRROW, + ICON_UNMUTE_CONVERSATION, +} from './CommandBarIcons'; + +const OPEN_CONVERSATION_ACTIONS = [ + { + id: 'resolve_conversation', + title: 'COMMAND_BAR.COMMANDS.RESOLVE_CONVERSATION', + section: 'COMMAND_BAR.SECTIONS.CONVERSATION', + icon: ICON_RESOLVE_CONVERSATION, + handler: () => bus.$emit(CMD_RESOLVE_CONVERSATION), + }, + { + id: 'snooze_conversation', + title: 'COMMAND_BAR.COMMANDS.SNOOZE_CONVERSATION', + icon: ICON_SNOOZE_CONVERSATION, + children: ['until_next_reply', 'until_tomorrow', 'until_next_week'], + }, + { + id: 'until_next_reply', + title: 'COMMAND_BAR.COMMANDS.UNTIL_NEXT_REPLY', + parent: 'snooze_conversation', + icon: ICON_SNOOZE_UNTIL_NEXT_REPLY, + handler: () => bus.$emit(CMD_SNOOZE_CONVERSATION, 'nextReply'), + }, + { + id: 'until_tomorrow', + title: 'COMMAND_BAR.COMMANDS.UNTIL_TOMORROW', + parent: 'snooze_conversation', + icon: ICON_SNOOZE_UNTIL_TOMORRROW, + handler: () => bus.$emit(CMD_SNOOZE_CONVERSATION, 'tomorrow'), + }, + { + id: 'until_next_week', + title: 'COMMAND_BAR.COMMANDS.UNTIL_NEXT_WEEK', + parent: 'snooze_conversation', + icon: ICON_SNOOZE_UNTIL_NEXT_WEEK, + handler: () => bus.$emit(CMD_SNOOZE_CONVERSATION, 'nextWeek'), + }, +]; + +const RESOLVED_CONVERSATION_ACTIONS = [ + { + id: 'reopen_conversation', + title: 'COMMAND_BAR.COMMANDS.REOPEN_CONVERSATION', + section: 'COMMAND_BAR.SECTIONS.CONVERSATION', + icon: ICON_REOPEN_CONVERSATION, + handler: () => bus.$emit(CMD_REOPEN_CONVERSATION), + }, +]; + +const SEND_TRANSCRIPT_ACTION = { + id: 'send_transcript', + title: 'COMMAND_BAR.COMMANDS.SEND_TRANSCRIPT', + section: 'COMMAND_BAR.SECTIONS.CONVERSATION', + icon: ICON_SEND_TRANSCRIPT, + handler: () => bus.$emit(CMD_SEND_TRANSCRIPT), +}; + +const UNMUTE_ACTION = { + id: 'unmute_conversation', + title: 'COMMAND_BAR.COMMANDS.UNMUTE_CONVERSATION', + section: 'COMMAND_BAR.SECTIONS.CONVERSATION', + icon: ICON_UNMUTE_CONVERSATION, + handler: () => bus.$emit(CMD_UNMUTE_CONVERSATION), +}; + +const MUTE_ACTION = { + id: 'mute_conversation', + title: 'COMMAND_BAR.COMMANDS.MUTE_CONVERSATION', + section: 'COMMAND_BAR.SECTIONS.CONVERSATION', + icon: ICON_MUTE_CONVERSATION, + handler: () => bus.$emit(CMD_MUTE_CONVERSATION), +}; + +export const isAConversationRoute = routeName => + [ + 'inbox_conversation', + 'conversation_through_inbox', + 'conversations_through_label', + 'conversations_through_team', + ].includes(routeName); + +export default { + watch: { + assignableAgents() { + this.setCommandbarData(); + }, + currentChat() { + this.setCommandbarData(); + }, + teamsList() { + this.setCommandbarData(); + }, + activeLabels() { + this.setCommandbarData(); + }, + }, + computed: { + ...mapGetters({ currentChat: 'getSelectedChat' }), + inboxId() { + return this.currentChat?.inbox_id; + }, + conversationId() { + return this.currentChat?.id; + }, + statusActions() { + const isOpen = + this.currentChat?.status === wootConstants.STATUS_TYPE.OPEN; + const isSnoozed = + this.currentChat?.status === wootConstants.STATUS_TYPE.SNOOZED; + const isResolved = + this.currentChat?.status === wootConstants.STATUS_TYPE.RESOLVED; + + let actions = []; + if (isOpen) { + actions = OPEN_CONVERSATION_ACTIONS; + } else if (isResolved || isSnoozed) { + actions = RESOLVED_CONVERSATION_ACTIONS; + } + return this.prepareActions(actions); + }, + assignAgentActions() { + const agentOptions = this.agentsList.map(agent => ({ + id: `agent-${agent.id}`, + title: agent.name, + parent: 'assign_an_agent', + section: this.$t('COMMAND_BAR.SECTIONS.CHANGE_ASSIGNEE'), + agentInfo: agent, + icon: ICON_ASSIGN_AGENT, + handler: this.onChangeAssignee, + })); + return [ + { + id: 'assign_an_agent', + title: this.$t('COMMAND_BAR.COMMANDS.ASSIGN_AN_AGENT'), + section: this.$t('COMMAND_BAR.SECTIONS.CONVERSATION'), + icon: ICON_ASSIGN_AGENT, + children: agentOptions.map(option => option.id), + }, + ...agentOptions, + ]; + }, + assignTeamActions() { + const teamOptions = this.teamsList.map(team => ({ + id: `team-${team.id}`, + title: team.name, + parent: 'assign_a_team', + section: this.$t('COMMAND_BAR.SECTIONS.CHANGE_TEAM'), + teamInfo: team, + icon: ICON_ASSIGN_TEAM, + handler: this.onChangeTeam, + })); + return [ + { + id: 'assign_a_team', + title: this.$t('COMMAND_BAR.COMMANDS.ASSIGN_A_TEAM'), + section: this.$t('COMMAND_BAR.SECTIONS.CONVERSATION'), + icon: ICON_ASSIGN_TEAM, + children: teamOptions.map(option => option.id), + }, + ...teamOptions, + ]; + }, + + addLabelActions() { + const availableLabels = this.inactiveLabels.map(label => ({ + id: label.title, + title: `#${label.title}`, + parent: 'add_a_label_to_the_conversation', + section: this.$t('COMMAND_BAR.SECTIONS.ADD_LABEL'), + icon: ICON_ADD_LABEL, + handler: action => this.addLabelToConversation({ title: action.id }), + })); + return [ + ...availableLabels, + { + id: 'add_a_label_to_the_conversation', + title: this.$t('COMMAND_BAR.COMMANDS.ADD_LABELS_TO_CONVERSATION'), + section: this.$t('COMMAND_BAR.SECTIONS.CONVERSATION'), + icon: ICON_ADD_LABEL, + children: this.inactiveLabels.map(label => label.title), + }, + ]; + }, + removeLabelActions() { + const activeLabels = this.activeLabels.map(label => ({ + id: label.title, + title: `#${label.title}`, + parent: 'remove_a_label_to_the_conversation', + section: this.$t('COMMAND_BAR.SECTIONS.REMOVE_LABEL'), + icon: ICON_REMOVE_LABEL, + handler: action => this.removeLabelFromConversation(action.id), + })); + return [ + ...activeLabels, + { + id: 'remove_a_label_to_the_conversation', + title: this.$t('COMMAND_BAR.COMMANDS.REMOVE_LABEL_FROM_CONVERSATION'), + section: this.$t('COMMAND_BAR.SECTIONS.CONVERSATION'), + icon: ICON_REMOVE_LABEL, + children: this.activeLabels.map(label => label.title), + }, + ]; + }, + labelActions() { + if (this.activeLabels.length) { + return [...this.addLabelActions, ...this.removeLabelActions]; + } + return this.addLabelActions; + }, + conversationAdditionalActions() { + return this.prepareActions([ + this.currentChat.muted ? UNMUTE_ACTION : MUTE_ACTION, + SEND_TRANSCRIPT_ACTION, + ]); + }, + conversationHotKeys() { + if (isAConversationRoute(this.$route.name)) { + return [ + ...this.statusActions, + ...this.conversationAdditionalActions, + ...this.assignAgentActions, + ...this.assignTeamActions, + ...this.labelActions, + ]; + } + + return []; + }, + }, + + methods: { + onChangeAssignee(action) { + this.$store.dispatch('assignAgent', { + conversationId: this.currentChat.id, + agentId: action.agentInfo.id, + }); + }, + onChangeTeam(action) { + this.$store.dispatch('assignTeam', { + conversationId: this.currentChat.id, + teamId: action.teamInfo.id, + }); + }, + prepareActions(actions) { + return actions.map(action => ({ + ...action, + title: this.$t(action.title), + section: this.$t(action.section), + })); + }, + }, +}; diff --git a/app/javascript/dashboard/routes/dashboard/commands/goToCommandHotKeys.js b/app/javascript/dashboard/routes/dashboard/commands/goToCommandHotKeys.js new file mode 100644 index 000000000000..5fee0f6f2535 --- /dev/null +++ b/app/javascript/dashboard/routes/dashboard/commands/goToCommandHotKeys.js @@ -0,0 +1,173 @@ +import { + ICON_ACCOUNT_SETTINGS, + ICON_AGENT_REPORTS, + ICON_APPS, + ICON_CANNED_RESPONSE, + ICON_CONTACT_DASHBOARD, + ICON_CONVERSATION_DASHBOARD, + ICON_INBOXES, + ICON_INBOX_REPORTS, + ICON_LABELS, + ICON_LABEL_REPORTS, + ICON_NOTIFICATION, + ICON_REPORTS_OVERVIEW, + ICON_TEAM_REPORTS, + ICON_USER_PROFILE, +} from './CommandBarIcons'; +import { frontendURL } from '../../../helper/URLHelper'; + +const GO_TO_COMMANDS = [ + { + id: 'goto_conversation_dashboard', + title: 'COMMAND_BAR.COMMANDS.GO_TO_CONVERSATION_DASHBOARD', + section: 'COMMAND_BAR.SECTIONS.GENERAL', + icon: ICON_CONVERSATION_DASHBOARD, + path: accountId => `accounts/${accountId}/dashboard`, + role: ['administrator', 'agent'], + }, + { + id: 'goto_contacts_dashboard', + title: 'COMMAND_BAR.COMMANDS.GO_TO_CONTACTS_DASHBOARD', + section: 'COMMAND_BAR.SECTIONS.GENERAL', + icon: ICON_CONTACT_DASHBOARD, + path: accountId => `accounts/${accountId}/contacts`, + role: ['administrator', 'agent'], + }, + { + id: 'open_reports_overview', + section: 'COMMAND_BAR.SECTIONS.REPORTS', + title: 'COMMAND_BAR.COMMANDS.GO_TO_REPORTS_OVERVIEW', + icon: ICON_REPORTS_OVERVIEW, + path: accountId => `accounts/${accountId}/reports/overview`, + role: ['administrator'], + }, + { + id: 'open_agent_reports', + section: 'COMMAND_BAR.SECTIONS.REPORTS', + title: 'COMMAND_BAR.COMMANDS.GO_TO_AGENT_REPORTS', + icon: ICON_AGENT_REPORTS, + path: accountId => `accounts/${accountId}/reports/agent`, + role: ['administrator'], + }, + { + id: 'open_label_reports', + section: 'COMMAND_BAR.SECTIONS.REPORTS', + title: 'COMMAND_BAR.COMMANDS.GO_TO_LABEL_REPORTS', + icon: ICON_LABEL_REPORTS, + path: accountId => `accounts/${accountId}/reports/label`, + role: ['administrator'], + }, + { + id: 'open_inbox_reports', + section: 'COMMAND_BAR.SECTIONS.REPORTS', + title: 'COMMAND_BAR.COMMANDS.GO_TO_INBOX_REPORTS', + icon: ICON_INBOX_REPORTS, + path: accountId => `accounts/${accountId}/reports/inboxes`, + role: ['administrator'], + }, + { + id: 'open_team_reports', + section: 'COMMAND_BAR.SECTIONS.REPORTS', + title: 'COMMAND_BAR.COMMANDS.GO_TO_TEAM_REPORTS', + icon: ICON_TEAM_REPORTS, + path: accountId => `accounts/${accountId}/reports/teams`, + role: ['administrator'], + }, + { + id: 'open_agent_settings', + section: 'COMMAND_BAR.SECTIONS.SETTINGS', + title: 'COMMAND_BAR.COMMANDS.GO_TO_SETTINGS_AGENTS', + icon: ICON_AGENT_REPORTS, + path: accountId => `accounts/${accountId}/settings/agents/list`, + role: ['administrator'], + }, + { + id: 'open_team_settings', + title: 'COMMAND_BAR.COMMANDS.GO_TO_SETTINGS_TEAMS', + section: 'COMMAND_BAR.SECTIONS.SETTINGS', + icon: ICON_TEAM_REPORTS, + path: accountId => `accounts/${accountId}/settings/teams/list`, + role: ['administrator'], + }, + { + id: 'open_inbox_settings', + title: 'COMMAND_BAR.COMMANDS.GO_TO_SETTINGS_INBOXES', + section: 'COMMAND_BAR.SECTIONS.SETTINGS', + icon: ICON_INBOXES, + path: accountId => `accounts/${accountId}/settings/inboxes/list`, + role: ['administrator'], + }, + { + id: 'open_label_settings', + title: 'COMMAND_BAR.COMMANDS.GO_TO_SETTINGS_LABELS', + section: 'COMMAND_BAR.SECTIONS.SETTINGS', + icon: ICON_LABELS, + path: accountId => `accounts/${accountId}/settings/labels/list`, + role: ['administrator'], + }, + { + id: 'open_canned_response_settings', + title: 'COMMAND_BAR.COMMANDS.GO_TO_SETTINGS_CANNED_RESPONSES', + section: 'COMMAND_BAR.SECTIONS.SETTINGS', + icon: ICON_CANNED_RESPONSE, + path: accountId => `accounts/${accountId}/settings/canned-response/list`, + role: ['administrator', 'agent'], + }, + { + id: 'open_applications_settings', + title: 'COMMAND_BAR.COMMANDS.GO_TO_SETTINGS_APPLICATIONS', + section: 'COMMAND_BAR.SECTIONS.SETTINGS', + icon: ICON_APPS, + path: accountId => `accounts/${accountId}/settings/applications`, + role: ['administrator'], + }, + { + id: 'open_account_settings', + title: 'COMMAND_BAR.COMMANDS.GO_TO_SETTINGS_ACCOUNT', + section: 'COMMAND_BAR.SECTIONS.SETTINGS', + icon: ICON_ACCOUNT_SETTINGS, + path: accountId => `accounts/${accountId}/settings/general`, + role: ['administrator'], + }, + { + id: 'open_profile_settings', + title: 'COMMAND_BAR.COMMANDS.GO_TO_SETTINGS_PROFILE', + section: 'COMMAND_BAR.SECTIONS.SETTINGS', + icon: ICON_USER_PROFILE, + path: accountId => `accounts/${accountId}/profile/settings`, + role: ['administrator', 'agent'], + }, + { + id: 'open_notifications', + title: 'COMMAND_BAR.COMMANDS.GO_TO_NOTIFICATIONS', + section: 'COMMAND_BAR.SECTIONS.SETTINGS', + icon: ICON_NOTIFICATION, + path: accountId => `accounts/${accountId}/notifications`, + role: ['administrator', 'agent'], + }, +]; + +export default { + computed: { + goToCommandHotKeys() { + let commands = GO_TO_COMMANDS; + + if (!this.isAdmin) { + commands = commands.filter(command => command.role.includes('agent')); + } + + return commands.map(command => ({ + id: command.id, + section: this.$t(command.section), + title: this.$t(command.title), + icon: command.icon, + handler: () => this.openRoute(command.path(this.accountId)), + })); + }, + }, + methods: { + openRoute(url) { + this.$router.push(frontendURL(url)); + }, + }, +}; diff --git a/app/javascript/dashboard/routes/dashboard/commands/specs/conversationHotKeys.spec.js b/app/javascript/dashboard/routes/dashboard/commands/specs/conversationHotKeys.spec.js new file mode 100644 index 000000000000..a7dd197fd1c9 --- /dev/null +++ b/app/javascript/dashboard/routes/dashboard/commands/specs/conversationHotKeys.spec.js @@ -0,0 +1,11 @@ +import { isAConversationRoute } from '../conversationHotKeys'; + +describe('isAConversationRoute', () => { + it('returns true if conversation route name is provided', () => { + expect(isAConversationRoute('inbox_conversation')).toBe(true); + expect(isAConversationRoute('conversation_through_inbox')).toBe(true); + expect(isAConversationRoute('conversations_through_label')).toBe(true); + expect(isAConversationRoute('conversations_through_team')).toBe(true); + expect(isAConversationRoute('dashboard')).toBe(false); + }); +}); diff --git a/app/javascript/dashboard/routes/dashboard/contacts/components/ContactInfoPanel.vue b/app/javascript/dashboard/routes/dashboard/contacts/components/ContactInfoPanel.vue index 47d48d96935d..647baf65a335 100644 --- a/app/javascript/dashboard/routes/dashboard/contacts/components/ContactInfoPanel.vue +++ b/app/javascript/dashboard/routes/dashboard/contacts/components/ContactInfoPanel.vue @@ -1,55 +1,104 @@ @@ -85,7 +156,7 @@ export default { overflow-y: auto; overflow: auto; position: relative; - border-left: 1px solid var(--color-border); + border-right: 1px solid var(--color-border); } .close-button { @@ -94,6 +165,7 @@ export default { top: 3.6rem; font-size: var(--font-size-big); color: var(--s-500); + z-index: 1; .close-icon { margin-right: var(--space-smaller); diff --git a/app/javascript/dashboard/routes/dashboard/contacts/components/ContactsTable.vue b/app/javascript/dashboard/routes/dashboard/contacts/components/ContactsTable.vue index 0cc41d17e93e..f3d27032a8fc 100644 --- a/app/javascript/dashboard/routes/dashboard/contacts/components/ContactsTable.vue +++ b/app/javascript/dashboard/routes/dashboard/contacts/components/ContactsTable.vue @@ -28,6 +28,7 @@ diff --git a/app/javascript/dashboard/routes/dashboard/contacts/routes.js b/app/javascript/dashboard/routes/dashboard/contacts/routes.js index b8b129435260..054b16d7cf63 100644 --- a/app/javascript/dashboard/routes/dashboard/contacts/routes.js +++ b/app/javascript/dashboard/routes/dashboard/contacts/routes.js @@ -21,7 +21,7 @@ export const routes = [ }, { path: frontendURL('accounts/:accountId/contacts/:contactId'), - name: 'contacts_dashboard_manage', + name: 'contact_profile_dashboard', roles: ['administrator', 'agent'], component: ContactManageView, props: route => { diff --git a/app/javascript/dashboard/routes/dashboard/conversation/ContactConversations.vue b/app/javascript/dashboard/routes/dashboard/conversation/ContactConversations.vue index 8de144be7348..c4a4b9117552 100644 --- a/app/javascript/dashboard/routes/dashboard/conversation/ContactConversations.vue +++ b/app/javascript/dashboard/routes/dashboard/conversation/ContactConversations.vue @@ -74,8 +74,4 @@ export default { margin-bottom: var(--space-normal); color: var(--b-500); } - -.conv-details--item { - padding-bottom: 0; -} diff --git a/app/javascript/dashboard/routes/dashboard/conversation/ContactCustomAttributes.vue b/app/javascript/dashboard/routes/dashboard/conversation/ContactCustomAttributes.vue index 0b27497000aa..6f73aa51ef9a 100644 --- a/app/javascript/dashboard/routes/dashboard/conversation/ContactCustomAttributes.vue +++ b/app/javascript/dashboard/routes/dashboard/conversation/ContactCustomAttributes.vue @@ -61,10 +61,6 @@ export default { margin-bottom: var(--space-normal); } -.conv-details--item { - padding-bottom: 0; -} - .custom-attribute--row__attribute { font-weight: 500; } diff --git a/app/javascript/dashboard/routes/dashboard/conversation/ContactDetailsItem.vue b/app/javascript/dashboard/routes/dashboard/conversation/ContactDetailsItem.vue index f84f0e3fb5af..c2987fe9cbcb 100644 --- a/app/javascript/dashboard/routes/dashboard/conversation/ContactDetailsItem.vue +++ b/app/javascript/dashboard/routes/dashboard/conversation/ContactDetailsItem.vue @@ -1,9 +1,8 @@ @@ -34,6 +29,12 @@ export default { diff --git a/app/javascript/dashboard/routes/dashboard/conversation/ContactPanel.vue b/app/javascript/dashboard/routes/dashboard/conversation/ContactPanel.vue index 8d30ac9442cd..b5bfa487a421 100644 --- a/app/javascript/dashboard/routes/dashboard/conversation/ContactPanel.vue +++ b/app/javascript/dashboard/routes/dashboard/conversation/ContactPanel.vue @@ -4,181 +4,124 @@ -
- -
-
- - - - + +
+
+ + +
+
+ + > + + +
-
- - + + + +
+
+ + > + +
- -
- -
- - -
- - - - - - - {{ referer }} - - - -
-
- - - - - - + +
diff --git a/app/javascript/dashboard/routes/dashboard/conversation/ConversationInfo.vue b/app/javascript/dashboard/routes/dashboard/conversation/ConversationInfo.vue new file mode 100644 index 000000000000..60ddc1c1cc26 --- /dev/null +++ b/app/javascript/dashboard/routes/dashboard/conversation/ConversationInfo.vue @@ -0,0 +1,144 @@ + + + + diff --git a/app/javascript/dashboard/routes/dashboard/conversation/contact/ContactInfo.vue b/app/javascript/dashboard/routes/dashboard/conversation/contact/ContactInfo.vue index 829b28e18dba..eece99e3211a 100644 --- a/app/javascript/dashboard/routes/dashboard/conversation/contact/ContactInfo.vue +++ b/app/javascript/dashboard/routes/dashboard/conversation/contact/ContactInfo.vue @@ -2,6 +2,7 @@
-

- {{ contact.name }} +

+ + {{ contact.name }} + +

{{ additionalAttributes.description }} @@ -25,7 +34,6 @@ :title="$t('CONTACT_PANEL.EMAIL_ADDRESS')" show-copy /> - - +

@@ -137,6 +145,7 @@ import ContactMergeModal from 'dashboard/modules/contact/ContactMergeModal'; import alertMixin from 'shared/mixins/alertMixin'; import adminMixin from '../../../../mixins/isAdmin'; import { mapGetters } from 'vuex'; +import flag from 'country-code-emoji'; export default { components: { @@ -161,6 +170,10 @@ export default { type: Boolean, default: false, }, + showAvatar: { + type: Boolean, + default: true, + }, }, data() { return { @@ -172,9 +185,26 @@ export default { }, computed: { ...mapGetters({ uiFlags: 'contacts/getUIFlags' }), + contactProfileLink() { + return `/app/accounts/${this.$route.params.accountId}/contacts/${this.contact.id}`; + }, additionalAttributes() { return this.contact.additional_attributes || {}; }, + location() { + const { + country = '', + city = '', + country_code: countryCode, + } = this.additionalAttributes; + const cityAndCountry = [city, country].filter(item => !!item).join(', '); + + if (!cityAndCountry) { + return ''; + } + const countryFlag = countryCode ? flag(countryCode) : '🌎'; + return `${cityAndCountry} ${countryFlag}`; + }, socialProfiles() { const { social_profiles: socialProfiles, @@ -266,10 +296,20 @@ export default { .contact--name { text-transform: capitalize; white-space: normal; + + a { + color: var(--color-body); + } + + .open-link--icon { + color: var(--color-body); + font-size: var(--font-size-small); + margin-left: var(--space-smaller); + } } .contact--metadata { - margin-bottom: var(--space-small); + margin-bottom: var(--space-slab); } .contact-actions { diff --git a/app/javascript/dashboard/routes/dashboard/conversation/contact/ConversationForm.vue b/app/javascript/dashboard/routes/dashboard/conversation/contact/ConversationForm.vue index 75e333a7384f..22acd84e5362 100644 --- a/app/javascript/dashboard/routes/dashboard/conversation/contact/ConversationForm.vue +++ b/app/javascript/dashboard/routes/dashboard/conversation/contact/ConversationForm.vue @@ -41,6 +41,22 @@
+
+
+ +
+
@@ -46,6 +46,7 @@ import Spinner from 'shared/components/Spinner'; import LabelDropdown from 'shared/components/ui/label/LabelDropdown'; import AddLabel from 'shared/components/ui/dropdown/AddLabel'; import { mixin as clickaway } from 'vue-clickaway'; +import conversationLabelMixin from 'dashboard/mixins/conversation/labelMixin'; export default { components: { @@ -54,7 +55,7 @@ export default { AddLabel, }, - mixins: [clickaway], + mixins: [clickaway, conversationLabelMixin], props: { conversationId: { type: Number, @@ -70,77 +71,18 @@ export default { }, computed: { - savedLabels() { - return this.$store.getters['conversationLabels/getConversationLabels']( - this.conversationId - ); - }, - ...mapGetters({ conversationUiFlags: 'conversationLabels/getUIFlags', labelUiFlags: 'conversationLabels/getUIFlags', - accountLabels: 'labels/getLabels', }), - - activeLabels() { - return this.accountLabels.filter(({ title }) => - this.savedLabels.includes(title) - ); - }, }, - - watch: { - conversationId(newConversationId, prevConversationId) { - if (newConversationId && newConversationId !== prevConversationId) { - this.fetchLabels(newConversationId); - } - }, - }, - - mounted() { - const { conversationId } = this; - this.fetchLabels(conversationId); - }, - methods: { - async onUpdateLabels(selectedLabels) { - try { - await this.$store.dispatch('conversationLabels/update', { - conversationId: this.conversationId, - labels: selectedLabels, - }); - } catch (error) { - // Ignore error - } - }, - toggleLabels() { this.showSearchDropdownLabel = !this.showSearchDropdownLabel; }, - - addItem(value) { - const result = this.activeLabels.map(item => item.title); - result.push(value.title); - this.onUpdateLabels(result); - }, - - removeItem(value) { - const result = this.activeLabels - .map(label => label.title) - .filter(label => label !== value); - this.onUpdateLabels(result); - }, - closeDropdownLabel() { this.showSearchDropdownLabel = false; }, - - async fetchLabels(conversationId) { - if (!conversationId) { - return; - } - this.$store.dispatch('conversationLabels/get', conversationId); - }, }, }; diff --git a/app/javascript/dashboard/routes/dashboard/settings/SettingsHeader.vue b/app/javascript/dashboard/routes/dashboard/settings/SettingsHeader.vue index c43577a96a8a..2f91e70875f7 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/SettingsHeader.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/SettingsHeader.vue @@ -2,8 +2,13 @@

- - + + + {{ headerTitle }}

-
+
+