diff --git a/.env.example b/.env.example index 4fe8ec3c8..7c5299bad 100644 --- a/.env.example +++ b/.env.example @@ -18,7 +18,7 @@ FORCE_SSL=false # true : default option, allows sign ups # false : disables all the end points related to sign ups # api_only: disables the UI for signup, but you can create sign ups via the account apis -ENABLE_ACCOUNT_SIGNUP=true +ENABLE_ACCOUNT_SIGNUP=false # Redis config REDIS_URL=redis://redis:6379 @@ -110,6 +110,12 @@ SLACK_CLIENT_SECRET= ## Mobile app env variables IOS_APP_ID=6C953F3RX2.com.chatwoot.app + +### Smart App Banner +# https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/PromotingAppswithAppBanners/PromotingAppswithAppBanners.html +# You can find your app-id in https://itunesconnect.apple.com +#IOS_APP_IDENTIFIER=1495796682 + ## Push Notification ## generate a new key value here : https://d3v.one/vapid-key-generator/ # VAPID_PUBLIC_KEY= diff --git a/.gitignore b/.gitignore index 0c71b2055..e4b14d2f5 100644 --- a/.gitignore +++ b/.gitignore @@ -60,3 +60,6 @@ package-lock.json # cypress test/cypress/videos/* + +/config/master.key +/config/*.enc \ No newline at end of file diff --git a/.rubocop.yml b/.rubocop.yml index 9cd50a44f..01951faea 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -11,6 +11,8 @@ Metrics/ClassLength: Max: 125 Exclude: - 'app/models/conversation.rb' + - 'app/mailers/conversation_reply_mailer.rb' + - 'app/models/message.rb' RSpec/ExampleLength: Max: 25 Style/Documentation: @@ -48,6 +50,7 @@ Rails/ApplicationController: - 'app/controllers/dashboard_controller.rb' - 'app/controllers/widget_tests_controller.rb' - 'app/controllers/widgets_controller.rb' + - 'app/controllers/platform_controller.rb' Style/ClassAndModuleChildren: EnforcedStyle: compact Exclude: diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 2d3abda7f..4d66828c3 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -6,13 +6,6 @@ # Note that changes in the inspected code, or installation of new # versions of RuboCop, may require this file to be generated again. -# Offense count: 1 -# Configuration parameters: EnforcedStyle. -# SupportedStyles: native, lf, crlf -Layout/EndOfLine: - Exclude: - - 'deploy/after_restart.rb' - # Offense count: 1 Lint/DuplicateMethods: Exclude: diff --git a/Gemfile b/Gemfile index 88f2fc75c..7e7e6ea97 100644 --- a/Gemfile +++ b/Gemfile @@ -29,6 +29,8 @@ gem 'flag_shih_tzu' gem 'haikunator' # Template parsing safetly gem 'liquid' +# Parse Markdown to HTML +gem 'redcarpet' ##-- for active storage --## gem 'aws-sdk-s3', require: false @@ -85,6 +87,8 @@ gem 'sentry-raven' ##-- background job processing --## gem 'sidekiq' +# We want cron jobs +gem 'sidekiq-cron' ##-- Push notification service --## gem 'fcm' @@ -96,6 +100,9 @@ gem 'geocoder' # to parse maxmind db gem 'maxminddb' +# to create db triggers +gem 'hairtrigger' + group :development do gem 'annotate' gem 'bullet' diff --git a/Gemfile.lock b/Gemfile.lock index d6692e402..d9da65980 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -115,13 +115,14 @@ GEM descendants_tracker (~> 0.0.4) ice_nine (~> 0.11.0) thread_safe (~> 0.3, >= 0.3.1) - azure-storage-blob (2.0.0) + azure-storage-blob (2.0.1) azure-storage-common (~> 2.0) - nokogiri (~> 1.10.4) - azure-storage-common (2.0.1) + nokogiri (~> 1.11.0.rc2) + azure-storage-common (2.0.2) faraday (~> 1.0) faraday_middleware (~> 1.0.0.rc1) - nokogiri (~> 1.10.4) + net-http-persistent (~> 4.0) + nokogiri (~> 1.11.0.rc2) barnes (0.0.8) multi_json (~> 1) statsd-ruby (~> 1.1) @@ -181,6 +182,8 @@ GEM railties (>= 3.2) equalizer (0.0.11) erubi (1.9.0) + et-orbi (1.2.4) + tzinfo execjs (2.7.0) facebook-messenger (1.5.0) httparty (~> 0.13, >= 0.13.7) @@ -198,9 +201,12 @@ GEM faraday (~> 1.0) fcm (1.0.2) faraday (~> 1.0.0) - ffi (1.13.1) + ffi (1.14.2) flag_shih_tzu (0.3.23) foreman (0.87.2) + fugit (1.4.1) + et-orbi (~> 1.1, >= 1.1.8) + raabro (~> 1.4) geocoder (1.6.3) gli (2.19.2) globalid (0.4.2) @@ -236,6 +242,10 @@ GEM groupdate (5.1.0) activesupport (>= 5) haikunator (1.1.0) + hairtrigger (0.2.23) + activerecord (>= 5.0, < 7) + ruby2ruby (~> 2.4) + ruby_parser (~> 3.10) hana (1.3.6) hashdiff (1.0.1) hashie (4.1.0) @@ -281,7 +291,7 @@ GEM letter_opener (1.7.0) launchy (~> 2.2) liquid (4.0.3) - listen (3.2.1) + listen (3.3.3) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) loofah (2.7.0) @@ -300,7 +310,7 @@ GEM mimemagic (0.3.5) mini_magick (4.10.1) mini_mime (1.0.2) - mini_portile2 (2.4.0) + mini_portile2 (2.5.0) minitest (5.14.2) momentjs-rails (2.20.1) railties (>= 3.1) @@ -308,10 +318,13 @@ GEM multi_json (1.15.0) multi_xml (0.6.0) multipart-post (2.1.1) + net-http-persistent (4.0.0) + connection_pool (~> 2.2) netrc (0.11.0) nio4r (2.5.4) - nokogiri (1.10.10) - mini_portile2 (~> 2.4.0) + nokogiri (1.11.0) + mini_portile2 (~> 2.5.0) + racc (~> 1.4) oauth (0.5.4) orm_adapter (0.5.0) os (1.1.1) @@ -329,6 +342,8 @@ GEM nio4r (~> 2.0) pundit (2.1.0) activesupport (>= 3.0.0) + raabro (1.4.0) + racc (1.5.2) rack (2.2.3) rack-cache (1.12.0) rack (>= 0.4) @@ -369,6 +384,7 @@ GEM rb-fsevent (0.10.4) rb-inotify (0.10.1) ffi (~> 1.0) + redcarpet (3.5.1) redis (4.2.1) redis-namespace (1.8.0) redis (>= 3.0.4) @@ -422,13 +438,19 @@ GEM parser (>= 2.7.1.4) rubocop-performance (1.7.1) rubocop (>= 0.82.0) - rubocop-rails (2.7.1) + rubocop-rails (2.8.1) activesupport (>= 4.2.0) rack (>= 1.1) rubocop (>= 0.87.0) rubocop-rspec (1.43.2) rubocop (~> 0.87) ruby-progressbar (1.10.1) + ruby2ruby (2.4.4) + ruby_parser (~> 3.1) + sexp_processor (~> 4.6) + ruby_parser (3.15.0) + rubocop (>= 0.87.0) + sexp_processor (~> 4.9) safe_yaml (1.0.5) sass (3.7.4) sass-listen (~> 4.0.0) @@ -454,12 +476,16 @@ GEM semantic_range (2.3.0) sentry-raven (3.0.3) faraday (>= 1.0) + sexp_processor (4.15.1) shoulda-matchers (4.4.1) activesupport (>= 4.2.0) sidekiq (6.1.1) connection_pool (>= 2.2.2) rack (~> 2.0) redis (>= 4.2.0) + sidekiq-cron (1.2.0) + fugit (~> 1.1) + sidekiq (>= 4.2.1) signet (0.14.0) addressable (~> 2.3) faraday (>= 0.17.3, < 2.0) @@ -506,7 +532,7 @@ GEM nokogiri (>= 1.6, < 2.0) twitty (0.1.1) oauth - tzinfo (1.2.7) + tzinfo (1.2.8) thread_safe (~> 0.1) tzinfo-data (1.2020.1) tzinfo (>= 1.0.0) @@ -549,7 +575,7 @@ GEM websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) wisper (2.0.0) - zeitwerk (2.4.0) + zeitwerk (2.4.1) PLATFORMS ruby @@ -584,6 +610,7 @@ DEPENDENCIES google-cloud-storage groupdate haikunator + hairtrigger hashie jbuilder json_refs! @@ -602,6 +629,7 @@ DEPENDENCIES pundit rack-cors rails + redcarpet redis redis-namespace redis-rack-cache @@ -618,6 +646,7 @@ DEPENDENCIES sentry-raven shoulda-matchers sidekiq + sidekiq-cron simplecov (= 0.17.1) slack-ruby-client spring diff --git a/LICENSE b/LICENSE index a33852dca..037ad7885 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2017-2020 ThoughtWoot Inc. +Copyright (c) 2017-2021 Chatwoot Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index a27754a70..bf868799f 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,7 @@ Detailed documentation is available at [www.chatwoot.com/help-center](https://ww ### Translation process -The translation process for Chatwoot web and mobile app is managed at [https://translate.chatwoot.com](https://translate.chatwoot.com) using Crowdin. Please read the [translation guide](https://www.chatwoot/docs/contributing/translating-chatwoot-to-your-language) for contributing to Chatwoot. +The translation process for Chatwoot web and mobile app is managed at [https://translate.chatwoot.com](https://translate.chatwoot.com) using Crowdin. Please read the [translation guide](https://www.chatwoot.com/docs/contributing/translating-chatwoot-to-your-language) for contributing to Chatwoot. --- @@ -98,4 +98,4 @@ Thanks goes to all these [wonderful people](https://www.chatwoot.com/docs/contri -*Chatwoot* © 2017-2020, ThoughtWoot Inc - Released under the MIT License. +*Chatwoot* © 2017-2021, Chatwoot Inc - Released under the MIT License. diff --git a/app.json b/app.json index b321e9b89..af1a496a4 100644 --- a/app.json +++ b/app.json @@ -11,7 +11,10 @@ "rails", "vue" ], - "success_url": "/app/login", + "success_url": "/", + "scripts": { + "postdeploy": "bundle exec rake db:seed" + }, "env": { "SECRET_TOKEN": { "description": "A secret key for verifying the integrity of signed cookies.", diff --git a/app/builders/account_builder.rb b/app/builders/account_builder.rb index 3d81a8e68..f7f94fada 100644 --- a/app/builders/account_builder.rb +++ b/app/builders/account_builder.rb @@ -2,7 +2,7 @@ class AccountBuilder include CustomExceptions::Account - pattr_initialize [:account_name!, :email!, :confirmed!, :user] + pattr_initialize [:account_name!, :email!, :confirmed!, :user, :user_full_name, :user_password] def perform if @user.nil? @@ -15,7 +15,6 @@ class AccountBuilder end [@user, @account] rescue StandardError => e - @account&.destroy puts e.inspect raise e end @@ -27,7 +26,7 @@ class AccountBuilder if address.valid? # && !address.disposable? true else - raise InvalidEmail.new(valid: address.valid?) # , disposable: address.disposable?}) + raise InvalidEmail.new(valid: address.valid?) end end @@ -61,18 +60,13 @@ class AccountBuilder ) end - def email_to_name(email) - name = email[/[^@]+/] - name.split('.').map(&:capitalize).join(' ') - end - def create_user - password = SecureRandom.alphanumeric(12) + password = user_password || SecureRandom.alphanumeric(12) @user = User.new(email: @email, password: password, password_confirmation: password, - name: email_to_name(@email)) + name: @user_full_name) @user.confirm if @confirmed @user.save! end diff --git a/app/builders/contact_builder.rb b/app/builders/contact_builder.rb index 3e362c9b5..dc15a299a 100644 --- a/app/builders/contact_builder.rb +++ b/app/builders/contact_builder.rb @@ -5,7 +5,7 @@ class ContactBuilder contact_inbox = inbox.contact_inboxes.find_by(source_id: source_id) return contact_inbox if contact_inbox - build_contact + build_contact_inbox end private @@ -26,16 +26,29 @@ class ContactBuilder ::ContactAvatarJob.perform_later(contact, contact_attributes[:avatar_url]) if contact_attributes[:avatar_url] end - def build_contact - ActiveRecord::Base.transaction do - contact = account.contacts.create!( - name: contact_attributes[:name], - phone_number: contact_attributes[:phone_number], - email: contact_attributes[:email], - identifier: contact_attributes[:identifier], - additional_attributes: contact_attributes[:additional_attributes] - ) + def create_contact + account.contacts.create!( + name: contact_attributes[:name], + phone_number: contact_attributes[:phone_number], + email: contact_attributes[:email], + identifier: contact_attributes[:identifier], + additional_attributes: contact_attributes[:additional_attributes] + ) + end + def find_contact + contact = nil + + contact = account.contacts.find_by(identifier: contact_attributes[:identifier]) if contact_attributes[:identifier].present? + + contact ||= account.contacts.find_by(email: contact_attributes[:email]) if contact_attributes[:email].present? + + contact + end + + def build_contact_inbox + ActiveRecord::Base.transaction do + contact = find_contact || create_contact contact_inbox = create_contact_inbox(contact) update_contact_avatar(contact) contact_inbox diff --git a/app/controllers/api/v1/accounts/contacts/labels_controller.rb b/app/controllers/api/v1/accounts/contacts/labels_controller.rb new file mode 100644 index 000000000..440c378f7 --- /dev/null +++ b/app/controllers/api/v1/accounts/contacts/labels_controller.rb @@ -0,0 +1,13 @@ +class Api::V1::Accounts::Contacts::LabelsController < Api::V1::Accounts::BaseController + include LabelConcern + + private + + def model + @model ||= Current.account.contacts.find(permitted_params[:contact_id]) + end + + def permitted_params + params.permit(:contact_id, labels: []) + end +end diff --git a/app/controllers/api/v1/accounts/conversations/labels_controller.rb b/app/controllers/api/v1/accounts/conversations/labels_controller.rb index 306544200..56b8029e3 100644 --- a/app/controllers/api/v1/accounts/conversations/labels_controller.rb +++ b/app/controllers/api/v1/accounts/conversations/labels_controller.rb @@ -1,11 +1,13 @@ class Api::V1::Accounts::Conversations::LabelsController < Api::V1::Accounts::Conversations::BaseController - def create - @conversation.update_labels(params[:labels]) - @labels = @conversation.label_list + include LabelConcern + + private + + def model + @model ||= @conversation end - # all labels of the current conversation - def index - @labels = @conversation.label_list + def permitted_params + params.permit(:conversation_id, labels: []) end end diff --git a/app/controllers/api/v1/accounts/conversations/messages_controller.rb b/app/controllers/api/v1/accounts/conversations/messages_controller.rb index 54cf7c595..8cfea20ba 100644 --- a/app/controllers/api/v1/accounts/conversations/messages_controller.rb +++ b/app/controllers/api/v1/accounts/conversations/messages_controller.rb @@ -11,9 +11,24 @@ class Api::V1::Accounts::Conversations::MessagesController < Api::V1::Accounts:: render_could_not_create_error(e.message) end + def destroy + ActiveRecord::Base.transaction do + message.update!(content: I18n.t('conversations.messages.deleted'), deleted: true) + message.attachments.destroy_all + end + end + private + def message + @message ||= @conversation.messages.find(permitted_params[:id]) + end + def message_finder @message_finder ||= MessageFinder.new(@conversation, params) end + + def permitted_params + params.permit(:id) + end end diff --git a/app/controllers/api/v1/accounts/conversations_controller.rb b/app/controllers/api/v1/accounts/conversations_controller.rb index 7642e94e3..5dddf8036 100644 --- a/app/controllers/api/v1/accounts/conversations_controller.rb +++ b/app/controllers/api/v1/accounts/conversations_controller.rb @@ -86,7 +86,8 @@ class Api::V1::Accounts::ConversationsController < Api::V1::Accounts::BaseContro account_id: Current.account.id, inbox_id: @contact_inbox.inbox_id, contact_id: @contact_inbox.contact_id, - contact_inbox_id: @contact_inbox.id + contact_inbox_id: @contact_inbox.id, + additional_attributes: params[:additional_attributes] } end diff --git a/app/controllers/api/v1/accounts/notifications_controller.rb b/app/controllers/api/v1/accounts/notifications_controller.rb index 8ae1629ca..49191caad 100644 --- a/app/controllers/api/v1/accounts/notifications_controller.rb +++ b/app/controllers/api/v1/accounts/notifications_controller.rb @@ -3,10 +3,12 @@ class Api::V1::Accounts::NotificationsController < Api::V1::Accounts::BaseContro before_action :fetch_notification, only: [:update] before_action :set_primary_actor, only: [:read_all] + before_action :set_current_page, only: [:index] def index @unread_count = current_user.notifications.where(account_id: current_account.id, read_at: nil).count - @notifications = current_user.notifications.where(account_id: current_account.id).page params[:page] + @count = notifications.count + @notifications = notifications.page @current_page end def read_all @@ -25,6 +27,11 @@ class Api::V1::Accounts::NotificationsController < Api::V1::Accounts::BaseContro render json: @notification end + def unread_count + @unread_count = current_user.notifications.where(account_id: current_account.id, read_at: nil).count + render json: @unread_count + end + private def set_primary_actor @@ -37,4 +44,12 @@ class Api::V1::Accounts::NotificationsController < Api::V1::Accounts::BaseContro def fetch_notification @notification = current_user.notifications.find(params[:id]) end + + def set_current_page + @current_page = params[:page] || 1 + end + + def notifications + @notifications ||= current_user.notifications.where(account_id: current_account.id) + end end diff --git a/app/controllers/api/v1/accounts/team_members_controller.rb b/app/controllers/api/v1/accounts/team_members_controller.rb new file mode 100644 index 000000000..32a792509 --- /dev/null +++ b/app/controllers/api/v1/accounts/team_members_controller.rb @@ -0,0 +1,24 @@ +class Api::V1::Accounts::TeamMembersController < Api::V1::Accounts::BaseController + before_action :fetch_team + before_action :check_authorization + + def index + @team_members = @team.team_members.map(&:user) + end + + def create + record = @team.team_members.find_or_create_by(user_id: params[:user_id]) + @team_member = record.user + end + + def destroy + @team.team_members.find_by(user_id: params[:user_id])&.destroy + head :ok + end + + private + + def fetch_team + @team = Current.account.teams.find(params[:team_id]) + end +end diff --git a/app/controllers/api/v1/accounts/teams_controller.rb b/app/controllers/api/v1/accounts/teams_controller.rb new file mode 100644 index 000000000..adfeed62e --- /dev/null +++ b/app/controllers/api/v1/accounts/teams_controller.rb @@ -0,0 +1,34 @@ +class Api::V1::Accounts::TeamsController < Api::V1::Accounts::BaseController + before_action :fetch_team, only: [:show, :update, :destroy] + before_action :check_authorization + + def index + @teams = Current.account.teams + end + + def show; end + + def create + @team = Current.account.teams.new(team_params) + @team.save! + end + + def update + @team.update!(team_params) + end + + def destroy + @team.destroy + head :ok + end + + private + + def fetch_team + @team = Current.account.teams.find(params[:id]) + end + + def team_params + params.require(:team).permit(:name, :description, :allow_auto_assign) + end +end diff --git a/app/controllers/api/v1/accounts_controller.rb b/app/controllers/api/v1/accounts_controller.rb index 51dcb1a57..8fbb56c19 100644 --- a/app/controllers/api/v1/accounts_controller.rb +++ b/app/controllers/api/v1/accounts_controller.rb @@ -16,6 +16,7 @@ class Api::V1::AccountsController < Api::BaseController def create @user, @account = AccountBuilder.new( account_name: account_params[:account_name], + user_full_name: account_params[:user_full_name], email: account_params[:email], confirmed: confirmed?, user: current_user @@ -29,6 +30,7 @@ class Api::V1::AccountsController < Api::BaseController end def show + @latest_chatwoot_version = ::Redis::Alfred.get(::Redis::Alfred::LATEST_CHATWOOT_VERSION) render 'api/v1/accounts/show.json' end @@ -54,7 +56,7 @@ class Api::V1::AccountsController < Api::BaseController end def account_params - params.permit(:account_name, :email, :name, :locale, :domain, :support_email, :auto_resolve_duration) + params.permit(:account_name, :email, :name, :locale, :domain, :support_email, :auto_resolve_duration, :user_full_name) end def check_signup_enabled diff --git a/app/controllers/api/v1/profiles_controller.rb b/app/controllers/api/v1/profiles_controller.rb index bda3e8c90..c59edfce0 100644 --- a/app/controllers/api/v1/profiles_controller.rb +++ b/app/controllers/api/v1/profiles_controller.rb @@ -23,7 +23,8 @@ class Api::V1::ProfilesController < Api::BaseController :password, :password_confirmation, :avatar, - :availability + :availability, + ui_settings: {} ) end end diff --git a/app/controllers/api/v1/widget/base_controller.rb b/app/controllers/api/v1/widget/base_controller.rb index 0227bd0ba..1d377d69d 100644 --- a/app/controllers/api/v1/widget/base_controller.rb +++ b/app/controllers/api/v1/widget/base_controller.rb @@ -7,7 +7,12 @@ class Api::V1::Widget::BaseController < ApplicationController private def conversations - @conversations = @contact_inbox.conversations.where(inbox_id: auth_token_params[:inbox_id]) + if @contact_inbox.hmac_verified? + verified_contact_inbox_ids = @contact.contact_inboxes.where(inbox_id: auth_token_params[:inbox_id], hmac_verified: true).map(&:id) + @conversations = @contact.conversations.where(contact_inbox_id: verified_contact_inbox_ids) + else + @conversations = @contact_inbox.conversations.where(inbox_id: auth_token_params[:inbox_id]) + end end def conversation diff --git a/app/controllers/api/v1/widget/contacts_controller.rb b/app/controllers/api/v1/widget/contacts_controller.rb index b58d26373..1fca2ee81 100644 --- a/app/controllers/api/v1/widget/contacts_controller.rb +++ b/app/controllers/api/v1/widget/contacts_controller.rb @@ -1,5 +1,6 @@ class Api::V1::Widget::ContactsController < Api::V1::Widget::BaseController def update + process_hmac contact_identify_action = ContactIdentifyAction.new( contact: @contact, params: permitted_params.to_h.deep_symbolize_keys @@ -9,7 +10,22 @@ class Api::V1::Widget::ContactsController < Api::V1::Widget::BaseController private + def process_hmac + return if params[:identifier_hash].blank? + raise StandardError, 'HMAC failed: Invalid Identifer Hash Provided' unless valid_hmac? + + @contact_inbox.update(hmac_verified: true) + end + + def valid_hmac? + params[:identifier_hash] == OpenSSL::HMAC.hexdigest( + 'sha256', + @web_widget.hmac_token, + params[:identifier].to_s + ) + end + def permitted_params - params.permit(:website_token, :identifier, :email, :name, :avatar_url, custom_attributes: {}) + params.permit(:website_token, :identifier, :identifier_hash, :email, :name, :avatar_url, custom_attributes: {}) end end diff --git a/app/controllers/api/v1/widget/messages_controller.rb b/app/controllers/api/v1/widget/messages_controller.rb index a4f33b563..c98138366 100644 --- a/app/controllers/api/v1/widget/messages_controller.rb +++ b/app/controllers/api/v1/widget/messages_controller.rb @@ -54,6 +54,8 @@ class Api::V1::Widget::MessagesController < Api::V1::Widget::BaseController end def conversation_params + # FIXME: typo referrer in additional attributes + # will probably require a migration. { account_id: inbox.account_id, inbox_id: inbox.id, diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 8fbc8ff45..4fe48998d 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -23,7 +23,7 @@ class ApplicationController < ActionController::Base render_unauthorized('You are not authorized to do this action') ensure # to address the thread variable leak issues in Puma/Thin webserver - Current.user = nil + Current.reset end def set_current_user diff --git a/app/controllers/concerns/label_concern.rb b/app/controllers/concerns/label_concern.rb new file mode 100644 index 000000000..194f063be --- /dev/null +++ b/app/controllers/concerns/label_concern.rb @@ -0,0 +1,10 @@ +module LabelConcern + def create + model.update_labels(permitted_params[:labels]) + @labels = model.label_list + end + + def index + @labels = model.label_list + end +end diff --git a/app/controllers/dashboard_controller.rb b/app/controllers/dashboard_controller.rb index 52f392add..9ed9f7f47 100644 --- a/app/controllers/dashboard_controller.rb +++ b/app/controllers/dashboard_controller.rb @@ -1,5 +1,10 @@ class DashboardController < ActionController::Base + include SwitchLocale + before_action :set_global_config + around_action :switch_locale + before_action :ensure_installation_onboarding, only: [:index] + layout 'vueapp' def index; end @@ -20,4 +25,8 @@ class DashboardController < ActionController::Base APP_VERSION: Chatwoot.config[:version] ) end + + def ensure_installation_onboarding + redirect_to '/installation/onboarding' if ::Redis::Alfred.get(::Redis::Alfred::CHATWOOT_INSTALLATION_ONBOARDING) + end end diff --git a/app/controllers/installation/onboarding_controller.rb b/app/controllers/installation/onboarding_controller.rb new file mode 100644 index 000000000..a6f04238b --- /dev/null +++ b/app/controllers/installation/onboarding_controller.rb @@ -0,0 +1,36 @@ +class Installation::OnboardingController < ApplicationController + before_action :ensure_installation_onboarding + + def index; end + + def create + begin + AccountBuilder.new( + account_name: onboarding_params.dig(:user, :company), + user_full_name: onboarding_params.dig(:user, :name), + email: onboarding_params.dig(:user, :email), + user_password: params.dig(:user, :password), + confirmed: true + ).perform + rescue StandardError => e + redirect_to '/', flash: { error: e.message } and return + end + finish_onboarding + redirect_to '/' + end + + private + + def onboarding_params + params.permit(:subscribe_to_updates, user: [:name, :company, :email]) + end + + def finish_onboarding + ::Redis::Alfred.delete(::Redis::Alfred::CHATWOOT_INSTALLATION_ONBOARDING) + ChatwootHub.register_instance(onboarding_params) if onboarding_params[:subscribe_to_updates] + end + + def ensure_installation_onboarding + redirect_to '/' unless ::Redis::Alfred.get(::Redis::Alfred::CHATWOOT_INSTALLATION_ONBOARDING) + end +end diff --git a/app/controllers/platform/api/v1/account_users_controller.rb b/app/controllers/platform/api/v1/account_users_controller.rb new file mode 100644 index 000000000..8f651cfd9 --- /dev/null +++ b/app/controllers/platform/api/v1/account_users_controller.rb @@ -0,0 +1,29 @@ +class Platform::Api::V1::AccountUsersController < PlatformController + before_action :set_resource + before_action :validate_platform_app_permissible + + def index + render json: @resource.account_users + end + + def create + @account_user = @resource.account_users.find_or_initialize_by(user_id: account_user_params[:user_id]) + @account_user.update!(account_user_params) + render json: @account_user + end + + def destroy + @resource.account_users.find_by(user_id: account_user_params[:user_id])&.destroy + head :ok + end + + private + + def set_resource + @resource = Account.find(params[:account_id]) + end + + def account_user_params + params.permit(:user_id, :role) + end +end diff --git a/app/controllers/platform/api/v1/accounts_controller.rb b/app/controllers/platform/api/v1/accounts_controller.rb new file mode 100644 index 000000000..24b39aa3e --- /dev/null +++ b/app/controllers/platform/api/v1/accounts_controller.rb @@ -0,0 +1,32 @@ +class Platform::Api::V1::AccountsController < PlatformController + def create + @resource = Account.new(account_params) + @resource.save! + @platform_app.platform_app_permissibles.find_or_create_by(permissible: @resource) + render json: @resource + end + + def show + render json: @resource + end + + def update + @resource.update!(account_params) + render json: @resource + end + + def destroy + # TODO: obfusicate account + head :ok + end + + private + + def set_resource + @resource = Account.find(params[:id]) + end + + def account_params + params.permit(:name) + end +end diff --git a/app/controllers/platform/api/v1/users_controller.rb b/app/controllers/platform/api/v1/users_controller.rb new file mode 100644 index 000000000..81b526c8e --- /dev/null +++ b/app/controllers/platform/api/v1/users_controller.rb @@ -0,0 +1,43 @@ +class Platform::Api::V1::UsersController < PlatformController + # ref: https://stackoverflow.com/a/45190318/939299 + # set resource is called for other actions already in platform controller + # we want to add login to that chain as well + before_action(only: [:login]) { set_resource } + before_action(only: [:login]) { validate_platform_app_permissible } + + def create + @resource = (User.find_by(email: user_params[:email]) || User.new(user_params)) + @resource.confirm + @resource.save! + @platform_app.platform_app_permissibles.find_or_create_by(permissible: @resource) + render json: @resource + end + + def login + render json: { url: "#{ENV['FRONTEND_URL']}/app/login?email=#{@resource.email}&sso_auth_token=#{@resource.generate_sso_auth_token}" } + end + + def show + render json: @resource + end + + def update + @resource.update!(user_params) + render json: @resource + end + + def destroy + # TODO: obfusicate user + head :ok + end + + private + + def set_resource + @resource = User.find(params[:id]) + end + + def user_params + params.permit(:name, :email, :password) + end +end diff --git a/app/controllers/platform_controller.rb b/app/controllers/platform_controller.rb new file mode 100644 index 000000000..612f86d27 --- /dev/null +++ b/app/controllers/platform_controller.rb @@ -0,0 +1,37 @@ +class PlatformController < ActionController::Base + protect_from_forgery with: :null_session + + before_action :ensure_access_token + before_action :set_platform_app + before_action :set_resource, only: [:update, :show, :destroy] + before_action :validate_platform_app_permissible, only: [:update, :show, :destroy] + + def show; end + + def update; end + + def destroy; end + + private + + def ensure_access_token + token = request.headers[:api_access_token] || request.headers[:HTTP_API_ACCESS_TOKEN] + @access_token = AccessToken.find_by(token: token) if token.present? + end + + def set_platform_app + @platform_app = @access_token.owner if @access_token && @access_token.owner.is_a?(PlatformApp) + render json: { error: 'Invalid access_token' }, status: :unauthorized if @platform_app.blank? + end + + def set_resource + # set @resource in your controller + raise 'Overwrite this method your controller' + end + + def validate_platform_app_permissible + return if @platform_app.platform_app_permissibles.find_by(permissible: @resource) + + render json: { error: 'Non permissible resource' }, status: :unauthorized + end +end diff --git a/app/controllers/super_admin/installation_configs_controller.rb b/app/controllers/super_admin/installation_configs_controller.rb new file mode 100644 index 000000000..36a45f707 --- /dev/null +++ b/app/controllers/super_admin/installation_configs_controller.rb @@ -0,0 +1,46 @@ +class SuperAdmin::InstallationConfigsController < SuperAdmin::ApplicationController + # Overwrite any of the RESTful controller actions to implement custom behavior + # For example, you may want to send an email after a foo is updated. + # + # def update + # super + # send_foo_updated_email(requested_resource) + # end + + # Override this method to specify custom lookup behavior. + # This will be used to set the resource for the `show`, `edit`, and `update` + # actions. + # + # def find_resource(param) + # Foo.find_by!(slug: param) + # end + + # The result of this lookup will be available as `requested_resource` + + # Override this if you have certain roles that require a subset + # this will be used to set the records shown on the `index` action. + # + def scoped_resource + resource_class.editable + end + + # Override `resource_params` if you want to transform the submitted + # data before it's persisted. For example, the following would turn all + # empty values into nil values. It uses other APIs such as `resource_class` + # and `dashboard`: + # + # def resource_params + # params.require(resource_class.model_name.param_key). + # permit(dashboard.permitted_attributes). + # transform_values { |value| value == "" ? nil : value } + # end + + def resource_params + params.require(:installation_config) + .permit(:name, :value) + .transform_values { |value| value == '' ? nil : value }.merge(locked: false) + end + + # See https://administrate-prototype.herokuapp.com/customizing_controller_actions + # for more information +end diff --git a/app/dashboards/installation_config_dashboard.rb b/app/dashboards/installation_config_dashboard.rb new file mode 100644 index 000000000..8a60c0dba --- /dev/null +++ b/app/dashboards/installation_config_dashboard.rb @@ -0,0 +1,66 @@ +require 'administrate/base_dashboard' + +class InstallationConfigDashboard < Administrate::BaseDashboard + # ATTRIBUTE_TYPES + # a hash that describes the type of each of the model's fields. + # + # Each different type represents an Administrate::Field object, + # which determines how the attribute is displayed + # on pages throughout the dashboard. + ATTRIBUTE_TYPES = { + id: Field::Number, + name: Field::String, + value: SerializedField, + created_at: Field::DateTime, + updated_at: Field::DateTime + }.freeze + + # COLLECTION_ATTRIBUTES + # an array of attributes that will be displayed on the model's index page. + # + # By default, it's limited to four items to reduce clutter on index pages. + # Feel free to add, remove, or rearrange items. + COLLECTION_ATTRIBUTES = %i[ + id + name + value + created_at + ].freeze + + # SHOW_PAGE_ATTRIBUTES + # an array of attributes that will be displayed on the model's show page. + SHOW_PAGE_ATTRIBUTES = %i[ + id + name + value + created_at + updated_at + ].freeze + + # FORM_ATTRIBUTES + # an array of attributes that will be displayed + # on the model's form (`new` and `edit`) pages. + FORM_ATTRIBUTES = %i[ + name + value + ].freeze + + # COLLECTION_FILTERS + # a hash that defines filters that can be used while searching via the search + # field of the dashboard. + # + # For example to add an option to search for open resources by typing "open:" + # in the search field: + # + # COLLECTION_FILTERS = { + # open: ->(resources) { resources.where(open: true) } + # }.freeze + COLLECTION_FILTERS = {}.freeze + + # Overwrite this method to customize how installation configs are displayed + # across all pages of the admin dashboard. + # + # def display_resource(installation_config) + # "InstallationConfig ##{installation_config.id}" + # end +end diff --git a/app/fields/serialized_field.rb b/app/fields/serialized_field.rb new file mode 100644 index 000000000..5c1069c42 --- /dev/null +++ b/app/fields/serialized_field.rb @@ -0,0 +1,15 @@ +require 'administrate/field/base' + +class SerializedField < Administrate::Field::Base + def to_s + hash? ? data.as_json : data.to_s + end + + def hash? + data.is_a? Hash + end + + def array? + data.is_a? Array + end +end diff --git a/app/javascript/dashboard/api/auth.js b/app/javascript/dashboard/api/auth.js index 1a16108ca..5de3e8d9b 100644 --- a/app/javascript/dashboard/api/auth.js +++ b/app/javascript/dashboard/api/auth.js @@ -26,7 +26,8 @@ export default { const fetchPromise = new Promise((resolve, reject) => { axios .post(urlData.url, { - account_name: creds.name, + account_name: creds.accountName.trim(), + user_full_name: creds.fullName.trim(), email: creds.email, }) .then(response => { @@ -139,6 +140,12 @@ export default { return axios.put(endPoints('profileUpdate').url, formData); }, + updateUISettings({ uiSettings }) { + return axios.put(endPoints('profileUpdate').url, { + profile: { ui_settings: uiSettings }, + }); + }, + updateAvailability({ availability }) { return axios.put(endPoints('profileUpdate').url, { profile: { availability }, diff --git a/app/javascript/dashboard/api/inbox/message.js b/app/javascript/dashboard/api/inbox/message.js index 07754fd10..0020a4138 100644 --- a/app/javascript/dashboard/api/inbox/message.js +++ b/app/javascript/dashboard/api/inbox/message.js @@ -7,11 +7,26 @@ class MessageApi extends ApiClient { super('conversations', { accountScoped: true }); } - create({ conversationId, message, private: isPrivate, contentAttributes }) { - return axios.post(`${this.url}/${conversationId}/messages`, { - content: message, - private: isPrivate, - content_attributes: contentAttributes, + create({ + conversationId, + message, + private: isPrivate, + contentAttributes, + echo_id: echoId, + file, + }) { + const formData = new FormData(); + if (file) formData.append('attachments[]', file, file.name); + if (message) formData.append('content', message); + if (contentAttributes) + formData.append('content_attributes', JSON.stringify(contentAttributes)); + + formData.append('private', isPrivate); + formData.append('echo_id', echoId); + return axios({ + method: 'post', + url: `${this.url}/${conversationId}/messages`, + data: formData, }); } @@ -20,17 +35,6 @@ class MessageApi extends ApiClient { params: { before }, }); } - - sendAttachment([conversationId, { file, isPrivate = false }]) { - const formData = new FormData(); - formData.append('attachments[]', file, file.name); - formData.append('private', isPrivate); - return axios({ - method: 'post', - url: `${this.url}/${conversationId}/messages`, - data: formData, - }); - } } export default new MessageApi(); diff --git a/app/javascript/dashboard/assets/scss/_foundation-custom.scss b/app/javascript/dashboard/assets/scss/_foundation-custom.scss index 175a65604..d76fef07d 100644 --- a/app/javascript/dashboard/assets/scss/_foundation-custom.scss +++ b/app/javascript/dashboard/assets/scss/_foundation-custom.scss @@ -1,4 +1,3 @@ - .button { font-family: $body-font-family; font-weight: $font-weight-medium; @@ -35,6 +34,7 @@ code { &.hljs { background: $color-background; + border-radius: var(--border-radius-large); padding: $space-two; } } diff --git a/app/javascript/dashboard/assets/scss/_foundation-settings.scss b/app/javascript/dashboard/assets/scss/_foundation-settings.scss index b96a1b5bd..79bc1ae29 100644 --- a/app/javascript/dashboard/assets/scss/_foundation-settings.scss +++ b/app/javascript/dashboard/assets/scss/_foundation-settings.scss @@ -236,18 +236,18 @@ $breadcrumbs-item-slash: true; // 11. Button // ---------- -$button-padding: $space-one $space-normal; +$button-padding: var(--space-one) var(--space-slab); $button-margin: 0 0 $global-margin 0; $button-fill: solid; $button-background: $primary-color; $button-background-hover: scale-color($button-background, $lightness: -15%); $button-color: $white; $button-color-alt: $white; -$button-radius: $global-radius; -$button-sizes: (tiny: $font-size-micro, - small: $font-size-mini, - default: $font-size-default, - large: $font-size-large); +$button-radius: var(--border-radius-normal); +$button-sizes: (tiny: var(--font-size-nano), + small: var(--font-size-mini), + default: var(--font-size-small), + large: var(--font-size-medium)); $button-palette: $foundation-palette; $button-opacity-disabled: 0.25; $button-background-hover-lightness: -20%; diff --git a/app/javascript/dashboard/assets/scss/_woot.scss b/app/javascript/dashboard/assets/scss/_woot.scss index 7f9041b93..e53ceef73 100644 --- a/app/javascript/dashboard/assets/scss/_woot.scss +++ b/app/javascript/dashboard/assets/scss/_woot.scss @@ -23,7 +23,7 @@ @import 'views/settings/inbox'; @import 'views/settings/channel'; @import 'views/settings/integrations'; -@import 'views/signup'; @import 'plugins/multiselect'; @import 'plugins/dropdown'; +@import '@chatwoot/prosemirror-schema/src/woot-editor.css'; diff --git a/app/javascript/dashboard/assets/scss/app.scss b/app/javascript/dashboard/assets/scss/app.scss index 3220f0326..dbf3a6e78 100644 --- a/app/javascript/dashboard/assets/scss/app.scss +++ b/app/javascript/dashboard/assets/scss/app.scss @@ -3,10 +3,12 @@ @import 'shared/assets/stylesheets/spacing'; @import 'shared/assets/stylesheets/font-size'; @import 'shared/assets/stylesheets/font-weights'; +@import 'shared/assets/stylesheets/shadows'; +@import 'shared/assets/stylesheets/border-radius'; @import 'variables'; @import '~spinkit/scss/spinners/7-three-bounce'; -@import '~ionicons/scss/ionicons'; +@import '~shared/assets/stylesheets/ionicons'; @import 'mixins'; @import 'foundation-settings'; diff --git a/app/javascript/dashboard/assets/scss/super_admin/index.scss b/app/javascript/dashboard/assets/scss/super_admin/index.scss index a646bf5f9..205a10f70 100644 --- a/app/javascript/dashboard/assets/scss/super_admin/index.scss +++ b/app/javascript/dashboard/assets/scss/super_admin/index.scss @@ -1,15 +1,36 @@ @import '../variables'; .superadmin-body { - background: $color-background; + background: var(--color-background); + + .hero--title { + font-size: var(--font-size-mega); + font-weight: var(--font-weight-light); + margin-top: var(--space-large); + } } .alert-box { - background-color: $alert-color; + background-color: var(--r-500); border-radius: 5px; - color: $color-white; + color: var(--color-white); font-size: 14px; margin-bottom: 14px; padding: 10px; text-align: center; } + +.update-subscription--checkbox { + display: flex; + + input { + line-height: 1.5; + margin-right: var(--space-one); + } + + div { + font-size: var(--font-size-small); + line-height: 1.5; + margin-bottom: var(--space-normal); + } +} diff --git a/app/javascript/dashboard/assets/scss/super_admin/pages.scss b/app/javascript/dashboard/assets/scss/super_admin/pages.scss index 2bc31db1c..8e5b86989 100644 --- a/app/javascript/dashboard/assets/scss/super_admin/pages.scss +++ b/app/javascript/dashboard/assets/scss/super_admin/pages.scss @@ -1,3 +1,3 @@ @import 'shared/assets/fonts/inter'; @import '../variables'; -@import '~ionicons/scss/ionicons'; +@import '~shared/assets/stylesheets/ionicons'; diff --git a/app/javascript/dashboard/assets/scss/views/_signup.scss b/app/javascript/dashboard/assets/scss/views/_signup.scss deleted file mode 100644 index 5233e3de0..000000000 --- a/app/javascript/dashboard/assets/scss/views/_signup.scss +++ /dev/null @@ -1,94 +0,0 @@ -.signup { - // margin-top: $space-larger*1.2; - - .signup--hero { - margin-bottom: $space-larger * 1.5; - - .hero--logo { - width: 180px; - } - - .hero--title { - margin-top: $space-large; - font-weight: $font-weight-light; - } - - .hero--sub { - font-size: $font-size-medium; - color: $medium-gray; - } - } - - .signup--features { - list-style-type: none; - font-size: $font-size-medium; - - > li { - padding: $space-slab; - - > i { - margin-right: $space-two; - font-size: $font-size-large; - - &.beer { - color: #dfb63b; - } - - &.report { - color: #2196f3; - } - - &.canned { - color: #1cad22; - } - - &.uptime { - color: #a753b5; - } - - &.secure { - color: #607d8b; - } - } - } - } - - .signup--box { - @include elegant-card; - padding: $space-large; - - label { - font-size: $font-size-default; - color: $color-gray; - - input { - padding: $space-slab; - height: $space-larger; - font-size: $font-size-default; - } - - .error { - font-size: $font-size-small - } - } - } - - .sigin--footer { - padding: $space-medium; - font-size: $font-size-default; - - > a { - font-weight: $font-weight-bold; - } - } - - .accept--terms { - font-size: $font-size-mini; - text-align: center; - @include margin($zero); - - a { - font-size: $font-size-mini; - } - } -} diff --git a/app/javascript/dashboard/assets/scss/widgets/_buttons.scss b/app/javascript/dashboard/assets/scss/widgets/_buttons.scss index 280997559..07089b399 100644 --- a/app/javascript/dashboard/assets/scss/widgets/_buttons.scss +++ b/app/javascript/dashboard/assets/scss/widgets/_buttons.scss @@ -1,6 +1,21 @@ .button { margin-bottom: 0; + &.button--emoji { + background: var(--b-50); + border: 1px solid var(--color-border-light); + border-radius: var(--border-radius-large); + font-size: var(--font-size-small); + margin-right: var(--space-small); + padding: var(--space-small); + + &:hover { + background: var(--b-200); + } + } + + + &.icon { padding-left: $space-normal; padding-right: $space-normal; diff --git a/app/javascript/dashboard/assets/scss/widgets/_conv-header.scss b/app/javascript/dashboard/assets/scss/widgets/_conv-header.scss index 9b8c71500..c6cc66c96 100644 --- a/app/javascript/dashboard/assets/scss/widgets/_conv-header.scss +++ b/app/javascript/dashboard/assets/scss/widgets/_conv-header.scss @@ -72,7 +72,7 @@ $resolve-button-width: 13.2rem; .button.resolve--button { @include flex-align($x: center, $y: middle); - + font-size: var(--font-size-default); width: $resolve-button-width; >.icon { diff --git a/app/javascript/dashboard/assets/scss/widgets/_conversation-view.scss b/app/javascript/dashboard/assets/scss/widgets/_conversation-view.scss index c35abab4f..d518812f1 100644 --- a/app/javascript/dashboard/assets/scss/widgets/_conversation-view.scss +++ b/app/javascript/dashboard/assets/scss/widgets/_conversation-view.scss @@ -3,7 +3,7 @@ @include margin($zero); background: $color-woot; border-radius: $space-one; - color: $color-white; + color: var(--white); font-size: $font-size-small; font-weight: $font-weight-normal; position: relative; @@ -11,20 +11,12 @@ .message-text__wrap { position: relative; - .link { - color: $color-white; + color: var(--white); text-decoration: underline; } } - .message-text { - &::after { - content: ' \00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0'; - display: inline; - } - } - .image { cursor: pointer; position: relative; @@ -95,17 +87,15 @@ } } - - .content-box { text-align: center; } } .conversation-wrap { - @include background-gray; @include margin(0); @include border-normal-left; + background: var(--color-background-light); .current-chat { @include flex; @@ -145,10 +135,9 @@ @include flex-weight(1); @include margin($zero); flex-direction: column; - // Firefox flexbox fix height: 100%; - margin-bottom: $space-small; overflow-y: auto; + padding-bottom: var(--space-normal); position: relative; } @@ -171,7 +160,7 @@ @include elegant-card; @include round-corner; background: $color-woot; - color: $color-white; + color: var(--white); font-size: $font-size-mini; font-weight: $font-weight-medium; margin: $space-one auto; @@ -201,6 +190,10 @@ color: $color-body; margin-right: auto; + &.is-image { + border-radius: var(--border-radius-large); + } + .link { color: $color-primary-dark; } @@ -218,6 +211,7 @@ color: $color-primary-dark; } } + } +.right { @@ -247,7 +241,6 @@ background: lighten($warning-color, 32%); border: 1px solid lighten($warning-color, 15%); color: $color-heading; - padding-right: $space-large; position: relative; &::before { @@ -258,6 +251,10 @@ top: $space-smaller + $space-micro; } } + + &.is-image { + border-radius: var(--border-radius-large); + } } +.left { @@ -297,30 +294,15 @@ border-radius: $space-smaller; font-size: $font-size-small; - p { - color: $color-heading; - margin-bottom: $zero; - - .ion-person { - color: $color-body; - font-size: $font-size-default; - margin-right: $space-small; - position: relative; - top: $space-micro; - } - - .message-text__wrap { - position: relative; - } - - .message-text { - &::after { - content: ' \00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0'; - display: inline; - } - } + .message-text__wrap { + display: inline-block; } + } +} +.activity-wrap .message-text__wrap { + .text-content p { + margin-bottom: 0; } } @@ -341,7 +323,7 @@ .typing-indicator { @include elegant-card; @include round-corner; - background: $color-white; + background: var(--white); color: $color-light-gray; font-size: $font-size-mini; font-weight: $font-weight-bold; @@ -354,3 +336,65 @@ } } } + +.left .bubble .text-content { + + h1, + h2, + h3, + h4, + h5, + h6 { + color: var(--color-body); + } + + a { + color: var(--color-woot); + text-decoration: underline; + } + + blockquote { + border-left-color: var(--s-300); + + p { + color: var(--s-300); + } + } + + p:last-child { + margin-bottom: 0; + } +} + +.right .bubble .text-content { + + h1, + h2, + h3, + h4, + h5, + h6 { + color: var(--white); + } + + a { + color: var(--white); + text-decoration: underline; + } + + blockquote { + border-left-color: var(--w-100); + + p { + color: var(--w-100); + } + } + + pre code { + background: var(--color-background); + } + + p:last-child { + margin-bottom: 0; + } +} diff --git a/app/javascript/dashboard/assets/scss/widgets/_forms.scss b/app/javascript/dashboard/assets/scss/widgets/_forms.scss index d824f9d48..231f4c535 100644 --- a/app/javascript/dashboard/assets/scss/widgets/_forms.scss +++ b/app/javascript/dashboard/assets/scss/widgets/_forms.scss @@ -2,12 +2,13 @@ #{$all-text-inputs}, select, .multiselect > .multiselect__tags { - @include thin-border(darken(get-color(alert), 25%)); + @include thin-border(var(--r-400)); } .message { - color: darken(get-color(alert), 25%); + color: var(--r-400); display: block; + font-size: var(--font-size-small); font-weight: $font-weight-normal; margin-bottom: $space-one; margin-top: -$space-normal; diff --git a/app/javascript/dashboard/assets/scss/widgets/_reply-box.scss b/app/javascript/dashboard/assets/scss/widgets/_reply-box.scss index a234a110d..870a60c1b 100644 --- a/app/javascript/dashboard/assets/scss/widgets/_reply-box.scss +++ b/app/javascript/dashboard/assets/scss/widgets/_reply-box.scss @@ -1,28 +1,13 @@ .reply-box { - @include light-shadow; - border-bottom: 0; - border-radius: $space-small; - margin: $space-normal; - margin-top: 0; - max-height: $space-mega * 3; transition: box-shadow .35s $swift-ease-out-function, height 2s $swift-ease-out-function; &.is-focused { - @include shadow; + box-shadow: var(--shadow); } .reply-box__top { - @include flex; - @include flex-align($x: left, $y: middle); - @include padding($space-one $space-normal); - @include background-white; - @include margin(0); - border-top-left-radius: $space-small; - border-top-right-radius: $space-small; - position: relative; - .canned { @include elegant-card; background: $color-white; @@ -41,19 +26,6 @@ } } - &.is-active { - border-bottom-left-radius: $space-small; - border-bottom-right-radius: $space-small; - } - - &.is-private { - background: lighten($warning-color, 38%); - - >input { - background: lighten($warning-color, 38%); - } - } - .icon { color: $medium-gray; cursor: pointer; @@ -65,9 +37,6 @@ } } - .file-uploads>label { - cursor: pointer; - } .attachment { cursor: pointer; @@ -82,87 +51,45 @@ // Override min-height : 50px in foundation // max-height: $space-mega * 2.4; - min-height: 4rem; + min-height: 4.8rem; + padding: var(--space-normal) 0 0; resize: none; } } - .reply-box__bottom { - @include background-light; - @include flex; - @include flex-align($x: justify, $y: middle); - @include border-light-top; - border-bottom-left-radius: $space-small; - border-bottom-right-radius: $space-small; + &.is-private { + background: var(--y-50); - .tabs { - border: 0; - flex: 1; - padding: 0; + .reply-box__top { + background: var(--y-50); - .tabs-title { - margin: 0; - transition: all .2s $swift-ease-out-function; - transition-property: color, background; - - a { - font-weight: $font-weight-medium; - padding: $space-one $space-two; - } - - &.is-private.is-active { - background: lighten($warning-color, 38%); - - a { - border-bottom-color: darken($warning-color, 15%); - color: darken($warning-color, 15%); - } - } - } - - .tabs-title:first-child { - border-bottom-left-radius: $space-small; - - &.is-active { - @include border-light-right; - border-left: 0; - } - - a { - border-bottom-left-radius: $space-small; - } - } - - .is-active { - @include background-white; - @include border-light-left; - @include border-light-right; - margin-top: -1px; - } - - .message-length { - float: right; - - a { - font-size: $font-size-mini; - } - } - - .message-error { - color: $input-error-color; - } - } - - .send-button { - border-bottom-right-radius: $space-small; - height: 3.6rem; - padding-left: $space-two; - padding-right: $space-two; - padding-top: $space-small; - - .icon { - margin-left: $space-small; + >input { + background: var(--y-50); } } } + + .file-uploads>label { + cursor: pointer; + + &:hover .button--emoji { + background: var(--b-200); + } + } + + .bottom-box .button--emoji.button--upload { + height: var(--space-large); + padding: 0; + width: var(--space-large); + + .file-uploads { + height: 100%; + line-height: var(--space-large); + width: 100%; + } + + label { + padding: var(--space-small); + } + } } diff --git a/app/javascript/dashboard/components/SettingsSection.vue b/app/javascript/dashboard/components/SettingsSection.vue index fd930914b..26caff02c 100644 --- a/app/javascript/dashboard/components/SettingsSection.vue +++ b/app/javascript/dashboard/components/SettingsSection.vue @@ -42,5 +42,9 @@ export default { font-weight: $font-weight-medium; margin-bottom: 0; } + + .title--section { + padding-right: var(--space-large); + } } diff --git a/app/javascript/dashboard/components/buttons/ResolveAction.vue b/app/javascript/dashboard/components/buttons/ResolveAction.vue index 8d99d3ce3..6127eec43 100644 --- a/app/javascript/dashboard/components/buttons/ResolveAction.vue +++ b/app/javascript/dashboard/components/buttons/ResolveAction.vue @@ -1,7 +1,7 @@ diff --git a/app/javascript/dashboard/helper/commons.js b/app/javascript/dashboard/helper/commons.js index c32d2717a..d7d34283a 100644 --- a/app/javascript/dashboard/helper/commons.js +++ b/app/javascript/dashboard/helper/commons.js @@ -1,5 +1,8 @@ -/* eslint no-console: 0 */ /* eslint no-param-reassign: 0 */ + +import getUuid from 'widget/helpers/uuid'; +import { MESSAGE_STATUS, MESSAGE_TYPE } from 'shared/constants/messages'; + export default () => { if (!Array.prototype.last) { Object.assign(Array.prototype, { @@ -26,3 +29,23 @@ export const getTypingUsersText = (users = []) => { const rest = users.length - 1; return `${user.name} and ${rest} others are typing`; }; + +export const createPendingMessage = data => { + const timestamp = Math.floor(new Date().getTime() / 1000); + const tempMessageId = getUuid(); + const { message, file } = data; + const tempAttachments = [{ id: tempMessageId }]; + const pendingMessage = { + ...data, + content: message || null, + id: tempMessageId, + echo_id: tempMessageId, + status: MESSAGE_STATUS.PROGRESS, + created_at: timestamp, + message_type: MESSAGE_TYPE.OUTGOING, + conversation_id: data.conversationId, + attachments: file ? tempAttachments : null, + }; + + return pendingMessage; +}; diff --git a/app/javascript/dashboard/helper/files.js b/app/javascript/dashboard/helper/files.js new file mode 100644 index 000000000..4f7559304 --- /dev/null +++ b/app/javascript/dashboard/helper/files.js @@ -0,0 +1,11 @@ +export const formatBytes = (bytes, decimals = 2) => { + if (bytes === 0) return '0 Bytes'; + + const k = 1024; + const dm = decimals < 0 ? 0 : decimals; + const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']; + + const i = Math.floor(Math.log(bytes) / Math.log(k)); + + return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i]; +}; diff --git a/app/javascript/dashboard/helper/specs/commons.spec.js b/app/javascript/dashboard/helper/specs/commons.spec.js index 180846496..2df5e36b5 100644 --- a/app/javascript/dashboard/helper/specs/commons.spec.js +++ b/app/javascript/dashboard/helper/specs/commons.spec.js @@ -1,4 +1,4 @@ -import { getTypingUsersText } from '../commons'; +import { getTypingUsersText, createPendingMessage } from '../commons'; describe('#getTypingUsersText', () => { it('returns the correct text is there is only one typing user', () => { @@ -24,3 +24,62 @@ describe('#getTypingUsersText', () => { ).toEqual('Pranav and 3 others are typing'); }); }); + +describe('#createPendingMessage', () => { + const message = { + message: 'hi', + }; + it('returns the pending message with expected new keys', () => { + expect(createPendingMessage(message)).toHaveProperty( + 'content', + 'id', + 'status', + 'echo_id', + 'status', + 'created_at', + 'message_type', + 'conversation_id' + ); + }); + + it('returns the pending message with status progress', () => { + expect(createPendingMessage(message)).toMatchObject({ + status: 'progress', + }); + }); + + it('returns the pending message with same id and echo_id', () => { + const pending = createPendingMessage(message); + expect(pending).toMatchObject({ + echo_id: pending.id, + }); + }); + + it('returns the pending message with attachmnet key if file is passed', () => { + const messageWithFile = { + message: 'hi', + file: {}, + }; + expect(createPendingMessage(messageWithFile)).toHaveProperty( + 'content', + 'id', + 'status', + 'echo_id', + 'status', + 'created_at', + 'message_type', + 'conversation_id', + 'attachments', + 'private' + ); + }); + + it('returns the pending message to have one attachment', () => { + const messageWithFile = { + message: 'hi', + file: {}, + }; + const pending = createPendingMessage(messageWithFile); + expect(pending.attachments.length).toBe(1); + }); +}); diff --git a/app/javascript/dashboard/helper/specs/files.spec.js b/app/javascript/dashboard/helper/specs/files.spec.js new file mode 100644 index 000000000..3b2c86bcd --- /dev/null +++ b/app/javascript/dashboard/helper/specs/files.spec.js @@ -0,0 +1,18 @@ +import { formatBytes } from '../files'; + +describe('#File Helpers', () => { + describe('formatBytes', () => { + it('should return zero bytes if 0 is passed', () => { + expect(formatBytes(0)).toBe('0 Bytes'); + }); + it('should return in bytes if 1000 is passed', () => { + expect(formatBytes(1000)).toBe('1000 Bytes'); + }); + it('should return in KB if 100000 is passed', () => { + expect(formatBytes(10000)).toBe('9.77 KB'); + }); + it('should return in MB if 10000000 is passed', () => { + expect(formatBytes(10000000)).toBe('9.54 MB'); + }); + }); +}); diff --git a/app/javascript/dashboard/i18n/default-sidebar.js b/app/javascript/dashboard/i18n/default-sidebar.js index 657a60eef..f39f5b4f8 100644 --- a/app/javascript/dashboard/i18n/default-sidebar.js +++ b/app/javascript/dashboard/i18n/default-sidebar.js @@ -25,7 +25,7 @@ export const getSidebarItems = accountId => ({ toStateName: 'home', }, contacts: { - icon: 'ion-person-stalker', + icon: 'ion-person', label: 'CONTACTS', hasSubMenu: false, toState: frontendURL(`accounts/${accountId}/contacts`), diff --git a/app/javascript/dashboard/i18n/locale/ar/contact.json b/app/javascript/dashboard/i18n/locale/ar/contact.json index 9414816ce..2a22cbb3c 100644 --- a/app/javascript/dashboard/i18n/locale/ar/contact.json +++ b/app/javascript/dashboard/i18n/locale/ar/contact.json @@ -11,6 +11,7 @@ "OS": "نظام التشغيل", "INITIATED_FROM": "تم البدء من", "INITIATED_AT": "تم البدء في", + "IP_ADDRESS": "IP Address", "CONVERSATIONS": { "NO_RECORDS_FOUND": "لا توجد محادثات سابقة مرتبطة بجهة الاتصال هذه.", "TITLE": "المحادثات السابقة" diff --git a/app/javascript/dashboard/i18n/locale/ar/conversation.json b/app/javascript/dashboard/i18n/locale/ar/conversation.json index 204e4f497..cc05895cb 100644 --- a/app/javascript/dashboard/i18n/locale/ar/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ar/conversation.json @@ -24,6 +24,7 @@ "REPLYING_TO": "أنت ترد على:", "REMOVE_SELECTION": "إزالة التحديد", "DOWNLOAD": "تنزيل", + "UPLOADING_ATTACHMENTS": "Uploading attachments...", "HEADER": { "RESOLVE_ACTION": "إغلاق المحادثة", "REOPEN_ACTION": "إعادة فتح", @@ -40,7 +41,10 @@ "PRIVATE_NOTE": "إضافة ملاحظة خاصة", "SEND": "إرسال", "CREATE": "إضافة ملاحظة", - "TWEET": "تغريد" + "TWEET": "تغريد", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, "VISIBLE_TO_AGENTS": "ملاحظة خاصة: مرئية فقط لأعضاء فريق العمل والموظفين", "CHANGE_STATUS": "تم تغيير حالة المحادثة", diff --git a/app/javascript/dashboard/i18n/locale/ar/generalSettings.json b/app/javascript/dashboard/i18n/locale/ar/generalSettings.json index 682094f3f..351367867 100644 --- a/app/javascript/dashboard/i18n/locale/ar/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/ar/generalSettings.json @@ -42,7 +42,8 @@ "INBOUND_EMAIL_ENABLED": "الاستمرار في المحادثة عبر رسائل البريد الإلكتروني مفعّل لحسابك.", "CUSTOM_EMAIL_DOMAIN_ENABLED": "يمكنك تلقي رسائل البريد الإلكتروني في النطاق المخصص الخاص بك الآن." } - } + }, + "UPDATE_CHATWOOT": "An update %{latestChatwootVersion} for Chatwoot is available. Please update your instance." }, "FORMS": { "MULTISELECT": { diff --git a/app/javascript/dashboard/i18n/locale/ar/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ar/inboxMgmt.json index 2375f6f3e..36c75a3a9 100644 --- a/app/javascript/dashboard/i18n/locale/ar/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ar/inboxMgmt.json @@ -241,7 +241,9 @@ "AUTO_ASSIGNMENT": "تفعيل الإسناد التلقائي", "INBOX_UPDATE_TITLE": "إعدادات قناة التواصل", "INBOX_UPDATE_SUB_TEXT": "تحديث إعدادات قناة التواصل", - "AUTO_ASSIGNMENT_SUB_TEXT": "تمكين أو تعطيل الإسناد التلقائي للمحادثات الجديدة إلى الموظفين المضافين إلى قناة التواصل هذه." + "AUTO_ASSIGNMENT_SUB_TEXT": "تمكين أو تعطيل الإسناد التلقائي للمحادثات الجديدة إلى الموظفين المضافين إلى قناة التواصل هذه.", + "HMAC_VERIFICATION": "User Identity Validation", + "HMAC_DESCRIPTION": "Inorder validate the users identity, the SDK allows you to pass an `identity_hash` for each user. You can generate HMAC using 'sha256' with the key shown here." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "إعادة التصريح", diff --git a/app/javascript/dashboard/i18n/locale/ar/settings.json b/app/javascript/dashboard/i18n/locale/ar/settings.json index be4724989..5b80c6bb9 100644 --- a/app/javascript/dashboard/i18n/locale/ar/settings.json +++ b/app/javascript/dashboard/i18n/locale/ar/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "المحادثات", "REPORTS": "التقارير", - "CONTACTS": "Contacts (Beta)", + "CONTACTS": "Contacts", "SETTINGS": "الإعدادات", "HOME": "الرئيسية", "AGENTS": "موظف الدعم", diff --git a/app/javascript/dashboard/i18n/locale/ar/signup.json b/app/javascript/dashboard/i18n/locale/ar/signup.json index f9999f877..3582ad041 100644 --- a/app/javascript/dashboard/i18n/locale/ar/signup.json +++ b/app/javascript/dashboard/i18n/locale/ar/signup.json @@ -5,13 +5,18 @@ "TERMS_ACCEPT": "من خلال التسجيل، فإنك توافق على شروط الخدمة و سياسة الخصوصية", "ACCOUNT_NAME": { "LABEL": "اسم الحساب", - "PLACEHOLDER": "مؤسسة Wayne", - "ERROR": "اسم الحساب قصير جداً" + "PLACEHOLDER": "Enter an account name. eg: Wayne Enterprises", + "ERROR": "Account name is too short" + }, + "FULL_NAME": { + "LABEL": "Full name", + "PLACEHOLDER": "Enter your full name. eg: Bruce Wayne", + "ERROR": "Full name is too short" }, "EMAIL": { - "LABEL": "البريد الإلكتروني", - "PLACEHOLDER": "bruce@wayne.enterprises", - "ERROR": "البريد الإلكتروني غير صالح" + "LABEL": "Work email", + "PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises", + "ERROR": "Email address is invalid" }, "PASSWORD": { "LABEL": "كلمة المرور", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "تعذر الاتصال بالخادم، الرجاء المحاولة مرة أخرى لاحقاً" }, "SUBMIT": "إرسال", - "FEATURES": { - "UNLIMITED_INBOXES": "Unlimited inboxes", - "ROBUST_REPORTING": "Robust Reporting", - "CANNED_RESPONSES": "الردود السريعة", - "AUTO_ASSIGNMENT": "Auto Assignment", - "SECURITY": "Enterprise level security" - } + "HAVE_AN_ACCOUNT": "Already have an account?" } } diff --git a/app/javascript/dashboard/i18n/locale/ca/contact.json b/app/javascript/dashboard/i18n/locale/ca/contact.json index aa707bacc..045aa0f20 100644 --- a/app/javascript/dashboard/i18n/locale/ca/contact.json +++ b/app/javascript/dashboard/i18n/locale/ca/contact.json @@ -11,6 +11,7 @@ "OS": "Sistema operatiu", "INITIATED_FROM": "Iniciada des de", "INITIATED_AT": "Iniciada a les", + "IP_ADDRESS": "Adreça IP", "CONVERSATIONS": { "NO_RECORDS_FOUND": "No hi han converses prèvies associades a aquest contacte.", "TITLE": "Converses prèvies" diff --git a/app/javascript/dashboard/i18n/locale/ca/conversation.json b/app/javascript/dashboard/i18n/locale/ca/conversation.json index 65882712f..b58a644c1 100644 --- a/app/javascript/dashboard/i18n/locale/ca/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ca/conversation.json @@ -13,8 +13,8 @@ "PLACEHOLDER": "Escriu qualsevol text per cercar missatges", "NO_MATCHING_RESULTS": "No hi ha missatges que coincideixin amb els paràmetres de cerca." }, - "UNREAD_MESSAGES": "Unread Messages", - "UNREAD_MESSAGE": "Unread Message", + "UNREAD_MESSAGES": "Missatges no Llegits", + "UNREAD_MESSAGE": "Missatge no Llegit", "CLICK_HERE": "Clica aquí", "LOADING_INBOXES": "S'estan carregant les safates d'entrada", "LOADING_CONVERSATIONS": "S'estan carregant les converses", @@ -24,6 +24,7 @@ "REPLYING_TO": "Estas responent a:", "REMOVE_SELECTION": "Elimina la selecció", "DOWNLOAD": "Descarrega", + "UPLOADING_ATTACHMENTS": "Pujant fitxers adjunts...", "HEADER": { "RESOLVE_ACTION": "Resoldre", "REOPEN_ACTION": "Tornar a obrir", @@ -40,7 +41,10 @@ "PRIVATE_NOTE": "Nota privada", "SEND": "Envia", "CREATE": "Afegeix una nota", - "TWEET": "Tuit" + "TWEET": "Tuit", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, "VISIBLE_TO_AGENTS": "Nota privada: Només és visible per tu i el vostre equip", "CHANGE_STATUS": "Estat de la conversa canviat", diff --git a/app/javascript/dashboard/i18n/locale/ca/generalSettings.json b/app/javascript/dashboard/i18n/locale/ca/generalSettings.json index 949267b11..20ca7465c 100644 --- a/app/javascript/dashboard/i18n/locale/ca/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/ca/generalSettings.json @@ -42,7 +42,8 @@ "INBOUND_EMAIL_ENABLED": "La continuïtat de converses amb correus electrònics està habilitada per al vostre compte.", "CUSTOM_EMAIL_DOMAIN_ENABLED": "Ara podeu rebre correus electrònics al vostre domini personalitzat." } - } + }, + "UPDATE_CHATWOOT": "An update %{latestChatwootVersion} for Chatwoot is available. Please update your instance." }, "FORMS": { "MULTISELECT": { diff --git a/app/javascript/dashboard/i18n/locale/ca/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ca/inboxMgmt.json index cc827e9e7..1f4f8430a 100644 --- a/app/javascript/dashboard/i18n/locale/ca/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ca/inboxMgmt.json @@ -241,7 +241,9 @@ "AUTO_ASSIGNMENT": "Activa l'assignació automàtica", "INBOX_UPDATE_TITLE": "Configuració de la safata d'entrada", "INBOX_UPDATE_SUB_TEXT": "Actualitza la configuració de la safata d'entrada", - "AUTO_ASSIGNMENT_SUB_TEXT": "Activa o desactiva l'assignació automàtica d'agents disponibles a les noves converses" + "AUTO_ASSIGNMENT_SUB_TEXT": "Activa o desactiva l'assignació automàtica d'agents disponibles a les noves converses", + "HMAC_VERIFICATION": "User Identity Validation", + "HMAC_DESCRIPTION": "Inorder validate the users identity, the SDK allows you to pass an `identity_hash` for each user. You can generate HMAC using 'sha256' with the key shown here." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reautoritza", diff --git a/app/javascript/dashboard/i18n/locale/ca/index.js b/app/javascript/dashboard/i18n/locale/ca/index.js index 558cc9b3a..5dfc44e4b 100644 --- a/app/javascript/dashboard/i18n/locale/ca/index.js +++ b/app/javascript/dashboard/i18n/locale/ca/index.js @@ -1,5 +1,5 @@ -/* eslint-disable */ import { default as _agentMgmt } from './agentMgmt.json'; +import { default as _labelsMgmt } from './labelsMgmt.json'; import { default as _cannedMgmt } from './cannedMgmt.json'; import { default as _chatlist } from './chatlist.json'; import { default as _contact } from './contact.json'; @@ -23,6 +23,7 @@ export default { ..._inboxMgmt, ..._login, ..._report, + ..._labelsMgmt, ..._resetPassword, ..._setNewPassword, ..._settings, diff --git a/app/javascript/dashboard/i18n/locale/ca/report.json b/app/javascript/dashboard/i18n/locale/ca/report.json index 93813aa44..7dabbcb7e 100644 --- a/app/javascript/dashboard/i18n/locale/ca/report.json +++ b/app/javascript/dashboard/i18n/locale/ca/report.json @@ -3,7 +3,7 @@ "HEADER": "Informes", "LOADING_CHART": "S'estan carregant dades del gràfic...", "NO_ENOUGH_DATA": "No hem rebut suficients punts de dades per generar l'informe. Torneu-ho a provar més endavant.", - "DOWNLOAD_AGENT_REPORTS": "Download agent reports", + "DOWNLOAD_AGENT_REPORTS": "Descarregar Informes d'Agent", "METRICS": { "CONVERSATIONS": { "NAME": "Converses", diff --git a/app/javascript/dashboard/i18n/locale/ca/settings.json b/app/javascript/dashboard/i18n/locale/ca/settings.json index c0431495b..06d239685 100644 --- a/app/javascript/dashboard/i18n/locale/ca/settings.json +++ b/app/javascript/dashboard/i18n/locale/ca/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "Converses", "REPORTS": "Informes", - "CONTACTS": "Contactes (Beta)", + "CONTACTS": "Contactes", "SETTINGS": "Configuracions", "HOME": "Inici", "AGENTS": "Agents", diff --git a/app/javascript/dashboard/i18n/locale/ca/signup.json b/app/javascript/dashboard/i18n/locale/ca/signup.json index aa87cf84c..578dfde7a 100644 --- a/app/javascript/dashboard/i18n/locale/ca/signup.json +++ b/app/javascript/dashboard/i18n/locale/ca/signup.json @@ -5,13 +5,18 @@ "TERMS_ACCEPT": "En registrar-vos, esteu d’acord amb el nostre T & C i Polítiques de Privadesa", "ACCOUNT_NAME": { "LABEL": "Nom del compte", - "PLACEHOLDER": "Wayne Enterprises", + "PLACEHOLDER": "Introdueix el nom del compte. ex: Wayne Enterprises", + "ERROR": "El nom del compte és massa curt" + }, + "FULL_NAME": { + "LABEL": "Nom complet", + "PLACEHOLDER": "Introdueix el teu nom complet. ex: Bruce Wayne", "ERROR": "El nom del compte és massa curt" }, "EMAIL": { - "LABEL": "Correu electrònic", - "PLACEHOLDER": "bruce@wayne.enterprises", - "ERROR": "El correu electrònic no és correcte" + "LABEL": "Email de treball", + "PLACEHOLDER": "Introdueix la teva adreça email de treball. ex: bruce@wayne.enterprises", + "ERROR": "Adreça email invàlida" }, "PASSWORD": { "LABEL": "Contrasenya", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "No s'ha pogut connectar amb el servidor Woot. Torna-ho a provar més endavant" }, "SUBMIT": "Envia", - "FEATURES": { - "UNLIMITED_INBOXES": "Safates ilimitades", - "ROBUST_REPORTING": "Informa robust", - "CANNED_RESPONSES": "Respostes predeterminades", - "AUTO_ASSIGNMENT": "Tasca Automàtica", - "SECURITY": "Seguretat a nivell empreserial" - } + "HAVE_AN_ACCOUNT": "Ja tens un compte?" } } diff --git a/app/javascript/dashboard/i18n/locale/cs/contact.json b/app/javascript/dashboard/i18n/locale/cs/contact.json index 19f01f6ef..c7af0ddad 100644 --- a/app/javascript/dashboard/i18n/locale/cs/contact.json +++ b/app/javascript/dashboard/i18n/locale/cs/contact.json @@ -11,6 +11,7 @@ "OS": "Operační systém", "INITIATED_FROM": "Zahájeno od", "INITIATED_AT": "Zahájeno v", + "IP_ADDRESS": "IP adresa", "CONVERSATIONS": { "NO_RECORDS_FOUND": "K tomuto kontaktu nejsou přiřazeny žádné předchozí konverzace.", "TITLE": "Předchozí konverzace" diff --git a/app/javascript/dashboard/i18n/locale/cs/conversation.json b/app/javascript/dashboard/i18n/locale/cs/conversation.json index 80fb50df8..d43167102 100644 --- a/app/javascript/dashboard/i18n/locale/cs/conversation.json +++ b/app/javascript/dashboard/i18n/locale/cs/conversation.json @@ -13,8 +13,8 @@ "PLACEHOLDER": "Zadejte jakýkoli text k hledání", "NO_MATCHING_RESULTS": "Vašemu vyhledávání neodpovídají žádné zprávy." }, - "UNREAD_MESSAGES": "Unread Messages", - "UNREAD_MESSAGE": "Unread Message", + "UNREAD_MESSAGES": "Nepřečtené zprávy", + "UNREAD_MESSAGE": "Nepřečtená zpráva", "CLICK_HERE": "Klikněte zde", "LOADING_INBOXES": "Načítání krabic", "LOADING_CONVERSATIONS": "Načítání konverzací", @@ -24,6 +24,7 @@ "REPLYING_TO": "Odpovídáte uživateli:", "REMOVE_SELECTION": "Odstranit výběr", "DOWNLOAD": "Stáhnout", + "UPLOADING_ATTACHMENTS": "Nahrávání příloh...", "HEADER": { "RESOLVE_ACTION": "Vyřešit", "REOPEN_ACTION": "Znovu otevřít", @@ -40,16 +41,19 @@ "PRIVATE_NOTE": "Soukromá poznámka", "SEND": "Poslat", "CREATE": "Přidat poznámku", - "TWEET": "Tweet" + "TWEET": "Tweet", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, "VISIBLE_TO_AGENTS": "Soukromá poznámka: Viditelné pouze pro vás a váš tým", "CHANGE_STATUS": "Stav konverzace byl změněn", "CHANGE_AGENT": "Konverzace pověřená osoba změněna", - "SENT_BY": "Sent by:", + "SENT_BY": "Odeslal:", "ASSIGNMENT": { - "SELECT_AGENT": "Select Agent", + "SELECT_AGENT": "Vybrat agenta", "REMOVE": "Odebrat", - "ASSIGN": "Assign" + "ASSIGN": "Přiřadit" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/cs/generalSettings.json b/app/javascript/dashboard/i18n/locale/cs/generalSettings.json index 969d0c5b2..c2d583554 100644 --- a/app/javascript/dashboard/i18n/locale/cs/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/cs/generalSettings.json @@ -42,13 +42,14 @@ "INBOUND_EMAIL_ENABLED": "E-mailová konverzace je u vašeho účtu povolena.", "CUSTOM_EMAIL_DOMAIN_ENABLED": "Nyní můžete přijímat e-maily na vaši vlastní doménu." } - } + }, + "UPDATE_CHATWOOT": "An update %{latestChatwootVersion} for Chatwoot is available. Please update your instance." }, "FORMS": { "MULTISELECT": { - "ENTER_TO_SELECT": "Press enter to select", - "ENTER_TO_REMOVE": "Press enter to remove", - "SELECT_ONE": "Select one" + "ENTER_TO_SELECT": "Stiskněte Enter pro vybrání", + "ENTER_TO_REMOVE": "Stiskněte Enter pro odebrání", + "SELECT_ONE": "Vyberte jeden" } } } diff --git a/app/javascript/dashboard/i18n/locale/cs/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/cs/inboxMgmt.json index b1964a136..146b737c4 100644 --- a/app/javascript/dashboard/i18n/locale/cs/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/cs/inboxMgmt.json @@ -75,10 +75,10 @@ }, "REPLY_TIME": { "TITLE": "Nastavit čas odpovědi", - "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" + "IN_A_FEW_MINUTES": "Do několika minut", + "IN_A_FEW_HOURS": "Do několika hodin", + "IN_A_DAY": "Do dne", + "HELP_TEXT": "Tento čas odpovědi bude zobrazen na widgetu" }, "WIDGET_COLOR": { "LABEL": "Barva widgetu", @@ -241,7 +241,9 @@ "AUTO_ASSIGNMENT": "Povolit automatické přiřazení", "INBOX_UPDATE_TITLE": "Nastavení doručené pošty", "INBOX_UPDATE_SUB_TEXT": "Aktualizujte nastavení doručené pošty", - "AUTO_ASSIGNMENT_SUB_TEXT": "Povolit nebo zakázat automatické přiřazování nových konverzací agentům přidaným do této schránky." + "AUTO_ASSIGNMENT_SUB_TEXT": "Povolit nebo zakázat automatické přiřazování nových konverzací agentům přidaným do této schránky.", + "HMAC_VERIFICATION": "User Identity Validation", + "HMAC_DESCRIPTION": "Inorder validate the users identity, the SDK allows you to pass an `identity_hash` for each user. You can generate HMAC using 'sha256' with the key shown here." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Znovu autorizovat", diff --git a/app/javascript/dashboard/i18n/locale/cs/settings.json b/app/javascript/dashboard/i18n/locale/cs/settings.json index 3fc24e742..7b477e382 100644 --- a/app/javascript/dashboard/i18n/locale/cs/settings.json +++ b/app/javascript/dashboard/i18n/locale/cs/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "Konverzace", "REPORTS": "Zprávy", - "CONTACTS": "Contacts (Beta)", + "CONTACTS": "Kontakty", "SETTINGS": "Nastavení", "HOME": "Home", "AGENTS": "Agenti", diff --git a/app/javascript/dashboard/i18n/locale/cs/signup.json b/app/javascript/dashboard/i18n/locale/cs/signup.json index d5aa3956e..49f82b700 100644 --- a/app/javascript/dashboard/i18n/locale/cs/signup.json +++ b/app/javascript/dashboard/i18n/locale/cs/signup.json @@ -5,13 +5,18 @@ "TERMS_ACCEPT": "Registrací souhlasíte s našimi T & C a Zásadami ochrany osobních údajů", "ACCOUNT_NAME": { "LABEL": "Název účtu", - "PLACEHOLDER": "Wayne podniky", - "ERROR": "Název účtu je příliš krátký" + "PLACEHOLDER": "Enter an account name. eg: Wayne Enterprises", + "ERROR": "Account name is too short" + }, + "FULL_NAME": { + "LABEL": "Full name", + "PLACEHOLDER": "Enter your full name. eg: Bruce Wayne", + "ERROR": "Full name is too short" }, "EMAIL": { - "LABEL": "E-mailová adresa", - "PLACEHOLDER": "bruce@wayne.enterprises", - "ERROR": "E-mail je neplatný" + "LABEL": "Work email", + "PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises", + "ERROR": "Email address is invalid" }, "PASSWORD": { "LABEL": "Heslo", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "Nelze se připojit k Woot serveru, opakujte akci později" }, "SUBMIT": "Odeslat", - "FEATURES": { - "UNLIMITED_INBOXES": "Unlimited inboxes", - "ROBUST_REPORTING": "Robust Reporting", - "CANNED_RESPONSES": "Konzervované odpovědi", - "AUTO_ASSIGNMENT": "Auto Assignment", - "SECURITY": "Enterprise level security" - } + "HAVE_AN_ACCOUNT": "Already have an account?" } } diff --git a/app/javascript/dashboard/i18n/locale/da/contact.json b/app/javascript/dashboard/i18n/locale/da/contact.json index 4a2eb0bbf..bf22980e5 100644 --- a/app/javascript/dashboard/i18n/locale/da/contact.json +++ b/app/javascript/dashboard/i18n/locale/da/contact.json @@ -11,6 +11,7 @@ "OS": "Operativsystem", "INITIATED_FROM": "Startet fra", "INITIATED_AT": "Startet fra", + "IP_ADDRESS": "IP Address", "CONVERSATIONS": { "NO_RECORDS_FOUND": "Der er ingen tidligere samtaler tilknyttet denne kontakt.", "TITLE": "Tidligere Samtaler" diff --git a/app/javascript/dashboard/i18n/locale/da/conversation.json b/app/javascript/dashboard/i18n/locale/da/conversation.json index 260238d29..db40a2e32 100644 --- a/app/javascript/dashboard/i18n/locale/da/conversation.json +++ b/app/javascript/dashboard/i18n/locale/da/conversation.json @@ -24,6 +24,7 @@ "REPLYING_TO": "Du svarer til:", "REMOVE_SELECTION": "Fjern Markering", "DOWNLOAD": "Download", + "UPLOADING_ATTACHMENTS": "Uploading attachments...", "HEADER": { "RESOLVE_ACTION": "Løs", "REOPEN_ACTION": "Genåben", @@ -40,7 +41,10 @@ "PRIVATE_NOTE": "Privat Note", "SEND": "Send", "CREATE": "Tilføj Note", - "TWEET": "Tweet" + "TWEET": "Tweet", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, "VISIBLE_TO_AGENTS": "Privat Note: Kun synlig for dig og dit team", "CHANGE_STATUS": "Samtalestatus ændret", diff --git a/app/javascript/dashboard/i18n/locale/da/generalSettings.json b/app/javascript/dashboard/i18n/locale/da/generalSettings.json index 6fdc73177..6da2cc759 100644 --- a/app/javascript/dashboard/i18n/locale/da/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/da/generalSettings.json @@ -42,7 +42,8 @@ "INBOUND_EMAIL_ENABLED": "Samtale kontinuitet med e-mails er aktiveret for din konto.", "CUSTOM_EMAIL_DOMAIN_ENABLED": "Du kan modtage e-mails på dit brugerdefinerede domæne nu." } - } + }, + "UPDATE_CHATWOOT": "An update %{latestChatwootVersion} for Chatwoot is available. Please update your instance." }, "FORMS": { "MULTISELECT": { diff --git a/app/javascript/dashboard/i18n/locale/da/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/da/inboxMgmt.json index d1bcd2a37..6f49a8b26 100644 --- a/app/javascript/dashboard/i18n/locale/da/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/da/inboxMgmt.json @@ -241,7 +241,9 @@ "AUTO_ASSIGNMENT": "Aktiver automatisk tildeling", "INBOX_UPDATE_TITLE": "Indbakke Indstillinger", "INBOX_UPDATE_SUB_TEXT": "Opdater dine indbakkeindstillinger", - "AUTO_ASSIGNMENT_SUB_TEXT": "Aktiver eller deaktiver automatisk tildeling af nye samtaler til agenter tilføjet til denne indbakke." + "AUTO_ASSIGNMENT_SUB_TEXT": "Aktiver eller deaktiver automatisk tildeling af nye samtaler til agenter tilføjet til denne indbakke.", + "HMAC_VERIFICATION": "User Identity Validation", + "HMAC_DESCRIPTION": "Inorder validate the users identity, the SDK allows you to pass an `identity_hash` for each user. You can generate HMAC using 'sha256' with the key shown here." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Genautorisér", diff --git a/app/javascript/dashboard/i18n/locale/da/settings.json b/app/javascript/dashboard/i18n/locale/da/settings.json index acf2dad20..a5bd70c1f 100644 --- a/app/javascript/dashboard/i18n/locale/da/settings.json +++ b/app/javascript/dashboard/i18n/locale/da/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "Samtaler", "REPORTS": "Rapporter", - "CONTACTS": "Kontakter (Beta)", + "CONTACTS": "Kontakter", "SETTINGS": "Indstillinger", "HOME": "Hjem", "AGENTS": "Agenter", diff --git a/app/javascript/dashboard/i18n/locale/da/signup.json b/app/javascript/dashboard/i18n/locale/da/signup.json index d877ecfdc..3998d458b 100644 --- a/app/javascript/dashboard/i18n/locale/da/signup.json +++ b/app/javascript/dashboard/i18n/locale/da/signup.json @@ -5,13 +5,18 @@ "TERMS_ACCEPT": "Ved at tilmelde dig, accepterer du vores T & C og Privatlivspolitik", "ACCOUNT_NAME": { "LABEL": "Kontonavn", - "PLACEHOLDER": "Wayne Enterprises", - "ERROR": "Kontonavn er for kort" + "PLACEHOLDER": "Enter an account name. eg: Wayne Enterprises", + "ERROR": "Account name is too short" + }, + "FULL_NAME": { + "LABEL": "Full name", + "PLACEHOLDER": "Enter your full name. eg: Bruce Wayne", + "ERROR": "Full name is too short" }, "EMAIL": { - "LABEL": "E-mail", - "PLACEHOLDER": "bruce@wayne.enterprises", - "ERROR": "E-mail er ugyldig" + "LABEL": "Work email", + "PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises", + "ERROR": "Email address is invalid" }, "PASSWORD": { "LABEL": "Adgangskode", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere" }, "SUBMIT": "Send", - "FEATURES": { - "UNLIMITED_INBOXES": "Unlimited inboxes", - "ROBUST_REPORTING": "Robust Reporting", - "CANNED_RESPONSES": "Standardsvar Svar", - "AUTO_ASSIGNMENT": "Auto Assignment", - "SECURITY": "Enterprise level security" - } + "HAVE_AN_ACCOUNT": "Already have an account?" } } diff --git a/app/javascript/dashboard/i18n/locale/de/chatlist.json b/app/javascript/dashboard/i18n/locale/de/chatlist.json index 0deec4756..086ce1130 100644 --- a/app/javascript/dashboard/i18n/locale/de/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/de/chatlist.json @@ -77,8 +77,8 @@ "CONTENT": "hat eine URL geteilt" } }, - "RECEIVED_VIA_EMAIL": "Received via email", - "VIEW_TWEET_IN_TWITTER": "View tweet in Twitter", - "REPLY_TO_TWEET": "Reply to this tweet" + "RECEIVED_VIA_EMAIL": "Per E-Mail empfangen", + "VIEW_TWEET_IN_TWITTER": "Tweet auf Twitter anzeigen", + "REPLY_TO_TWEET": "Auf diesen Tweet antworten" } } diff --git a/app/javascript/dashboard/i18n/locale/de/contact.json b/app/javascript/dashboard/i18n/locale/de/contact.json index d8cb5632a..0333afa03 100644 --- a/app/javascript/dashboard/i18n/locale/de/contact.json +++ b/app/javascript/dashboard/i18n/locale/de/contact.json @@ -1,113 +1,114 @@ { "CONTACT_PANEL": { - "NOT_AVAILABLE": "Not Available", + "NOT_AVAILABLE": "Nicht verfügbar", "EMAIL_ADDRESS": "E-Mail-Addresse", "PHONE_NUMBER": "Telefonnummer", - "COPY_SUCCESSFUL": "Copied to clipboard successfully", - "COMPANY": "Company", + "COPY_SUCCESSFUL": "Der Code wurde erfolgreich in die Zwischenablage kopiert", + "COMPANY": "Firma", "LOCATION": "Ort", "CONVERSATION_TITLE": "Unterhaltungsdetails", "BROWSER": "Browser", "OS": "Betriebssystem", "INITIATED_FROM": "Initiiert von", "INITIATED_AT": "Initiiert bei", + "IP_ADDRESS": "IP-Adresse", "CONVERSATIONS": { "NO_RECORDS_FOUND": "Es sind keine vorherigen Gespräche mit diesem Kontakt verbunden.", "TITLE": "Vorherige Gespräche" }, "CUSTOM_ATTRIBUTES": { - "TITLE": "Custom Attributes" + "TITLE": "Benutzerdefinierte Attribute" }, "LABELS": { "TITLE": "Konversationsetiketten", "MODAL": { - "TITLE": "Labels for", - "ACTIVE_LABELS": "Labels added to the conversation", - "INACTIVE_LABELS": "Labels available in the account", - "REMOVE": "Click on X icon to remove the label", - "ADD": "Click on + icon to add the label", - "UPDATE_BUTTON": "Update labels", + "TITLE": "Labels für", + "ACTIVE_LABELS": "Labels zur Unterhaltung hinzugefügt", + "INACTIVE_LABELS": "Verfügbare Labels im Konto", + "REMOVE": "Klicken Sie auf das X-Symbol, um das Label zu entfernen", + "ADD": "Klicken Sie auf das + Symbol, um ein Label hinzuzufügen", + "UPDATE_BUTTON": "Labels aktualisieren", "UPDATE_ERROR": "Etiketten konnten nicht aktualisiert werden. Versuchen Sie es erneut." }, - "NO_LABELS_TO_ADD": "There are no more labels defined in the account.", - "NO_AVAILABLE_LABELS": "There are no labels added to this conversation." + "NO_LABELS_TO_ADD": "Es sind keine weiteren Labels im Konto definiert.", + "NO_AVAILABLE_LABELS": "Zu dieser Unterhaltung wurden noch keine Labels hinzugefügt." }, - "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", + "MUTE_CONTACT": "Unterhaltung stummschalten", + "UNMUTE_CONTACT": "Unterhaltung entmuten", + "MUTED_SUCCESS": "Diese Unterhaltung ist für 6 Stunden auf stumm schalten", + "UNMUTED_SUCCESS": "Diese Unterhaltung ist nicht mehr stumm geschaltet", + "SEND_TRANSCRIPT": "Transkript senden", "EDIT_LABEL": "Bearbeiten" }, "EDIT_CONTACT": { - "BUTTON_LABEL": "Edit Contact", - "TITLE": "Edit contact", - "DESC": "Edit contact details", + "BUTTON_LABEL": "Kontakt bearbeiten", + "TITLE": "Kontakt bearbeiten", + "DESC": "Kontaktdetails bearbeiten", "FORM": { "SUBMIT": "Einreichen", "CANCEL": "Stornieren", "AVATAR": { - "LABEL": "Contact Avatar" + "LABEL": "Kontaktbild" }, "NAME": { - "PLACEHOLDER": "Enter the full name of the contact", - "LABEL": "Full Name" + "PLACEHOLDER": "Vollständigen Namen des Kontakts eingeben", + "LABEL": "Vollständiger Name" }, "BIO": { - "PLACEHOLDER": "Enter the bio of the contact", - "LABEL": "Bio" + "PLACEHOLDER": "Beschreibung dieses Kontakts", + "LABEL": "Beschreibung" }, "EMAIL_ADDRESS": { - "PLACEHOLDER": "Enter the email address of the contact", + "PLACEHOLDER": "Geben Sie die E-Mail-Adresse des Kontakts ein", "LABEL": "E-Mail-Addresse" }, "PHONE_NUMBER": { - "PLACEHOLDER": "Enter the phone number of the contact", - "LABEL": "Phone Number" + "PLACEHOLDER": "Geben Sie die Telefonnummer des Kontakts ein", + "LABEL": "Telefonnummer" }, "LOCATION": { - "PLACEHOLDER": "Enter the location of the contact", + "PLACEHOLDER": "Geben Sie den Standort des Kontakts ein", "LABEL": "Ort" }, "COMPANY_NAME": { - "PLACEHOLDER": "Enter the company name", - "LABEL": "Company Name" + "PLACEHOLDER": "Firmenname eingeben", + "LABEL": "Firmenname" }, "SOCIAL_PROFILES": { "FACEBOOK": { - "PLACEHOLDER": "Enter the Facebook username", + "PLACEHOLDER": "Facebook-Benutzername eingeben", "LABEL": "Facebook" }, "TWITTER": { - "PLACEHOLDER": "Enter the Twitter username", + "PLACEHOLDER": "Twitter-Benutzername eingeben", "LABEL": "Twitter" }, "LINKEDIN": { - "PLACEHOLDER": "Enter the LinkedIn username", + "PLACEHOLDER": "Geben Sie den LinkedIn-Benutzernamen ein", "LABEL": "LinkedIn" }, "GITHUB": { - "PLACEHOLDER": "Enter the Github username", + "PLACEHOLDER": "Gitub-Benutzernamen eingeben", "LABEL": "Github" } } }, - "SUCCESS_MESSAGE": "Updated contact successfully", - "CONTACT_ALREADY_EXIST": "This email address is in use for another contact.", - "ERROR_MESSAGE": "There was an error updating the contact, please try again" + "SUCCESS_MESSAGE": "Kontakt erfolgreich aktualisiert", + "CONTACT_ALREADY_EXIST": "Diese E-Mail-Adresse wird bereits für einen anderen Kontakt verwendet.", + "ERROR_MESSAGE": "Beim Aktualisieren des Kontakts ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut" }, "CONTACTS_PAGE": { - "HEADER": "Contacts", - "SEARCH_BUTTON": "Search", - "SEARCH_INPUT_PLACEHOLDER": "Search for contacts", + "HEADER": "Kontakte", + "SEARCH_BUTTON": "Suchen", + "SEARCH_INPUT_PLACEHOLDER": "Suche nach Kontakten", "LIST": { - "LOADING_MESSAGE": "Loading contacts...", - "404": "No contacts matches your search 🔍", + "LOADING_MESSAGE": "Kontakte werden geladen...", + "404": "Keine Kontakte entsprechend Deiner Suche gefunden 🔍", "TABLE_HEADER": [ "Name", - "Phone Number", + "Telefonnummer", "Gespräche", - "Last Contacted" + "Letzter Kontakt" ] } } diff --git a/app/javascript/dashboard/i18n/locale/de/conversation.json b/app/javascript/dashboard/i18n/locale/de/conversation.json index 4e57ce402..7ecd5013f 100644 --- a/app/javascript/dashboard/i18n/locale/de/conversation.json +++ b/app/javascript/dashboard/i18n/locale/de/conversation.json @@ -6,24 +6,25 @@ "NO_INBOX_1": "Hallo! Sieht so aus, als hätten Sie noch keine Posteingänge hinzugefügt.", "NO_INBOX_2": " um loszulegen", "NO_INBOX_AGENT": "Oh oh! Sieht so aus, als wären Sie nicht Teil eines Posteingangs. Bitte wenden Sie sich an Ihren Administrator", - "SEARCH_MESSAGES": "Search for messages in conversations", + "SEARCH_MESSAGES": "Nachrichten durchsuchen", "SEARCH": { - "TITLE": "Search messages", - "LOADING_MESSAGE": "Crunching data...", - "PLACEHOLDER": "Type any text to search messages", - "NO_MATCHING_RESULTS": "There are no messages matching the search parameters." + "TITLE": "Nachrichten durchsuchen", + "LOADING_MESSAGE": "Daten werden geladen...", + "PLACEHOLDER": "Geben Sie einen Text ein, um danach zu suchen", + "NO_MATCHING_RESULTS": "Keine passenden Nachrichten gefunden." }, - "UNREAD_MESSAGES": "Unread Messages", - "UNREAD_MESSAGE": "Unread Message", + "UNREAD_MESSAGES": "Ungelesene Nachrichten", + "UNREAD_MESSAGE": "Ungelesene Nachricht", "CLICK_HERE": "Hier klicken", "LOADING_INBOXES": "Posteingänge laden", "LOADING_CONVERSATIONS": "Gespräche laden", - "CANNOT_REPLY": "You cannot reply due to", - "24_HOURS_WINDOW": "24 hour message window restriction", - "LAST_INCOMING_TWEET": "You are replying to the last incoming tweet", - "REPLYING_TO": "You are replying to:", - "REMOVE_SELECTION": "Remove Selection", + "CANNOT_REPLY": "Du kannst nicht Antworten aufgrund von", + "24_HOURS_WINDOW": "24-Stunden-Nachrichtenfenster-Beschränkung", + "LAST_INCOMING_TWEET": "Du antwortest auf den letzten eingehenden Tweet", + "REPLYING_TO": "Du antwortest auf:", + "REMOVE_SELECTION": "Auswahl entfernen", "DOWNLOAD": "Herunterladen", + "UPLOADING_ATTACHMENTS": "Uploading attachments...", "HEADER": { "RESOLVE_ACTION": "Fall schließen", "REOPEN_ACTION": "Wieder öffnen", @@ -40,31 +41,34 @@ "PRIVATE_NOTE": "Private Notiz", "SEND": "Senden", "CREATE": "Notiz hinzufügen", - "TWEET": "Tweet" + "TWEET": "Tweet", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, "VISIBLE_TO_AGENTS": "Privater Hinweis: Nur für Sie und Ihr Team sichtbar", "CHANGE_STATUS": "Gesprächsstatus geändert", "CHANGE_AGENT": "Konversationsempfänger geändert", - "SENT_BY": "Sent by:", + "SENT_BY": "Gesendet von:", "ASSIGNMENT": { - "SELECT_AGENT": "Select Agent", + "SELECT_AGENT": "Agent auswählen", "REMOVE": "Entfernen", - "ASSIGN": "Assign" + "ASSIGN": "Zuordnen" } }, "EMAIL_TRANSCRIPT": { - "TITLE": "Send conversation transcript", - "DESC": "Send a copy of the conversation transcript to the specified email address", + "TITLE": "Konversations-Transkript senden", + "DESC": "Kopie des Konversationsprotokolls an die angegebene E-Mail-Adresse senden", "SUBMIT": "Einreichen", "CANCEL": "Stornieren", - "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", - "SEND_EMAIL_ERROR": "There was an error, please try again", + "SEND_EMAIL_SUCCESS": "Das Chat-Protokoll wurde erfolgreich gesendet", + "SEND_EMAIL_ERROR": "Es ist ein Fehler aufgetreten, bitte versuche es erneut", "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": "Das Transkript an den Kunden senden", + "SEND_TO_AGENT": "Transkript an den zugewiesenen Agent senden", + "SEND_TO_OTHER_EMAIL_ADDRESS": "Transkript an eine andere E-Mail-Adresse senden", "EMAIL": { - "PLACEHOLDER": "Enter an email address", + "PLACEHOLDER": "E-Mail-Adresse eingeben", "ERROR": "Bitte geben Sie eine gültige E-Mail-Adresse ein" } } diff --git a/app/javascript/dashboard/i18n/locale/de/generalSettings.json b/app/javascript/dashboard/i18n/locale/de/generalSettings.json index c681da0e6..edd13312b 100644 --- a/app/javascript/dashboard/i18n/locale/de/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/de/generalSettings.json @@ -2,7 +2,7 @@ "GENERAL_SETTINGS": { "TITLE": "Kontoeinstellungen", "SUBMIT": "Update Einstellungen", - "BACK": "Back", + "BACK": "Zurück", "UPDATE": { "ERROR": "Einstellungen konnten nicht aktualisiert werden, versuchen Sie es erneut!", "SUCCESS": "Kontoeinstellungen erfolgreich aktualisiert" @@ -24,31 +24,32 @@ "ERROR": "" }, "DOMAIN": { - "LABEL": "Incoming Email Domain", - "PLACEHOLDER": "The domain where you will receive the emails", + "LABEL": "Eingehende E-Mail-Domain", + "PLACEHOLDER": "Die Domain, von der E-Mails empfangen werden", "ERROR": "" }, "SUPPORT_EMAIL": { - "LABEL": "Support Email", - "PLACEHOLDER": "Your company's support email", + "LABEL": "Support-E-Mail", + "PLACEHOLDER": "Support E-Mail deines Unternehmens", "ERROR": "" }, "AUTO_RESOLVE_DURATION": { - "LABEL": "Number of days after a ticket should auto resolve if there is no activity", + "LABEL": "Anzahl der Tage, nach denen ein Ticket automatisch geschlossen wird, wenn keine Aktivität erfolgt", "PLACEHOLDER": "30", - "ERROR": "Please enter a valid auto resolve duration (minimum 1 day)" + "ERROR": "Bitte gebe eine gültige automatische Auflösungsdauer ein (mindestens 1 Tag)" }, "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." + "CUSTOM_EMAIL_DOMAIN_ENABLED": "Du kannst E-Mails jetzt von der festgelegten Domain erhalten." } - } + }, + "UPDATE_CHATWOOT": "An update %{latestChatwootVersion} for Chatwoot is available. Please update your instance." }, "FORMS": { "MULTISELECT": { - "ENTER_TO_SELECT": "Press enter to select", - "ENTER_TO_REMOVE": "Press enter to remove", - "SELECT_ONE": "Select one" + "ENTER_TO_SELECT": "Drücke Enter zum Auswählen", + "ENTER_TO_REMOVE": "Drücke Enter zum Entfernen", + "SELECT_ONE": "Eine Option wählen" } } } diff --git a/app/javascript/dashboard/i18n/locale/de/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/de/inboxMgmt.json index 42924f951..64b8135cc 100644 --- a/app/javascript/dashboard/i18n/locale/de/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/de/inboxMgmt.json @@ -1,7 +1,7 @@ { "INBOX_MGMT": { "HEADER": "Posteingänge", - "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.

", + "SIDEBAR_TXT": "

Posteingang

Wenn du eine Webseite oder eine Facebook-Seite mit Chatwood verbindest, wird dieser Kanal als Posteingang bezeichnet. Dabei können unbegrenzte viele Posteingänge angelegt werden.

Klicke auf Posteingang hinzufügen, um eine Webseite oder eine Facebook-Seite zu verbinden.

Im Dashboard du kannst alle Unterhaltungen aus allen deinen Posteingängen an einem Ort sehen und unter der Registerkarte \"Unterhaltungen\" beantworten.

Du kannst dir auch nur Konversationen anzeigen lassen, die in einen bestimmten Posteingang enthalten sind, indem du auf den Posteingangsnamen auf der linken Seite des Dashboards klicken.

", "LIST": { "404": "Diesem Konto sind keine Posteingänge zugeordnet." }, @@ -30,12 +30,12 @@ "ADD": { "FB": { "HELP": "PS: Durch die Anmeldung erhalten wir nur Zugriff auf die Nachrichten Ihrer Seite. Auf Ihre privaten Nachrichten kann Chatwoot niemals zugreifen.", - "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" + "CHOOSE_PAGE": "Seite auswählen", + "CHOOSE_PLACEHOLDER": "Wähle eine Seite aus der Liste", + "INBOX_NAME": "Name des Posteingang", + "ADD_NAME": "Namen für diesen Posteingang eingeben", + "PICK_NAME": "Wähle einen Namen für deinen Posteingang", + "PICK_A_VALUE": "Wähle einen Wert" }, "TWITTER": { "HELP": "Um Ihr Twitter-Profil als Kanal hinzuzufügen, müssen Sie Ihr Twitter-Profil authentifizieren, indem Sie auf 'Mit Twitter anmelden' klicken." @@ -43,7 +43,7 @@ "WEBSITE_CHANNEL": { "TITLE": "Website-Kanal", "DESC": "Erstellen Sie einen Kanal für Ihre Website und unterstützen Sie Ihre Kunden über unser Website-Widget.", - "LOADING_MESSAGE": "Creating Website Support Channel", + "LOADING_MESSAGE": "Website-Support-Channel erstellen", "CHANNEL_AVATAR": { "LABEL": "Channel Avatar" }, @@ -52,33 +52,33 @@ "PLACEHOLDER": "Geben Sie den Namen Ihrer Website ein (eg: Acme Inc)" }, "CHANNEL_DOMAIN": { - "LABEL": "Website Domain", + "LABEL": "Website-Domain", "PLACEHOLDER": "Geben Sie Ihre Website-Domain ein (eg: acme.com)" }, "CHANNEL_WELCOME_TITLE": { - "LABEL": "Welcome Heading", - "PLACEHOLDER": "Hi there !" + "LABEL": "Willkommens-Überschrift", + "PLACEHOLDER": "Hallo!" }, "CHANNEL_WELCOME_TAGLINE": { - "LABEL": "Welcome Tagline", - "PLACEHOLDER": "We make it simple to connect with us. Ask us anything, or share your feedback." + "LABEL": "Willkommens-Schlagzeile", + "PLACEHOLDER": "Wir machen es einfach, mit uns in Verbindung zu treten. Fragen Sie uns etwas oder teilen Sie Ihr Feedback." }, "CHANNEL_GREETING_MESSAGE": { - "LABEL": "Channel greeting message", - "PLACEHOLDER": "Acme Inc typically replies in a few hours." + "LABEL": "Grußnachricht des Kanals", + "PLACEHOLDER": "Wir antworten in der Regel in wenigen Stunden." }, "CHANNEL_GREETING_TOGGLE": { - "LABEL": "Enable channel greeting", - "HELP_TEXT": "Send a greeting message to the user when he starts the conversation.", + "LABEL": "Kanal Begrüßung aktivieren", + "HELP_TEXT": "Senden Sie eine Grußnachricht an den Benutzer, wenn er die Unterhaltung beginnt.", "ENABLED": "Aktiviert", "DISABLED": "Behindert" }, "REPLY_TIME": { "TITLE": "Reaktionszeit festlegen", - "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" + "IN_A_FEW_MINUTES": "Innerhalb weniger Minuten", + "IN_A_FEW_HOURS": "Innerhalb weniger Stunden", + "IN_A_DAY": "Innerhalb eines Tages", + "HELP_TEXT": "Diese Antwortzeit wird im Live-Chat-Widget angezeigt" }, "WIDGET_COLOR": { "LABEL": "Widget Farbe", @@ -87,7 +87,7 @@ "SUBMIT_BUTTON": "Posteingang erstellen" }, "TWILIO": { - "TITLE": "Twilio SMS/Whatsapp Channel", + "TITLE": "Twilio SMS/Whatsapp Kanal", "DESC": "Integrieren Sie Twilio und unterstützen Sie Ihre Kunden per SMS/Whatsapp.", "ACCOUNT_SID": { "LABEL": "Account SID", @@ -95,11 +95,11 @@ "ERROR": "Dieses Feld wird benötigt" }, "CHANNEL_TYPE": { - "LABEL": "Channel Type", - "ERROR": "Please select your Channel Type" + "LABEL": "Kanal-Typ", + "ERROR": "Bitte wählen Sie den Kanal-Typ aus" }, "AUTH_TOKEN": { - "LABEL": "Auth Token", + "LABEL": "Auth-Token", "PLACEHOLDER": "Bitte geben Sie Ihr Twilio Auth Token ein", "ERROR": "Dieses Feld wird benötigt" }, @@ -115,7 +115,7 @@ }, "API_CALLBACK": { "TITLE": "Callback URL", - "SUBTITLE": "You have to configure the message callback URL in Twilio with the URL mentioned here." + "SUBTITLE": "Sie müssen die Callback-URL in Twilio mit der hier genannten URL konfigurieren." }, "SUBMIT_BUTTON": "Erstellen Sie Twilio Channel", "API": { @@ -123,8 +123,8 @@ } }, "API_CHANNEL": { - "TITLE": "API Channel", - "DESC": "Integrate with API channel and start supporting your customers.", + "TITLE": "API-Kanal", + "DESC": "Integrieren Sie einen API-Kanal und starten Sie mit der Unterstützung Ihrer Kunden.", "CHANNEL_NAME": { "LABEL": "Kanal Name", "PLACEHOLDER": "Bitte geben Sie einen Kanalnamen ein", @@ -132,32 +132,32 @@ }, "WEBHOOK_URL": { "LABEL": "Webhook-URL", - "SUBTITLE": "Configure the URL where you want to recieve callbacks on events.", + "SUBTITLE": "Konfigurieren Sie die URL, auf der Sie Callbacks bei Events erhalten möchten.", "PLACEHOLDER": "Webhook-URL" }, - "SUBMIT_BUTTON": "Create API Channel", + "SUBMIT_BUTTON": "API-Kanal erstellen", "API": { - "ERROR_MESSAGE": "We were not able to save the api channel" + "ERROR_MESSAGE": "Der API-Kanal konnte nicht gespeichert werden" } }, "EMAIL_CHANNEL": { - "TITLE": "Email Channel", - "DESC": "Integrate you email inbox.", + "TITLE": "E-Mail-Kanal", + "DESC": "Integrieren Sie Ihren Posteingang.", "CHANNEL_NAME": { "LABEL": "Kanal Name", "PLACEHOLDER": "Bitte geben Sie einen Kanalnamen ein", "ERROR": "Dieses Feld wird benötigt" }, "EMAIL": { - "LABEL": "Email", - "SUBTITLE": "Email where your customers sends you support tickets", - "PLACEHOLDER": "Email" + "LABEL": "E-Mail", + "SUBTITLE": "E-Mail Adresse, an die Ihre Kunden Ihnen Support-Tickets senden", + "PLACEHOLDER": "E-Mail" }, - "SUBMIT_BUTTON": "Create Email Channel", + "SUBMIT_BUTTON": "E-Mail-Kanal erstellen", "API": { - "ERROR_MESSAGE": "We were not able to save the email channel" + "ERROR_MESSAGE": "Wir konnten den E-Mail-Kanal nicht speichern" }, - "FINISH_MESSAGE": "Start forwarding your emails to the following email address." + "FINISH_MESSAGE": "Starten Sie die Weiterleitung Ihrer E-Mails an die folgende E-Mail-Adresse." }, "AUTH": { "TITLE": "Kanäle", @@ -166,8 +166,8 @@ "AGENTS": { "TITLE": "Agenten", "DESC": "Hier können Sie Agenten hinzufügen, um Ihren neu erstellten Posteingang zu verwalten. Nur diese ausgewählten Agenten haben Zugriff auf Ihren Posteingang. Agenten, die nicht Teil dieses Posteingangs sind, können bei der Anmeldung keine Nachrichten in diesem Posteingang sehen oder darauf antworten.
PS: Wenn Sie als Administrator Zugriff auf alle Posteingänge benötigen, sollten Sie sich als Agent zu allen von Ihnen erstellten Posteingängen hinzufügen.", - "VALIDATION_ERROR": "Add atleast one agent to your new Inbox", - "PICK_AGENTS": "Pick agents for the inbox" + "VALIDATION_ERROR": "Fügen Sie mindestens einen Agenten zu Ihrem neuen Posteingang hinzu", + "PICK_AGENTS": "Agenten für den Posteingang auswählen" }, "DETAILS": { "TITLE": "Posteingangsdetails", @@ -223,14 +223,14 @@ }, "TABS": { "SETTINGS": "die Einstellungen", - "COLLABORATORS": "Collaborators", - "CONFIGURATION": "Configuration" + "COLLABORATORS": "Mitarbeitende", + "CONFIGURATION": "Konfiguration" }, "SETTINGS": "die Einstellungen", "FEATURES": { - "LABEL": "Features", - "DISPLAY_FILE_PICKER": "Display file picker on the widget", - "DISPLAY_EMOJI_PICKER": "Display emoji picker on the widget" + "LABEL": "Funktionen", + "DISPLAY_FILE_PICKER": "Dateiauswahl im Widget anzeigen", + "DISPLAY_EMOJI_PICKER": "Emoji-Auswahl im Widget anzeigen" }, "SETTINGS_POPUP": { "MESSENGER_HEADING": "Messenger-Skript", @@ -239,15 +239,17 @@ "INBOX_AGENTS_SUB_TEXT": "Hinzufügen oder Entfernen von Agenten zu diesem Posteingang", "UPDATE": "Aktualisieren", "AUTO_ASSIGNMENT": "Aktivieren Sie die automatische Zuweisung", - "INBOX_UPDATE_TITLE": "Inbox Settings", - "INBOX_UPDATE_SUB_TEXT": "Update your inbox settings", - "AUTO_ASSIGNMENT_SUB_TEXT": "Aktivieren oder deaktivieren Sie die automatische Zuweisung verfügbarer Agenten für neue Konversationen" + "INBOX_UPDATE_TITLE": "Posteingang Einstellungen", + "INBOX_UPDATE_SUB_TEXT": "Posteingang Einstellungen aktualisieren", + "AUTO_ASSIGNMENT_SUB_TEXT": "Aktivieren oder deaktivieren Sie die automatische Zuweisung verfügbarer Agenten für neue Konversationen", + "HMAC_VERIFICATION": "User Identity Validation", + "HMAC_DESCRIPTION": "Inorder validate the users identity, the SDK allows you to pass an `identity_hash` for each user. You can generate HMAC using 'sha256' with the key shown here." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Neu autorisieren", - "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": "Ihre Facebook-Verbindung ist abgelaufen, bitte verbinden Sie sich neu, um die Dienste fortzuführen", + "MESSAGE_SUCCESS": "Wiederverbindung erfolgreich", + "MESSAGE_ERROR": "Es ist ein Fehler aufgetreten, bitte versuche es erneut" } } } diff --git a/app/javascript/dashboard/i18n/locale/de/index.js b/app/javascript/dashboard/i18n/locale/de/index.js index 558cc9b3a..5dfc44e4b 100644 --- a/app/javascript/dashboard/i18n/locale/de/index.js +++ b/app/javascript/dashboard/i18n/locale/de/index.js @@ -1,5 +1,5 @@ -/* eslint-disable */ import { default as _agentMgmt } from './agentMgmt.json'; +import { default as _labelsMgmt } from './labelsMgmt.json'; import { default as _cannedMgmt } from './cannedMgmt.json'; import { default as _chatlist } from './chatlist.json'; import { default as _contact } from './contact.json'; @@ -23,6 +23,7 @@ export default { ..._inboxMgmt, ..._login, ..._report, + ..._labelsMgmt, ..._resetPassword, ..._setNewPassword, ..._settings, diff --git a/app/javascript/dashboard/i18n/locale/de/integrations.json b/app/javascript/dashboard/i18n/locale/de/integrations.json index f3c33b9aa..e91cb2453 100644 --- a/app/javascript/dashboard/i18n/locale/de/integrations.json +++ b/app/javascript/dashboard/i18n/locale/de/integrations.json @@ -24,7 +24,7 @@ "FORM": { "END_POINT": { "LABEL": "Webhook-URL", - "PLACEHOLDER": "Example: https://example/api/webhook", + "PLACEHOLDER": "Beispiel: https://example/api/webhook", "ERROR": "Bitte geben Sie eine gültige URL ein" }, "SUBMIT": "Webhook erstellen" @@ -51,11 +51,11 @@ "DELETE": { "BUTTON_TEXT": "Löschen", "API": { - "SUCCESS_MESSAGE": "Integration deleted successfully" + "SUCCESS_MESSAGE": "Integration erfolgreich gelöscht" } }, "CONNECT": { - "BUTTON_TEXT": "Connect" + "BUTTON_TEXT": "Verbinden" } } } diff --git a/app/javascript/dashboard/i18n/locale/de/login.json b/app/javascript/dashboard/i18n/locale/de/login.json index ad394c91b..037211fdb 100644 --- a/app/javascript/dashboard/i18n/locale/de/login.json +++ b/app/javascript/dashboard/i18n/locale/de/login.json @@ -2,8 +2,8 @@ "LOGIN": { "TITLE": "Melden Sie sich bei Chatwoot an", "EMAIL": { - "LABEL": "Email", - "PLACEHOLDER": "Email eg: someone@example.com" + "LABEL": "E-Mail", + "PLACEHOLDER": "E-Mail z.B. jemand@example.com" }, "PASSWORD": { "LABEL": "Passwort", diff --git a/app/javascript/dashboard/i18n/locale/de/report.json b/app/javascript/dashboard/i18n/locale/de/report.json index 0c9adc698..6afde7b68 100644 --- a/app/javascript/dashboard/i18n/locale/de/report.json +++ b/app/javascript/dashboard/i18n/locale/de/report.json @@ -3,31 +3,31 @@ "HEADER": "Berichte", "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": "Download agent reports", + "DOWNLOAD_AGENT_REPORTS": "Agenten-Berichte herunterladen", "METRICS": { "CONVERSATIONS": { "NAME": "Gespräche", - "DESC": "( Total )" + "DESC": "(Gesamt)" }, "INCOMING_MESSAGES": { "NAME": "Eingehende Nachrichten", - "DESC": "( Total )" + "DESC": "(Gesamt)" }, "OUTGOING_MESSAGES": { "NAME": "Ausgehende Nachrichten", - "DESC": "( Total )" + "DESC": "(Gesamt)" }, "FIRST_RESPONSE_TIME": { "NAME": "Erste Antwortzeit", - "DESC": "( Avg )" + "DESC": "(Durchschnitt)" }, "RESOLUTION_TIME": { "NAME": "Lösungszeit", - "DESC": "( Avg )" + "DESC": "(Durchschnitt)" }, "RESOLUTION_COUNT": { "NAME": "Auflösungsanzahl", - "DESC": "( Total )" + "DESC": "(Gesamt)" } }, "DATE_RANGE": [ diff --git a/app/javascript/dashboard/i18n/locale/de/resetPassword.json b/app/javascript/dashboard/i18n/locale/de/resetPassword.json index 7177ad8e5..ccb8f35d4 100644 --- a/app/javascript/dashboard/i18n/locale/de/resetPassword.json +++ b/app/javascript/dashboard/i18n/locale/de/resetPassword.json @@ -2,7 +2,7 @@ "RESET_PASSWORD": { "TITLE": "Passwort zurücksetzen", "EMAIL": { - "LABEL": "Email", + "LABEL": "E-Mail", "PLACEHOLDER": "Bitte geben Sie ihre E-Mail-Adresse ein", "ERROR": "Bitte geben Sie eine gültige Email-Adresse ein" }, diff --git a/app/javascript/dashboard/i18n/locale/de/settings.json b/app/javascript/dashboard/i18n/locale/de/settings.json index 7c10c3bc9..ad0921198 100644 --- a/app/javascript/dashboard/i18n/locale/de/settings.json +++ b/app/javascript/dashboard/i18n/locale/de/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "Gespräche", "REPORTS": "Berichte", - "CONTACTS": "Contacts (Beta)", + "CONTACTS": "Kontakte", "SETTINGS": "Einstellungen", "HOME": "Hauptseite", "AGENTS": "Agenten", diff --git a/app/javascript/dashboard/i18n/locale/de/signup.json b/app/javascript/dashboard/i18n/locale/de/signup.json index daa0f4613..19eccbe1e 100644 --- a/app/javascript/dashboard/i18n/locale/de/signup.json +++ b/app/javascript/dashboard/i18n/locale/de/signup.json @@ -5,13 +5,18 @@ "TERMS_ACCEPT": "Mit Ihrer Anmeldung stimmen Sie unseren AGB und Datenschutzrichtlinie ", "ACCOUNT_NAME": { "LABEL": "Kontobezeichnung", - "PLACEHOLDER": "Wayne Enterprises", - "ERROR": "Der Kontoname ist zu klein" + "PLACEHOLDER": "Enter an account name. eg: Wayne Enterprises", + "ERROR": "Account name is too short" + }, + "FULL_NAME": { + "LABEL": "Full name", + "PLACEHOLDER": "Enter your full name. eg: Bruce Wayne", + "ERROR": "Full name is too short" }, "EMAIL": { - "LABEL": "Email", - "PLACEHOLDER": "bruce@wayne.enterprises", - "ERROR": "E-Mail ist ungültig" + "LABEL": "Work email", + "PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises", + "ERROR": "Email address is invalid" }, "PASSWORD": { "LABEL": "Passwort", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "Es konnte keine Verbindung zum Woot Server hergestellt werden. Bitte versuchen Sie es später erneut" }, "SUBMIT": "Einreichen", - "FEATURES": { - "UNLIMITED_INBOXES": "Unlimited inboxes", - "ROBUST_REPORTING": "Robust Reporting", - "CANNED_RESPONSES": "Vorgefertigte Antworten", - "AUTO_ASSIGNMENT": "Auto Assignment", - "SECURITY": "Enterprise level security" - } + "HAVE_AN_ACCOUNT": "Already have an account?" } } diff --git a/app/javascript/dashboard/i18n/locale/el/contact.json b/app/javascript/dashboard/i18n/locale/el/contact.json index adb4a5116..1b4fd37ea 100644 --- a/app/javascript/dashboard/i18n/locale/el/contact.json +++ b/app/javascript/dashboard/i18n/locale/el/contact.json @@ -11,6 +11,7 @@ "OS": "Λειτουργικό", "INITIATED_FROM": "Αρχικοποίηση από", "INITIATED_AT": "Αρχικοποίηση τις", + "IP_ADDRESS": "Διεύθυνση IP", "CONVERSATIONS": { "NO_RECORDS_FOUND": "Δεν υπάρχουν προηγούμενες συνομιλίες που σχετίζονται με αυτήν την επαφή.", "TITLE": "Προηγούμενες συνομιλίες" diff --git a/app/javascript/dashboard/i18n/locale/el/conversation.json b/app/javascript/dashboard/i18n/locale/el/conversation.json index 93275d913..35c17a371 100644 --- a/app/javascript/dashboard/i18n/locale/el/conversation.json +++ b/app/javascript/dashboard/i18n/locale/el/conversation.json @@ -24,6 +24,7 @@ "REPLYING_TO": "Απαντάτε στο:", "REMOVE_SELECTION": "Διαγραφή Επιλογής", "DOWNLOAD": "Κατέβασμα", + "UPLOADING_ATTACHMENTS": "Ανέβασμα επισυναπτόμενων...", "HEADER": { "RESOLVE_ACTION": "Επίλυση", "REOPEN_ACTION": "Επαναφορά", @@ -40,7 +41,10 @@ "PRIVATE_NOTE": "Ιδιωτική Σημείωση", "SEND": "Αποστολή", "CREATE": "Σημείωση (Add Note)", - "TWEET": "Tweet" + "TWEET": "Tweet", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, "VISIBLE_TO_AGENTS": "Ιδιωτική Σημείωση: Ορατή μόνο σε σας και την ομάδα σας", "CHANGE_STATUS": "Η κατάσταση της συνομιλίας άλλαξε", diff --git a/app/javascript/dashboard/i18n/locale/el/generalSettings.json b/app/javascript/dashboard/i18n/locale/el/generalSettings.json index 05146529a..847e4a2d7 100644 --- a/app/javascript/dashboard/i18n/locale/el/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/el/generalSettings.json @@ -42,7 +42,8 @@ "INBOUND_EMAIL_ENABLED": "Η συνέχεια της συνομιλίας με emails έχει ενεργοποιηθεί για τον λογαριασμό.", "CUSTOM_EMAIL_DOMAIN_ENABLED": "Τώρα μπορείτε να λαμβάνετε emails στον τομέα (domain) σας." } - } + }, + "UPDATE_CHATWOOT": "Μια ενημέρωση %{latestChatwootVersion} για το Chatwoot είναι διαθέσιμη. Ενημερώστε την εφαρμογή σας." }, "FORMS": { "MULTISELECT": { diff --git a/app/javascript/dashboard/i18n/locale/el/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/el/inboxMgmt.json index 4ecf43937..b8b06e7ee 100644 --- a/app/javascript/dashboard/i18n/locale/el/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/el/inboxMgmt.json @@ -241,7 +241,9 @@ "AUTO_ASSIGNMENT": "Επιτρέπεται η αυτόματη αντιστοίχιση", "INBOX_UPDATE_TITLE": "Ρυθμίσεις Κιβωτίου", "INBOX_UPDATE_SUB_TEXT": "Ενημερώστε τις ρυθμίσεις του κιβωτίου σας", - "AUTO_ASSIGNMENT_SUB_TEXT": "Ενεργοποιήστε ή απενεργοποιήστε την αυτόματη αντιστοίχιση των νέων συζητήσεων στους πράκτορες αυτού του κιβωτίου." + "AUTO_ASSIGNMENT_SUB_TEXT": "Ενεργοποιήστε ή απενεργοποιήστε την αυτόματη αντιστοίχιση των νέων συζητήσεων στους πράκτορες αυτού του κιβωτίου.", + "HMAC_VERIFICATION": "Επικύρωση Ταυτότητας Χρήστη", + "HMAC_DESCRIPTION": "Για λόγους επικύρωσης της ταυτότητας των χρηστών, το SDK σας επιτρέπει να περάσετε ένα `identity_hash` για κάθε χρήστη. Μπορείτε να δημιουργήσετε HMAC χρησιμοποιώντας το 'sha256' με το κλειδί που εμφανίζεται εδώ." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Εκ νέου εξουσιοδότηση", diff --git a/app/javascript/dashboard/i18n/locale/el/index.js b/app/javascript/dashboard/i18n/locale/el/index.js index 558cc9b3a..5dfc44e4b 100644 --- a/app/javascript/dashboard/i18n/locale/el/index.js +++ b/app/javascript/dashboard/i18n/locale/el/index.js @@ -1,5 +1,5 @@ -/* eslint-disable */ import { default as _agentMgmt } from './agentMgmt.json'; +import { default as _labelsMgmt } from './labelsMgmt.json'; import { default as _cannedMgmt } from './cannedMgmt.json'; import { default as _chatlist } from './chatlist.json'; import { default as _contact } from './contact.json'; @@ -23,6 +23,7 @@ export default { ..._inboxMgmt, ..._login, ..._report, + ..._labelsMgmt, ..._resetPassword, ..._setNewPassword, ..._settings, diff --git a/app/javascript/dashboard/i18n/locale/el/report.json b/app/javascript/dashboard/i18n/locale/el/report.json index 6a5fbad6b..1878b6e05 100644 --- a/app/javascript/dashboard/i18n/locale/el/report.json +++ b/app/javascript/dashboard/i18n/locale/el/report.json @@ -3,7 +3,7 @@ "HEADER": "Αναφορές", "LOADING_CHART": "Φόρτωση δεδομένων γραφήματος...", "NO_ENOUGH_DATA": "Δεν έχουν ληφθεί αρκετά σημεία δεδομένων για την δημιουργία της αναφοράς, Παρακαλώ προσπαθήστε αργότερα.", - "DOWNLOAD_AGENT_REPORTS": "Download agent reports", + "DOWNLOAD_AGENT_REPORTS": "Κατέβασμα αναφορών πράκτορα", "METRICS": { "CONVERSATIONS": { "NAME": "Συζητήσεις", diff --git a/app/javascript/dashboard/i18n/locale/el/settings.json b/app/javascript/dashboard/i18n/locale/el/settings.json index 8a4b4903e..5b9117390 100644 --- a/app/javascript/dashboard/i18n/locale/el/settings.json +++ b/app/javascript/dashboard/i18n/locale/el/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "Συζητήσεις", "REPORTS": "Αναφορές", - "CONTACTS": "Επαφές (Beta)", + "CONTACTS": "Επαφές", "SETTINGS": "Ρυθμίσεις", "HOME": "Αρχική", "AGENTS": "Πράκτορες", diff --git a/app/javascript/dashboard/i18n/locale/el/signup.json b/app/javascript/dashboard/i18n/locale/el/signup.json index 17531312f..b460dc74f 100644 --- a/app/javascript/dashboard/i18n/locale/el/signup.json +++ b/app/javascript/dashboard/i18n/locale/el/signup.json @@ -5,13 +5,18 @@ "TERMS_ACCEPT": "Με την καταχώρηση, έχετε συμφωνήσει με τους όρους μας T & C και την πολιτική ιδιωτικών δεδομένων", "ACCOUNT_NAME": { "LABEL": "Ονομασία Λογαριασμού", - "PLACEHOLDER": "Wayne Α. Ε", + "PLACEHOLDER": "Συμπληρώστε όνομα λογαριασμού π. χ. Wayne Α. Ε", "ERROR": "Το όνομα του λογαριασμού είναι πολύ σύντομο" }, + "FULL_NAME": { + "LABEL": "Πλήρες όνομα", + "PLACEHOLDER": "Συμπληρώστε το πλήρες σας όνομα: πχ: Χρήστος Παπαδόπουλος", + "ERROR": "Το πλήρες όνομα είναι πολύ σύντομο" + }, "EMAIL": { - "LABEL": "Email", - "PLACEHOLDER": "bruce@wayne.enterprises", - "ERROR": "Το email είναι ακατάλληλο" + "LABEL": "email εργασίας", + "PLACEHOLDER": "συμπληρώστε το email εργασίας πχ: papadopoulos@wyane.com", + "ERROR": "Η διεύθυνση email είναι εσφαλμένη" }, "PASSWORD": { "LABEL": "Κωδικός", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "Αδυναμία σύνδεσης με τον Woot Server, Παρακαλώ προσπαθήστε αργότερα" }, "SUBMIT": "Καταχώρηση", - "FEATURES": { - "UNLIMITED_INBOXES": "Απεριόριστα κιβώτια", - "ROBUST_REPORTING": "Ισχυρές Αναφορές", - "CANNED_RESPONSES": "Έτοιμες Απαντήσεις", - "AUTO_ASSIGNMENT": "Αυτόματη Αντιστοίχιση", - "SECURITY": "Ασφάλεια επιπέδου Enterprise" - } + "HAVE_AN_ACCOUNT": "Έχετε ήδη ένα λογαριασμό?" } } diff --git a/app/javascript/dashboard/i18n/locale/en/conversation.json b/app/javascript/dashboard/i18n/locale/en/conversation.json index 710a5a301..19bc5235b 100644 --- a/app/javascript/dashboard/i18n/locale/en/conversation.json +++ b/app/javascript/dashboard/i18n/locale/en/conversation.json @@ -24,6 +24,7 @@ "REPLYING_TO": "You are replying to:", "REMOVE_SELECTION": "Remove Selection", "DOWNLOAD": "Download", + "UPLOADING_ATTACHMENTS": "Uploading attachments...", "HEADER": { "RESOLVE_ACTION": "Resolve", "REOPEN_ACTION": "Reopen", @@ -40,7 +41,10 @@ "PRIVATE_NOTE": "Private Note", "SEND": "Send", "CREATE": "Add Note", - "TWEET": "Tweet" + "TWEET": "Tweet", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, "VISIBLE_TO_AGENTS": "Private Note: Only visible to you and your team", "CHANGE_STATUS": "Conversation status changed", diff --git a/app/javascript/dashboard/i18n/locale/en/generalSettings.json b/app/javascript/dashboard/i18n/locale/en/generalSettings.json index 152545467..245bcb4c1 100644 --- a/app/javascript/dashboard/i18n/locale/en/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/en/generalSettings.json @@ -42,7 +42,8 @@ "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." } - } + }, + "UPDATE_CHATWOOT": "An update %{latestChatwootVersion} for Chatwoot is available. Please update your instance." }, "FORMS": { "MULTISELECT": { diff --git a/app/javascript/dashboard/i18n/locale/en/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/en/inboxMgmt.json index 480498af3..8c3f5624b 100644 --- a/app/javascript/dashboard/i18n/locale/en/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/en/inboxMgmt.json @@ -241,7 +241,9 @@ "AUTO_ASSIGNMENT": "Enable auto assignment", "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." + "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 validate the users identity, the SDK allows you to pass an `identity_hash` for each user. You can generate HMAC using 'sha256' with the key shown here." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reauthorize", diff --git a/app/javascript/dashboard/i18n/locale/en/settings.json b/app/javascript/dashboard/i18n/locale/en/settings.json index 67a4e89d3..ca4267b9a 100644 --- a/app/javascript/dashboard/i18n/locale/en/settings.json +++ b/app/javascript/dashboard/i18n/locale/en/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "Conversations", "REPORTS": "Reports", - "CONTACTS": "Contacts (Beta)", + "CONTACTS": "Contacts", "SETTINGS": "Settings", "HOME": "Home", "AGENTS": "Agents", diff --git a/app/javascript/dashboard/i18n/locale/en/signup.json b/app/javascript/dashboard/i18n/locale/en/signup.json index 08366a1e3..6eaa5d646 100644 --- a/app/javascript/dashboard/i18n/locale/en/signup.json +++ b/app/javascript/dashboard/i18n/locale/en/signup.json @@ -4,14 +4,19 @@ "TITLE": "Register", "TERMS_ACCEPT": "By signing up, you agree to our T & C and Privacy policy", "ACCOUNT_NAME": { - "LABEL": "Account Name", - "PLACEHOLDER": "Wayne Enterprises", - "ERROR": "Account Name is too short" + "LABEL": "Account name", + "PLACEHOLDER": "Enter an account name. eg: Wayne Enterprises", + "ERROR": "Account name is too short" + }, + "FULL_NAME": { + "LABEL": "Full name", + "PLACEHOLDER": "Enter your full name. eg: Bruce Wayne", + "ERROR": "Full name is too short" }, "EMAIL": { - "LABEL": "Email", - "PLACEHOLDER": "bruce@wayne.enterprises", - "ERROR": "Email is invalid" + "LABEL": "Work email", + "PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises", + "ERROR": "Email address is invalid" }, "PASSWORD": { "LABEL": "Password", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" }, "SUBMIT": "Submit", - "FEATURES": { - "UNLIMITED_INBOXES": "Unlimited inboxes", - "ROBUST_REPORTING": "Robust Reporting", - "CANNED_RESPONSES": "Canned Responses", - "AUTO_ASSIGNMENT": "Auto Assignment", - "SECURITY": "Enterprise level security" - } + "HAVE_AN_ACCOUNT": "Already have an account?" } } diff --git a/app/javascript/dashboard/i18n/locale/es/contact.json b/app/javascript/dashboard/i18n/locale/es/contact.json index 70abd1de5..6558a906c 100644 --- a/app/javascript/dashboard/i18n/locale/es/contact.json +++ b/app/javascript/dashboard/i18n/locale/es/contact.json @@ -11,6 +11,7 @@ "OS": "Sistema operativo", "INITIATED_FROM": "Iniciado desde", "INITIATED_AT": "Iniciado el", + "IP_ADDRESS": "IP Address", "CONVERSATIONS": { "NO_RECORDS_FOUND": "No hay conversaciones previas asociadas a este contacto.", "TITLE": "Conversaciones anteriores" diff --git a/app/javascript/dashboard/i18n/locale/es/conversation.json b/app/javascript/dashboard/i18n/locale/es/conversation.json index 5e7202691..5048cab78 100644 --- a/app/javascript/dashboard/i18n/locale/es/conversation.json +++ b/app/javascript/dashboard/i18n/locale/es/conversation.json @@ -24,6 +24,7 @@ "REPLYING_TO": "Esta respondiendo a:", "REMOVE_SELECTION": "Eliminar selección", "DOWNLOAD": "Descargar", + "UPLOADING_ATTACHMENTS": "Uploading attachments...", "HEADER": { "RESOLVE_ACTION": "Resolver", "REOPEN_ACTION": "Reabrir", @@ -40,7 +41,10 @@ "PRIVATE_NOTE": "Nota privada", "SEND": "Enviar", "CREATE": "Añadir nota", - "TWEET": "Tweet" + "TWEET": "Tweet", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, "VISIBLE_TO_AGENTS": "Nota privada: solo visible para ti y tu equipo", "CHANGE_STATUS": "Estado de la conversación cambiado", diff --git a/app/javascript/dashboard/i18n/locale/es/generalSettings.json b/app/javascript/dashboard/i18n/locale/es/generalSettings.json index 8c4c17756..c319024a2 100644 --- a/app/javascript/dashboard/i18n/locale/es/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/es/generalSettings.json @@ -42,7 +42,8 @@ "INBOUND_EMAIL_ENABLED": "Continuidad de la conversación con emails está habilitada para su cuenta.", "CUSTOM_EMAIL_DOMAIN_ENABLED": "Ahora puede recibir emails en su dominio personalizado." } - } + }, + "UPDATE_CHATWOOT": "An update %{latestChatwootVersion} for Chatwoot is available. Please update your instance." }, "FORMS": { "MULTISELECT": { diff --git a/app/javascript/dashboard/i18n/locale/es/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/es/inboxMgmt.json index 9b410f44c..d9fa13c8d 100644 --- a/app/javascript/dashboard/i18n/locale/es/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/es/inboxMgmt.json @@ -241,7 +241,9 @@ "AUTO_ASSIGNMENT": "Activar asignación automática", "INBOX_UPDATE_TITLE": "Ajustes de la Bandeja de Entrada", "INBOX_UPDATE_SUB_TEXT": "Actualizar la configuración de tu bandeja de entrada", - "AUTO_ASSIGNMENT_SUB_TEXT": "Activar o desactivar la asignación automática de nuevas conversaciones a los agentes añadidos a esta bandeja de entrada." + "AUTO_ASSIGNMENT_SUB_TEXT": "Activar o desactivar la asignación automática de nuevas conversaciones a los agentes añadidos a esta bandeja de entrada.", + "HMAC_VERIFICATION": "User Identity Validation", + "HMAC_DESCRIPTION": "Inorder validate the users identity, the SDK allows you to pass an `identity_hash` for each user. You can generate HMAC using 'sha256' with the key shown here." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reautorizar", diff --git a/app/javascript/dashboard/i18n/locale/es/index.js b/app/javascript/dashboard/i18n/locale/es/index.js index 558cc9b3a..5dfc44e4b 100644 --- a/app/javascript/dashboard/i18n/locale/es/index.js +++ b/app/javascript/dashboard/i18n/locale/es/index.js @@ -1,5 +1,5 @@ -/* eslint-disable */ import { default as _agentMgmt } from './agentMgmt.json'; +import { default as _labelsMgmt } from './labelsMgmt.json'; import { default as _cannedMgmt } from './cannedMgmt.json'; import { default as _chatlist } from './chatlist.json'; import { default as _contact } from './contact.json'; @@ -23,6 +23,7 @@ export default { ..._inboxMgmt, ..._login, ..._report, + ..._labelsMgmt, ..._resetPassword, ..._setNewPassword, ..._settings, diff --git a/app/javascript/dashboard/i18n/locale/es/settings.json b/app/javascript/dashboard/i18n/locale/es/settings.json index dcf560b25..ebe505fda 100644 --- a/app/javascript/dashboard/i18n/locale/es/settings.json +++ b/app/javascript/dashboard/i18n/locale/es/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "Conversaciones", "REPORTS": "Informes", - "CONTACTS": "Contacts (Beta)", + "CONTACTS": "Contacts", "SETTINGS": "Ajustes", "HOME": "Inicio", "AGENTS": "Agentes", diff --git a/app/javascript/dashboard/i18n/locale/es/signup.json b/app/javascript/dashboard/i18n/locale/es/signup.json index 757897711..110cd7eae 100644 --- a/app/javascript/dashboard/i18n/locale/es/signup.json +++ b/app/javascript/dashboard/i18n/locale/es/signup.json @@ -5,13 +5,18 @@ "TERMS_ACCEPT": "Al registrarte, aceptas nuestra T & C y nuestra política de privacidad", "ACCOUNT_NAME": { "LABEL": "Nombre de cuenta", - "PLACEHOLDER": "Empresas de Wayne", - "ERROR": "El nombre de la cuenta es demasiado corto" + "PLACEHOLDER": "Enter an account name. eg: Wayne Enterprises", + "ERROR": "Account name is too short" + }, + "FULL_NAME": { + "LABEL": "Full name", + "PLACEHOLDER": "Enter your full name. eg: Bruce Wayne", + "ERROR": "Full name is too short" }, "EMAIL": { - "LABEL": "E-mail", - "PLACEHOLDER": "bruce@wayne.empresas", - "ERROR": "El correo no es válido" + "LABEL": "Work email", + "PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises", + "ERROR": "Email address is invalid" }, "PASSWORD": { "LABEL": "Contraseña", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "No se pudo conectar al servidor Woot, por favor inténtalo de nuevo más tarde" }, "SUBMIT": "Enviar", - "FEATURES": { - "UNLIMITED_INBOXES": "Unlimited inboxes", - "ROBUST_REPORTING": "Robust Reporting", - "CANNED_RESPONSES": "Respuestas predefinidas", - "AUTO_ASSIGNMENT": "Auto Assignment", - "SECURITY": "Enterprise level security" - } + "HAVE_AN_ACCOUNT": "Already have an account?" } } diff --git a/app/javascript/dashboard/i18n/locale/fa/contact.json b/app/javascript/dashboard/i18n/locale/fa/contact.json index 03d5483b9..5c23cb435 100644 --- a/app/javascript/dashboard/i18n/locale/fa/contact.json +++ b/app/javascript/dashboard/i18n/locale/fa/contact.json @@ -11,6 +11,7 @@ "OS": "سیستم عامل", "INITIATED_FROM": "شروع شده از", "INITIATED_AT": "شروع شده در", + "IP_ADDRESS": "آدرس آی‌پی", "CONVERSATIONS": { "NO_RECORDS_FOUND": "این اولین گفتگوی این کاربر است.", "TITLE": "گفتگوهای قبلی" @@ -97,12 +98,12 @@ "ERROR_MESSAGE": "خطایی در به‌روزرسانی مخاطب رخ داده، لطفا دوباره امتحان کنید" }, "CONTACTS_PAGE": { - "HEADER": "Contacts", - "SEARCH_BUTTON": "Search", - "SEARCH_INPUT_PLACEHOLDER": "Search for contacts", + "HEADER": "مخاطبین", + "SEARCH_BUTTON": "جستجو", + "SEARCH_INPUT_PLACEHOLDER": "جستجوی مخاطبین", "LIST": { - "LOADING_MESSAGE": "Loading contacts...", - "404": "No contacts matches your search 🔍", + "LOADING_MESSAGE": "در حال بارگذاری مخاطبین...", + "404": "هیچ مخاطبی با جستجوی شما مطابقت ندارد 🔍", "TABLE_HEADER": [ "نام", "شماره تلفن", diff --git a/app/javascript/dashboard/i18n/locale/fa/conversation.json b/app/javascript/dashboard/i18n/locale/fa/conversation.json index 1ce73816a..669dc9bf5 100644 --- a/app/javascript/dashboard/i18n/locale/fa/conversation.json +++ b/app/javascript/dashboard/i18n/locale/fa/conversation.json @@ -13,8 +13,8 @@ "PLACEHOLDER": "متنی برای جستجو پیام تایپ کنید", "NO_MATCHING_RESULTS": "There are no messages matching the search parameters." }, - "UNREAD_MESSAGES": "Unread Messages", - "UNREAD_MESSAGE": "Unread Message", + "UNREAD_MESSAGES": "پیام‌های خوانده نشده", + "UNREAD_MESSAGE": "پیام خوانده نشده", "CLICK_HERE": "اینجا کلیک کنید", "LOADING_INBOXES": "در حال بارگیری صندوق‌های ورودی", "LOADING_CONVERSATIONS": "در حال بارگیری گفتگو‌ها", @@ -24,6 +24,7 @@ "REPLYING_TO": "شما در حال پاسخ دادن به:", "REMOVE_SELECTION": "حذف انتخاب‌شده‌ها", "DOWNLOAD": "دانلود", + "UPLOADING_ATTACHMENTS": "در حال بارگذاری پیوست‌ها...", "HEADER": { "RESOLVE_ACTION": "حل شد", "REOPEN_ACTION": "دوباره باز کنید", @@ -40,7 +41,10 @@ "PRIVATE_NOTE": "یادداشت خصوصی", "SEND": "ارسال", "CREATE": "افزودن یادداشت", - "TWEET": "توییت" + "TWEET": "توییت", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, "VISIBLE_TO_AGENTS": "یادداشت خصوصی: فقط برای شما و تیم شما قابل مشاهده است", "CHANGE_STATUS": "وضعیت گفتگو تغییر کرد", diff --git a/app/javascript/dashboard/i18n/locale/fa/generalSettings.json b/app/javascript/dashboard/i18n/locale/fa/generalSettings.json index c803a7111..0b614f625 100644 --- a/app/javascript/dashboard/i18n/locale/fa/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/fa/generalSettings.json @@ -42,7 +42,8 @@ "INBOUND_EMAIL_ENABLED": "Conversation continuity with emails is enabled for your account.", "CUSTOM_EMAIL_DOMAIN_ENABLED": "اکنون می‌توانید ایمیل‌ها را در دامنه سفارشی خود دریافت کنید." } - } + }, + "UPDATE_CHATWOOT": "An update %{latestChatwootVersion} for Chatwoot is available. Please update your instance." }, "FORMS": { "MULTISELECT": { diff --git a/app/javascript/dashboard/i18n/locale/fa/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/fa/inboxMgmt.json index 0b53c0d10..af852c412 100644 --- a/app/javascript/dashboard/i18n/locale/fa/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/fa/inboxMgmt.json @@ -241,7 +241,9 @@ "AUTO_ASSIGNMENT": "فعال کردن واگذاری خودکار گفتگو به اپراتورها", "INBOX_UPDATE_TITLE": "تنظیمات صندوق ورودی", "INBOX_UPDATE_SUB_TEXT": "تغییر پارامترهای صندوق ورودی", - "AUTO_ASSIGNMENT_SUB_TEXT": "فعال کردن یا غیرفعال کردن واگذاری خودکار گفتگوها به اپراتورهای عضو این صندوق ورودی." + "AUTO_ASSIGNMENT_SUB_TEXT": "فعال کردن یا غیرفعال کردن واگذاری خودکار گفتگوها به اپراتورهای عضو این صندوق ورودی.", + "HMAC_VERIFICATION": "User Identity Validation", + "HMAC_DESCRIPTION": "Inorder validate the users identity, the SDK allows you to pass an `identity_hash` for each user. You can generate HMAC using 'sha256' with the key shown here." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "احراز هویت مجدد", diff --git a/app/javascript/dashboard/i18n/locale/fa/index.js b/app/javascript/dashboard/i18n/locale/fa/index.js index 558cc9b3a..5dfc44e4b 100644 --- a/app/javascript/dashboard/i18n/locale/fa/index.js +++ b/app/javascript/dashboard/i18n/locale/fa/index.js @@ -1,5 +1,5 @@ -/* eslint-disable */ import { default as _agentMgmt } from './agentMgmt.json'; +import { default as _labelsMgmt } from './labelsMgmt.json'; import { default as _cannedMgmt } from './cannedMgmt.json'; import { default as _chatlist } from './chatlist.json'; import { default as _contact } from './contact.json'; @@ -23,6 +23,7 @@ export default { ..._inboxMgmt, ..._login, ..._report, + ..._labelsMgmt, ..._resetPassword, ..._setNewPassword, ..._settings, diff --git a/app/javascript/dashboard/i18n/locale/fa/settings.json b/app/javascript/dashboard/i18n/locale/fa/settings.json index 25b717fec..ed325a60a 100644 --- a/app/javascript/dashboard/i18n/locale/fa/settings.json +++ b/app/javascript/dashboard/i18n/locale/fa/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "گفتگوها", "REPORTS": "گزارشات", - "CONTACTS": "مخاطبین (آزمایشی)", + "CONTACTS": "مخاطبین", "SETTINGS": "تنظیمات", "HOME": "صفحه اصلی", "AGENTS": "اپراتورها", diff --git a/app/javascript/dashboard/i18n/locale/fa/signup.json b/app/javascript/dashboard/i18n/locale/fa/signup.json index f36145fd9..9098caaed 100644 --- a/app/javascript/dashboard/i18n/locale/fa/signup.json +++ b/app/javascript/dashboard/i18n/locale/fa/signup.json @@ -5,13 +5,18 @@ "TERMS_ACCEPT": "با ثبت نام، اعلام می‌دارید که قوانین و شرایط استفاده از ما را تایید کرده و می‌پذیرید.", "ACCOUNT_NAME": { "LABEL": "عنوان حساب", - "PLACEHOLDER": "شرکت ایران ناسیونال", - "ERROR": "عنوان خیلی کوتاه است" + "PLACEHOLDER": "نام حساب‌کاربری را وارد کنید. به عنوان مثال: شرکت وین", + "ERROR": "نام حساب‌کاربری خیلی کوتاه است" + }, + "FULL_NAME": { + "LABEL": "نام کامل", + "PLACEHOLDER": "نام کامل خود را وارد کنید به عنوان مثال: گودرز جعفری", + "ERROR": "نام کامل خیلی کوتاه است" }, "EMAIL": { - "LABEL": "ایمیل", - "PLACEHOLDER": "bruce@wayne.enterprises", - "ERROR": "ایمیل اشتباه است" + "LABEL": "ایمیل کاری", + "PLACEHOLDER": "ایمیل کاری خود را وارد کنید به عنوان مثال: jafari@wayne.enterprises", + "ERROR": "آدرس ایمیل معتبر نیست" }, "PASSWORD": { "LABEL": "رمز عبور", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "ارتباط با سرور برقرار نشد، لطفا بعدا امتحان کنید" }, "SUBMIT": "ثبت", - "FEATURES": { - "UNLIMITED_INBOXES": "Unlimited inboxes", - "ROBUST_REPORTING": "Robust Reporting", - "CANNED_RESPONSES": "پاسخ‌های آماده", - "AUTO_ASSIGNMENT": "Auto Assignment", - "SECURITY": "Enterprise level security" - } + "HAVE_AN_ACCOUNT": "از قبل حساب‌کاربری دارید؟" } } diff --git a/app/javascript/dashboard/i18n/locale/fi/contact.json b/app/javascript/dashboard/i18n/locale/fi/contact.json index 6482011e5..9ecd98b47 100644 --- a/app/javascript/dashboard/i18n/locale/fi/contact.json +++ b/app/javascript/dashboard/i18n/locale/fi/contact.json @@ -11,6 +11,7 @@ "OS": "Käyttöjärjestelmä", "INITIATED_FROM": "Aloitettu lähteestä", "INITIATED_AT": "Aloitettu lähteestä", + "IP_ADDRESS": "IP-osoite", "CONVERSATIONS": { "NO_RECORDS_FOUND": "Tähän yhteystietoon ei liity aikaisempia keskusteluja.", "TITLE": "Edelliset keskustelut" diff --git a/app/javascript/dashboard/i18n/locale/fi/conversation.json b/app/javascript/dashboard/i18n/locale/fi/conversation.json index ca2709cac..b89b46445 100644 --- a/app/javascript/dashboard/i18n/locale/fi/conversation.json +++ b/app/javascript/dashboard/i18n/locale/fi/conversation.json @@ -13,8 +13,8 @@ "PLACEHOLDER": "Kirjoita mikä tahansa teksti etsiäksesi viestejä", "NO_MATCHING_RESULTS": "Hakuparametreja vastaavia viestejä ei ole." }, - "UNREAD_MESSAGES": "Unread Messages", - "UNREAD_MESSAGE": "Unread Message", + "UNREAD_MESSAGES": "Lukemattomat viestit", + "UNREAD_MESSAGE": "Lukematon viesti", "CLICK_HERE": "Klikkaa tästä", "LOADING_INBOXES": "Ladataan saapuneet-kansioita", "LOADING_CONVERSATIONS": "Ladataan keskusteluita", @@ -24,6 +24,7 @@ "REPLYING_TO": "Olet vastaamassa:", "REMOVE_SELECTION": "Poista valinnat", "DOWNLOAD": "Lataa", + "UPLOADING_ATTACHMENTS": "Ladataan liitteitä...", "HEADER": { "RESOLVE_ACTION": "Ratkaise", "REOPEN_ACTION": "Uudelleenavaa", @@ -40,7 +41,10 @@ "PRIVATE_NOTE": "Sisäinen merkintä", "SEND": "Lähetä", "CREATE": "Lisää muistiinpano", - "TWEET": "Twiittaa" + "TWEET": "Twiittaa", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, "VISIBLE_TO_AGENTS": "Yksityinen huomautus: Näkyy vain sinulle ja tiimillesi", "CHANGE_STATUS": "Keskustelun tila muutettu", diff --git a/app/javascript/dashboard/i18n/locale/fi/generalSettings.json b/app/javascript/dashboard/i18n/locale/fi/generalSettings.json index e73073efa..17cfa1a70 100644 --- a/app/javascript/dashboard/i18n/locale/fi/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/fi/generalSettings.json @@ -42,7 +42,8 @@ "INBOUND_EMAIL_ENABLED": "Keskustelun jatkuvuus sähköpostin kautta on käytössä tililläsi.", "CUSTOM_EMAIL_DOMAIN_ENABLED": "Voit nyt vastaanottaa sähköposteja mukautetulla verkkotunnuksellasi." } - } + }, + "UPDATE_CHATWOOT": "An update %{latestChatwootVersion} for Chatwoot is available. Please update your instance." }, "FORMS": { "MULTISELECT": { diff --git a/app/javascript/dashboard/i18n/locale/fi/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/fi/inboxMgmt.json index ba11f4335..708c8bf6b 100644 --- a/app/javascript/dashboard/i18n/locale/fi/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/fi/inboxMgmt.json @@ -241,7 +241,9 @@ "AUTO_ASSIGNMENT": "Ota automaattinen delegointi käyttöön", "INBOX_UPDATE_TITLE": "Postilaatikon tiedot", "INBOX_UPDATE_SUB_TEXT": "Päivitä postilaatikon asetukset", - "AUTO_ASSIGNMENT_SUB_TEXT": "Ota käyttöön tai poista käytöstä automaattinen keskusteluiden delegointi edustajille." + "AUTO_ASSIGNMENT_SUB_TEXT": "Ota käyttöön tai poista käytöstä automaattinen keskusteluiden delegointi edustajille.", + "HMAC_VERIFICATION": "User Identity Validation", + "HMAC_DESCRIPTION": "Inorder validate the users identity, the SDK allows you to pass an `identity_hash` for each user. You can generate HMAC using 'sha256' with the key shown here." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Uudelleenvaltuuta", diff --git a/app/javascript/dashboard/i18n/locale/fi/report.json b/app/javascript/dashboard/i18n/locale/fi/report.json index 0b999d3fc..5901cc1f6 100644 --- a/app/javascript/dashboard/i18n/locale/fi/report.json +++ b/app/javascript/dashboard/i18n/locale/fi/report.json @@ -3,7 +3,7 @@ "HEADER": "Raportit", "LOADING_CHART": "Ladataan kaaviotietoja...", "NO_ENOUGH_DATA": "Emme ole saaneet tarpeeksi dataa raportin luomiseen, yritä myöhemmin uudelleen.", - "DOWNLOAD_AGENT_REPORTS": "Download agent reports", + "DOWNLOAD_AGENT_REPORTS": "Lataa edustajaraportit", "METRICS": { "CONVERSATIONS": { "NAME": "Keskustelut", diff --git a/app/javascript/dashboard/i18n/locale/fi/settings.json b/app/javascript/dashboard/i18n/locale/fi/settings.json index f3c34eab9..9c8a6918e 100644 --- a/app/javascript/dashboard/i18n/locale/fi/settings.json +++ b/app/javascript/dashboard/i18n/locale/fi/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "Keskustelut", "REPORTS": "Raportit", - "CONTACTS": "Yhteystiedot (beta)", + "CONTACTS": "Yhteystiedot", "SETTINGS": "Asetukset", "HOME": "Koti", "AGENTS": "Edustajat", diff --git a/app/javascript/dashboard/i18n/locale/fi/signup.json b/app/javascript/dashboard/i18n/locale/fi/signup.json index 0c66261b3..bf8e8445a 100644 --- a/app/javascript/dashboard/i18n/locale/fi/signup.json +++ b/app/javascript/dashboard/i18n/locale/fi/signup.json @@ -5,13 +5,18 @@ "TERMS_ACCEPT": "Rekisteröitymällä hyväksyt käyttöehdot & säännöt sekä yksityisyydensuojan", "ACCOUNT_NAME": { "LABEL": "Tilin nimi", - "PLACEHOLDER": "Wayne Enterprises", + "PLACEHOLDER": "Anna käyttäjän nimi, esim: Wayne Enterprises", "ERROR": "Tilin nimi on liian lyhyt" }, + "FULL_NAME": { + "LABEL": "Koko nimi", + "PLACEHOLDER": "Anna koko nimesi, esim: Bruce Wayne", + "ERROR": "Koko nimi on liian lyhyt" + }, "EMAIL": { - "LABEL": "Sähköposti", - "PLACEHOLDER": "bruce@wayne.enterprises", - "ERROR": "Sähköposti ei ole kelvollinen" + "LABEL": "Työsähköposti", + "PLACEHOLDER": "Anna työsi sähköpostiosoite, esim: bruce@wayne.enterprises", + "ERROR": "Sähköpostiosoite ei ole kelvollinen" }, "PASSWORD": { "LABEL": "Salasana", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "Yhteyden muodostaminen Woot-palvelimelle ei onnistunut, yritä myöhemmin uudelleen" }, "SUBMIT": "Lähetä", - "FEATURES": { - "UNLIMITED_INBOXES": "Rajattomat postilaatikot", - "ROBUST_REPORTING": "Jykevä raportointi", - "CANNED_RESPONSES": "Tallennetut vastaukset", - "AUTO_ASSIGNMENT": "Automaattinen delegointi", - "SECURITY": "Yritystason suojaus" - } + "HAVE_AN_ACCOUNT": "Onko sinulla jo tili?" } } diff --git a/app/javascript/dashboard/i18n/locale/fr/contact.json b/app/javascript/dashboard/i18n/locale/fr/contact.json index e5f8c2ad9..d2fb773c3 100644 --- a/app/javascript/dashboard/i18n/locale/fr/contact.json +++ b/app/javascript/dashboard/i18n/locale/fr/contact.json @@ -11,6 +11,7 @@ "OS": "Système d'exploitation", "INITIATED_FROM": "Initié depuis", "INITIATED_AT": "Initié à", + "IP_ADDRESS": "IP Address", "CONVERSATIONS": { "NO_RECORDS_FOUND": "Il n'y a aucune conversation précédente associée à ce contact.", "TITLE": "Conversations précédentes" diff --git a/app/javascript/dashboard/i18n/locale/fr/conversation.json b/app/javascript/dashboard/i18n/locale/fr/conversation.json index 7bfaf3ec4..1302bc63f 100644 --- a/app/javascript/dashboard/i18n/locale/fr/conversation.json +++ b/app/javascript/dashboard/i18n/locale/fr/conversation.json @@ -24,6 +24,7 @@ "REPLYING_TO": "Vous répondez à :", "REMOVE_SELECTION": "Supprimer la sélection", "DOWNLOAD": "Télécharger", + "UPLOADING_ATTACHMENTS": "Uploading attachments...", "HEADER": { "RESOLVE_ACTION": "Résoudre", "REOPEN_ACTION": "Ré-ouvrir", @@ -40,7 +41,10 @@ "PRIVATE_NOTE": "Note privée", "SEND": "Envoyer", "CREATE": "Ajouter une note", - "TWEET": "Tweeter" + "TWEET": "Tweeter", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, "VISIBLE_TO_AGENTS": "Note privée : uniquement visible par vous et votre équipe", "CHANGE_STATUS": "Statut de la conversation modifié", diff --git a/app/javascript/dashboard/i18n/locale/fr/generalSettings.json b/app/javascript/dashboard/i18n/locale/fr/generalSettings.json index 79aec68bb..23c90e893 100644 --- a/app/javascript/dashboard/i18n/locale/fr/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/fr/generalSettings.json @@ -42,7 +42,8 @@ "INBOUND_EMAIL_ENABLED": "La continuité des conversations avec les courriels est activée pour votre compte.", "CUSTOM_EMAIL_DOMAIN_ENABLED": "Vous pouvez maintenant recevoir des courriels dans votre domaine personnalisé." } - } + }, + "UPDATE_CHATWOOT": "An update %{latestChatwootVersion} for Chatwoot is available. Please update your instance." }, "FORMS": { "MULTISELECT": { diff --git a/app/javascript/dashboard/i18n/locale/fr/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/fr/inboxMgmt.json index 76f90bc41..80f8899f9 100644 --- a/app/javascript/dashboard/i18n/locale/fr/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/fr/inboxMgmt.json @@ -241,7 +241,9 @@ "AUTO_ASSIGNMENT": "Activer l'assignation automatique", "INBOX_UPDATE_TITLE": "Paramètres de boîtes de réception", "INBOX_UPDATE_SUB_TEXT": "Mettre à jour les paramètres de votre boîte de réception", - "AUTO_ASSIGNMENT_SUB_TEXT": "Activer ou désactiver l'affectation automatique de nouvelles conversations aux agents ajoutés à cette boîte de réception." + "AUTO_ASSIGNMENT_SUB_TEXT": "Activer ou désactiver l'affectation automatique de nouvelles conversations aux agents ajoutés à cette boîte de réception.", + "HMAC_VERIFICATION": "User Identity Validation", + "HMAC_DESCRIPTION": "Inorder validate the users identity, the SDK allows you to pass an `identity_hash` for each user. You can generate HMAC using 'sha256' with the key shown here." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Réautoriser", diff --git a/app/javascript/dashboard/i18n/locale/fr/index.js b/app/javascript/dashboard/i18n/locale/fr/index.js index 558cc9b3a..5dfc44e4b 100644 --- a/app/javascript/dashboard/i18n/locale/fr/index.js +++ b/app/javascript/dashboard/i18n/locale/fr/index.js @@ -1,5 +1,5 @@ -/* eslint-disable */ import { default as _agentMgmt } from './agentMgmt.json'; +import { default as _labelsMgmt } from './labelsMgmt.json'; import { default as _cannedMgmt } from './cannedMgmt.json'; import { default as _chatlist } from './chatlist.json'; import { default as _contact } from './contact.json'; @@ -23,6 +23,7 @@ export default { ..._inboxMgmt, ..._login, ..._report, + ..._labelsMgmt, ..._resetPassword, ..._setNewPassword, ..._settings, diff --git a/app/javascript/dashboard/i18n/locale/fr/settings.json b/app/javascript/dashboard/i18n/locale/fr/settings.json index 1eb027a0c..52567494a 100644 --- a/app/javascript/dashboard/i18n/locale/fr/settings.json +++ b/app/javascript/dashboard/i18n/locale/fr/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "Conversations", "REPORTS": "Rapports", - "CONTACTS": "Contacts (Beta)", + "CONTACTS": "Contacts", "SETTINGS": "Paramètres", "HOME": "Accueil", "AGENTS": "Agents", diff --git a/app/javascript/dashboard/i18n/locale/fr/signup.json b/app/javascript/dashboard/i18n/locale/fr/signup.json index 9f746e075..6b40d95f6 100644 --- a/app/javascript/dashboard/i18n/locale/fr/signup.json +++ b/app/javascript/dashboard/i18n/locale/fr/signup.json @@ -5,13 +5,18 @@ "TERMS_ACCEPT": "En vous inscrivant, vous acceptez nos CGU et notre politique de confidentialité", "ACCOUNT_NAME": { "LABEL": "Nom du compte", - "PLACEHOLDER": "Entreprises Wayne", - "ERROR": "Le nom de compte est trop court" + "PLACEHOLDER": "Enter an account name. eg: Wayne Enterprises", + "ERROR": "Account name is too short" + }, + "FULL_NAME": { + "LABEL": "Full name", + "PLACEHOLDER": "Enter your full name. eg: Bruce Wayne", + "ERROR": "Full name is too short" }, "EMAIL": { - "LABEL": "Courriel", - "PLACEHOLDER": "bruce@wayne.entreprises", - "ERROR": "L'adresse de courriel est invalide" + "LABEL": "Work email", + "PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises", + "ERROR": "Email address is invalid" }, "PASSWORD": { "LABEL": "Mot de passe", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "Impossible de se connecter au serveur Woot, veuillez réessayer plus tard" }, "SUBMIT": "Envoyer", - "FEATURES": { - "UNLIMITED_INBOXES": "Unlimited inboxes", - "ROBUST_REPORTING": "Robust Reporting", - "CANNED_RESPONSES": "Réponses standardisées", - "AUTO_ASSIGNMENT": "Auto Assignment", - "SECURITY": "Enterprise level security" - } + "HAVE_AN_ACCOUNT": "Already have an account?" } } diff --git a/app/javascript/dashboard/i18n/locale/hi/contact.json b/app/javascript/dashboard/i18n/locale/hi/contact.json index 684a56ee5..da85ffab8 100644 --- a/app/javascript/dashboard/i18n/locale/hi/contact.json +++ b/app/javascript/dashboard/i18n/locale/hi/contact.json @@ -11,6 +11,7 @@ "OS": "Operating System", "INITIATED_FROM": "Initiated from", "INITIATED_AT": "Initiated at", + "IP_ADDRESS": "IP Address", "CONVERSATIONS": { "NO_RECORDS_FOUND": "There are no previous conversations associated to this contact.", "TITLE": "Previous Conversations" diff --git a/app/javascript/dashboard/i18n/locale/hi/conversation.json b/app/javascript/dashboard/i18n/locale/hi/conversation.json index 710a5a301..19bc5235b 100644 --- a/app/javascript/dashboard/i18n/locale/hi/conversation.json +++ b/app/javascript/dashboard/i18n/locale/hi/conversation.json @@ -24,6 +24,7 @@ "REPLYING_TO": "You are replying to:", "REMOVE_SELECTION": "Remove Selection", "DOWNLOAD": "Download", + "UPLOADING_ATTACHMENTS": "Uploading attachments...", "HEADER": { "RESOLVE_ACTION": "Resolve", "REOPEN_ACTION": "Reopen", @@ -40,7 +41,10 @@ "PRIVATE_NOTE": "Private Note", "SEND": "Send", "CREATE": "Add Note", - "TWEET": "Tweet" + "TWEET": "Tweet", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, "VISIBLE_TO_AGENTS": "Private Note: Only visible to you and your team", "CHANGE_STATUS": "Conversation status changed", diff --git a/app/javascript/dashboard/i18n/locale/hi/generalSettings.json b/app/javascript/dashboard/i18n/locale/hi/generalSettings.json index 152545467..245bcb4c1 100644 --- a/app/javascript/dashboard/i18n/locale/hi/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/hi/generalSettings.json @@ -42,7 +42,8 @@ "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." } - } + }, + "UPDATE_CHATWOOT": "An update %{latestChatwootVersion} for Chatwoot is available. Please update your instance." }, "FORMS": { "MULTISELECT": { diff --git a/app/javascript/dashboard/i18n/locale/hi/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/hi/inboxMgmt.json index 6598b2b6f..db2e6cea8 100644 --- a/app/javascript/dashboard/i18n/locale/hi/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/hi/inboxMgmt.json @@ -241,7 +241,9 @@ "AUTO_ASSIGNMENT": "Enable auto assignment", "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." + "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 validate the users identity, the SDK allows you to pass an `identity_hash` for each user. You can generate HMAC using 'sha256' with the key shown here." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reauthorize", diff --git a/app/javascript/dashboard/i18n/locale/hi/settings.json b/app/javascript/dashboard/i18n/locale/hi/settings.json index e943912f4..0f4addcd4 100644 --- a/app/javascript/dashboard/i18n/locale/hi/settings.json +++ b/app/javascript/dashboard/i18n/locale/hi/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "Conversations", "REPORTS": "Reports", - "CONTACTS": "Contacts (Beta)", + "CONTACTS": "Contacts", "SETTINGS": "Settings", "HOME": "Home", "AGENTS": "Agents", diff --git a/app/javascript/dashboard/i18n/locale/hi/signup.json b/app/javascript/dashboard/i18n/locale/hi/signup.json index 08366a1e3..6eaa5d646 100644 --- a/app/javascript/dashboard/i18n/locale/hi/signup.json +++ b/app/javascript/dashboard/i18n/locale/hi/signup.json @@ -4,14 +4,19 @@ "TITLE": "Register", "TERMS_ACCEPT": "By signing up, you agree to our T & C and Privacy policy", "ACCOUNT_NAME": { - "LABEL": "Account Name", - "PLACEHOLDER": "Wayne Enterprises", - "ERROR": "Account Name is too short" + "LABEL": "Account name", + "PLACEHOLDER": "Enter an account name. eg: Wayne Enterprises", + "ERROR": "Account name is too short" + }, + "FULL_NAME": { + "LABEL": "Full name", + "PLACEHOLDER": "Enter your full name. eg: Bruce Wayne", + "ERROR": "Full name is too short" }, "EMAIL": { - "LABEL": "Email", - "PLACEHOLDER": "bruce@wayne.enterprises", - "ERROR": "Email is invalid" + "LABEL": "Work email", + "PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises", + "ERROR": "Email address is invalid" }, "PASSWORD": { "LABEL": "Password", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" }, "SUBMIT": "Submit", - "FEATURES": { - "UNLIMITED_INBOXES": "Unlimited inboxes", - "ROBUST_REPORTING": "Robust Reporting", - "CANNED_RESPONSES": "Canned Responses", - "AUTO_ASSIGNMENT": "Auto Assignment", - "SECURITY": "Enterprise level security" - } + "HAVE_AN_ACCOUNT": "Already have an account?" } } diff --git a/app/javascript/dashboard/i18n/locale/hu/contact.json b/app/javascript/dashboard/i18n/locale/hu/contact.json index 9d93588db..b4ce90f6e 100644 --- a/app/javascript/dashboard/i18n/locale/hu/contact.json +++ b/app/javascript/dashboard/i18n/locale/hu/contact.json @@ -11,6 +11,7 @@ "OS": "Operating System", "INITIATED_FROM": "Initiated from", "INITIATED_AT": "Initiated at", + "IP_ADDRESS": "IP Address", "CONVERSATIONS": { "NO_RECORDS_FOUND": "There are no previous conversations associated to this contact.", "TITLE": "Previous Conversations" diff --git a/app/javascript/dashboard/i18n/locale/hu/conversation.json b/app/javascript/dashboard/i18n/locale/hu/conversation.json index 710a5a301..19bc5235b 100644 --- a/app/javascript/dashboard/i18n/locale/hu/conversation.json +++ b/app/javascript/dashboard/i18n/locale/hu/conversation.json @@ -24,6 +24,7 @@ "REPLYING_TO": "You are replying to:", "REMOVE_SELECTION": "Remove Selection", "DOWNLOAD": "Download", + "UPLOADING_ATTACHMENTS": "Uploading attachments...", "HEADER": { "RESOLVE_ACTION": "Resolve", "REOPEN_ACTION": "Reopen", @@ -40,7 +41,10 @@ "PRIVATE_NOTE": "Private Note", "SEND": "Send", "CREATE": "Add Note", - "TWEET": "Tweet" + "TWEET": "Tweet", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, "VISIBLE_TO_AGENTS": "Private Note: Only visible to you and your team", "CHANGE_STATUS": "Conversation status changed", diff --git a/app/javascript/dashboard/i18n/locale/hu/generalSettings.json b/app/javascript/dashboard/i18n/locale/hu/generalSettings.json index 152545467..245bcb4c1 100644 --- a/app/javascript/dashboard/i18n/locale/hu/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/hu/generalSettings.json @@ -42,7 +42,8 @@ "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." } - } + }, + "UPDATE_CHATWOOT": "An update %{latestChatwootVersion} for Chatwoot is available. Please update your instance." }, "FORMS": { "MULTISELECT": { diff --git a/app/javascript/dashboard/i18n/locale/hu/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/hu/inboxMgmt.json index c95f69026..02f61b7f6 100644 --- a/app/javascript/dashboard/i18n/locale/hu/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/hu/inboxMgmt.json @@ -241,7 +241,9 @@ "AUTO_ASSIGNMENT": "Enable auto assignment", "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." + "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 validate the users identity, the SDK allows you to pass an `identity_hash` for each user. You can generate HMAC using 'sha256' with the key shown here." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reauthorize", diff --git a/app/javascript/dashboard/i18n/locale/hu/settings.json b/app/javascript/dashboard/i18n/locale/hu/settings.json index 3875cac43..64db2db53 100644 --- a/app/javascript/dashboard/i18n/locale/hu/settings.json +++ b/app/javascript/dashboard/i18n/locale/hu/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "Conversations", "REPORTS": "Reports", - "CONTACTS": "Contacts (Beta)", + "CONTACTS": "Contacts", "SETTINGS": "Settings", "HOME": "Home", "AGENTS": "Ügynökök", diff --git a/app/javascript/dashboard/i18n/locale/hu/signup.json b/app/javascript/dashboard/i18n/locale/hu/signup.json index 08366a1e3..6eaa5d646 100644 --- a/app/javascript/dashboard/i18n/locale/hu/signup.json +++ b/app/javascript/dashboard/i18n/locale/hu/signup.json @@ -4,14 +4,19 @@ "TITLE": "Register", "TERMS_ACCEPT": "By signing up, you agree to our T & C and Privacy policy", "ACCOUNT_NAME": { - "LABEL": "Account Name", - "PLACEHOLDER": "Wayne Enterprises", - "ERROR": "Account Name is too short" + "LABEL": "Account name", + "PLACEHOLDER": "Enter an account name. eg: Wayne Enterprises", + "ERROR": "Account name is too short" + }, + "FULL_NAME": { + "LABEL": "Full name", + "PLACEHOLDER": "Enter your full name. eg: Bruce Wayne", + "ERROR": "Full name is too short" }, "EMAIL": { - "LABEL": "Email", - "PLACEHOLDER": "bruce@wayne.enterprises", - "ERROR": "Email is invalid" + "LABEL": "Work email", + "PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises", + "ERROR": "Email address is invalid" }, "PASSWORD": { "LABEL": "Password", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" }, "SUBMIT": "Submit", - "FEATURES": { - "UNLIMITED_INBOXES": "Unlimited inboxes", - "ROBUST_REPORTING": "Robust Reporting", - "CANNED_RESPONSES": "Canned Responses", - "AUTO_ASSIGNMENT": "Auto Assignment", - "SECURITY": "Enterprise level security" - } + "HAVE_AN_ACCOUNT": "Already have an account?" } } diff --git a/app/javascript/dashboard/i18n/locale/id/contact.json b/app/javascript/dashboard/i18n/locale/id/contact.json index 42bdd1e7c..cb8ba9d5b 100644 --- a/app/javascript/dashboard/i18n/locale/id/contact.json +++ b/app/javascript/dashboard/i18n/locale/id/contact.json @@ -11,6 +11,7 @@ "OS": "Sistem Operasi", "INITIATED_FROM": "Dimulai dari", "INITIATED_AT": "Dimulai pada", + "IP_ADDRESS": "IP Address", "CONVERSATIONS": { "NO_RECORDS_FOUND": "Tidak ada percakapan sebelumnya yang terkait dengan kontak ini.", "TITLE": "Percakapan Sebelumnya" diff --git a/app/javascript/dashboard/i18n/locale/id/conversation.json b/app/javascript/dashboard/i18n/locale/id/conversation.json index a08e9a707..a4262af53 100644 --- a/app/javascript/dashboard/i18n/locale/id/conversation.json +++ b/app/javascript/dashboard/i18n/locale/id/conversation.json @@ -24,6 +24,7 @@ "REPLYING_TO": "Anda membalas:", "REMOVE_SELECTION": "Hapus Pilihan", "DOWNLOAD": "Unduh", + "UPLOADING_ATTACHMENTS": "Unggah lampiran...", "HEADER": { "RESOLVE_ACTION": "Menyelesaikan", "REOPEN_ACTION": "Buka Kembali", @@ -40,7 +41,10 @@ "PRIVATE_NOTE": "Catatan Pribadi", "SEND": "Kirim", "CREATE": "Tambahkan Catatan", - "TWEET": "Tweet" + "TWEET": "Tweet", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, "VISIBLE_TO_AGENTS": "Catatan Pribadi: Hanya terlihat oleh Anda dan tim Anda", "CHANGE_STATUS": "Status percakapan berubah", diff --git a/app/javascript/dashboard/i18n/locale/id/generalSettings.json b/app/javascript/dashboard/i18n/locale/id/generalSettings.json index 879f5cf99..2a8e3cc8f 100644 --- a/app/javascript/dashboard/i18n/locale/id/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/id/generalSettings.json @@ -42,7 +42,8 @@ "INBOUND_EMAIL_ENABLED": "Kelanjutan percakapan dengan email diaktifkan untuk akun Anda.", "CUSTOM_EMAIL_DOMAIN_ENABLED": "Anda dapat menerima email di domain kustom Anda sekarang." } - } + }, + "UPDATE_CHATWOOT": "Pembaharuan Chatwoot %{latestChatwootVersion} telah tersedia. Silahkan lakukan pembaharuan instance Anda." }, "FORMS": { "MULTISELECT": { diff --git a/app/javascript/dashboard/i18n/locale/id/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/id/inboxMgmt.json index 955b9a627..cec58c2fb 100644 --- a/app/javascript/dashboard/i18n/locale/id/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/id/inboxMgmt.json @@ -241,7 +241,9 @@ "AUTO_ASSIGNMENT": "Aktifkan penugasan otomatis", "INBOX_UPDATE_TITLE": "Pengaturan Kotak Masuk", "INBOX_UPDATE_SUB_TEXT": "Perbarui pengaturan kotak masuk Anda", - "AUTO_ASSIGNMENT_SUB_TEXT": "Mengaktifkan atau menonaktifkan penugasan otomatis percakapan baru ke agen yang ditambahkan ke kotak masuk ini." + "AUTO_ASSIGNMENT_SUB_TEXT": "Mengaktifkan atau menonaktifkan penugasan otomatis percakapan baru ke agen yang ditambahkan ke kotak masuk ini.", + "HMAC_VERIFICATION": "Validasi Identitas Pengguna", + "HMAC_DESCRIPTION": "Untuk memvalidasi identitas pengguna secara inorder, SDK memungkinkan Anda meneruskan `identity_hash` untuk setiap pengguna. Anda dapat membuat HMAC menggunakan 'sha256' dengan key yang ditampilkan di sini." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Otorisasi ulang", diff --git a/app/javascript/dashboard/i18n/locale/id/report.json b/app/javascript/dashboard/i18n/locale/id/report.json index 14b39e8f5..bdd2f8b44 100644 --- a/app/javascript/dashboard/i18n/locale/id/report.json +++ b/app/javascript/dashboard/i18n/locale/id/report.json @@ -3,7 +3,7 @@ "HEADER": "Laporan", "LOADING_CHART": "Memuat data grafik...", "NO_ENOUGH_DATA": "Kami belum menerima cukup data untuk membuat laporan, Silakan coba lagi nanti.", - "DOWNLOAD_AGENT_REPORTS": "Download agent reports", + "DOWNLOAD_AGENT_REPORTS": "Unduh laporan agen", "METRICS": { "CONVERSATIONS": { "NAME": "Percakapan", diff --git a/app/javascript/dashboard/i18n/locale/id/settings.json b/app/javascript/dashboard/i18n/locale/id/settings.json index 5223c934b..738609da1 100644 --- a/app/javascript/dashboard/i18n/locale/id/settings.json +++ b/app/javascript/dashboard/i18n/locale/id/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "Percakapan", "REPORTS": "Laporan", - "CONTACTS": "Kontak (Beta)", + "CONTACTS": "Kontak", "SETTINGS": "Pengaturan", "HOME": "Home", "AGENTS": "Agen", diff --git a/app/javascript/dashboard/i18n/locale/id/signup.json b/app/javascript/dashboard/i18n/locale/id/signup.json index 7e91d1210..5f33b4e35 100644 --- a/app/javascript/dashboard/i18n/locale/id/signup.json +++ b/app/javascript/dashboard/i18n/locale/id/signup.json @@ -5,13 +5,18 @@ "TERMS_ACCEPT": "Dengan mendaftar, Anda menyetujui S&K dan Kebijakan Privasi", "ACCOUNT_NAME": { "LABEL": "Nama Akun", - "PLACEHOLDER": "Wayne Enterprises", + "PLACEHOLDER": "Masukkan nama akun. cth: Wayne Enterprises", "ERROR": "Nama Akun terlalu pendek" }, + "FULL_NAME": { + "LABEL": "Nama Lengkap", + "PLACEHOLDER": "Masukkan nama lengkap Anda. cth: Bruce Wayne", + "ERROR": "Nama lengkap terlalu pendek" + }, "EMAIL": { - "LABEL": "Email", - "PLACEHOLDER": "bruce@wayne.enterprises", - "ERROR": "Email tidak valid" + "LABEL": "Email kantor", + "PLACEHOLDER": "Masukkan alamat email kantor Anda. cth: bruce@wayne.enterprises", + "ERROR": "Alamat email salah" }, "PASSWORD": { "LABEL": "Kata Sandi", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "Tidak dapat terhubung ke Server Woot, Silahkan coba lagi nanti" }, "SUBMIT": "Kirim", - "FEATURES": { - "UNLIMITED_INBOXES": "Kotak masuk tak terbatas", - "ROBUST_REPORTING": "Laporan terlengkap", - "CANNED_RESPONSES": "Canned Responses", - "AUTO_ASSIGNMENT": "Penugasan Otomatis", - "SECURITY": "Keamanan tingkat perusahaan" - } + "HAVE_AN_ACCOUNT": "Sudah punya akun?" } } diff --git a/app/javascript/dashboard/i18n/locale/it/contact.json b/app/javascript/dashboard/i18n/locale/it/contact.json index efa804a12..6773d5510 100644 --- a/app/javascript/dashboard/i18n/locale/it/contact.json +++ b/app/javascript/dashboard/i18n/locale/it/contact.json @@ -11,6 +11,7 @@ "OS": "Sistema Operativo", "INITIATED_FROM": "Iniziato da", "INITIATED_AT": "Iniziato alle", + "IP_ADDRESS": "IP Address", "CONVERSATIONS": { "NO_RECORDS_FOUND": "Non ci sono precedenti conversazioni associate a questo contatto.", "TITLE": "Conversazioni precedenti" diff --git a/app/javascript/dashboard/i18n/locale/it/conversation.json b/app/javascript/dashboard/i18n/locale/it/conversation.json index 1079ee766..c1de8945f 100644 --- a/app/javascript/dashboard/i18n/locale/it/conversation.json +++ b/app/javascript/dashboard/i18n/locale/it/conversation.json @@ -24,6 +24,7 @@ "REPLYING_TO": "You are replying to:", "REMOVE_SELECTION": "Remove Selection", "DOWNLOAD": "Scaricare", + "UPLOADING_ATTACHMENTS": "Uploading attachments...", "HEADER": { "RESOLVE_ACTION": "Risolvi", "REOPEN_ACTION": "Riapri", @@ -40,7 +41,10 @@ "PRIVATE_NOTE": "Nota Privata", "SEND": "Inviare", "CREATE": "Aggiungi nota", - "TWEET": "Twitta" + "TWEET": "Twitta", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, "VISIBLE_TO_AGENTS": "Nota privata: visibile solo a te e al tuo team", "CHANGE_STATUS": "Stato conversazione cambiato", diff --git a/app/javascript/dashboard/i18n/locale/it/generalSettings.json b/app/javascript/dashboard/i18n/locale/it/generalSettings.json index 6184792a0..8d2ce6120 100644 --- a/app/javascript/dashboard/i18n/locale/it/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/it/generalSettings.json @@ -42,7 +42,8 @@ "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." } - } + }, + "UPDATE_CHATWOOT": "An update %{latestChatwootVersion} for Chatwoot is available. Please update your instance." }, "FORMS": { "MULTISELECT": { diff --git a/app/javascript/dashboard/i18n/locale/it/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/it/inboxMgmt.json index 4cd80875d..be0526aa5 100644 --- a/app/javascript/dashboard/i18n/locale/it/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/it/inboxMgmt.json @@ -241,7 +241,9 @@ "AUTO_ASSIGNMENT": "Abilita assegnazione automatica", "INBOX_UPDATE_TITLE": "Impostazioni della Posta In Arrivo", "INBOX_UPDATE_SUB_TEXT": "Aggiorna le impostazioni della posta in arrivo", - "AUTO_ASSIGNMENT_SUB_TEXT": "Abilita o disabilita l'assegnazione automatica di nuove conversazioni agli agenti aggiunti a questa casella di posta." + "AUTO_ASSIGNMENT_SUB_TEXT": "Abilita o disabilita l'assegnazione automatica di nuove conversazioni agli agenti aggiunti a questa casella di posta.", + "HMAC_VERIFICATION": "User Identity Validation", + "HMAC_DESCRIPTION": "Inorder validate the users identity, the SDK allows you to pass an `identity_hash` for each user. You can generate HMAC using 'sha256' with the key shown here." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Riautorizza", diff --git a/app/javascript/dashboard/i18n/locale/it/settings.json b/app/javascript/dashboard/i18n/locale/it/settings.json index 77cc47bf5..77b84633a 100644 --- a/app/javascript/dashboard/i18n/locale/it/settings.json +++ b/app/javascript/dashboard/i18n/locale/it/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "Conversazioni", "REPORTS": "Segnalazioni", - "CONTACTS": "Contacts (Beta)", + "CONTACTS": "Contacts", "SETTINGS": "Impostazioni", "HOME": "Home", "AGENTS": "Agenti", diff --git a/app/javascript/dashboard/i18n/locale/it/signup.json b/app/javascript/dashboard/i18n/locale/it/signup.json index e0694aa5e..18ac0f086 100644 --- a/app/javascript/dashboard/i18n/locale/it/signup.json +++ b/app/javascript/dashboard/i18n/locale/it/signup.json @@ -5,13 +5,18 @@ "TERMS_ACCEPT": "Registrandoti, accetti la nostra T & C e informativa sulla privacy", "ACCOUNT_NAME": { "LABEL": "Nome del conto", - "PLACEHOLDER": "Wayne Enterprises", - "ERROR": "Nome account troppo corto" + "PLACEHOLDER": "Enter an account name. eg: Wayne Enterprises", + "ERROR": "Account name is too short" + }, + "FULL_NAME": { + "LABEL": "Full name", + "PLACEHOLDER": "Enter your full name. eg: Bruce Wayne", + "ERROR": "Full name is too short" }, "EMAIL": { - "LABEL": "email", - "PLACEHOLDER": "bruce@wayne.imprese", - "ERROR": "Email non valida" + "LABEL": "Work email", + "PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises", + "ERROR": "Email address is invalid" }, "PASSWORD": { "LABEL": "password", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "Impossibile connettersi al server Woot, riprova più tardi" }, "SUBMIT": "Invia", - "FEATURES": { - "UNLIMITED_INBOXES": "Unlimited inboxes", - "ROBUST_REPORTING": "Robust Reporting", - "CANNED_RESPONSES": "Risposte predefinite", - "AUTO_ASSIGNMENT": "Auto Assignment", - "SECURITY": "Enterprise level security" - } + "HAVE_AN_ACCOUNT": "Already have an account?" } } diff --git a/app/javascript/dashboard/i18n/locale/ja/contact.json b/app/javascript/dashboard/i18n/locale/ja/contact.json index 301bc617d..a00c1208c 100644 --- a/app/javascript/dashboard/i18n/locale/ja/contact.json +++ b/app/javascript/dashboard/i18n/locale/ja/contact.json @@ -11,6 +11,7 @@ "OS": "OS", "INITIATED_FROM": "開始元", "INITIATED_AT": "開始場所", + "IP_ADDRESS": "IP Address", "CONVERSATIONS": { "NO_RECORDS_FOUND": "この連絡先に関連付けられている以前の会話はありません。", "TITLE": "前の会話" diff --git a/app/javascript/dashboard/i18n/locale/ja/conversation.json b/app/javascript/dashboard/i18n/locale/ja/conversation.json index 6096b7927..a93dd3ba1 100644 --- a/app/javascript/dashboard/i18n/locale/ja/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ja/conversation.json @@ -24,6 +24,7 @@ "REPLYING_TO": "以下に返信:", "REMOVE_SELECTION": "選択項目を削除", "DOWNLOAD": "ダウンロード", + "UPLOADING_ATTACHMENTS": "Uploading attachments...", "HEADER": { "RESOLVE_ACTION": "解決する", "REOPEN_ACTION": "再開する", @@ -40,7 +41,10 @@ "PRIVATE_NOTE": "非公開メモ", "SEND": "送信", "CREATE": "メモを追加", - "TWEET": "ツイート" + "TWEET": "ツイート", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, "VISIBLE_TO_AGENTS": "非公開設定の注意:あなたとあなたのチームのみに表示されます", "CHANGE_STATUS": "会話の状態が変更されました", diff --git a/app/javascript/dashboard/i18n/locale/ja/generalSettings.json b/app/javascript/dashboard/i18n/locale/ja/generalSettings.json index 0818845ab..451637f7d 100644 --- a/app/javascript/dashboard/i18n/locale/ja/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/ja/generalSettings.json @@ -42,7 +42,8 @@ "INBOUND_EMAIL_ENABLED": "あなたのアカウントでは、メールでの会話が継続できるようになっています。", "CUSTOM_EMAIL_DOMAIN_ENABLED": "カスタムドメインでメールを受信できるようになりました。" } - } + }, + "UPDATE_CHATWOOT": "An update %{latestChatwootVersion} for Chatwoot is available. Please update your instance." }, "FORMS": { "MULTISELECT": { diff --git a/app/javascript/dashboard/i18n/locale/ja/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ja/inboxMgmt.json index 00788d344..8f3a3a48d 100644 --- a/app/javascript/dashboard/i18n/locale/ja/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ja/inboxMgmt.json @@ -241,7 +241,9 @@ "AUTO_ASSIGNMENT": "自動割り当てを有効にする", "INBOX_UPDATE_TITLE": "受信トレイの設定", "INBOX_UPDATE_SUB_TEXT": "受信トレイの設定を更新する", - "AUTO_ASSIGNMENT_SUB_TEXT": "この受信トレイに追加された担当者への新しい会話の自動割り当てを有効または無効にします。" + "AUTO_ASSIGNMENT_SUB_TEXT": "この受信トレイに追加された担当者への新しい会話の自動割り当てを有効または無効にします。", + "HMAC_VERIFICATION": "User Identity Validation", + "HMAC_DESCRIPTION": "Inorder validate the users identity, the SDK allows you to pass an `identity_hash` for each user. You can generate HMAC using 'sha256' with the key shown here." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "再認証", diff --git a/app/javascript/dashboard/i18n/locale/ja/settings.json b/app/javascript/dashboard/i18n/locale/ja/settings.json index b59604325..8ecd99646 100644 --- a/app/javascript/dashboard/i18n/locale/ja/settings.json +++ b/app/javascript/dashboard/i18n/locale/ja/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "会話データ", "REPORTS": "レポート", - "CONTACTS": "Contacts (Beta)", + "CONTACTS": "Contacts", "SETTINGS": "設定", "HOME": "ホーム", "AGENTS": "担当者", diff --git a/app/javascript/dashboard/i18n/locale/ja/signup.json b/app/javascript/dashboard/i18n/locale/ja/signup.json index 2b87a0e8e..534ad5e98 100644 --- a/app/javascript/dashboard/i18n/locale/ja/signup.json +++ b/app/javascript/dashboard/i18n/locale/ja/signup.json @@ -5,13 +5,18 @@ "TERMS_ACCEPT": "サインアップすることで、 T & C および プライバシー ポリシー に同意したことになります。", "ACCOUNT_NAME": { "LABEL": "アカウント名", - "PLACEHOLDER": "Wayne Enterprise", - "ERROR": "アカウント名が短すぎます" + "PLACEHOLDER": "Enter an account name. eg: Wayne Enterprises", + "ERROR": "Account name is too short" + }, + "FULL_NAME": { + "LABEL": "Full name", + "PLACEHOLDER": "Enter your full name. eg: Bruce Wayne", + "ERROR": "Full name is too short" }, "EMAIL": { - "LABEL": "Eメール", - "PLACEHOLDER": "bruce@wayne.companies", - "ERROR": "Eメールアドレスが無効です" + "LABEL": "Work email", + "PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises", + "ERROR": "Email address is invalid" }, "PASSWORD": { "LABEL": "パスワード", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "Woot Serverに接続できませんでした。後でもう一度お試しください。" }, "SUBMIT": "送信", - "FEATURES": { - "UNLIMITED_INBOXES": "Unlimited inboxes", - "ROBUST_REPORTING": "Robust Reporting", - "CANNED_RESPONSES": "定型文", - "AUTO_ASSIGNMENT": "Auto Assignment", - "SECURITY": "Enterprise level security" - } + "HAVE_AN_ACCOUNT": "Already have an account?" } } diff --git a/app/javascript/dashboard/i18n/locale/ko/contact.json b/app/javascript/dashboard/i18n/locale/ko/contact.json index 1577d54fe..0c39505ac 100644 --- a/app/javascript/dashboard/i18n/locale/ko/contact.json +++ b/app/javascript/dashboard/i18n/locale/ko/contact.json @@ -11,6 +11,7 @@ "OS": "운영 체제", "INITIATED_FROM": "시작 위치", "INITIATED_AT": "시작 시간", + "IP_ADDRESS": "IP 주소", "CONVERSATIONS": { "NO_RECORDS_FOUND": "이 연락처와 관련된 이전 대화가 없습니다.", "TITLE": "이전 대화" diff --git a/app/javascript/dashboard/i18n/locale/ko/conversation.json b/app/javascript/dashboard/i18n/locale/ko/conversation.json index e5e71e342..241dedbab 100644 --- a/app/javascript/dashboard/i18n/locale/ko/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ko/conversation.json @@ -24,6 +24,7 @@ "REPLYING_TO": "회신할 대상:", "REMOVE_SELECTION": "선택 항목 제거", "DOWNLOAD": "다운로드", + "UPLOADING_ATTACHMENTS": "Uploading attachments...", "HEADER": { "RESOLVE_ACTION": "해결함", "REOPEN_ACTION": "다시 열기", @@ -40,7 +41,10 @@ "PRIVATE_NOTE": "개인 노트", "SEND": "보내기", "CREATE": "노트 추가", - "TWEET": "트윗" + "TWEET": "트윗", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, "VISIBLE_TO_AGENTS": "개인 노트: 귀하와 귀하의 팀만 볼 수 있음", "CHANGE_STATUS": "대화 상태가 변경됨", diff --git a/app/javascript/dashboard/i18n/locale/ko/generalSettings.json b/app/javascript/dashboard/i18n/locale/ko/generalSettings.json index e685f7450..e55798c20 100644 --- a/app/javascript/dashboard/i18n/locale/ko/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/ko/generalSettings.json @@ -42,7 +42,8 @@ "INBOUND_EMAIL_ENABLED": "계정에 대해 이메일을 통한 대화 연속성이 활성화되었습니다.", "CUSTOM_EMAIL_DOMAIN_ENABLED": "지금 사용자 지정 도메인에서 이메일을 받을 수 있다." } - } + }, + "UPDATE_CHATWOOT": "An update %{latestChatwootVersion} for Chatwoot is available. Please update your instance." }, "FORMS": { "MULTISELECT": { diff --git a/app/javascript/dashboard/i18n/locale/ko/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ko/inboxMgmt.json index 320d9435c..ec6186cdd 100644 --- a/app/javascript/dashboard/i18n/locale/ko/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ko/inboxMgmt.json @@ -241,7 +241,9 @@ "AUTO_ASSIGNMENT": "자동 할당 사용", "INBOX_UPDATE_TITLE": "받은 메시지함 설정", "INBOX_UPDATE_SUB_TEXT": "받은 메시지함 설정 업데이트", - "AUTO_ASSIGNMENT_SUB_TEXT": "받은 메시지에 추가된 에이전트에 새 대화를 자동으로 할당하거나 할당하지 않도록 설정하십시오." + "AUTO_ASSIGNMENT_SUB_TEXT": "받은 메시지에 추가된 에이전트에 새 대화를 자동으로 할당하거나 할당하지 않도록 설정하십시오.", + "HMAC_VERIFICATION": "User Identity Validation", + "HMAC_DESCRIPTION": "Inorder validate the users identity, the SDK allows you to pass an `identity_hash` for each user. You can generate HMAC using 'sha256' with the key shown here." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "재승인", diff --git a/app/javascript/dashboard/i18n/locale/ko/report.json b/app/javascript/dashboard/i18n/locale/ko/report.json index d7a91b44f..f69473303 100644 --- a/app/javascript/dashboard/i18n/locale/ko/report.json +++ b/app/javascript/dashboard/i18n/locale/ko/report.json @@ -3,7 +3,7 @@ "HEADER": "보고서", "LOADING_CHART": "차트 데이터 불러오는 중...", "NO_ENOUGH_DATA": "보고서를 생성할 수 있는 데이터 포인트가 부족합니다. 나중에 다시 시도하십시오.", - "DOWNLOAD_AGENT_REPORTS": "Download agent reports", + "DOWNLOAD_AGENT_REPORTS": "다운로드 에이전트 보고서", "METRICS": { "CONVERSATIONS": { "NAME": "대화", diff --git a/app/javascript/dashboard/i18n/locale/ko/settings.json b/app/javascript/dashboard/i18n/locale/ko/settings.json index 490a1fa4f..48a876b98 100644 --- a/app/javascript/dashboard/i18n/locale/ko/settings.json +++ b/app/javascript/dashboard/i18n/locale/ko/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "대화", "REPORTS": "보고서", - "CONTACTS": "연락처 (베타)", + "CONTACTS": "연락처", "SETTINGS": "설정", "HOME": "홈", "AGENTS": "에이전트", diff --git a/app/javascript/dashboard/i18n/locale/ko/signup.json b/app/javascript/dashboard/i18n/locale/ko/signup.json index 9a48d6187..b3cac7928 100644 --- a/app/javascript/dashboard/i18n/locale/ko/signup.json +++ b/app/javascript/dashboard/i18n/locale/ko/signup.json @@ -5,13 +5,18 @@ "TERMS_ACCEPT": "회원가입 시, 당신은 우리의 T & C개인 정보 보호 정책에 동의하게 됩니다.", "ACCOUNT_NAME": { "LABEL": "계정 이름", - "PLACEHOLDER": "Wayne Enterprises", - "ERROR": "계정 이름이 너무 짧음" + "PLACEHOLDER": "Enter an account name. eg: Wayne Enterprises", + "ERROR": "Account name is too short" + }, + "FULL_NAME": { + "LABEL": "Full name", + "PLACEHOLDER": "Enter your full name. eg: Bruce Wayne", + "ERROR": "Full name is too short" }, "EMAIL": { - "LABEL": "이메일", - "PLACEHOLDER": "bruce@wayne.enterprises", - "ERROR": "이메일이 잘못됨" + "LABEL": "Work email", + "PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises", + "ERROR": "Email address is invalid" }, "PASSWORD": { "LABEL": "비밀번호", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "Woot Server에 연결할 수 없음. 나중에 다시 시도하십시오." }, "SUBMIT": "보내기", - "FEATURES": { - "UNLIMITED_INBOXES": "받은 메시지함 무제한", - "ROBUST_REPORTING": "강력한 보고", - "CANNED_RESPONSES": "미리 준비된 답변", - "AUTO_ASSIGNMENT": "자동 할당", - "SECURITY": "엔터프라이즈급 보안" - } + "HAVE_AN_ACCOUNT": "Already have an account?" } } diff --git a/app/javascript/dashboard/i18n/locale/ml/contact.json b/app/javascript/dashboard/i18n/locale/ml/contact.json index 3813af8ab..9f92886b2 100644 --- a/app/javascript/dashboard/i18n/locale/ml/contact.json +++ b/app/javascript/dashboard/i18n/locale/ml/contact.json @@ -1,16 +1,17 @@ { "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": "സംഭാഷണ വിശദാംശങ്ങൾ", "BROWSER": "ബ്രൗസർ", "OS": "ഓപ്പറേറ്റിംഗ് സിസ്റ്റം", "INITIATED_FROM": "ആരംഭിച്ച ആൾ ", "INITIATED_AT": "ആരംഭിച്ച സമയം ", + "IP_ADDRESS": "IP വിലാസം", "CONVERSATIONS": { "NO_RECORDS_FOUND": "ഈ കോൺടാക്റ്റുമായി മുമ്പത്തെ സംഭാഷണങ്ങളൊന്നും ബന്ധപ്പെടുത്തിയിട്ടില്ല.", "TITLE": "മുമ്പത്തെ സംഭാഷണങ്ങൾ" @@ -33,81 +34,81 @@ "NO_AVAILABLE_LABELS": "ഈ സംഭാഷണത്തിലേക്ക് ലേബലുകളൊന്നും ചേർത്തിട്ടില്ല." }, "MUTE_CONTACT": "സംഭാഷണം ഒച്ചയിലാതാക്കുക", - "UNMUTE_CONTACT": "Unmute Conversation", + "UNMUTE_CONTACT": "സംഭാഷണം നിശബ്ദമാക്കുക", "MUTED_SUCCESS": "ഈ സംഭാഷണം 6 മണിക്കൂർ നിശബ്ദമാക്കി", - "UNMUTED_SUCCESS": "This conversation is unmuted", + "UNMUTED_SUCCESS": "ഈ സംഭാഷണം നിശബ്ദമാക്കി", "SEND_TRANSCRIPT": "ട്രാൻസ്ക്രിപ്റ്റ് അയയ്ക്കുക", "EDIT_LABEL": "എഡിറ്റുചെയ്യുക" }, "EDIT_CONTACT": { - "BUTTON_LABEL": "Edit Contact", - "TITLE": "Edit contact", - "DESC": "Edit contact details", + "BUTTON_LABEL": "കോൺ‌ടാക്റ്റ് എഡിറ്റുചെയ്യുക", + "TITLE": "കോൺ‌ടാക്റ്റ് എഡിറ്റുചെയ്യുക", + "DESC": "കോൺ‌ടാക്റ്റ് വിശദാംശങ്ങൾ‌ എഡിറ്റുചെയ്യുക", "FORM": { "SUBMIT": "സമർപ്പിക്കുക", "CANCEL": "റദ്ദാക്കുക", "AVATAR": { - "LABEL": "Contact Avatar" + "LABEL": "കോൺ‌ടാക്റ്റ് ലഘുചിത്രം" }, "NAME": { - "PLACEHOLDER": "Enter the full name of the contact", - "LABEL": "Full Name" + "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" + "PLACEHOLDER": "കോൺടാക്റ്റിന്റെ ഫോൺ നമ്പർ നൽകുക", + "LABEL": "ഫോൺ നമ്പർ" }, "LOCATION": { - "PLACEHOLDER": "Enter the location of the contact", + "PLACEHOLDER": "കോൺടാക്റ്റിന്റെ സ്ഥാനം നൽകുക", "LABEL": "സ്ഥാനം" }, "COMPANY_NAME": { - "PLACEHOLDER": "Enter the company name", - "LABEL": "Company Name" + "PLACEHOLDER": "കമ്പനിയുടെ പേര് നൽകുക", + "LABEL": "കമ്പനിയുടെ പേര്" }, "SOCIAL_PROFILES": { "FACEBOOK": { - "PLACEHOLDER": "Enter the Facebook username", + "PLACEHOLDER": "Facebook ഉപയോക്തൃനാമം നൽകുക", "LABEL": "Facebook" }, "TWITTER": { - "PLACEHOLDER": "Enter the Twitter username", + "PLACEHOLDER": "Twitter ഉപയോക്തൃനാമം നൽകുക", "LABEL": "Twitter" }, "LINKEDIN": { - "PLACEHOLDER": "Enter the LinkedIn username", - "LABEL": "LinkedIn" + "PLACEHOLDER": "Linkedin ഉപയോക്തൃനാമം നൽകുക", + "LABEL": "Linkedin" }, "GITHUB": { - "PLACEHOLDER": "Enter the Github username", + "PLACEHOLDER": "Github ഉപയോക്തൃനാമം നൽകുക", "LABEL": "Github" } } }, - "SUCCESS_MESSAGE": "Updated contact successfully", - "CONTACT_ALREADY_EXIST": "This email address is in use for another contact.", - "ERROR_MESSAGE": "There was an error updating the contact, please try again" + "SUCCESS_MESSAGE": "കോൺ‌ടാക്റ്റ് വിജയകരമായി അപ്‌ഡേറ്റുചെയ്‌തു", + "CONTACT_ALREADY_EXIST": "ഈ ഇമെയിൽ വിലാസം മറ്റൊരു കോൺ‌ടാക്റ്റിനായി ഉപയോഗത്തിലാണ്.", + "ERROR_MESSAGE": "കോൺ‌ടാക്റ്റ് അപ്‌ഡേറ്റ് ചെയ്യുന്നതിൽ ഒരു പിശക് ഉണ്ടായിരുന്നു, ദയവായി വീണ്ടും ശ്രമിക്കുക" }, "CONTACTS_PAGE": { - "HEADER": "Contacts", - "SEARCH_BUTTON": "Search", - "SEARCH_INPUT_PLACEHOLDER": "Search for contacts", + "HEADER": "കോൺ‌ടാക്റ്റുകൾ", + "SEARCH_BUTTON": "തിരയുക", + "SEARCH_INPUT_PLACEHOLDER": "കോൺ‌ടാക്റ്റുകൾക്കായി തിരയുക", "LIST": { - "LOADING_MESSAGE": "Loading contacts...", - "404": "No contacts matches your search 🔍", + "LOADING_MESSAGE": "കോൺ‌ടാക്റ്റുകൾ‌ ലോഡുചെയ്യുന്നു...", + "404": "കോൺ‌ടാക്റ്റുകളൊന്നും നിങ്ങളുടെ തിരയലുമായി പൊരുത്തപ്പെടുന്നില്ല", "TABLE_HEADER": [ "പേര്", - "Phone Number", + "ഫോൺ നമ്പർ", "സംഭാഷണങ്ങൾ", - "Last Contacted" + "അവസാനം കോൺടാക്റ്റുചെയ്തത്" ] } } diff --git a/app/javascript/dashboard/i18n/locale/ml/conversation.json b/app/javascript/dashboard/i18n/locale/ml/conversation.json index 9c6c38bc4..07d28a6ab 100644 --- a/app/javascript/dashboard/i18n/locale/ml/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ml/conversation.json @@ -6,15 +6,15 @@ "NO_INBOX_1": "നിങ്ങൾ ഇത് വരെ ഇൻബോക്സുകൾ ഒന്നും സ്രഷ്ടിച്ചിട്ടില്ലെന്നു തോന്നുന്നു.", "NO_INBOX_2": " ആരംഭിക്കുന്നതിന്", "NO_INBOX_AGENT": "നിങ്ങൾ ഏതെങ്കിലും ഇൻ‌ബോക്സിന്റെ ഭാഗമല്ലെന്ന് തോന്നുന്നു. നിങ്ങളുടെ അഡ്മിനിസ്ട്രേറ്ററുമായി ബന്ധപ്പെടുക", - "SEARCH_MESSAGES": "Search for messages in conversations", + "SEARCH_MESSAGES": "സംഭാഷണങ്ങളിൽ സന്ദേശങ്ങൾക്കായി തിരയുക", "SEARCH": { - "TITLE": "Search messages", - "LOADING_MESSAGE": "Crunching data...", - "PLACEHOLDER": "Type any text to search messages", - "NO_MATCHING_RESULTS": "There are no messages matching the search parameters." + "TITLE": "സന്ദേശങ്ങൾ തിരയുക", + "LOADING_MESSAGE": "ഡാറ്റ ലോഡുചെയ്യുന്നു...", + "PLACEHOLDER": "സന്ദേശങ്ങൾ തിരയാൻ ഏതെങ്കിലും വാചകം ടൈപ്പുചെയ്യുക", + "NO_MATCHING_RESULTS": "തിരയൽ പാരാമീറ്ററുകളുമായി പൊരുത്തപ്പെടുന്ന സന്ദേശങ്ങളൊന്നുമില്ല." }, - "UNREAD_MESSAGES": "Unread Messages", - "UNREAD_MESSAGE": "Unread Message", + "UNREAD_MESSAGES": "വായിക്കാത്ത സന്ദേശങ്ങൾ", + "UNREAD_MESSAGE": "വായിക്കാത്ത സന്ദേശം", "CLICK_HERE": "ഇവിടെ ക്ലിക്കു ചെയ്യുക", "LOADING_INBOXES": "ഇൻ‌ബോക്സുകൾ‌ ലോഡു ചെയ്യുന്നു", "LOADING_CONVERSATIONS": "സംഭാഷണങ്ങൾ ലോഡു ചെയ്യുന്നു", @@ -24,6 +24,7 @@ "REPLYING_TO": "നിങ്ങൾ ഇതിന് മറുപടി നൽകുന്നു:", "REMOVE_SELECTION": "തിരഞ്ഞെടുക്കൽ നീക്കംചെയ്യുക", "DOWNLOAD": "ഡൗൺലോഡ്", + "UPLOADING_ATTACHMENTS": "Uploading attachments...", "HEADER": { "RESOLVE_ACTION": "പരിഹരിക്കുക", "REOPEN_ACTION": "വീണ്ടും തുറക്കുക", @@ -40,16 +41,19 @@ "PRIVATE_NOTE": "സ്വകാര്യ കുറിപ്പ്", "SEND": "അയയ്‌ക്കുക", "CREATE": "കുറിപ്പ് ചേർക്കുക", - "TWEET": "ട്വീറ്റ്" + "TWEET": "ട്വീറ്റ്", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, "VISIBLE_TO_AGENTS": "സ്വകാര്യ കുറിപ്പ്: നിങ്ങൾക്കും നിങ്ങളുടെ ടീമിനും മാത്രം ദൃശ്യമാണ്", "CHANGE_STATUS": "സംഭാഷണ നില മാറ്റി", "CHANGE_AGENT": "സംഭാഷണ നിയുക്തനെ മാറ്റി", - "SENT_BY": "Sent by:", + "SENT_BY": "അയച്ചത്:", "ASSIGNMENT": { - "SELECT_AGENT": "Select Agent", + "SELECT_AGENT": "ഏജന്റ് തിരഞ്ഞെടുക്കുക", "REMOVE": "നീക്കം ചെയ്യുക", - "ASSIGN": "Assign" + "ASSIGN": "നിയോഗിക്കുക" } }, "EMAIL_TRANSCRIPT": { @@ -61,7 +65,7 @@ "SEND_EMAIL_ERROR": "ഒരു പിശക് ഉണ്ടായിരുന്നു, ദയവായി വീണ്ടും ശ്രമിക്കുക", "FORM": { "SEND_TO_CONTACT": "ഉപഭോക്താവിന് ട്രാൻസ്ക്രിപ്റ്റ് അയയ്ക്കുക", - "SEND_TO_AGENT": "Send the transcript to the assigned agent", + "SEND_TO_AGENT": "നിയുക്ത ഏജന്റിന് ട്രാൻസ്ക്രിപ്റ്റ് അയയ്ക്കുക", "SEND_TO_OTHER_EMAIL_ADDRESS": "മറ്റൊരു ഇമെയിൽ വിലാസത്തിലേക്ക് ട്രാൻസ്ക്രിപ്റ്റ് അയയ്ക്കുക", "EMAIL": { "PLACEHOLDER": "ഒരു ഇമെയിൽ വിലാസം നൽകുക", diff --git a/app/javascript/dashboard/i18n/locale/ml/generalSettings.json b/app/javascript/dashboard/i18n/locale/ml/generalSettings.json index f1f35e8c4..cf28774a0 100644 --- a/app/javascript/dashboard/i18n/locale/ml/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/ml/generalSettings.json @@ -34,7 +34,7 @@ "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)" }, @@ -42,7 +42,8 @@ "INBOUND_EMAIL_ENABLED": "നിങ്ങളുടെ അക്കൗണ്ടിനായി ഇമെയിലുകളുമായുള്ള സംഭാഷണ തുടർച്ച പ്രവർത്തനക്ഷമമാക്കി.", "CUSTOM_EMAIL_DOMAIN_ENABLED": "നിങ്ങളുടെ ഇഷ്‌ടാനുസൃത ഡൊമെയ്‌നിൽ നിങ്ങൾക്ക് ഇപ്പോൾ ഇമെയിലുകൾ സ്വീകരിക്കാൻ കഴിയും." } - } + }, + "UPDATE_CHATWOOT": "An update %{latestChatwootVersion} for Chatwoot is available. Please update your instance." }, "FORMS": { "MULTISELECT": { diff --git a/app/javascript/dashboard/i18n/locale/ml/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ml/inboxMgmt.json index af0d12d8b..87d31a925 100644 --- a/app/javascript/dashboard/i18n/locale/ml/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ml/inboxMgmt.json @@ -241,7 +241,9 @@ "AUTO_ASSIGNMENT": "ഓട്ടോ അസൈൻമെന്റ് പ്രവർത്തനക്ഷമമാക്കുക", "INBOX_UPDATE_TITLE": "Inbox Settings", "INBOX_UPDATE_SUB_TEXT": "Update your inbox settings", - "AUTO_ASSIGNMENT_SUB_TEXT": "പുതിയ സംഭാഷണങ്ങളിൽ ലഭ്യമായ ഏജന്റുമാരുടെ ഓട്ടോമാറ്റിക് അസൈൻമെന്റ് പ്രാപ്തമാക്കുകയോ അപ്രാപ്തമാക്കുകയോ ചെയ്യുക" + "AUTO_ASSIGNMENT_SUB_TEXT": "പുതിയ സംഭാഷണങ്ങളിൽ ലഭ്യമായ ഏജന്റുമാരുടെ ഓട്ടോമാറ്റിക് അസൈൻമെന്റ് പ്രാപ്തമാക്കുകയോ അപ്രാപ്തമാക്കുകയോ ചെയ്യുക", + "HMAC_VERIFICATION": "User Identity Validation", + "HMAC_DESCRIPTION": "Inorder validate the users identity, the SDK allows you to pass an `identity_hash` for each user. You can generate HMAC using 'sha256' with the key shown here." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "വീണ്ടും അംഗീകാരം നൽകുക", diff --git a/app/javascript/dashboard/i18n/locale/ml/index.js b/app/javascript/dashboard/i18n/locale/ml/index.js index 558cc9b3a..5dfc44e4b 100644 --- a/app/javascript/dashboard/i18n/locale/ml/index.js +++ b/app/javascript/dashboard/i18n/locale/ml/index.js @@ -1,5 +1,5 @@ -/* eslint-disable */ import { default as _agentMgmt } from './agentMgmt.json'; +import { default as _labelsMgmt } from './labelsMgmt.json'; import { default as _cannedMgmt } from './cannedMgmt.json'; import { default as _chatlist } from './chatlist.json'; import { default as _contact } from './contact.json'; @@ -23,6 +23,7 @@ export default { ..._inboxMgmt, ..._login, ..._report, + ..._labelsMgmt, ..._resetPassword, ..._setNewPassword, ..._settings, diff --git a/app/javascript/dashboard/i18n/locale/ml/settings.json b/app/javascript/dashboard/i18n/locale/ml/settings.json index 10109699b..7004a287b 100644 --- a/app/javascript/dashboard/i18n/locale/ml/settings.json +++ b/app/javascript/dashboard/i18n/locale/ml/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "സംഭാഷണങ്ങൾ", "REPORTS": "റിപ്പോർട്ടുകൾ", - "CONTACTS": "Contacts (Beta)", + "CONTACTS": "കോൺ‌ടാക്റ്റുകൾ", "SETTINGS": "ക്രമീകരണങ്ങൾ", "HOME": "ഹോം", "AGENTS": "ഏജന്റുമാർ", diff --git a/app/javascript/dashboard/i18n/locale/ml/signup.json b/app/javascript/dashboard/i18n/locale/ml/signup.json index 526a47ea2..e0373d760 100644 --- a/app/javascript/dashboard/i18n/locale/ml/signup.json +++ b/app/javascript/dashboard/i18n/locale/ml/signup.json @@ -4,14 +4,19 @@ "TITLE": "രജിസ്റ്റർ", "TERMS_ACCEPT": "സൈൻ അപ്പ് ചെയ്യുന്നതിലൂടെ, നിങ്ങൾ ഞങ്ങളുടെ ഉപാധികളും നിബന്ധനകളും സ്വകാര്യതാ നയങ്ങളും അംഗീകരിക്കുന്നു", "ACCOUNT_NAME": { - "LABEL": "അക്കൗണ്ട് നാമം", - "PLACEHOLDER": "പുണ്ണ്യാളൻ അഗർബത്തീസ്", - "ERROR": "അക്കൗണ്ട് നാമം വളരെ ചെറുതാണ്" + "LABEL": "അക്കൗണ്ടിന്റെ പേര്", + "PLACEHOLDER": "Enter an account name. eg: Wayne Enterprises", + "ERROR": "Account name is too short" + }, + "FULL_NAME": { + "LABEL": "Full name", + "PLACEHOLDER": "Enter your full name. eg: Bruce Wayne", + "ERROR": "Full name is too short" }, "EMAIL": { - "LABEL": "ഇമെയിൽ", - "PLACEHOLDER": "punyalan@agarbathis.in", - "ERROR": "ഇമെയിൽ അസാധുവാണ്" + "LABEL": "Work email", + "PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises", + "ERROR": "Email address is invalid" }, "PASSWORD": { "LABEL": "പാസ്‌വേഡ്", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "സെർവറിലേക്ക് കണക്റ്റുചെയ്യാനായില്ല, ദയവായി പിന്നീട് വീണ്ടും ശ്രമിക്കുക" }, "SUBMIT": "സമർപ്പിക്കുക", - "FEATURES": { - "UNLIMITED_INBOXES": "Unlimited inboxes", - "ROBUST_REPORTING": "Robust Reporting", - "CANNED_RESPONSES": "ക്യാൻഡ് പ്രതികരണങ്ങൾ", - "AUTO_ASSIGNMENT": "Auto Assignment", - "SECURITY": "Enterprise level security" - } + "HAVE_AN_ACCOUNT": "Already have an account?" } } diff --git a/app/javascript/dashboard/i18n/locale/nl/contact.json b/app/javascript/dashboard/i18n/locale/nl/contact.json index 059b20e29..25f08e41c 100644 --- a/app/javascript/dashboard/i18n/locale/nl/contact.json +++ b/app/javascript/dashboard/i18n/locale/nl/contact.json @@ -11,6 +11,7 @@ "OS": "Besturingssysteem", "INITIATED_FROM": "Geïnitieerd vanuit", "INITIATED_AT": "Geïnitieerd op", + "IP_ADDRESS": "IP Address", "CONVERSATIONS": { "NO_RECORDS_FOUND": "Er zijn geen eerdere gesprekken gekoppeld aan dit contact.", "TITLE": "Vorige gesprekken" diff --git a/app/javascript/dashboard/i18n/locale/nl/conversation.json b/app/javascript/dashboard/i18n/locale/nl/conversation.json index 54aaa1c17..5f7ceb9be 100644 --- a/app/javascript/dashboard/i18n/locale/nl/conversation.json +++ b/app/javascript/dashboard/i18n/locale/nl/conversation.json @@ -24,6 +24,7 @@ "REPLYING_TO": "You are replying to:", "REMOVE_SELECTION": "Remove Selection", "DOWNLOAD": "Download", + "UPLOADING_ATTACHMENTS": "Uploading attachments...", "HEADER": { "RESOLVE_ACTION": "Oplossen", "REOPEN_ACTION": "Heropenen", @@ -40,7 +41,10 @@ "PRIVATE_NOTE": "Privénotitie", "SEND": "Verzenden", "CREATE": "Notitie toevoegen", - "TWEET": "Tweet" + "TWEET": "Tweet", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, "VISIBLE_TO_AGENTS": "Privéopmerking: alleen zichtbaar voor jou en je team", "CHANGE_STATUS": "Gespreksstatus veranderd", diff --git a/app/javascript/dashboard/i18n/locale/nl/generalSettings.json b/app/javascript/dashboard/i18n/locale/nl/generalSettings.json index 31354ef7a..7df7773f4 100644 --- a/app/javascript/dashboard/i18n/locale/nl/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/nl/generalSettings.json @@ -42,7 +42,8 @@ "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." } - } + }, + "UPDATE_CHATWOOT": "An update %{latestChatwootVersion} for Chatwoot is available. Please update your instance." }, "FORMS": { "MULTISELECT": { diff --git a/app/javascript/dashboard/i18n/locale/nl/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/nl/inboxMgmt.json index b75ccaba3..9f6d2a142 100644 --- a/app/javascript/dashboard/i18n/locale/nl/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/nl/inboxMgmt.json @@ -241,7 +241,9 @@ "AUTO_ASSIGNMENT": "Automatische toewijzing inschakelen", "INBOX_UPDATE_TITLE": "Instellingen Postvak In", "INBOX_UPDATE_SUB_TEXT": "Update uw inbox instellingen", - "AUTO_ASSIGNMENT_SUB_TEXT": "In- of uitschakelen van de automatische toewijzing van nieuwe gesprekken aan de agenten die aan deze inbox zijn toegevoegd." + "AUTO_ASSIGNMENT_SUB_TEXT": "In- of uitschakelen van de automatische toewijzing van nieuwe gesprekken aan de agenten die aan deze inbox zijn toegevoegd.", + "HMAC_VERIFICATION": "User Identity Validation", + "HMAC_DESCRIPTION": "Inorder validate the users identity, the SDK allows you to pass an `identity_hash` for each user. You can generate HMAC using 'sha256' with the key shown here." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Autoriseer", diff --git a/app/javascript/dashboard/i18n/locale/nl/settings.json b/app/javascript/dashboard/i18n/locale/nl/settings.json index 9e28bb8bf..70a7486f8 100644 --- a/app/javascript/dashboard/i18n/locale/nl/settings.json +++ b/app/javascript/dashboard/i18n/locale/nl/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "Gesprekken", "REPORTS": "Rapporten", - "CONTACTS": "Contacts (Beta)", + "CONTACTS": "Contacts", "SETTINGS": "Instellingen", "HOME": "Startpagina", "AGENTS": "Medewerkers", diff --git a/app/javascript/dashboard/i18n/locale/nl/signup.json b/app/javascript/dashboard/i18n/locale/nl/signup.json index d0973f382..9605ec23e 100644 --- a/app/javascript/dashboard/i18n/locale/nl/signup.json +++ b/app/javascript/dashboard/i18n/locale/nl/signup.json @@ -4,14 +4,19 @@ "TITLE": "Registreren", "TERMS_ACCEPT": "Door je aan te melden ga je akkoord met onze T & C en Privacy Policy", "ACCOUNT_NAME": { - "LABEL": "Klant naam", - "PLACEHOLDER": "Wayne Ondernemingen", - "ERROR": "Accountnaam is te kort" + "LABEL": "accountnaam", + "PLACEHOLDER": "Enter an account name. eg: Wayne Enterprises", + "ERROR": "Account name is too short" + }, + "FULL_NAME": { + "LABEL": "Full name", + "PLACEHOLDER": "Enter your full name. eg: Bruce Wayne", + "ERROR": "Full name is too short" }, "EMAIL": { - "LABEL": "E-mailadres", - "PLACEHOLDER": "bruce@wayne.enterprises", - "ERROR": "E-mailadres is ongeldig" + "LABEL": "Work email", + "PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises", + "ERROR": "Email address is invalid" }, "PASSWORD": { "LABEL": "Wachtwoord", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "Kan geen verbinding maken met Woot Server, probeer het later opnieuw" }, "SUBMIT": "Bevestigen", - "FEATURES": { - "UNLIMITED_INBOXES": "Unlimited inboxes", - "ROBUST_REPORTING": "Robust Reporting", - "CANNED_RESPONSES": "Standaard antwoorden", - "AUTO_ASSIGNMENT": "Auto Assignment", - "SECURITY": "Enterprise level security" - } + "HAVE_AN_ACCOUNT": "Already have an account?" } } diff --git a/app/javascript/dashboard/i18n/locale/pl/contact.json b/app/javascript/dashboard/i18n/locale/pl/contact.json index 4ac6130fb..852b25a7b 100644 --- a/app/javascript/dashboard/i18n/locale/pl/contact.json +++ b/app/javascript/dashboard/i18n/locale/pl/contact.json @@ -1,6 +1,6 @@ { "CONTACT_PANEL": { - "NOT_AVAILABLE": "Not Available", + "NOT_AVAILABLE": "Niedostępne", "EMAIL_ADDRESS": "Adres e-mail", "PHONE_NUMBER": "Numer telefonu", "COPY_SUCCESSFUL": "Pomyślnie skopiowano do schowka", @@ -11,6 +11,7 @@ "OS": "System operacyjny", "INITIATED_FROM": "Zainicjowano z", "INITIATED_AT": "Zainicjowano w", + "IP_ADDRESS": "Adres IP", "CONVERSATIONS": { "NO_RECORDS_FOUND": "Brak poprzednich rozmów powiązanych z tym kontaktem.", "TITLE": "Poprzednie rozmowy" @@ -30,7 +31,7 @@ "UPDATE_ERROR": "Nie udało się zaktualizować etykiet, spróbuj ponownie." }, "NO_LABELS_TO_ADD": "Nie ma więcej etykiet zdefiniowanych na koncie.", - "NO_AVAILABLE_LABELS": "There are no labels added to this conversation." + "NO_AVAILABLE_LABELS": "Do tej rozmowy nie dodano żadnych etykiet." }, "MUTE_CONTACT": "Wycisz rozmowę", "UNMUTE_CONTACT": "Wyłącz wyciszenie rozmowy", @@ -47,39 +48,39 @@ "SUBMIT": "Prześlij", "CANCEL": "Anuluj", "AVATAR": { - "LABEL": "Contact Avatar" + "LABEL": "Awatar kontaktu" }, "NAME": { - "PLACEHOLDER": "Enter the full name of the contact", - "LABEL": "Full Name" + "PLACEHOLDER": "Wprowadź pełną nazwę kontaktu", + "LABEL": "Pełna nazwa (imię i nazwisko)" }, "BIO": { - "PLACEHOLDER": "Enter the bio of the contact", + "PLACEHOLDER": "Wprowadź bio kontaktu", "LABEL": "Bio" }, "EMAIL_ADDRESS": { - "PLACEHOLDER": "Enter the email address of the contact", + "PLACEHOLDER": "Podaj adres e-mail kontaktu", "LABEL": "Adres e-mail" }, "PHONE_NUMBER": { - "PLACEHOLDER": "Enter the phone number of the contact", - "LABEL": "Phone Number" + "PLACEHOLDER": "Wprowadź numer telefonu kontaktu", + "LABEL": "Numer telefonu" }, "LOCATION": { - "PLACEHOLDER": "Enter the location of the contact", + "PLACEHOLDER": "Wprowadź lokalizację kontaktu", "LABEL": "Lokalizacja" }, "COMPANY_NAME": { - "PLACEHOLDER": "Enter the company name", - "LABEL": "Company Name" + "PLACEHOLDER": "Wpisz nazwę firmy", + "LABEL": "Nazwa firmy" }, "SOCIAL_PROFILES": { "FACEBOOK": { - "PLACEHOLDER": "Enter the Facebook username", + "PLACEHOLDER": "Wprowadź nazwę użytkownika Facebook", "LABEL": "Facebook" }, "TWITTER": { - "PLACEHOLDER": "Enter the Twitter username", + "PLACEHOLDER": "Wprowadź nazwę użytkownika Twitter", "LABEL": "Twitter" }, "LINKEDIN": { @@ -92,22 +93,22 @@ } } }, - "SUCCESS_MESSAGE": "Updated contact successfully", - "CONTACT_ALREADY_EXIST": "This email address is in use for another contact.", - "ERROR_MESSAGE": "There was an error updating the contact, please try again" + "SUCCESS_MESSAGE": "Pomyślnie zaktualizowano kontakt", + "CONTACT_ALREADY_EXIST": "Ten adres e-mail jest już zajęty przez inny kontakt.", + "ERROR_MESSAGE": "Podczas aktualizowania kontaktu wystąpił błąd. Spróbuj ponownie" }, "CONTACTS_PAGE": { - "HEADER": "Contacts", - "SEARCH_BUTTON": "Search", - "SEARCH_INPUT_PLACEHOLDER": "Search for contacts", + "HEADER": "Kontakty", + "SEARCH_BUTTON": "Szukaj", + "SEARCH_INPUT_PLACEHOLDER": "Szukaj kontaktów", "LIST": { - "LOADING_MESSAGE": "Loading contacts...", - "404": "No contacts matches your search 🔍", + "LOADING_MESSAGE": "Ładowanie kontaktów...", + "404": "Brak kontaktów pasujących do Twojego wyszukiwania 🔍", "TABLE_HEADER": [ "Nazwisko", - "Phone Number", + "Numer telefonu", "Rozmowy", - "Last Contacted" + "Ostatnio nawiązano kontakt" ] } } diff --git a/app/javascript/dashboard/i18n/locale/pl/conversation.json b/app/javascript/dashboard/i18n/locale/pl/conversation.json index e618d2be9..1e0e3819b 100644 --- a/app/javascript/dashboard/i18n/locale/pl/conversation.json +++ b/app/javascript/dashboard/i18n/locale/pl/conversation.json @@ -24,6 +24,7 @@ "REPLYING_TO": "You are replying to:", "REMOVE_SELECTION": "Usuń zaznaczenie", "DOWNLOAD": "Pobierz", + "UPLOADING_ATTACHMENTS": "Uploading attachments...", "HEADER": { "RESOLVE_ACTION": "Rozwiąż", "REOPEN_ACTION": "Otwórz ponownie", @@ -40,7 +41,10 @@ "PRIVATE_NOTE": "Notatka prywatna", "SEND": "Wyślij", "CREATE": "Dodaj notatkę", - "TWEET": "Tweetuj" + "TWEET": "Tweetuj", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, "VISIBLE_TO_AGENTS": "Prywatna uwaga: widoczne tylko dla Ciebie i twojego zespołu", "CHANGE_STATUS": "Status konwersacji zmieniony", diff --git a/app/javascript/dashboard/i18n/locale/pl/generalSettings.json b/app/javascript/dashboard/i18n/locale/pl/generalSettings.json index f93a5053f..0ed60e798 100644 --- a/app/javascript/dashboard/i18n/locale/pl/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/pl/generalSettings.json @@ -42,7 +42,8 @@ "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." } - } + }, + "UPDATE_CHATWOOT": "An update %{latestChatwootVersion} for Chatwoot is available. Please update your instance." }, "FORMS": { "MULTISELECT": { diff --git a/app/javascript/dashboard/i18n/locale/pl/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/pl/inboxMgmt.json index 987aac6e0..fd0a241ab 100644 --- a/app/javascript/dashboard/i18n/locale/pl/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/pl/inboxMgmt.json @@ -241,7 +241,9 @@ "AUTO_ASSIGNMENT": "Włącz automatyczne przypisanie", "INBOX_UPDATE_TITLE": "Ustawienia skrzynki odbiorczej", "INBOX_UPDATE_SUB_TEXT": "Zaktualizuj ustawienia skrzynki odbiorczej", - "AUTO_ASSIGNMENT_SUB_TEXT": "Włącz lub wyłącz automatyczne przypisywanie nowych rozmów do agentów dodanych do tej skrzynki odbiorczej." + "AUTO_ASSIGNMENT_SUB_TEXT": "Włącz lub wyłącz automatyczne przypisywanie nowych rozmów do agentów dodanych do tej skrzynki odbiorczej.", + "HMAC_VERIFICATION": "User Identity Validation", + "HMAC_DESCRIPTION": "Inorder validate the users identity, the SDK allows you to pass an `identity_hash` for each user. You can generate HMAC using 'sha256' with the key shown here." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Ponowna autoryzacja", diff --git a/app/javascript/dashboard/i18n/locale/pl/settings.json b/app/javascript/dashboard/i18n/locale/pl/settings.json index 3c9da20bd..e466e145f 100644 --- a/app/javascript/dashboard/i18n/locale/pl/settings.json +++ b/app/javascript/dashboard/i18n/locale/pl/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "Rozmowy", "REPORTS": "Raporty", - "CONTACTS": "Contacts (Beta)", + "CONTACTS": "Kontakty", "SETTINGS": "Ustawienia", "HOME": "Home", "AGENTS": "Agenci", diff --git a/app/javascript/dashboard/i18n/locale/pl/signup.json b/app/javascript/dashboard/i18n/locale/pl/signup.json index 82fa7deff..648601168 100644 --- a/app/javascript/dashboard/i18n/locale/pl/signup.json +++ b/app/javascript/dashboard/i18n/locale/pl/signup.json @@ -5,13 +5,18 @@ "TERMS_ACCEPT": "Rejestrując się, akceptujesz naszą T & C i politykę prywatności", "ACCOUNT_NAME": { "LABEL": "Nazwa konta", - "PLACEHOLDER": "Przedsiębiorstwa Wayne", - "ERROR": "Nazwa konta jest zbyt krótka" + "PLACEHOLDER": "Enter an account name. eg: Wayne Enterprises", + "ERROR": "Account name is too short" + }, + "FULL_NAME": { + "LABEL": "Full name", + "PLACEHOLDER": "Enter your full name. eg: Bruce Wayne", + "ERROR": "Full name is too short" }, "EMAIL": { - "LABEL": "E-mail", - "PLACEHOLDER": "Bruce@wayne.przedsiębiorstwa", - "ERROR": "Adres e-mail jest nieprawidłowy" + "LABEL": "Work email", + "PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises", + "ERROR": "Email address is invalid" }, "PASSWORD": { "LABEL": "Hasło", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "Nie można połączyć się z Woot Server, spróbuj ponownie później" }, "SUBMIT": "Prześlij", - "FEATURES": { - "UNLIMITED_INBOXES": "Unlimited inboxes", - "ROBUST_REPORTING": "Robust Reporting", - "CANNED_RESPONSES": "Gotowe odpowiedzi", - "AUTO_ASSIGNMENT": "Auto Assignment", - "SECURITY": "Enterprise level security" - } + "HAVE_AN_ACCOUNT": "Already have an account?" } } diff --git a/app/javascript/dashboard/i18n/locale/pt/contact.json b/app/javascript/dashboard/i18n/locale/pt/contact.json index 152a45377..03a38712e 100644 --- a/app/javascript/dashboard/i18n/locale/pt/contact.json +++ b/app/javascript/dashboard/i18n/locale/pt/contact.json @@ -11,6 +11,7 @@ "OS": "Sistema operacional", "INITIATED_FROM": "Iniciado de", "INITIATED_AT": "Iniciado em", + "IP_ADDRESS": "IP Address", "CONVERSATIONS": { "NO_RECORDS_FOUND": "Não há conversas anteriores associadas a este contato.", "TITLE": "Conversas anteriores" diff --git a/app/javascript/dashboard/i18n/locale/pt/conversation.json b/app/javascript/dashboard/i18n/locale/pt/conversation.json index 9cfffdbb8..dc7fa3424 100644 --- a/app/javascript/dashboard/i18n/locale/pt/conversation.json +++ b/app/javascript/dashboard/i18n/locale/pt/conversation.json @@ -24,6 +24,7 @@ "REPLYING_TO": "You are replying to:", "REMOVE_SELECTION": "Remove Selection", "DOWNLOAD": "BAIXAR", + "UPLOADING_ATTACHMENTS": "Uploading attachments...", "HEADER": { "RESOLVE_ACTION": "Resolver", "REOPEN_ACTION": "Reabrir", @@ -40,7 +41,10 @@ "PRIVATE_NOTE": "Nota Privada", "SEND": "Mandar", "CREATE": "Adicionar Nota", - "TWEET": "Tuitar" + "TWEET": "Tuitar", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, "VISIBLE_TO_AGENTS": "Nota Privada: Apenas visível para você e sua equipe", "CHANGE_STATUS": "Estado da conversa alterado", diff --git a/app/javascript/dashboard/i18n/locale/pt/generalSettings.json b/app/javascript/dashboard/i18n/locale/pt/generalSettings.json index d10178413..2ae83649b 100644 --- a/app/javascript/dashboard/i18n/locale/pt/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/pt/generalSettings.json @@ -42,7 +42,8 @@ "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." } - } + }, + "UPDATE_CHATWOOT": "An update %{latestChatwootVersion} for Chatwoot is available. Please update your instance." }, "FORMS": { "MULTISELECT": { diff --git a/app/javascript/dashboard/i18n/locale/pt/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/pt/inboxMgmt.json index 18f316475..179ef4913 100644 --- a/app/javascript/dashboard/i18n/locale/pt/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/pt/inboxMgmt.json @@ -241,7 +241,9 @@ "AUTO_ASSIGNMENT": "Habilitar atribuição automática", "INBOX_UPDATE_TITLE": "Configurações da Caixa de Entrada", "INBOX_UPDATE_SUB_TEXT": "Atualize suas configurações da caixa de entrada", - "AUTO_ASSIGNMENT_SUB_TEXT": "Ativar ou desativar a atribuição automática de novas conversas aos agentes adicionados a essa caixa de entrada." + "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": "User Identity Validation", + "HMAC_DESCRIPTION": "Inorder validate the users identity, the SDK allows you to pass an `identity_hash` for each user. You can generate HMAC using 'sha256' with the key shown here." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reautorizar", diff --git a/app/javascript/dashboard/i18n/locale/pt/index.js b/app/javascript/dashboard/i18n/locale/pt/index.js index 558cc9b3a..5dfc44e4b 100644 --- a/app/javascript/dashboard/i18n/locale/pt/index.js +++ b/app/javascript/dashboard/i18n/locale/pt/index.js @@ -1,5 +1,5 @@ -/* eslint-disable */ import { default as _agentMgmt } from './agentMgmt.json'; +import { default as _labelsMgmt } from './labelsMgmt.json'; import { default as _cannedMgmt } from './cannedMgmt.json'; import { default as _chatlist } from './chatlist.json'; import { default as _contact } from './contact.json'; @@ -23,6 +23,7 @@ export default { ..._inboxMgmt, ..._login, ..._report, + ..._labelsMgmt, ..._resetPassword, ..._setNewPassword, ..._settings, diff --git a/app/javascript/dashboard/i18n/locale/pt/settings.json b/app/javascript/dashboard/i18n/locale/pt/settings.json index 9b9d2b6ee..3062e68e5 100644 --- a/app/javascript/dashboard/i18n/locale/pt/settings.json +++ b/app/javascript/dashboard/i18n/locale/pt/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "Conversas", "REPORTS": "relatórios", - "CONTACTS": "Contacts (Beta)", + "CONTACTS": "Contacts", "SETTINGS": "Confirgurações", "HOME": "Home", "AGENTS": "agentes", diff --git a/app/javascript/dashboard/i18n/locale/pt/signup.json b/app/javascript/dashboard/i18n/locale/pt/signup.json index 418587a7f..a6a63a244 100644 --- a/app/javascript/dashboard/i18n/locale/pt/signup.json +++ b/app/javascript/dashboard/i18n/locale/pt/signup.json @@ -5,13 +5,18 @@ "TERMS_ACCEPT": "Ao se inscrever, você concorda com nossa T & C e Política de privacidade", "ACCOUNT_NAME": { "LABEL": "Nome da Conta", - "PLACEHOLDER": "Wayne Enterprises", - "ERROR": "O nome da conta é muito curto" + "PLACEHOLDER": "Enter an account name. eg: Wayne Enterprises", + "ERROR": "Account name is too short" + }, + "FULL_NAME": { + "LABEL": "Full name", + "PLACEHOLDER": "Enter your full name. eg: Bruce Wayne", + "ERROR": "Full name is too short" }, "EMAIL": { - "LABEL": "e-mail", - "PLACEHOLDER": "bruce@wayne.business", - "ERROR": "E-mail inválido" + "LABEL": "Work email", + "PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises", + "ERROR": "Email address is invalid" }, "PASSWORD": { "LABEL": "Palavra-passe", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "Não foi possível conectar ao servidor Woot, por favor tente novamente mais tarde" }, "SUBMIT": "submeter", - "FEATURES": { - "UNLIMITED_INBOXES": "Unlimited inboxes", - "ROBUST_REPORTING": "Robust Reporting", - "CANNED_RESPONSES": "Respostas Prontas", - "AUTO_ASSIGNMENT": "Auto Assignment", - "SECURITY": "Enterprise level security" - } + "HAVE_AN_ACCOUNT": "Already have an account?" } } diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/chatlist.json b/app/javascript/dashboard/i18n/locale/pt_BR/chatlist.json index 8d5a0f797..aadcf510e 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/chatlist.json @@ -47,7 +47,7 @@ "VALUE": "resolved" }, { - "TEXT": "Robô", + "TEXT": "Bot", "VALUE": "bot" } ], diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/contact.json b/app/javascript/dashboard/i18n/locale/pt_BR/contact.json index a608c0d91..e4461ac76 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/contact.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/contact.json @@ -11,12 +11,13 @@ "OS": "Sistema Operacional", "INITIATED_FROM": "A partir de", "INITIATED_AT": "Iniciado em", + "IP_ADDRESS": "Endereço IP", "CONVERSATIONS": { "NO_RECORDS_FOUND": "Não há conversas anteriores associadas a este contato.", "TITLE": "Conversas anteriores" }, "CUSTOM_ATTRIBUTES": { - "TITLE": "Atributos personalizados" + "TITLE": "Atributos Personalizados" }, "LABELS": { "TITLE": "Marcador da conversa", @@ -29,20 +30,20 @@ "UPDATE_BUTTON": "Atualizar marcadores", "UPDATE_ERROR": "Não foi possível atualizar os marcadores, tente novamente." }, - "NO_LABELS_TO_ADD": "Não há mais rótulos definidos na conta.", - "NO_AVAILABLE_LABELS": "Não há rótulos adicionados a esta conversa." + "NO_LABELS_TO_ADD": "Não há mais marcadores definidos na conta.", + "NO_AVAILABLE_LABELS": "Não há marcadores adicionados a esta conversa." }, - "MUTE_CONTACT": "Silenciar a conversa", - "UNMUTE_CONTACT": "Reativar conversa", + "MUTE_CONTACT": "Silenciar Conversa", + "UNMUTE_CONTACT": "Reativar Conversa", "MUTED_SUCCESS": "Esta conversa está silenciada por 6 horas", "UNMUTED_SUCCESS": "Essa conversa está reativada", "SEND_TRANSCRIPT": "Enviar Transcrição", "EDIT_LABEL": "Alterar" }, "EDIT_CONTACT": { - "BUTTON_LABEL": "Modificar Contato", - "TITLE": "Modificar contato", - "DESC": "Modificar detalhes do contato", + "BUTTON_LABEL": "Alterar Contato", + "TITLE": "Alterar contato", + "DESC": "Alterar detalhes do contato", "FORM": { "SUBMIT": "Enviar", "CANCEL": "Cancelar", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json b/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json index ffd80338c..90d3d7f0c 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json @@ -13,8 +13,8 @@ "PLACEHOLDER": "Digite qualquer texto para pesquisar mensagens", "NO_MATCHING_RESULTS": "Não há mensagens que correspondam aos parâmetros de pesquisa." }, - "UNREAD_MESSAGES": "Unread Messages", - "UNREAD_MESSAGE": "Unread Message", + "UNREAD_MESSAGES": "Mensagens não lidas", + "UNREAD_MESSAGE": "Mensagem não lida", "CLICK_HERE": "Clique aqui", "LOADING_INBOXES": "Carregando caixas de entrada", "LOADING_CONVERSATIONS": "Carregando conversas", @@ -24,6 +24,7 @@ "REPLYING_TO": "Você está respondendo a:", "REMOVE_SELECTION": "Remover Seleção", "DOWNLOAD": "Baixar", + "UPLOADING_ATTACHMENTS": "Enviando anexos...", "HEADER": { "RESOLVE_ACTION": "Resolver", "REOPEN_ACTION": "Reabrir", @@ -40,7 +41,10 @@ "PRIVATE_NOTE": "Mensagem Privada", "SEND": "Enviar", "CREATE": "Enviar", - "TWEET": "Tweet" + "TWEET": "Tweet", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, "VISIBLE_TO_AGENTS": "Mensagem Privada: Apenas visível para você e sua equipe", "CHANGE_STATUS": "Estado da conversa mudou", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/generalSettings.json b/app/javascript/dashboard/i18n/locale/pt_BR/generalSettings.json index 9449707a3..4aea9f01d 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/generalSettings.json @@ -42,7 +42,8 @@ "INBOUND_EMAIL_ENABLED": "A continuidade das conversas com e-mails está ativada para sua conta.", "CUSTOM_EMAIL_DOMAIN_ENABLED": "Você pode receber e-mails em seu domínio personalizado agora." } - } + }, + "UPDATE_CHATWOOT": "An update %{latestChatwootVersion} for Chatwoot is available. Please update your instance." }, "FORMS": { "MULTISELECT": { diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/pt_BR/inboxMgmt.json index 2cfed6da6..a52504cda 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/inboxMgmt.json @@ -87,8 +87,8 @@ "SUBMIT_BUTTON": "Criar caixa de entrada" }, "TWILIO": { - "TITLE": "Canal SMS/Whatsapp do Twilio", - "DESC": "Integre o Twilio e comece a oferecer suporte a seus clientes por SMS e Whatsapp.", + "TITLE": "Canal SMS/WhatsApp do Twilio", + "DESC": "Integre o Twilio e comece a oferecer suporte a seus clientes por SMS e WhatsApp.", "ACCOUNT_SID": { "LABEL": "SID da Conta", "PLACEHOLDER": "Por favor, insira o SID sua conta no Twilio", @@ -131,9 +131,9 @@ "ERROR": "Este campo é obrigatório" }, "WEBHOOK_URL": { - "LABEL": "URL do webhook", + "LABEL": "URL do Webhook", "SUBTITLE": "Configure a URL onde deseja receber chamadas em eventos.", - "PLACEHOLDER": "URL do webhook" + "PLACEHOLDER": "URL do Webhook" }, "SUBMIT_BUTTON": "Criar canal de API", "API": { @@ -222,7 +222,7 @@ } }, "TABS": { - "SETTINGS": "Confirgurações", + "SETTINGS": "Configurações", "COLLABORATORS": "Colaboradores", "CONFIGURATION": "Configuração" }, @@ -241,7 +241,9 @@ "AUTO_ASSIGNMENT": "Habilitar atribuição automática", "INBOX_UPDATE_TITLE": "Configurações da Caixa de entrada", "INBOX_UPDATE_SUB_TEXT": "Atualize suas configurações de caixa de entrada", - "AUTO_ASSIGNMENT_SUB_TEXT": "Ativar ou desativar a atribuição automática de novas conversas aos agentes adicionados a essa caixa de entrada." + "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": "User Identity Validation", + "HMAC_DESCRIPTION": "Inorder validate the users identity, the SDK allows you to pass an `identity_hash` for each user. You can generate HMAC using 'sha256' with the key shown here." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reautorizar", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/index.js b/app/javascript/dashboard/i18n/locale/pt_BR/index.js index 558cc9b3a..5dfc44e4b 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/index.js +++ b/app/javascript/dashboard/i18n/locale/pt_BR/index.js @@ -1,5 +1,5 @@ -/* eslint-disable */ import { default as _agentMgmt } from './agentMgmt.json'; +import { default as _labelsMgmt } from './labelsMgmt.json'; import { default as _cannedMgmt } from './cannedMgmt.json'; import { default as _chatlist } from './chatlist.json'; import { default as _contact } from './contact.json'; @@ -23,6 +23,7 @@ export default { ..._inboxMgmt, ..._login, ..._report, + ..._labelsMgmt, ..._resetPassword, ..._setNewPassword, ..._settings, diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/report.json b/app/javascript/dashboard/i18n/locale/pt_BR/report.json index 0e11f2624..a63e2dd52 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/report.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/report.json @@ -3,7 +3,7 @@ "HEADER": "Relatórios", "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_AGENT_REPORTS": "Download agent reports", + "DOWNLOAD_AGENT_REPORTS": "Baixar relatórios de agentes", "METRICS": { "CONVERSATIONS": { "NAME": "Conversas", @@ -26,7 +26,7 @@ "DESC": "(Média)" }, "RESOLUTION_COUNT": { - "NAME": "Qtde de resolução", + "NAME": "Contagem de Resolução", "DESC": "( Total )" } }, diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/settings.json b/app/javascript/dashboard/i18n/locale/pt_BR/settings.json index 8baf3a9f3..6f5ec5156 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/settings.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "Conversas", "REPORTS": "Relatórios", - "CONTACTS": "Contatos (Beta)", + "CONTACTS": "Contato", "SETTINGS": "Configurações", "HOME": "Principal", "AGENTS": "Agentes", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/signup.json b/app/javascript/dashboard/i18n/locale/pt_BR/signup.json index 785132f44..ade19e053 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/signup.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/signup.json @@ -4,14 +4,19 @@ "TITLE": "Registrar", "TERMS_ACCEPT": "Ao se inscrever, você concorda com nossa T & C e Política de privacidade", "ACCOUNT_NAME": { - "LABEL": "Nome do Cliente", - "PLACEHOLDER": "Informe o nome da conta", + "LABEL": "Nome da Conta", + "PLACEHOLDER": "Digite um nome de conta, por exemplo: Wayne Enterprises", "ERROR": "Nome de conta é muito curto" }, + "FULL_NAME": { + "LABEL": "Nome Completo", + "PLACEHOLDER": "Digite seu nome completo, por exemplo: Bruce Wayne", + "ERROR": "Nome completo é muito curto" + }, "EMAIL": { - "LABEL": "e-mail", - "PLACEHOLDER": "Informe o e-mail da conta", - "ERROR": "E-mail inválido" + "LABEL": "E-mail comercial", + "PLACEHOLDER": "Digite seu endereço de e-mail de trabalho. por exemplo: bruce@wayne.Business", + "ERROR": "O endereço de e-mail é inválido" }, "PASSWORD": { "LABEL": "Senha", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "Não foi possível conectar ao servidor Woot, por favor tente novamente mais tarde" }, "SUBMIT": "Enviar", - "FEATURES": { - "UNLIMITED_INBOXES": "Caixas de entrada ilimitadas", - "ROBUST_REPORTING": "Relatório robusto", - "CANNED_RESPONSES": "Atalhos", - "AUTO_ASSIGNMENT": "Atribuir automaticamente", - "SECURITY": "Segurança de nível empresarial" - } + "HAVE_AN_ACCOUNT": "Já possui uma conta?" } } diff --git a/app/javascript/dashboard/i18n/locale/ro/contact.json b/app/javascript/dashboard/i18n/locale/ro/contact.json index 8664123ae..a5f27ea52 100644 --- a/app/javascript/dashboard/i18n/locale/ro/contact.json +++ b/app/javascript/dashboard/i18n/locale/ro/contact.json @@ -11,6 +11,7 @@ "OS": "Sistem de operare", "INITIATED_FROM": "Inițiat de la", "INITIATED_AT": "Iniţiat la", + "IP_ADDRESS": "IP Address", "CONVERSATIONS": { "NO_RECORDS_FOUND": "Nu există conversații anterioare asociate cu acest contact.", "TITLE": "Conversații anterioare" diff --git a/app/javascript/dashboard/i18n/locale/ro/conversation.json b/app/javascript/dashboard/i18n/locale/ro/conversation.json index b20003bab..61a0f549f 100644 --- a/app/javascript/dashboard/i18n/locale/ro/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ro/conversation.json @@ -24,6 +24,7 @@ "REPLYING_TO": "You are replying to:", "REMOVE_SELECTION": "Remove Selection", "DOWNLOAD": "Descărcare", + "UPLOADING_ATTACHMENTS": "Uploading attachments...", "HEADER": { "RESOLVE_ACTION": "Rezolvă", "REOPEN_ACTION": "Redeschide", @@ -40,7 +41,10 @@ "PRIVATE_NOTE": "Notă privată", "SEND": "Trimite", "CREATE": "Adaugă Notă", - "TWEET": "Tweet" + "TWEET": "Tweet", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, "VISIBLE_TO_AGENTS": "Notă privată: vizibilă doar pentru tine și echipa ta", "CHANGE_STATUS": "Stare conversație schimbată", diff --git a/app/javascript/dashboard/i18n/locale/ro/generalSettings.json b/app/javascript/dashboard/i18n/locale/ro/generalSettings.json index 32a85b782..8a3a51be3 100644 --- a/app/javascript/dashboard/i18n/locale/ro/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/ro/generalSettings.json @@ -42,7 +42,8 @@ "INBOUND_EMAIL_ENABLED": "Continuitatea conversației cu e-mailurile este activată pentru contul dvs.", "CUSTOM_EMAIL_DOMAIN_ENABLED": "Puteți primi e-mailuri în domeniul dvs. personalizat acum." } - } + }, + "UPDATE_CHATWOOT": "An update %{latestChatwootVersion} for Chatwoot is available. Please update your instance." }, "FORMS": { "MULTISELECT": { diff --git a/app/javascript/dashboard/i18n/locale/ro/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ro/inboxMgmt.json index 3923df80f..aec8b3c9b 100644 --- a/app/javascript/dashboard/i18n/locale/ro/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ro/inboxMgmt.json @@ -241,7 +241,9 @@ "AUTO_ASSIGNMENT": "Activare atribuire automată", "INBOX_UPDATE_TITLE": "Setări Inbox", "INBOX_UPDATE_SUB_TEXT": "Actualizează setările de inbox", - "AUTO_ASSIGNMENT_SUB_TEXT": "Activează sau dezactivează atribuirea automată a conversațiilor noi la agenții adăugați la această căsuță poștală." + "AUTO_ASSIGNMENT_SUB_TEXT": "Activează sau dezactivează atribuirea automată a conversațiilor noi la agenții adăugați la această căsuță poștală.", + "HMAC_VERIFICATION": "User Identity Validation", + "HMAC_DESCRIPTION": "Inorder validate the users identity, the SDK allows you to pass an `identity_hash` for each user. You can generate HMAC using 'sha256' with the key shown here." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reautorizează", diff --git a/app/javascript/dashboard/i18n/locale/ro/index.js b/app/javascript/dashboard/i18n/locale/ro/index.js index 6b0a4bb4d..5dfc44e4b 100644 --- a/app/javascript/dashboard/i18n/locale/ro/index.js +++ b/app/javascript/dashboard/i18n/locale/ro/index.js @@ -1,4 +1,5 @@ import { default as _agentMgmt } from './agentMgmt.json'; +import { default as _labelsMgmt } from './labelsMgmt.json'; import { default as _cannedMgmt } from './cannedMgmt.json'; import { default as _chatlist } from './chatlist.json'; import { default as _contact } from './contact.json'; @@ -22,6 +23,7 @@ export default { ..._inboxMgmt, ..._login, ..._report, + ..._labelsMgmt, ..._resetPassword, ..._setNewPassword, ..._settings, diff --git a/app/javascript/dashboard/i18n/locale/ro/settings.json b/app/javascript/dashboard/i18n/locale/ro/settings.json index 2ca87fc46..a639a620c 100644 --- a/app/javascript/dashboard/i18n/locale/ro/settings.json +++ b/app/javascript/dashboard/i18n/locale/ro/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "Conversații", "REPORTS": "Rapoarte", - "CONTACTS": "Contacts (Beta)", + "CONTACTS": "Contacts", "SETTINGS": "Setări", "HOME": "Acasa", "AGENTS": "Agenți", diff --git a/app/javascript/dashboard/i18n/locale/ro/signup.json b/app/javascript/dashboard/i18n/locale/ro/signup.json index 357b3f653..2bd21fe4a 100644 --- a/app/javascript/dashboard/i18n/locale/ro/signup.json +++ b/app/javascript/dashboard/i18n/locale/ro/signup.json @@ -5,13 +5,18 @@ "TERMS_ACCEPT": "Prin înregistrare, ești de acord cu politica noastră de confidențialitate T & C și ", "ACCOUNT_NAME": { "LABEL": "Nume cont", - "PLACEHOLDER": "Wayne Enterprises", - "ERROR": "Nume cont prea scurt" + "PLACEHOLDER": "Enter an account name. eg: Wayne Enterprises", + "ERROR": "Account name is too short" + }, + "FULL_NAME": { + "LABEL": "Full name", + "PLACEHOLDER": "Enter your full name. eg: Bruce Wayne", + "ERROR": "Full name is too short" }, "EMAIL": { - "LABEL": "Email", - "PLACEHOLDER": "bruce@wayne.business", - "ERROR": "Email invalid" + "LABEL": "Work email", + "PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises", + "ERROR": "Email address is invalid" }, "PASSWORD": { "LABEL": "Parola", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "Nu s-a putut conecta la Woot Server, încercați din nou mai târziu" }, "SUBMIT": "Trimite", - "FEATURES": { - "UNLIMITED_INBOXES": "Unlimited inboxes", - "ROBUST_REPORTING": "Robust Reporting", - "CANNED_RESPONSES": "Răspunsuri predefinite", - "AUTO_ASSIGNMENT": "Auto Assignment", - "SECURITY": "Enterprise level security" - } + "HAVE_AN_ACCOUNT": "Already have an account?" } } diff --git a/app/javascript/dashboard/i18n/locale/ru/contact.json b/app/javascript/dashboard/i18n/locale/ru/contact.json index 25de77a85..eaa8963a5 100644 --- a/app/javascript/dashboard/i18n/locale/ru/contact.json +++ b/app/javascript/dashboard/i18n/locale/ru/contact.json @@ -11,6 +11,7 @@ "OS": "Операционная система", "INITIATED_FROM": "Начат из", "INITIATED_AT": "Начат в", + "IP_ADDRESS": "IP Address", "CONVERSATIONS": { "NO_RECORDS_FOUND": "Нет предыдущих диалогов, связанных с этим контактом.", "TITLE": "Предыдущие диалоги" diff --git a/app/javascript/dashboard/i18n/locale/ru/conversation.json b/app/javascript/dashboard/i18n/locale/ru/conversation.json index a25007e74..a3311eafc 100644 --- a/app/javascript/dashboard/i18n/locale/ru/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ru/conversation.json @@ -24,6 +24,7 @@ "REPLYING_TO": "Вы отвечаете на:", "REMOVE_SELECTION": "Удалить выделенное", "DOWNLOAD": "Скачать", + "UPLOADING_ATTACHMENTS": "Uploading attachments...", "HEADER": { "RESOLVE_ACTION": "Завершить", "REOPEN_ACTION": "Открыть заново", @@ -40,7 +41,10 @@ "PRIVATE_NOTE": "Личная заметка", "SEND": "Отправить", "CREATE": "Добавить заметку", - "TWEET": "Твит" + "TWEET": "Твит", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, "VISIBLE_TO_AGENTS": "Приватная заметка: видна только вам и вашей команде", "CHANGE_STATUS": "Статус разговора изменен", diff --git a/app/javascript/dashboard/i18n/locale/ru/generalSettings.json b/app/javascript/dashboard/i18n/locale/ru/generalSettings.json index fda04ab4a..7360e697c 100644 --- a/app/javascript/dashboard/i18n/locale/ru/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/ru/generalSettings.json @@ -42,7 +42,8 @@ "INBOUND_EMAIL_ENABLED": "Для вашего аккаунта включено продолжение диалогов по электронной почте.", "CUSTOM_EMAIL_DOMAIN_ENABLED": "Теперь вы можете получать письма на свой домен." } - } + }, + "UPDATE_CHATWOOT": "An update %{latestChatwootVersion} for Chatwoot is available. Please update your instance." }, "FORMS": { "MULTISELECT": { diff --git a/app/javascript/dashboard/i18n/locale/ru/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ru/inboxMgmt.json index 57d865e2f..a14c7e5ea 100644 --- a/app/javascript/dashboard/i18n/locale/ru/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ru/inboxMgmt.json @@ -241,7 +241,9 @@ "AUTO_ASSIGNMENT": "Включить автоназначение", "INBOX_UPDATE_TITLE": "Настройки источника", "INBOX_UPDATE_SUB_TEXT": "Изменить настройки источника", - "AUTO_ASSIGNMENT_SUB_TEXT": "Включить или отключить автоматическое назначение новых разговоров к агентам, добавленным к этому источнику." + "AUTO_ASSIGNMENT_SUB_TEXT": "Включить или отключить автоматическое назначение новых разговоров к агентам, добавленным к этому источнику.", + "HMAC_VERIFICATION": "User Identity Validation", + "HMAC_DESCRIPTION": "Inorder validate the users identity, the SDK allows you to pass an `identity_hash` for each user. You can generate HMAC using 'sha256' with the key shown here." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Войти заново", diff --git a/app/javascript/dashboard/i18n/locale/ru/settings.json b/app/javascript/dashboard/i18n/locale/ru/settings.json index 4bdd5e058..f97b18fbc 100644 --- a/app/javascript/dashboard/i18n/locale/ru/settings.json +++ b/app/javascript/dashboard/i18n/locale/ru/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "Диалоги", "REPORTS": "Отчёты", - "CONTACTS": "Контакты (Beta)", + "CONTACTS": "Контакты", "SETTINGS": "Настройки", "HOME": "Главная", "AGENTS": "Операторы", diff --git a/app/javascript/dashboard/i18n/locale/ru/signup.json b/app/javascript/dashboard/i18n/locale/ru/signup.json index f08646b2c..0cff17a0a 100644 --- a/app/javascript/dashboard/i18n/locale/ru/signup.json +++ b/app/javascript/dashboard/i18n/locale/ru/signup.json @@ -5,13 +5,18 @@ "TERMS_ACCEPT": "Зарегистрировавшись, вы соглашаетесь с нашими правилами пользования и политикой конфиденциальности", "ACCOUNT_NAME": { "LABEL": "Имя аккаунта", - "PLACEHOLDER": "Wayne Enterprises", - "ERROR": "Имя аккаунта слишком короткое" + "PLACEHOLDER": "Enter an account name. eg: Wayne Enterprises", + "ERROR": "Account name is too short" + }, + "FULL_NAME": { + "LABEL": "Full name", + "PLACEHOLDER": "Enter your full name. eg: Bruce Wayne", + "ERROR": "Full name is too short" }, "EMAIL": { - "LABEL": "Email", - "PLACEHOLDER": "Bruce@wayne.enterprises", - "ERROR": "Неверный адрес электронной почты" + "LABEL": "Work email", + "PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises", + "ERROR": "Email address is invalid" }, "PASSWORD": { "LABEL": "Пароль", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "Не удается соединиться с сервером Woot, попробуйте позже" }, "SUBMIT": "Отправить", - "FEATURES": { - "UNLIMITED_INBOXES": "Unlimited inboxes", - "ROBUST_REPORTING": "Robust Reporting", - "CANNED_RESPONSES": "Шаблонные ответы", - "AUTO_ASSIGNMENT": "Auto Assignment", - "SECURITY": "Enterprise level security" - } + "HAVE_AN_ACCOUNT": "Already have an account?" } } diff --git a/app/javascript/dashboard/i18n/locale/sk/contact.json b/app/javascript/dashboard/i18n/locale/sk/contact.json index 684a56ee5..da85ffab8 100644 --- a/app/javascript/dashboard/i18n/locale/sk/contact.json +++ b/app/javascript/dashboard/i18n/locale/sk/contact.json @@ -11,6 +11,7 @@ "OS": "Operating System", "INITIATED_FROM": "Initiated from", "INITIATED_AT": "Initiated at", + "IP_ADDRESS": "IP Address", "CONVERSATIONS": { "NO_RECORDS_FOUND": "There are no previous conversations associated to this contact.", "TITLE": "Previous Conversations" diff --git a/app/javascript/dashboard/i18n/locale/sk/conversation.json b/app/javascript/dashboard/i18n/locale/sk/conversation.json index 710a5a301..19bc5235b 100644 --- a/app/javascript/dashboard/i18n/locale/sk/conversation.json +++ b/app/javascript/dashboard/i18n/locale/sk/conversation.json @@ -24,6 +24,7 @@ "REPLYING_TO": "You are replying to:", "REMOVE_SELECTION": "Remove Selection", "DOWNLOAD": "Download", + "UPLOADING_ATTACHMENTS": "Uploading attachments...", "HEADER": { "RESOLVE_ACTION": "Resolve", "REOPEN_ACTION": "Reopen", @@ -40,7 +41,10 @@ "PRIVATE_NOTE": "Private Note", "SEND": "Send", "CREATE": "Add Note", - "TWEET": "Tweet" + "TWEET": "Tweet", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, "VISIBLE_TO_AGENTS": "Private Note: Only visible to you and your team", "CHANGE_STATUS": "Conversation status changed", diff --git a/app/javascript/dashboard/i18n/locale/sk/generalSettings.json b/app/javascript/dashboard/i18n/locale/sk/generalSettings.json index 152545467..245bcb4c1 100644 --- a/app/javascript/dashboard/i18n/locale/sk/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/sk/generalSettings.json @@ -42,7 +42,8 @@ "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." } - } + }, + "UPDATE_CHATWOOT": "An update %{latestChatwootVersion} for Chatwoot is available. Please update your instance." }, "FORMS": { "MULTISELECT": { diff --git a/app/javascript/dashboard/i18n/locale/sk/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/sk/inboxMgmt.json index 6598b2b6f..db2e6cea8 100644 --- a/app/javascript/dashboard/i18n/locale/sk/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sk/inboxMgmt.json @@ -241,7 +241,9 @@ "AUTO_ASSIGNMENT": "Enable auto assignment", "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." + "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 validate the users identity, the SDK allows you to pass an `identity_hash` for each user. You can generate HMAC using 'sha256' with the key shown here." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reauthorize", diff --git a/app/javascript/dashboard/i18n/locale/sk/settings.json b/app/javascript/dashboard/i18n/locale/sk/settings.json index e943912f4..0f4addcd4 100644 --- a/app/javascript/dashboard/i18n/locale/sk/settings.json +++ b/app/javascript/dashboard/i18n/locale/sk/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "Conversations", "REPORTS": "Reports", - "CONTACTS": "Contacts (Beta)", + "CONTACTS": "Contacts", "SETTINGS": "Settings", "HOME": "Home", "AGENTS": "Agents", diff --git a/app/javascript/dashboard/i18n/locale/sk/signup.json b/app/javascript/dashboard/i18n/locale/sk/signup.json index 08366a1e3..6eaa5d646 100644 --- a/app/javascript/dashboard/i18n/locale/sk/signup.json +++ b/app/javascript/dashboard/i18n/locale/sk/signup.json @@ -4,14 +4,19 @@ "TITLE": "Register", "TERMS_ACCEPT": "By signing up, you agree to our T & C and Privacy policy", "ACCOUNT_NAME": { - "LABEL": "Account Name", - "PLACEHOLDER": "Wayne Enterprises", - "ERROR": "Account Name is too short" + "LABEL": "Account name", + "PLACEHOLDER": "Enter an account name. eg: Wayne Enterprises", + "ERROR": "Account name is too short" + }, + "FULL_NAME": { + "LABEL": "Full name", + "PLACEHOLDER": "Enter your full name. eg: Bruce Wayne", + "ERROR": "Full name is too short" }, "EMAIL": { - "LABEL": "Email", - "PLACEHOLDER": "bruce@wayne.enterprises", - "ERROR": "Email is invalid" + "LABEL": "Work email", + "PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises", + "ERROR": "Email address is invalid" }, "PASSWORD": { "LABEL": "Password", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" }, "SUBMIT": "Submit", - "FEATURES": { - "UNLIMITED_INBOXES": "Unlimited inboxes", - "ROBUST_REPORTING": "Robust Reporting", - "CANNED_RESPONSES": "Canned Responses", - "AUTO_ASSIGNMENT": "Auto Assignment", - "SECURITY": "Enterprise level security" - } + "HAVE_AN_ACCOUNT": "Already have an account?" } } diff --git a/app/javascript/dashboard/i18n/locale/sv/agentMgmt.json b/app/javascript/dashboard/i18n/locale/sv/agentMgmt.json index f83187b62..4a07de96c 100644 --- a/app/javascript/dashboard/i18n/locale/sv/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sv/agentMgmt.json @@ -1,12 +1,12 @@ { "AGENT_MGMT": { "HEADER": "Agenter", - "HEADER_BTN_TXT": "Lägg till agentur", + "HEADER_BTN_TXT": "Lägg till agent", "LOADING": "Hämtar agentlista", - "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": "

Agenter

En Agent är medlem i ditt kundsupportteam.

Agenter kommer att kunna se och svara på meddelanden från dina användare. Listan visar alla agenter som finns på ditt konto.

Klicka på Lägg till agent för att lägga till en ny agent. Agenter du lägger till kommer att få ett e-postmeddelande med en bekräftelselänk för att aktivera sitt konto, vartefter de kan komma åt Chatwoot och svara på meddelanden.

Åtkomst till Chatwoots funktioner baseras på följande roller:

Agent - Agenter med denna roll kan endast komma åt inkorgar, rapporter och konversationer. De kan tilldela konversationer till andra agenter eller sig själva och lösa konversationer.

Administratör - Administratörer kommer att ha tillgång till alla Chatwoot-funktioner som är aktiverade för ditt konto, inklusive inställningar, tillsammans med alla normala agenters privilegier.

", "AGENT_TYPES": { "ADMINISTRATOR": "Administratör", - "AGENT": "Agentkommando" + "AGENT": "Agent" }, "LIST": { "404": "Det finns inga agenter kopplade till detta konto", @@ -29,33 +29,33 @@ "PLACEHOLDER": "Ange ett namn på agenten" }, "AGENT_TYPE": { - "LABEL": "Agentkommando typ", + "LABEL": "Roll", "PLACEHOLDER": "Välj en typ", - "ERROR": "Agentkommando krävs" + "ERROR": "Roll krävs" }, "EMAIL": { "LABEL": "E-postadress", "PLACEHOLDER": "Ange en e-postadress till agenten" }, - "SUBMIT": "Lägg till agentur" + "SUBMIT": "Lägg till agent" }, "API": { - "SUCCESS_MESSAGE": "Agentkommando har lagts till", - "EXIST_MESSAGE": "Agentkommando redan använt, försök med en annan e-postadress", + "SUCCESS_MESSAGE": "Agenten har lagts till", + "EXIST_MESSAGE": "E-postadressen används redan, försök med en annan e-postadress", "ERROR_MESSAGE": "Kunde inte ansluta till Woot Server, försök igen senare" } }, "DELETE": { "BUTTON_TEXT": "Radera", "API": { - "SUCCESS_MESSAGE": "Agentkommando har tagits bort", + "SUCCESS_MESSAGE": "Agenten har tagits bort", "ERROR_MESSAGE": "Kunde inte ansluta till Woot Server, försök igen senare" }, "CONFIRM": { "TITLE": "Bekräfta borttagning", "MESSAGE": "Är du säker på att ta bort ", "YES": "Ja, ta bort ", - "NO": "No, Keep " + "NO": "Nej, behåll " } }, "EDIT": { @@ -66,9 +66,9 @@ "PLACEHOLDER": "Ange ett namn på agenten" }, "AGENT_TYPE": { - "LABEL": "Agentkommando typ", + "LABEL": "Roll", "PLACEHOLDER": "Välj en typ", - "ERROR": "Agentkommando krävs" + "ERROR": "Roll krävs" }, "EMAIL": { "LABEL": "E-postadress", @@ -79,13 +79,13 @@ "BUTTON_TEXT": "Redigera", "CANCEL_BUTTON_TEXT": "Avbryt", "API": { - "SUCCESS_MESSAGE": "Agentkommando uppdaterades", + "SUCCESS_MESSAGE": "Agenten uppdaterad", "ERROR_MESSAGE": "Kunde inte ansluta till Woot Server, försök igen senare" }, "PASSWORD_RESET": { "ADMIN_RESET_BUTTON": "Återställ lösenord", "ADMIN_SUCCESS_MESSAGE": "Ett e-postmeddelande med instruktioner för att återställa lösenordet har skickats till agenten", - "SUCCESS_MESSAGE": "Agentkommando återställs framgångsrikt", + "SUCCESS_MESSAGE": "Agentlösenordet återställt", "ERROR_MESSAGE": "Kunde inte ansluta till Woot Server, försök igen senare" } }, diff --git a/app/javascript/dashboard/i18n/locale/sv/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/sv/cannedMgmt.json index bf4805924..5746b86e0 100644 --- a/app/javascript/dashboard/i18n/locale/sv/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sv/cannedMgmt.json @@ -1,29 +1,29 @@ { "CANNED_MGMT": { - "HEADER": "Konserverade svar", - "HEADER_BTN_TXT": "Lägg till konserverat svar", - "LOADING": "Hämtar konserverade svar", + "HEADER": "Svarsmallar", + "HEADER_BTN_TXT": "Lägg till svarsmall", + "LOADING": "Hämtar svarsmallar", "SEARCH_404": "Det finns inga objekt som matchar denna fråga", - "SIDEBAR_TXT": "

Konserverade svar

Konserverade svar sparas svarsmallar som kan användas för att snabbt skicka ett svar till en konversation.

För att skapa ett konserverat svar, klicka bara på Add Canned Response. Du kan också redigera eller ta bort ett befintligt konserverat svar genom att klicka på knappen Redigera eller Ta bort

Konserverade svar används med hjälp av Korta koder. Agenter kan komma åt konserverade svar medan de är på en chatt genom att skriva '/' följt av kortkoden.

", + "SIDEBAR_TXT": "

Svarsmallar

Svarsmallar är sparade mallar som kan användas för att snabbt skicka ett svar till en konversation.

För att skapa en svarsmall, klicka bara på Lägg till svarsmall. Du kan också redigera eller ta bort en befintlig svarsmall genom att klicka på knapparna Redigera eller Ta bort

Svarsmallar används med hjälp av korta koder. Agenter kan komma åt svarsmallar medan de är på en chatt genom att skriva '/' följt av kortkoden.

", "LIST": { - "404": "Det finns inga konserverade svar tillgängliga på detta konto.", - "TITLE": "Hantera konserverade svar", - "DESC": "Konserverade svar är fördefinierade svarsmallar som kan användas för att snabbt skicka ut svar till ärenden.", + "404": "Det finns inga svarsmallar tillgängliga på detta konto.", + "TITLE": "Hantera svarsmallar", + "DESC": "Svarsmallar är fördefinierade mallar som kan användas för att snabbt skicka ut svar till ärenden.", "TABLE_HEADER": [ - "Kort kod", + "Kortkod", "Innehåll", "Åtgärder" ] }, "ADD": { - "TITLE": "Lägg till konserverat svar", - "DESC": "Konserverade svar sparas svarsmallar som kan användas för att snabbt skicka svar till konversation.", + "TITLE": "Lägg till svarsmall", + "DESC": "Svarsmallar är fördefinierade mallar som kan användas för att snabbt skicka ut svar till konversationer.", "CANCEL_BUTTON_TEXT": "Avbryt", "FORM": { "SHORT_CODE": { - "LABEL": "Kort kod", + "LABEL": "Kortkod", "PLACEHOLDER": "Ange en kortkod", - "ERROR": "Kort kod krävs" + "ERROR": "Kortkod krävs" }, "CONTENT": { "LABEL": "Innehåll", @@ -33,18 +33,18 @@ "SUBMIT": "Skicka" }, "API": { - "SUCCESS_MESSAGE": "Konserverat svar har lagts till", + "SUCCESS_MESSAGE": "Svarsmallen har lagts till", "ERROR_MESSAGE": "Kunde inte ansluta till Woot Server, försök igen senare" } }, "EDIT": { - "TITLE": "Redigera konserverat svar", + "TITLE": "Redigera svarsmall", "CANCEL_BUTTON_TEXT": "Avbryt", "FORM": { "SHORT_CODE": { - "LABEL": "Kort kod", + "LABEL": "Kortkod", "PLACEHOLDER": "Ange en kortkod", - "ERROR": "Kort kod krävs" + "ERROR": "Kortkod krävs" }, "CONTENT": { "LABEL": "Innehåll", @@ -55,21 +55,21 @@ }, "BUTTON_TEXT": "Redigera", "API": { - "SUCCESS_MESSAGE": "Konserverat svar har uppdaterats", + "SUCCESS_MESSAGE": "Svarsmallen har uppdaterats", "ERROR_MESSAGE": "Kunde inte ansluta till Woot Server, försök igen senare" } }, "DELETE": { "BUTTON_TEXT": "Radera", "API": { - "SUCCESS_MESSAGE": "Konserverat svar har tagits bort", + "SUCCESS_MESSAGE": "Svarsmallen har tagits bort", "ERROR_MESSAGE": "Kunde inte ansluta till Woot Server, försök igen senare" }, "CONFIRM": { "TITLE": "Bekräfta borttagning", "MESSAGE": "Är du säker på att ta bort ", "YES": "Ja, ta bort ", - "NO": "No, Keep " + "NO": "Nej, behåll " } } } diff --git a/app/javascript/dashboard/i18n/locale/sv/chatlist.json b/app/javascript/dashboard/i18n/locale/sv/chatlist.json index 52328cf60..fb1981fa7 100644 --- a/app/javascript/dashboard/i18n/locale/sv/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/sv/chatlist.json @@ -4,7 +4,7 @@ "LOAD_MORE_CONVERSATIONS": "Ladda fler konversationer", "EOF": "Alla konversationer laddade 🎉", "LIST": { - "404": "Det finns inga aktiva samtal i denna grupp." + "404": "Det finns inga aktiva konversationer i denna grupp." }, "TAB_HEADING": "Konversationer", "SEARCH": { @@ -22,12 +22,12 @@ ], "ASSIGNEE_TYPE_TABS": [ { - "NAME": "Gruva", + "NAME": "Mina", "KEY": "me", "COUNT_KEY": "mineCount" }, { - "NAME": "Otilldelad", + "NAME": "Otilldelade", "KEY": "unassigned", "COUNT_KEY": "unAssignedCount" }, @@ -43,7 +43,7 @@ "VALUE": "open" }, { - "TEXT": "Löst", + "TEXT": "Lösta", "VALUE": "resolved" }, { @@ -54,11 +54,11 @@ "ATTACHMENTS": { "image": { "ICON": "ion-image", - "CONTENT": "Meddelande om bild" + "CONTENT": "Bildmeddelande" }, "audio": { "ICON": "ion-volume-high", - "CONTENT": "Ljud meddelande" + "CONTENT": "Ljudmeddelande" }, "video": { "ICON": "ion-ios-videocam", @@ -77,8 +77,8 @@ "CONTENT": "har delat en webbadress" } }, - "RECEIVED_VIA_EMAIL": "Received via email", - "VIEW_TWEET_IN_TWITTER": "View tweet in Twitter", - "REPLY_TO_TWEET": "Reply to this tweet" + "RECEIVED_VIA_EMAIL": "Mottaget via e-post", + "VIEW_TWEET_IN_TWITTER": "Visa tweet i Twitter", + "REPLY_TO_TWEET": "Svara på detta tweet" } } diff --git a/app/javascript/dashboard/i18n/locale/sv/contact.json b/app/javascript/dashboard/i18n/locale/sv/contact.json index 3c7eae9c2..2898e0f50 100644 --- a/app/javascript/dashboard/i18n/locale/sv/contact.json +++ b/app/javascript/dashboard/i18n/locale/sv/contact.json @@ -1,113 +1,114 @@ { "CONTACT_PANEL": { - "NOT_AVAILABLE": "Not Available", + "NOT_AVAILABLE": "Ej tillgänglig", "EMAIL_ADDRESS": "E-postadress", "PHONE_NUMBER": "Telefonnummer", - "COPY_SUCCESSFUL": "Copied to clipboard successfully", - "COMPANY": "Company", + "COPY_SUCCESSFUL": "Kopierat till urklipp", + "COMPANY": "Företag", "LOCATION": "Plats", "CONVERSATION_TITLE": "Konversation Detaljer", "BROWSER": "Webbläsare", "OS": "Operativsystem", "INITIATED_FROM": "Initierad från", "INITIATED_AT": "Initierad den", + "IP_ADDRESS": "IP-adress", "CONVERSATIONS": { "NO_RECORDS_FOUND": "Det finns inga tidigare konversationer kopplade till denna kontakt.", "TITLE": "Tidigare konversationer" }, "CUSTOM_ATTRIBUTES": { - "TITLE": "Custom Attributes" + "TITLE": "Egna egenskaper" }, "LABELS": { "TITLE": "Etiketter för konversation", "MODAL": { - "TITLE": "Labels for", - "ACTIVE_LABELS": "Labels added to the conversation", - "INACTIVE_LABELS": "Labels available in the account", - "REMOVE": "Click on X icon to remove the label", - "ADD": "Click on + icon to add the label", - "UPDATE_BUTTON": "Update labels", - "UPDATE_ERROR": "Couldn't update labels, try again." + "TITLE": "Etiketter för", + "ACTIVE_LABELS": "Etiketter tillagda till konversationen", + "INACTIVE_LABELS": "Etiketter tillgängliga på kontot", + "REMOVE": "Klicka på X-ikonen för att ta bort etiketten", + "ADD": "Klicka på + ikonen för att lägga till etiketten", + "UPDATE_BUTTON": "Uppdatera etiketter", + "UPDATE_ERROR": "Kunde inte uppdatera etiketter, försök igen." }, - "NO_LABELS_TO_ADD": "There are no more labels defined in the account.", - "NO_AVAILABLE_LABELS": "There are no labels added to this conversation." + "NO_LABELS_TO_ADD": "Det finns inga fler etiketter definierade på kontot.", + "NO_AVAILABLE_LABELS": "Det finns inga etiketter tillagda till denna konversation." }, - "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", + "MUTE_CONTACT": "Tysta konversation", + "UNMUTE_CONTACT": "Avtysta konversation", + "MUTED_SUCCESS": "Denna konversation är tystad i 6 timmar", + "UNMUTED_SUCCESS": "Denna konversation är avtystad", + "SEND_TRANSCRIPT": "Skicka transkribering", "EDIT_LABEL": "Redigera" }, "EDIT_CONTACT": { - "BUTTON_LABEL": "Edit Contact", - "TITLE": "Edit contact", - "DESC": "Edit contact details", + "BUTTON_LABEL": "Redigera kontakt", + "TITLE": "Redigera kontakt", + "DESC": "Redigera kontaktuppgifter", "FORM": { "SUBMIT": "Skicka", "CANCEL": "Avbryt", "AVATAR": { - "LABEL": "Contact Avatar" + "LABEL": "Kontaktavatar" }, "NAME": { - "PLACEHOLDER": "Enter the full name of the contact", - "LABEL": "Full Name" + "PLACEHOLDER": "Ange det fullständiga namnet för kontakten", + "LABEL": "Fullständigt namn" }, "BIO": { - "PLACEHOLDER": "Enter the bio of the contact", - "LABEL": "Bio" + "PLACEHOLDER": "Ange biografi för kontakten", + "LABEL": "Biografi" }, "EMAIL_ADDRESS": { - "PLACEHOLDER": "Enter the email address of the contact", + "PLACEHOLDER": "Ange e-postadressen till kontakten", "LABEL": "E-postadress" }, "PHONE_NUMBER": { - "PLACEHOLDER": "Enter the phone number of the contact", - "LABEL": "Phone Number" + "PLACEHOLDER": "Ange telefonnummer till kontakten", + "LABEL": "Telefonnummer" }, "LOCATION": { - "PLACEHOLDER": "Enter the location of the contact", + "PLACEHOLDER": "Ange platsen för kontakten", "LABEL": "Plats" }, "COMPANY_NAME": { - "PLACEHOLDER": "Enter the company name", - "LABEL": "Company Name" + "PLACEHOLDER": "Ange företagets namn", + "LABEL": "Företagsnamn" }, "SOCIAL_PROFILES": { "FACEBOOK": { - "PLACEHOLDER": "Enter the Facebook username", + "PLACEHOLDER": "Ange Facebook-användarnamn", "LABEL": "Facebook" }, "TWITTER": { - "PLACEHOLDER": "Enter the Twitter username", + "PLACEHOLDER": "Ange Twitter-användarnamn", "LABEL": "Twitter" }, "LINKEDIN": { - "PLACEHOLDER": "Enter the LinkedIn username", + "PLACEHOLDER": "Ange LinkedIn-användarnamn", "LABEL": "LinkedIn" }, "GITHUB": { - "PLACEHOLDER": "Enter the Github username", + "PLACEHOLDER": "Ange Github-användarnamn", "LABEL": "Github" } } }, - "SUCCESS_MESSAGE": "Updated contact successfully", - "CONTACT_ALREADY_EXIST": "This email address is in use for another contact.", - "ERROR_MESSAGE": "There was an error updating the contact, please try again" + "SUCCESS_MESSAGE": "Kontakten har uppdaterats", + "CONTACT_ALREADY_EXIST": "Den här e-postadressen används för en annan kontakt.", + "ERROR_MESSAGE": "Ett fel uppstod vid uppdateringen av kontakten, vänligen försök igen" }, "CONTACTS_PAGE": { - "HEADER": "Contacts", - "SEARCH_BUTTON": "Search", - "SEARCH_INPUT_PLACEHOLDER": "Search for contacts", + "HEADER": "Kontakter", + "SEARCH_BUTTON": "Sök", + "SEARCH_INPUT_PLACEHOLDER": "Sök kontakter", "LIST": { - "LOADING_MESSAGE": "Loading contacts...", - "404": "No contacts matches your search 🔍", + "LOADING_MESSAGE": "Laddar kontakter...", + "404": "Inga kontakter matchar din sökning 🔍", "TABLE_HEADER": [ "Namn", - "Phone Number", + "Telefonnummer", "Konversationer", - "Last Contacted" + "Senast kontaktad" ] } } diff --git a/app/javascript/dashboard/i18n/locale/sv/conversation.json b/app/javascript/dashboard/i18n/locale/sv/conversation.json index aaf3cf8c8..3914f4a3e 100644 --- a/app/javascript/dashboard/i18n/locale/sv/conversation.json +++ b/app/javascript/dashboard/i18n/locale/sv/conversation.json @@ -4,26 +4,27 @@ "NO_MESSAGE_1": "Oj då! Det ser ut som att det inte finns några meddelanden från kunder i din inkorg.", "NO_MESSAGE_2": " för att skicka ett meddelande till din sida!", "NO_INBOX_1": "Hola! Ser ut som om du inte har lagt till några inkorgar än.", - "NO_INBOX_2": " att komma igång", + "NO_INBOX_2": " för att komma igång", "NO_INBOX_AGENT": "Oh Oh! Ser ut som om du inte är en del av någon inkorg. Kontakta administratören", - "SEARCH_MESSAGES": "Search for messages in conversations", + "SEARCH_MESSAGES": "Sök meddelanden i konversationer", "SEARCH": { - "TITLE": "Search messages", - "LOADING_MESSAGE": "Crunching data...", - "PLACEHOLDER": "Type any text to search messages", - "NO_MATCHING_RESULTS": "There are no messages matching the search parameters." + "TITLE": "Sök meddelanden", + "LOADING_MESSAGE": "Tuggar data...", + "PLACEHOLDER": "Skriv valfri text för att söka efter meddelanden", + "NO_MATCHING_RESULTS": "Det finns inga meddelanden som motsvarar sökparametrarna." }, - "UNREAD_MESSAGES": "Unread Messages", - "UNREAD_MESSAGE": "Unread Message", + "UNREAD_MESSAGES": "Olästa meddelanden", + "UNREAD_MESSAGE": "Oläst meddelande", "CLICK_HERE": "Klicka här", "LOADING_INBOXES": "Laddar inkorgar", "LOADING_CONVERSATIONS": "Laddar konversationer", - "CANNOT_REPLY": "You cannot reply due to", - "24_HOURS_WINDOW": "24 hour message window restriction", - "LAST_INCOMING_TWEET": "You are replying to the last incoming tweet", - "REPLYING_TO": "You are replying to:", - "REMOVE_SELECTION": "Remove Selection", + "CANNOT_REPLY": "Du kan inte svara på grund av", + "24_HOURS_WINDOW": "24 timmars meddelandebegränsning", + "LAST_INCOMING_TWEET": "Du svarar på den senast inkomna tweeten", + "REPLYING_TO": "Du svarar:", + "REMOVE_SELECTION": "Ta bort urval", "DOWNLOAD": "Hämta", + "UPLOADING_ATTACHMENTS": "Laddar upp bilagor...", "HEADER": { "RESOLVE_ACTION": "Lös", "REOPEN_ACTION": "Återöppna", @@ -32,39 +33,42 @@ "DETAILS": "detaljer" }, "FOOTER": { - "MSG_INPUT": "Skift + ange för ny rad. Börja med '/' för att välja ett konserverat svar.", - "PRIVATE_MSG_INPUT": "Skift + ange för ny rad. Detta kommer endast att vara synligt för agenter" + "MSG_INPUT": "Skift + Enter för ny rad. Börja med '/' för att välja en svarsmall.", + "PRIVATE_MSG_INPUT": "Skift + Enter för ny rad. Detta kommer endast att vara synligt för agenter" }, "REPLYBOX": { "REPLY": "Svara", "PRIVATE_NOTE": "Privat anteckning", "SEND": "Skicka", "CREATE": "Lägg till anteckning", - "TWEET": "Twittra" + "TWEET": "Twittra", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, - "VISIBLE_TO_AGENTS": "Privat Obs: Endast synlig för dig och ditt team", - "CHANGE_STATUS": "Konversation status ändrad", - "CHANGE_AGENT": "Konversation förvärvaren ändrad", - "SENT_BY": "Sent by:", + "VISIBLE_TO_AGENTS": "Privat anteckning: Endast synlig för dig och ditt team", + "CHANGE_STATUS": "Konversationsstatus ändrad", + "CHANGE_AGENT": "Konversationstilldelning ändrad", + "SENT_BY": "Skickat av:", "ASSIGNMENT": { - "SELECT_AGENT": "Select Agent", + "SELECT_AGENT": "Välj agent", "REMOVE": "Radera", - "ASSIGN": "Assign" + "ASSIGN": "Tilldela" } }, "EMAIL_TRANSCRIPT": { - "TITLE": "Send conversation transcript", - "DESC": "Send a copy of the conversation transcript to the specified email address", + "TITLE": "Skicka konversationstranskribering", + "DESC": "Skicka en kopia av konversationstranskriberingen till den angivna e-postadressen", "SUBMIT": "Skicka", "CANCEL": "Avbryt", - "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", - "SEND_EMAIL_ERROR": "There was an error, please try again", + "SEND_EMAIL_SUCCESS": "Chattranskriberingen har skickats", + "SEND_EMAIL_ERROR": "Ett fel uppstod, vänligen försök igen", "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": "Skicka transkriberingen till kunden", + "SEND_TO_AGENT": "Skicka transkriberingen till den tilldelade agenten", + "SEND_TO_OTHER_EMAIL_ADDRESS": "Skicka transkriberingen till annan epost-adress", "EMAIL": { - "PLACEHOLDER": "Enter an email address", + "PLACEHOLDER": "Ange en e-postadress", "ERROR": "Ange en giltig e-postadress" } } diff --git a/app/javascript/dashboard/i18n/locale/sv/generalSettings.json b/app/javascript/dashboard/i18n/locale/sv/generalSettings.json index 5843d1a28..9412ab970 100644 --- a/app/javascript/dashboard/i18n/locale/sv/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/sv/generalSettings.json @@ -2,7 +2,7 @@ "GENERAL_SETTINGS": { "TITLE": "Kontoinställningar", "SUBMIT": "Uppdatera inställningar", - "BACK": "Back", + "BACK": "Tillbaka", "UPDATE": { "ERROR": "Kunde inte uppdatera inställningar, försök igen!", "SUCCESS": "Uppdaterade kontoinställningar" @@ -14,7 +14,7 @@ "NOTE": "" }, "NAME": { - "LABEL": "Konto namn", + "LABEL": "Kontonamn", "PLACEHOLDER": "Ditt kontonamn", "ERROR": "Ange ett giltigt kontonamn" }, @@ -24,31 +24,32 @@ "ERROR": "" }, "DOMAIN": { - "LABEL": "Incoming Email Domain", - "PLACEHOLDER": "The domain where you will receive the emails", + "LABEL": "Inkommande e-postdomän", + "PLACEHOLDER": "Domänen du tar emot e-post på", "ERROR": "" }, "SUPPORT_EMAIL": { - "LABEL": "Support Email", - "PLACEHOLDER": "Your company's support email", + "LABEL": "Supportmejl", + "PLACEHOLDER": "Ditt företags supportmejl", "ERROR": "" }, "AUTO_RESOLVE_DURATION": { - "LABEL": "Number of days after a ticket should auto resolve if there is no activity", + "LABEL": "Antal dagar till ett ärende ska automatlösas på grund av inaktivitet", "PLACEHOLDER": "30", - "ERROR": "Please enter a valid auto resolve duration (minimum 1 day)" + "ERROR": "Ange en giltig tid för automatlösning (minst 1 dag)" }, "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": "Konversationskontinuitet med e-post är aktiverat för ditt konto.", + "CUSTOM_EMAIL_DOMAIN_ENABLED": "Du kan nu ta emot e-postmeddelanden i din egna domän." } - } + }, + "UPDATE_CHATWOOT": "En uppdatering %{latestChatwootVersion} för Chatwoot är tillgänglig. Vänligen uppdatera din instans." }, "FORMS": { "MULTISELECT": { - "ENTER_TO_SELECT": "Press enter to select", - "ENTER_TO_REMOVE": "Press enter to remove", - "SELECT_ONE": "Select one" + "ENTER_TO_SELECT": "Tryck Enter för att välja", + "ENTER_TO_REMOVE": "Tryck Enter för att ta bort", + "SELECT_ONE": "Markera en/ett" } } } diff --git a/app/javascript/dashboard/i18n/locale/sv/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/sv/inboxMgmt.json index ad7b1dab6..586c7f71c 100644 --- a/app/javascript/dashboard/i18n/locale/sv/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sv/inboxMgmt.json @@ -1,7 +1,7 @@ { "INBOX_MGMT": { "HEADER": "Inkorgar", - "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.

", + "SIDEBAR_TXT": "

Inkorg

När du ansluter en webbplats eller en Facebook-sida till Chatwoot, så kallas det för en Inkorg. Du kan ha obegränsad mängd inkorgar i ditt Chatwoot-konto.

Klicka på Lägg till inkorg för att ansluta en webbplats eller en Facebook-sida.

I instrumentpanelen kan du se alla konversationer från alla dina inkorgar på en enda plats och svara på dem under fliken \"Konversationer\".

Du kan också se konversationer specifika för en inkorg genom att klicka på inkorgnamnet i den vänstra rutan på instrumentbrädan.

", "LIST": { "404": "Det finns inga inkorgar kopplade till detta konto." }, @@ -24,18 +24,18 @@ { "title": "Voila!", "route": "settings_inbox_finish", - "body": "Ni är alla redo att gå!" + "body": "Ni är redo att köra!" } ], "ADD": { "FB": { - "HELP": "PS: Genom att logga in får vi bara tillgång till din Sidas meddelanden. Dina privata meddelanden kan aldrig nås av 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": "PS: Genom att logga in får vi bara tillgång till din sidas meddelanden. Dina privata meddelanden kan aldrig nås av Chatwoot.", + "CHOOSE_PAGE": "Välj sida", + "CHOOSE_PLACEHOLDER": "Välj en sida från listan", + "INBOX_NAME": "Inkorgsnamn", + "ADD_NAME": "Lägg till ett namn för din inkorg", + "PICK_NAME": "Välj ett namn på din inkorg", + "PICK_A_VALUE": "Välj ett värde" }, "TWITTER": { "HELP": "För att lägga till din Twitter-profil som en kanal måste du autentisera din Twitter-profil genom att klicka på \"Logga in med Twitter\" " @@ -45,7 +45,7 @@ "DESC": "Skapa en kanal för din webbplats och börja stödja dina kunder via vår hemsida widget.", "LOADING_MESSAGE": "Skapar supportkanal för webbplats", "CHANNEL_AVATAR": { - "LABEL": "Channel Avatar" + "LABEL": "Kanalavatar" }, "CHANNEL_NAME": { "LABEL": "Webbplatsens namn", @@ -60,25 +60,25 @@ "PLACEHOLDER": "Hej där!" }, "CHANNEL_WELCOME_TAGLINE": { - "LABEL": "Välkommen Tagline", + "LABEL": "Välkomsttagline", "PLACEHOLDER": "Vi gör det enkelt att få kontakt med oss. Fråga oss något, eller dela din feedback." }, "CHANNEL_GREETING_MESSAGE": { - "LABEL": "Channel greeting message", - "PLACEHOLDER": "Acme Inc typically replies in a few hours." + "LABEL": "Kanalhälsningsmeddelande", + "PLACEHOLDER": "Acme Inc svarar vanligtvis inom några timmar." }, "CHANNEL_GREETING_TOGGLE": { - "LABEL": "Enable channel greeting", - "HELP_TEXT": "Send a greeting message to the user when he starts the conversation.", + "LABEL": "Aktivera kanalhälsning", + "HELP_TEXT": "Skicka ett hälsningsmeddelande till användaren när hen startar konversationen.", "ENABLED": "Aktiverad", "DISABLED": "Inaktiverad" }, "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": "Ställ in svarstid", + "IN_A_FEW_MINUTES": "Inom några minuter", + "IN_A_FEW_HOURS": "Inom några timmar", + "IN_A_DAY": "Inom en dag", + "HELP_TEXT": "Den här svarstiden kommer att visas på livechattswidgeten" }, "WIDGET_COLOR": { "LABEL": "Widget färg", @@ -87,16 +87,16 @@ "SUBMIT_BUTTON": "Skapa inkorg" }, "TWILIO": { - "TITLE": "Twilio SMS/Whatsapp Channel", - "DESC": "Integrate Twilio and start supporting your customers via SMS or Whatsapp.", + "TITLE": "Twilio SMS/Whatsapp-kanal", + "DESC": "Integrera Twilio och börja supporta dina kunder via SMS eller Whatsapp.", "ACCOUNT_SID": { "LABEL": "Konto SID", "PLACEHOLDER": "Ange ditt Twilio-konto SID", "ERROR": "Detta fält är tvingande" }, "CHANNEL_TYPE": { - "LABEL": "Channel Type", - "ERROR": "Please select your Channel Type" + "LABEL": "Kanaltyp", + "ERROR": "Var god välj din kanaltyp" }, "AUTH_TOKEN": { "LABEL": "Auth token", @@ -114,8 +114,8 @@ "ERROR": "Ange ett giltigt värde. Telefonnummer bör börja med `+`-tecken." }, "API_CALLBACK": { - "TITLE": "Callback URL", - "SUBTITLE": "You have to configure the message callback URL in Twilio with the URL mentioned here." + "TITLE": "Callback-URL", + "SUBTITLE": "Du måste konfigurera meddelande-callback-URL i Twilio med den URL som nämns här." }, "SUBMIT_BUTTON": "Skapa Twilio kanal", "API": { @@ -123,8 +123,8 @@ } }, "API_CHANNEL": { - "TITLE": "API Channel", - "DESC": "Integrate with API channel and start supporting your customers.", + "TITLE": "API-kanal", + "DESC": "Integrera med API-kanalen och börja supporta dina kunder.", "CHANNEL_NAME": { "LABEL": "Kanalnamn", "PLACEHOLDER": "Ange ett kanalnamn", @@ -132,17 +132,17 @@ }, "WEBHOOK_URL": { "LABEL": "Webhook URL", - "SUBTITLE": "Configure the URL where you want to recieve callbacks on events.", + "SUBTITLE": "Konfigurera URL:en där du vill få callbacks på händelser.", "PLACEHOLDER": "Webhook URL" }, - "SUBMIT_BUTTON": "Create API Channel", + "SUBMIT_BUTTON": "Skapa API-kanal", "API": { - "ERROR_MESSAGE": "We were not able to save the api channel" + "ERROR_MESSAGE": "Vi kunde inte spara API-kanalen" } }, "EMAIL_CHANNEL": { - "TITLE": "Email Channel", - "DESC": "Integrate you email inbox.", + "TITLE": "E-postkanal", + "DESC": "Integrera din e-postinkorg.", "CHANNEL_NAME": { "LABEL": "Kanalnamn", "PLACEHOLDER": "Ange ett kanalnamn", @@ -150,24 +150,24 @@ }, "EMAIL": { "LABEL": "E-post", - "SUBTITLE": "Email where your customers sends you support tickets", + "SUBTITLE": "E-post dit dina kunder skickar supportärenden", "PLACEHOLDER": "E-post" }, - "SUBMIT_BUTTON": "Create Email Channel", + "SUBMIT_BUTTON": "Skapa e-postkanal", "API": { - "ERROR_MESSAGE": "We were not able to save the email channel" + "ERROR_MESSAGE": "Vi kunde inte spara e-postkanalen" }, - "FINISH_MESSAGE": "Start forwarding your emails to the following email address." + "FINISH_MESSAGE": "Börja vidarebefordra dina e-postmeddelanden till följande e-postadress." }, "AUTH": { "TITLE": "Kanaler", - "DESC": "För närvarande stöder vi Webbplats live chat widgets, Facebook-sidor och Twitter-profiler som plattformar. Vi har fler plattformar som Whatsapp, e-post, Telegram och Linje i verken, som kommer ut snart." + "DESC": "För närvarande stöder vi live chat widgets på en webbplats, Facebook-sidor, Twitter-profiler och Whatsapp som plattformar. Vi har fler plattformar som e-post, Telegram och Line på gång som kommer ut snart." }, "AGENTS": { "TITLE": "Agenter", "DESC": "Här kan du lägga till agenter för att hantera din nyskapade inkorg. Endast dessa utvalda agenter har tillgång till din inkorg. Agenter som inte är en del av denna inkorg kommer inte att kunna se eller svara på meddelanden i denna inkorg när de loggar in.
PS: Som administratör om du behöver åtkomst till alla inkorgar, du bör lägga till dig själv som agent till alla inkorgar som du skapar.", - "VALIDATION_ERROR": "Add atleast one agent to your new Inbox", - "PICK_AGENTS": "Pick agents for the inbox" + "VALIDATION_ERROR": "Lägg till minst en agent till din nya inkorg", + "PICK_AGENTS": "Välj agenter för inkorgen" }, "DETAILS": { "TITLE": "Inkorg Detaljer", @@ -214,7 +214,7 @@ "TITLE": "Bekräfta borttagning", "MESSAGE": "Är du säker på att ta bort ", "YES": "Ja, ta bort ", - "NO": "No, Keep " + "NO": "Nej, behåll " }, "API": { "SUCCESS_MESSAGE": "Inkorgen har tagits bort", @@ -223,14 +223,14 @@ }, "TABS": { "SETTINGS": "Inställningar", - "COLLABORATORS": "Collaborators", - "CONFIGURATION": "Configuration" + "COLLABORATORS": "Medarbetare", + "CONFIGURATION": "Konfiguration" }, "SETTINGS": "Inställningar", "FEATURES": { - "LABEL": "Features", - "DISPLAY_FILE_PICKER": "Display file picker on the widget", - "DISPLAY_EMOJI_PICKER": "Display emoji picker on the widget" + "LABEL": "Funktioner", + "DISPLAY_FILE_PICKER": "Visa filväljare på widgeten", + "DISPLAY_EMOJI_PICKER": "Visa emoji-väljare på widgeten" }, "SETTINGS_POPUP": { "MESSENGER_HEADING": "Skript för budbärare", @@ -241,13 +241,15 @@ "AUTO_ASSIGNMENT": "Aktivera automatisk tilldelning", "INBOX_UPDATE_TITLE": "Inkorg instä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." + "AUTO_ASSIGNMENT_SUB_TEXT": "Aktivera eller inaktivera automatisk tilldelning av nya konversationer till de agenter som lagts till den här inkorgen.", + "HMAC_VERIFICATION": "User Identity Validation", + "HMAC_DESCRIPTION": "Inorder validate the users identity, the SDK allows you to pass an `identity_hash` for each user. You can generate HMAC using 'sha256' with the key shown here." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Återauktorisera", - "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": "Din Facebook-anslutning har löpt ut, vänligen återanslut din Facebook-sida för att fortsätta med tjänsterna", + "MESSAGE_SUCCESS": "Återanslutning lyckades", + "MESSAGE_ERROR": "Ett fel uppstod, vänligen försök igen" } } } diff --git a/app/javascript/dashboard/i18n/locale/sv/integrations.json b/app/javascript/dashboard/i18n/locale/sv/integrations.json index 80644e79e..f29c01c2c 100644 --- a/app/javascript/dashboard/i18n/locale/sv/integrations.json +++ b/app/javascript/dashboard/i18n/locale/sv/integrations.json @@ -2,9 +2,9 @@ "INTEGRATION_SETTINGS": { "HEADER": "Integrationer", "WEBHOOK": { - "TITLE": "Webbkrok", + "TITLE": "Webhook", "CONFIGURE": "Konfigurera", - "HEADER": "Webhook inställningar", + "HEADER": "Webhook-inställningar", "HEADER_BTN_TXT": "Lägg till ny webhook", "LOADING": "Hämtar bifogade webhooks", "SEARCH_404": "Det finns inga objekt som matchar denna fråga", @@ -30,32 +30,32 @@ "SUBMIT": "Skapa webhook" }, "API": { - "SUCCESS_MESSAGE": "Webbkrok har lagts till", + "SUCCESS_MESSAGE": "Webhook har lagts till", "ERROR_MESSAGE": "Kunde inte ansluta till Woot Server, försök igen senare" } }, "DELETE": { "BUTTON_TEXT": "Radera", "API": { - "SUCCESS_MESSAGE": "Webbhook har tagits bort", + "SUCCESS_MESSAGE": "Webhook har tagits bort", "ERROR_MESSAGE": "Kunde inte ansluta till Woot Server, försök igen senare" }, "CONFIRM": { "TITLE": "Bekräfta borttagning", "MESSAGE": "Är du säker på att ta bort ", "YES": "Ja, ta bort ", - "NO": "No, Keep it" + "NO": "Nej, behåll" } } }, "DELETE": { "BUTTON_TEXT": "Radera", "API": { - "SUCCESS_MESSAGE": "Integration deleted successfully" + "SUCCESS_MESSAGE": "Integrationen har tagits bort" } }, "CONNECT": { - "BUTTON_TEXT": "Connect" + "BUTTON_TEXT": "Anslut" } } } diff --git a/app/javascript/dashboard/i18n/locale/sv/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/sv/labelsMgmt.json index 4afecec2b..706fd4141 100644 --- a/app/javascript/dashboard/i18n/locale/sv/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sv/labelsMgmt.json @@ -1,67 +1,67 @@ { "LABEL_MGMT": { - "HEADER": "Labels", - "HEADER_BTN_TXT": "Add label", - "LOADING": "Fetching labels", + "HEADER": "Etiketter", + "HEADER_BTN_TXT": "Lägg till etikett", + "LOADING": "Hämtar etiketter", "SEARCH_404": "Det finns inga objekt som matchar denna fråga", - "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": "

Etiketter

Etiketter hjälper dig att kategorisera konversationer och prioritera dem. Du kan tilldela etiketter till en konversation från sidopanelen.

Etiketter är knutna till kontot och kan användas för att skapa anpassade arbetsflöden i din organisation. Du kan tilldela en färg till en etikett, det gör det lättare att identifiera etiketten. Du kommer att kunna visa etiketten på sidofältet för att enkelt filtrera konversationerna.

", "LIST": { - "404": "There are no labels available in this account.", - "TITLE": "Manage labels", - "DESC": "Labels let you group the conversations together.", + "404": "Det finns inga etiketter tillgängliga på detta konto.", + "TITLE": "Hantera etiketter", + "DESC": "Etiketter låter dig gruppera ihop konversationer.", "TABLE_HEADER": [ "Namn", - "Description", - "Color" + "Beskrivning", + "Färg" ] }, "FORM": { "NAME": { - "LABEL": "Label Name", - "PLACEHOLDER": "Label name", - "ERROR": "Label Name is required" + "LABEL": "Etikettnamn", + "PLACEHOLDER": "Etikettnamn", + "ERROR": "Etikettnamn krävs" }, "DESCRIPTION": { - "LABEL": "Description", - "PLACEHOLDER": "Label Description" + "LABEL": "Beskrivning", + "PLACEHOLDER": "Etikettbeskrivning" }, "COLOR": { - "LABEL": "Color" + "LABEL": "Färg" }, "SHOW_ON_SIDEBAR": { - "LABEL": "Show label on sidebar" + "LABEL": "Visa etikett i sidofältet" }, "EDIT": "Redigera", - "CREATE": "Create", + "CREATE": "Skapa", "DELETE": "Radera", "CANCEL": "Avbryt" }, "ADD": { - "TITLE": "Add label", - "DESC": "Labels let you group the conversations together.", + "TITLE": "Lägg till etikett", + "DESC": "Etiketter låter dig gruppera ihop konversationer.", "API": { - "SUCCESS_MESSAGE": "Label added successfully", - "ERROR_MESSAGE": "There was an error, please try again" + "SUCCESS_MESSAGE": "Etiketten har lagts till", + "ERROR_MESSAGE": "Ett fel uppstod, vänligen försök igen" } }, "EDIT": { - "TITLE": "Edit label", + "TITLE": "Redigera etikett", "API": { - "SUCCESS_MESSAGE": "Label updated successfully", - "ERROR_MESSAGE": "There was an error, please try again" + "SUCCESS_MESSAGE": "Etiketten har uppdaterats", + "ERROR_MESSAGE": "Ett fel uppstod, vänligen försök igen" } }, "DELETE": { "BUTTON_TEXT": "Radera", "API": { - "SUCCESS_MESSAGE": "Label deleted successfully", - "ERROR_MESSAGE": "There was an error, please try again" + "SUCCESS_MESSAGE": "Etiketten har tagits bort", + "ERROR_MESSAGE": "Ett fel uppstod, vänligen försök igen" }, "CONFIRM": { "TITLE": "Bekräfta borttagning", "MESSAGE": "Är du säker på att ta bort ", "YES": "Ja, ta bort ", - "NO": "No, Keep " + "NO": "Nej, behåll " } } } diff --git a/app/javascript/dashboard/i18n/locale/sv/login.json b/app/javascript/dashboard/i18n/locale/sv/login.json index e99ec7a73..0fd8b7ce1 100644 --- a/app/javascript/dashboard/i18n/locale/sv/login.json +++ b/app/javascript/dashboard/i18n/locale/sv/login.json @@ -12,10 +12,10 @@ "API": { "SUCCESS_MESSAGE": "Inloggning lyckades", "ERROR_MESSAGE": "Kunde inte ansluta till Woot Server, försök igen senare", - "UNAUTH": "Användarnamn / felaktigt lösenord. Försök igen" + "UNAUTH": "Användarnamn / lösenord felaktigt. Försök igen" }, "FORGOT_PASSWORD": "Glömt ditt lösenord?", "CREATE_NEW_ACCOUNT": "Skapa nytt konto", - "SUBMIT": "Login" + "SUBMIT": "Logga in" } } diff --git a/app/javascript/dashboard/i18n/locale/sv/report.json b/app/javascript/dashboard/i18n/locale/sv/report.json index 136247a8e..f22abfac0 100644 --- a/app/javascript/dashboard/i18n/locale/sv/report.json +++ b/app/javascript/dashboard/i18n/locale/sv/report.json @@ -1,9 +1,9 @@ { "REPORT": { "HEADER": "Rapporter", - "LOADING_CHART": "Laddar sjökortsdata...", - "NO_ENOUGH_DATA": "Vi har inte fått tillräckligt många datapunkter för att generera rapport, försök igen senare.", - "DOWNLOAD_AGENT_REPORTS": "Download agent reports", + "LOADING_CHART": "Laddar diagramdata...", + "NO_ENOUGH_DATA": "Vi har inte fått tillräckligt många datapunkter för att generera en rapport, försök igen senare.", + "DOWNLOAD_AGENT_REPORTS": "Ladda ner agentrapporter", "METRICS": { "CONVERSATIONS": { "NAME": "Konversationer", @@ -19,14 +19,14 @@ }, "FIRST_RESPONSE_TIME": { "NAME": "Första svarstiden", - "DESC": "( Genomsnitt)" + "DESC": "( Genomsnitt )" }, "RESOLUTION_TIME": { - "NAME": "Lösning Tid", - "DESC": "( Genomsnitt)" + "NAME": "Lösningstid", + "DESC": "( Genomsnitt )" }, "RESOLUTION_COUNT": { - "NAME": "Antal upplösningar", + "NAME": "Antal lösta", "DESC": "( Totalt )" } }, diff --git a/app/javascript/dashboard/i18n/locale/sv/settings.json b/app/javascript/dashboard/i18n/locale/sv/settings.json index 34e019baf..bbe4e7a08 100644 --- a/app/javascript/dashboard/i18n/locale/sv/settings.json +++ b/app/javascript/dashboard/i18n/locale/sv/settings.json @@ -23,118 +23,118 @@ "NOTE": "Denna token kan användas om du bygger en API-baserad integration" }, "EMAIL_NOTIFICATIONS_SECTION": { - "TITLE": "E-post aviseringar", + "TITLE": "E-postaviseringar", "NOTE": "Uppdatera dina e-postaviseringsinställningar här", "CONVERSATION_ASSIGNMENT": "Skicka e-postmeddelanden när en konversation är tilldelad till mig", "CONVERSATION_CREATION": "Skicka e-postmeddelanden när en ny konversation skapas", - "ASSIGNED_CONVERSATION_NEW_MESSAGE": "Send email notifications when a new message is created in an assigned conversation" + "ASSIGNED_CONVERSATION_NEW_MESSAGE": "Skicka e-postaviseringar när ett nytt meddelande skapas i en tilldelad konversation" }, "API": { - "UPDATE_SUCCESS": "Your notification preferences are updated successfully", - "UPDATE_ERROR": "There is an error while updating the preferences, please try again" + "UPDATE_SUCCESS": "Dina aviseringsinställningar har uppdaterats", + "UPDATE_ERROR": "Ett fel uppstod vid uppdateringen av inställningarna, vänligen försök igen" }, "PUSH_NOTIFICATIONS_SECTION": { - "TITLE": "Push Notifications", - "NOTE": "Update your push notification preferences here", - "CONVERSATION_ASSIGNMENT": "Send push notifications when a conversation is assigned to me", - "CONVERSATION_CREATION": "Send push notifications when a new conversation is created", - "ASSIGNED_CONVERSATION_NEW_MESSAGE": "Send push notifications when a new message is created in an assigned conversation", - "HAS_ENABLED_PUSH": "You have enabled push for this browser.", - "REQUEST_PUSH": "Enable push notifications" + "TITLE": "Push-notiser", + "NOTE": "Uppdatera dina inställningar för push-notiser här", + "CONVERSATION_ASSIGNMENT": "Skicka push-notiser när en konversation tilldelas till mig", + "CONVERSATION_CREATION": "Skicka push-notiser när en ny konversation skapas", + "ASSIGNED_CONVERSATION_NEW_MESSAGE": "Skicka push-meddelanden när ett nytt meddelande skapas i en tilldelad konversation", + "HAS_ENABLED_PUSH": "Du har aktiverat push-funktionen för denna webbläsare.", + "REQUEST_PUSH": "Aktivera push-meddelanden" }, "PROFILE_IMAGE": { "LABEL": "Profilbild" }, "NAME": { - "LABEL": "Your full name", - "ERROR": "Please enter a valid full name", - "PLACEHOLDER": "Please enter your full name" + "LABEL": "Ditt fullständiga namn", + "ERROR": "Vänligen ange ett giltigt fullständigt namn", + "PLACEHOLDER": "Vänligen ange ditt fullständiga namn" }, "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": "Visningsnamn", + "ERROR": "Vänligen ange ett giltigt visningsnamn", + "PLACEHOLDER": "Ange ett visningsnamn, detta visas i konversationer" }, "AVAILABILITY": { - "LABEL": "Availability", + "LABEL": "Tillgänglighet", "STATUSES_LIST": [ "Online", - "Busy", + "Upptagen", "Offline" ] }, "EMAIL": { "LABEL": "Din e-postadress", "ERROR": "Ange en giltig e-postadress", - "PLACEHOLDER": "Ange din e-postadress, detta skulle visas i konversationer" + "PLACEHOLDER": "Ange din e-postadress, detta visas i konversationer" }, "PASSWORD": { "LABEL": "Lösenord", - "ERROR": "Ange ett lösenord av längd 6 eller mer", + "ERROR": "Ange ett lösenord med minst 6 tecken", "PLACEHOLDER": "Ange ett nytt lösenord" }, "PASSWORD_CONFIRMATION": { "LABEL": "Bekräfta nytt lösenord", - "ERROR": "Bekräfta att lösenordet måste matcha lösenordet", + "ERROR": "Bekräfta lösenord måste matcha lösenordet", "PLACEHOLDER": "Ange ditt lösenord igen" } } }, "SIDEBAR_ITEMS": { - "CHANGE_AVAILABILITY_STATUS": "Att förändra", - "CHANGE_ACCOUNTS": "Switch Account", - "SELECTOR_SUBTITLE": "Select an account from the following list", - "PROFILE_SETTINGS": "Profilens inställningar", - "LOGOUT": "Utloggning" + "CHANGE_AVAILABILITY_STATUS": "Ändra", + "CHANGE_ACCOUNTS": "Byt konto", + "SELECTOR_SUBTITLE": "Välj ett konto från följande lista", + "PROFILE_SETTINGS": "Profilinställningar", + "LOGOUT": "Logga ut" }, "APP_GLOBAL": { - "TRIAL_MESSAGE": "days trial remaining.", - "TRAIL_BUTTON": "Buy Now" + "TRIAL_MESSAGE": "dagars provperiod återstår.", + "TRAIL_BUTTON": "Köp nu" }, "COMPONENTS": { "CODE": { - "BUTTON_TEXT": "Copy", - "COPY_SUCCESSFUL": "Code copied to clipboard successfully" + "BUTTON_TEXT": "Kopiera", + "COPY_SUCCESSFUL": "Koden har kopierats till urklipp" }, "FILE_BUBBLE": { "DOWNLOAD": "Hämta", - "UPLOADING": "Uploading..." + "UPLOADING": "Laddar upp..." }, "FORM_BUBBLE": { "SUBMIT": "Skicka" } }, - "CONFIRM_EMAIL": "Verifying...", + "CONFIRM_EMAIL": "Bekräftar...", "SETTINGS": { "INBOXES": { - "NEW_INBOX": "Add Inbox" + "NEW_INBOX": "Lägg till inkorg" } }, "SIDEBAR": { "CONVERSATIONS": "Konversationer", "REPORTS": "Rapporter", - "CONTACTS": "Contacts (Beta)", + "CONTACTS": "Kontakter", "SETTINGS": "Inställningar", - "HOME": "Home", + "HOME": "Hem", "AGENTS": "Agenter", "INBOXES": "Inkorgar", - "CANNED_RESPONSES": "Konserverade svar", + "CANNED_RESPONSES": "Svarsmallar", "INTEGRATIONS": "Integrationer", - "ACCOUNT_SETTINGS": "Account Settings", - "LABELS": "Labels" + "ACCOUNT_SETTINGS": "Kontoinställningar", + "LABELS": "Etiketter" }, "CREATE_ACCOUNT": { - "NEW_ACCOUNT": "New Account", - "SELECTOR_SUBTITLE": "Create a new account", + "NEW_ACCOUNT": "Nytt konto", + "SELECTOR_SUBTITLE": "Skapa ett nytt konto", "API": { - "SUCCESS_MESSAGE": "Account created successfully", - "EXIST_MESSAGE": "Account already exists", + "SUCCESS_MESSAGE": "Kontot har skapats", + "EXIST_MESSAGE": "Konto finns redan", "ERROR_MESSAGE": "Kunde inte ansluta till Woot Server, försök igen senare" }, "FORM": { "NAME": { "LABEL": "Kontonamn", - "PLACEHOLDER": "Wayne Företag" + "PLACEHOLDER": "Wayne Enterprises" }, "SUBMIT": "Skicka" } diff --git a/app/javascript/dashboard/i18n/locale/sv/signup.json b/app/javascript/dashboard/i18n/locale/sv/signup.json index 9a9e47694..ae3c7d79e 100644 --- a/app/javascript/dashboard/i18n/locale/sv/signup.json +++ b/app/javascript/dashboard/i18n/locale/sv/signup.json @@ -2,15 +2,20 @@ "REGISTER": { "TRY_WOOT": "Registrera ett konto", "TITLE": "Registrera", - "TERMS_ACCEPT": "Genom att registrera dig godkänner du vår T & C och sekretesspolicy", + "TERMS_ACCEPT": "Genom att registrera dig godkänner du våra användarvillkor och vår sekretesspolicy", "ACCOUNT_NAME": { "LABEL": "Kontonamn", - "PLACEHOLDER": "Wayne Företag", + "PLACEHOLDER": "Ange ett kontonamn. t.ex.: Wayne Enterprises", "ERROR": "Kontonamnet är för kort" }, + "FULL_NAME": { + "LABEL": "Fullständigt namn", + "PLACEHOLDER": "Ange ditt fullständiga namn. t.ex.: Bruce Wayne", + "ERROR": "Fullständigt namn är för kort" + }, "EMAIL": { - "LABEL": "E-post", - "PLACEHOLDER": "bruce@wayne.företag", + "LABEL": "E-postadress, arbete", + "PLACEHOLDER": "Fyll i din e-postadress för arbete. t.ex.: bruce@wayne.enterprises", "ERROR": "E-postadressen är ogiltig" }, "PASSWORD": { @@ -21,19 +26,13 @@ "CONFIRM_PASSWORD": { "LABEL": "Bekräfta lösenord", "PLACEHOLDER": "Bekräfta lösenord", - "ERROR": "Lösenordet matchar inte" + "ERROR": "Lösenorden matchar inte" }, "API": { "SUCCESS_MESSAGE": "Registreringen lyckades", "ERROR_MESSAGE": "Kunde inte ansluta till Woot Server, försök igen senare" }, "SUBMIT": "Skicka", - "FEATURES": { - "UNLIMITED_INBOXES": "Unlimited inboxes", - "ROBUST_REPORTING": "Robust Reporting", - "CANNED_RESPONSES": "Konserverade svar", - "AUTO_ASSIGNMENT": "Auto Assignment", - "SECURITY": "Enterprise level security" - } + "HAVE_AN_ACCOUNT": "Har du redan ett konto?" } } diff --git a/app/javascript/dashboard/i18n/locale/sv/webhooks.json b/app/javascript/dashboard/i18n/locale/sv/webhooks.json index 189df583b..8891516bf 100644 --- a/app/javascript/dashboard/i18n/locale/sv/webhooks.json +++ b/app/javascript/dashboard/i18n/locale/sv/webhooks.json @@ -1,5 +1,5 @@ { "WEBHOOKS_SETTINGS": { - "HEADER": "Webhook inställningar" + "HEADER": "Webhook-inställningar" } } diff --git a/app/javascript/dashboard/i18n/locale/ta/contact.json b/app/javascript/dashboard/i18n/locale/ta/contact.json index 50402054a..402bdad3d 100644 --- a/app/javascript/dashboard/i18n/locale/ta/contact.json +++ b/app/javascript/dashboard/i18n/locale/ta/contact.json @@ -11,6 +11,7 @@ "OS": "ஆப்பரேட்டிங் சிஸ்டம்", "INITIATED_FROM": "இருந்து தொடங்கப்பட்டது", "INITIATED_AT": "இல் தொடங்கப்பட்டது", + "IP_ADDRESS": "IP Address", "CONVERSATIONS": { "NO_RECORDS_FOUND": "இந்த தொடர்புடன் முந்தைய உரையாடல்கள் எதுவும் இல்லை.", "TITLE": "முந்தைய உரையாடல்கள்" diff --git a/app/javascript/dashboard/i18n/locale/ta/conversation.json b/app/javascript/dashboard/i18n/locale/ta/conversation.json index aa03ee06c..f46cd8ec6 100644 --- a/app/javascript/dashboard/i18n/locale/ta/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ta/conversation.json @@ -24,6 +24,7 @@ "REPLYING_TO": "You are replying to:", "REMOVE_SELECTION": "Remove Selection", "DOWNLOAD": "பதிவிறக்கம்", + "UPLOADING_ATTACHMENTS": "Uploading attachments...", "HEADER": { "RESOLVE_ACTION": "தீர்", "REOPEN_ACTION": "மீண்டும் திற", @@ -40,7 +41,10 @@ "PRIVATE_NOTE": "தனிப்பட்ட குறிப்பு", "SEND": "அனுப்பு", "CREATE": "குறிப்பு சேர்க்க", - "TWEET": "ட்வீட்" + "TWEET": "ட்வீட்", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, "VISIBLE_TO_AGENTS": "தனிப்பட்ட குறிப்பு: உங்களுக்கும் உங்கள் குழுவினருக்கும் மட்டுமே தெரியும்", "CHANGE_STATUS": "உரையாடலின் நிலை மாற்றப்பட்டது", diff --git a/app/javascript/dashboard/i18n/locale/ta/generalSettings.json b/app/javascript/dashboard/i18n/locale/ta/generalSettings.json index db073dcbd..af4b2f8dd 100644 --- a/app/javascript/dashboard/i18n/locale/ta/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/ta/generalSettings.json @@ -42,7 +42,8 @@ "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." } - } + }, + "UPDATE_CHATWOOT": "An update %{latestChatwootVersion} for Chatwoot is available. Please update your instance." }, "FORMS": { "MULTISELECT": { diff --git a/app/javascript/dashboard/i18n/locale/ta/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ta/inboxMgmt.json index 69df0d556..9d2fc3108 100644 --- a/app/javascript/dashboard/i18n/locale/ta/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ta/inboxMgmt.json @@ -241,7 +241,9 @@ "AUTO_ASSIGNMENT": "தானாக ஒதுக்கீட்டை இயக்கு", "INBOX_UPDATE_TITLE": "இன்பாக்ஸ் அமைப்புகள்", "INBOX_UPDATE_SUB_TEXT": "உங்கள் இன்பாக்ஸ் அமைப்புகளைப் புதுப்பிக்கவும்", - "AUTO_ASSIGNMENT_SUB_TEXT": "இந்த இன்பாக்ஸில் சேர்க்கப்பட்ட ஏஜென்ட்களுக்கு புதிய உரையாடல்களின் தானியங்கி ஒதுக்கீட்டை இயக்கவும் அல்லது முடக்கவும்." + "AUTO_ASSIGNMENT_SUB_TEXT": "இந்த இன்பாக்ஸில் சேர்க்கப்பட்ட ஏஜென்ட்களுக்கு புதிய உரையாடல்களின் தானியங்கி ஒதுக்கீட்டை இயக்கவும் அல்லது முடக்கவும்.", + "HMAC_VERIFICATION": "User Identity Validation", + "HMAC_DESCRIPTION": "Inorder validate the users identity, the SDK allows you to pass an `identity_hash` for each user. You can generate HMAC using 'sha256' with the key shown here." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "மறு அங்கீகாரம்", diff --git a/app/javascript/dashboard/i18n/locale/ta/settings.json b/app/javascript/dashboard/i18n/locale/ta/settings.json index 7827372fa..0422dfe30 100644 --- a/app/javascript/dashboard/i18n/locale/ta/settings.json +++ b/app/javascript/dashboard/i18n/locale/ta/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "உரையாடல்கள்", "REPORTS": "அறிக்கைகள்", - "CONTACTS": "Contacts (Beta)", + "CONTACTS": "Contacts", "SETTINGS": "அமைப்புகள்", "HOME": "முகப்பு", "AGENTS": "ஏஜென்ட்கள்", diff --git a/app/javascript/dashboard/i18n/locale/ta/signup.json b/app/javascript/dashboard/i18n/locale/ta/signup.json index b212a409e..88200b88c 100644 --- a/app/javascript/dashboard/i18n/locale/ta/signup.json +++ b/app/javascript/dashboard/i18n/locale/ta/signup.json @@ -5,13 +5,18 @@ "TERMS_ACCEPT": "பதிவுபெறுவதன் மூலம், எங்கள் விதிமுறைகள் மற்றும் நிபந்தனைகள், மற்றும் தனியுரிமைக் கொள்கையை ஒப்புக்கொள்கிறீர்கள்", "ACCOUNT_NAME": { "LABEL": "கணக்கின் பெயர்", - "PLACEHOLDER": "வெய்ன் எண்டர்பிரைசஸ்", - "ERROR": "கணக்கின் பெயர் சிறியதாக உள்ளது" + "PLACEHOLDER": "Enter an account name. eg: Wayne Enterprises", + "ERROR": "Account name is too short" + }, + "FULL_NAME": { + "LABEL": "Full name", + "PLACEHOLDER": "Enter your full name. eg: Bruce Wayne", + "ERROR": "Full name is too short" }, "EMAIL": { - "LABEL": "இமெயில்", - "PLACEHOLDER": "bruce@wayne.enterprises", - "ERROR": "இமெயில் முகவரி தவறானது" + "LABEL": "Work email", + "PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises", + "ERROR": "Email address is invalid" }, "PASSWORD": { "LABEL": "பாஸ்வேர்ட்", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "வூட் சர்வருடன் இணைக்க முடியவில்ல, மீண்டும் முயற்சிக்கவும்" }, "SUBMIT": "சமர்பிக்கவும்", - "FEATURES": { - "UNLIMITED_INBOXES": "Unlimited inboxes", - "ROBUST_REPORTING": "Robust Reporting", - "CANNED_RESPONSES": "பதிவு செய்யப்பட்ட பதில்கள்", - "AUTO_ASSIGNMENT": "Auto Assignment", - "SECURITY": "Enterprise level security" - } + "HAVE_AN_ACCOUNT": "Already have an account?" } } diff --git a/app/javascript/dashboard/i18n/locale/th/contact.json b/app/javascript/dashboard/i18n/locale/th/contact.json index d7b2c0b97..3ffd3a65d 100644 --- a/app/javascript/dashboard/i18n/locale/th/contact.json +++ b/app/javascript/dashboard/i18n/locale/th/contact.json @@ -11,6 +11,7 @@ "OS": "ระบบปฏิบัติการ", "INITIATED_FROM": "Initiated from", "INITIATED_AT": "Initiated at", + "IP_ADDRESS": "IP Address", "CONVERSATIONS": { "NO_RECORDS_FOUND": "ไม่มีการสนทนาก่อนหน้านี้ที่เชื่อมโยงกับผู้ติดต่อนี้", "TITLE": "การสนทนาก่อนหน้า" diff --git a/app/javascript/dashboard/i18n/locale/th/conversation.json b/app/javascript/dashboard/i18n/locale/th/conversation.json index 74b06e585..706c6b4a4 100644 --- a/app/javascript/dashboard/i18n/locale/th/conversation.json +++ b/app/javascript/dashboard/i18n/locale/th/conversation.json @@ -24,6 +24,7 @@ "REPLYING_TO": "คุณกำลังตอบกลับ:", "REMOVE_SELECTION": "ลบตัวเลือก", "DOWNLOAD": "ดาวโหลด", + "UPLOADING_ATTACHMENTS": "Uploading attachments...", "HEADER": { "RESOLVE_ACTION": "เสร็จสิ้น", "REOPEN_ACTION": "เปิดใหม่อีกครั้ง", @@ -40,7 +41,10 @@ "PRIVATE_NOTE": "โน้ตส่วนตัว", "SEND": "ส่ง", "CREATE": "เพิ่มโน้ต", - "TWEET": "ทวิต" + "TWEET": "ทวิต", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, "VISIBLE_TO_AGENTS": "โน้ตส่วนตัว: มีเพียงคุณและทีมเท่านั้นที่มองเห็นได้", "CHANGE_STATUS": "สถานะการสนทนามีการเปลี่ยนเเปลง", diff --git a/app/javascript/dashboard/i18n/locale/th/generalSettings.json b/app/javascript/dashboard/i18n/locale/th/generalSettings.json index 1b2d21a85..7b8481828 100644 --- a/app/javascript/dashboard/i18n/locale/th/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/th/generalSettings.json @@ -42,7 +42,8 @@ "INBOUND_EMAIL_ENABLED": "การสนทนาด้วยอีเมล์ถูกเปิดสำหรับบัญชีของคุณ", "CUSTOM_EMAIL_DOMAIN_ENABLED": "คุณสามารถรับอีเมล์ในโดเมนเเบบกำหนดเองได้เเล้ว" } - } + }, + "UPDATE_CHATWOOT": "An update %{latestChatwootVersion} for Chatwoot is available. Please update your instance." }, "FORMS": { "MULTISELECT": { diff --git a/app/javascript/dashboard/i18n/locale/th/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/th/inboxMgmt.json index f741afa2c..e355fa6ff 100644 --- a/app/javascript/dashboard/i18n/locale/th/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/th/inboxMgmt.json @@ -241,7 +241,9 @@ "AUTO_ASSIGNMENT": "Enable auto assignment", "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." + "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 validate the users identity, the SDK allows you to pass an `identity_hash` for each user. You can generate HMAC using 'sha256' with the key shown here." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reauthorize", diff --git a/app/javascript/dashboard/i18n/locale/th/index.js b/app/javascript/dashboard/i18n/locale/th/index.js new file mode 100644 index 000000000..5dfc44e4b --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/th/index.js @@ -0,0 +1,33 @@ +import { default as _agentMgmt } from './agentMgmt.json'; +import { default as _labelsMgmt } from './labelsMgmt.json'; +import { default as _cannedMgmt } from './cannedMgmt.json'; +import { default as _chatlist } from './chatlist.json'; +import { default as _contact } from './contact.json'; +import { default as _conversation } from './conversation.json'; +import { default as _inboxMgmt } from './inboxMgmt.json'; +import { default as _login } from './login.json'; +import { default as _report } from './report.json'; +import { default as _resetPassword } from './resetPassword.json'; +import { default as _setNewPassword } from './setNewPassword.json'; +import { default as _settings } from './settings.json'; +import { default as _signup } from './signup.json'; +import { default as _integrations } from './integrations.json'; +import { default as _generalSettings } from './generalSettings.json'; + +export default { + ..._agentMgmt, + ..._cannedMgmt, + ..._chatlist, + ..._contact, + ..._conversation, + ..._inboxMgmt, + ..._login, + ..._report, + ..._labelsMgmt, + ..._resetPassword, + ..._setNewPassword, + ..._settings, + ..._signup, + ..._integrations, + ..._generalSettings, +}; diff --git a/app/javascript/dashboard/i18n/locale/th/settings.json b/app/javascript/dashboard/i18n/locale/th/settings.json index e2e4d2428..9c562e0fd 100644 --- a/app/javascript/dashboard/i18n/locale/th/settings.json +++ b/app/javascript/dashboard/i18n/locale/th/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "การสนทนา", "REPORTS": "Reports", - "CONTACTS": "Contacts (Beta)", + "CONTACTS": "Contacts", "SETTINGS": "Settings", "HOME": "Home", "AGENTS": "พนักงาน", diff --git a/app/javascript/dashboard/i18n/locale/th/signup.json b/app/javascript/dashboard/i18n/locale/th/signup.json index b5c0fba5d..320ef422c 100644 --- a/app/javascript/dashboard/i18n/locale/th/signup.json +++ b/app/javascript/dashboard/i18n/locale/th/signup.json @@ -4,14 +4,19 @@ "TITLE": "Register", "TERMS_ACCEPT": "By signing up, you agree to our T & C and Privacy policy", "ACCOUNT_NAME": { - "LABEL": "Account Name", - "PLACEHOLDER": "Wayne Enterprises", - "ERROR": "Account Name is too short" + "LABEL": "ชื่อบัญชี", + "PLACEHOLDER": "Enter an account name. eg: Wayne Enterprises", + "ERROR": "Account name is too short" + }, + "FULL_NAME": { + "LABEL": "Full name", + "PLACEHOLDER": "Enter your full name. eg: Bruce Wayne", + "ERROR": "Full name is too short" }, "EMAIL": { - "LABEL": "Email", - "PLACEHOLDER": "bruce@wayne.enterprises", - "ERROR": "Email is invalid" + "LABEL": "Work email", + "PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises", + "ERROR": "Email address is invalid" }, "PASSWORD": { "LABEL": "Password", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "ไม่สามารถเชื่อมต่อเซิฟเวอร์ได้โปรดลองอีกครั้งในภายหลัง" }, "SUBMIT": "ส่ง", - "FEATURES": { - "UNLIMITED_INBOXES": "Unlimited inboxes", - "ROBUST_REPORTING": "Robust Reporting", - "CANNED_RESPONSES": "คำตอบสำเร็จรูป", - "AUTO_ASSIGNMENT": "Auto Assignment", - "SECURITY": "Enterprise level security" - } + "HAVE_AN_ACCOUNT": "Already have an account?" } } diff --git a/app/javascript/dashboard/i18n/locale/tr/contact.json b/app/javascript/dashboard/i18n/locale/tr/contact.json index df94b36a0..0b54caad6 100644 --- a/app/javascript/dashboard/i18n/locale/tr/contact.json +++ b/app/javascript/dashboard/i18n/locale/tr/contact.json @@ -11,6 +11,7 @@ "OS": "İşletim sistemi", "INITIATED_FROM": "Başlatıldı", "INITIATED_AT": "Başlatıldı", + "IP_ADDRESS": "IP Adresi", "CONVERSATIONS": { "NO_RECORDS_FOUND": "Bu kişiyle ilişkilendirilmiş önceki görüşme yok.", "TITLE": "Önceki Sohbetler" diff --git a/app/javascript/dashboard/i18n/locale/tr/conversation.json b/app/javascript/dashboard/i18n/locale/tr/conversation.json index d029406e0..203f35f40 100644 --- a/app/javascript/dashboard/i18n/locale/tr/conversation.json +++ b/app/javascript/dashboard/i18n/locale/tr/conversation.json @@ -24,6 +24,7 @@ "REPLYING_TO": "Cevap veriyorsun:", "REMOVE_SELECTION": "Seçimi Kaldır", "DOWNLOAD": "İndir", + "UPLOADING_ATTACHMENTS": "Uploading attachments...", "HEADER": { "RESOLVE_ACTION": "Çözüldü", "REOPEN_ACTION": "Yeniden aç", @@ -40,7 +41,10 @@ "PRIVATE_NOTE": "Özel Not", "SEND": "Gönder", "CREATE": "Not ekle", - "TWEET": "Tweet" + "TWEET": "Tweet", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, "VISIBLE_TO_AGENTS": "Özel Not: Yalnızca siz ve ekibiniz tarafından görülebilir", "CHANGE_STATUS": "Görüşme durumu değişti", diff --git a/app/javascript/dashboard/i18n/locale/tr/generalSettings.json b/app/javascript/dashboard/i18n/locale/tr/generalSettings.json index f3b51eb44..2f55cdbd2 100644 --- a/app/javascript/dashboard/i18n/locale/tr/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/tr/generalSettings.json @@ -42,7 +42,8 @@ "INBOUND_EMAIL_ENABLED": "Hesabınız için e-postalarla görüşme sürekliliği etkinleştirildi.", "CUSTOM_EMAIL_DOMAIN_ENABLED": "Artık özel alan adınızda e-postalar alabilirsiniz." } - } + }, + "UPDATE_CHATWOOT": "An update %{latestChatwootVersion} for Chatwoot is available. Please update your instance." }, "FORMS": { "MULTISELECT": { diff --git a/app/javascript/dashboard/i18n/locale/tr/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/tr/inboxMgmt.json index eeeba70b6..144a35c5c 100644 --- a/app/javascript/dashboard/i18n/locale/tr/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/tr/inboxMgmt.json @@ -241,7 +241,9 @@ "AUTO_ASSIGNMENT": "Otomatik atamayı etkinleştir", "INBOX_UPDATE_TITLE": "Gelen Kutusu Ayarları", "INBOX_UPDATE_SUB_TEXT": "Gelen kutusu ayarlarınızı güncelleyin", - "AUTO_ASSIGNMENT_SUB_TEXT": "Bu gelen kutusuna eklenen aracılara yeni görüşmelerin otomatik olarak atanmasını etkinleştirin veya devre dışı bırakın." + "AUTO_ASSIGNMENT_SUB_TEXT": "Bu gelen kutusuna eklenen aracılara yeni görüşmelerin otomatik olarak atanmasını etkinleştirin veya devre dışı bırakın.", + "HMAC_VERIFICATION": "User Identity Validation", + "HMAC_DESCRIPTION": "Inorder validate the users identity, the SDK allows you to pass an `identity_hash` for each user. You can generate HMAC using 'sha256' with the key shown here." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Yeniden yetkilendir", diff --git a/app/javascript/dashboard/i18n/locale/tr/report.json b/app/javascript/dashboard/i18n/locale/tr/report.json index 56d1a2619..4fdde60fe 100644 --- a/app/javascript/dashboard/i18n/locale/tr/report.json +++ b/app/javascript/dashboard/i18n/locale/tr/report.json @@ -1,21 +1,21 @@ { "REPORT": { "HEADER": "Raporlar", - "LOADING_CHART": "Grafik verileri yükleniyor ...", + "LOADING_CHART": "Grafik verileri yükleniyor...", "NO_ENOUGH_DATA": "Rapor oluşturmak için yeterli veri yok, Lütfen daha sonra tekrar deneyin.", - "DOWNLOAD_AGENT_REPORTS": "Download agent reports", + "DOWNLOAD_AGENT_REPORTS": "Etken raporları indir", "METRICS": { "CONVERSATIONS": { "NAME": "Konuşmalar", - "DESC": "( Toplam )\n" + "DESC": "( Toplam )" }, "INCOMING_MESSAGES": { "NAME": "Gelen Mesajlar", - "DESC": "( Toplam )\n" + "DESC": "( Toplam )" }, "OUTGOING_MESSAGES": { "NAME": "Giden Mesajlar", - "DESC": "( Toplam )\n" + "DESC": "( Toplam )" }, "FIRST_RESPONSE_TIME": { "NAME": "İlk yanıt süresi", @@ -27,7 +27,7 @@ }, "RESOLUTION_COUNT": { "NAME": "Çözünürlük Sayısı", - "DESC": "( Toplam )\n" + "DESC": "( Toplam )" } }, "DATE_RANGE": [ diff --git a/app/javascript/dashboard/i18n/locale/tr/settings.json b/app/javascript/dashboard/i18n/locale/tr/settings.json index f31c6bf43..571c52b27 100644 --- a/app/javascript/dashboard/i18n/locale/tr/settings.json +++ b/app/javascript/dashboard/i18n/locale/tr/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "Konuşmalar", "REPORTS": "Raporlar", - "CONTACTS": "Kişiler (Beta)", + "CONTACTS": "Kişiler", "SETTINGS": "Ayarlar", "HOME": "Anasayfa", "AGENTS": "Kullanıcılar", diff --git a/app/javascript/dashboard/i18n/locale/tr/signup.json b/app/javascript/dashboard/i18n/locale/tr/signup.json index 83788609e..497b62d92 100644 --- a/app/javascript/dashboard/i18n/locale/tr/signup.json +++ b/app/javascript/dashboard/i18n/locale/tr/signup.json @@ -2,16 +2,21 @@ "REGISTER": { "TRY_WOOT": "Bir hesap oluştur", "TITLE": "Kayıt ol", - "TERMS_ACCEPT": "Kaydolarak, T & C ve Gizlilik politikası kabul etmiş olursunuz.", + "TERMS_ACCEPT": "Kaydolarak, Şartlar & Koşullar'ımızı ve Gizlilik politikamızı kabul etmiş olursunuz", "ACCOUNT_NAME": { "LABEL": "Hesap adı", - "PLACEHOLDER": "Şirketiniz", - "ERROR": "Hesap Adı çok kısa" + "PLACEHOLDER": "Hesap adınızı giriniz. örn: Wayne Enterprises", + "ERROR": "Hesap adı çok kısa" + }, + "FULL_NAME": { + "LABEL": "Ad Soyad", + "PLACEHOLDER": "Ad Soyadınızı giriniz. örn: Bruce Wayne", + "ERROR": "Ad Soyad çok kısa" }, "EMAIL": { - "LABEL": "E-Posta", - "PLACEHOLDER": "adres@site.com", - "ERROR": "e-posta geçersiz" + "LABEL": "İş emaili", + "PLACEHOLDER": "İş email adresinizi giriniz. örn: bruce@wayne.enterprises", + "ERROR": "Email adresi geçersiz" }, "PASSWORD": { "LABEL": "Parola", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "Woot Sunucusuna bağlanılamadı, Lütfen daha sonra tekrar deneyin" }, "SUBMIT": "Yolla", - "FEATURES": { - "UNLIMITED_INBOXES": "Sınırsız gelen kutusu", - "ROBUST_REPORTING": "Sağlam Raporlama", - "CANNED_RESPONSES": "Hazır Yanıtlar", - "AUTO_ASSIGNMENT": "Otomatik Atama", - "SECURITY": "Kurumsal düzeyde güvenlik" - } + "HAVE_AN_ACCOUNT": "Hesabın var mı?" } } diff --git a/app/javascript/dashboard/i18n/locale/uk/contact.json b/app/javascript/dashboard/i18n/locale/uk/contact.json index e4e336b8c..146663f13 100644 --- a/app/javascript/dashboard/i18n/locale/uk/contact.json +++ b/app/javascript/dashboard/i18n/locale/uk/contact.json @@ -11,6 +11,7 @@ "OS": "Операційна система", "INITIATED_FROM": "Почалося з", "INITIATED_AT": "Час початку", + "IP_ADDRESS": "IP Address", "CONVERSATIONS": { "NO_RECORDS_FOUND": "Не було попередніх бесід, пов'язаних з цим контактом.", "TITLE": "Попередні бесіди" diff --git a/app/javascript/dashboard/i18n/locale/uk/conversation.json b/app/javascript/dashboard/i18n/locale/uk/conversation.json index e22e08948..9db996de8 100644 --- a/app/javascript/dashboard/i18n/locale/uk/conversation.json +++ b/app/javascript/dashboard/i18n/locale/uk/conversation.json @@ -24,6 +24,7 @@ "REPLYING_TO": "You are replying to:", "REMOVE_SELECTION": "Remove Selection", "DOWNLOAD": "Звантажити", + "UPLOADING_ATTACHMENTS": "Uploading attachments...", "HEADER": { "RESOLVE_ACTION": "Вирішити", "REOPEN_ACTION": "Відкрити знову", @@ -40,7 +41,10 @@ "PRIVATE_NOTE": "Особиста нотатка", "SEND": "Надіслати", "CREATE": "Додати нотатку", - "TWEET": "Твітнути" + "TWEET": "Твітнути", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, "VISIBLE_TO_AGENTS": "Приватна нотатка: видима тільки вам та вашій команді", "CHANGE_STATUS": "Статус бесіди змінено", diff --git a/app/javascript/dashboard/i18n/locale/uk/generalSettings.json b/app/javascript/dashboard/i18n/locale/uk/generalSettings.json index 5b880f4e9..37d19aba0 100644 --- a/app/javascript/dashboard/i18n/locale/uk/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/uk/generalSettings.json @@ -42,7 +42,8 @@ "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." } - } + }, + "UPDATE_CHATWOOT": "An update %{latestChatwootVersion} for Chatwoot is available. Please update your instance." }, "FORMS": { "MULTISELECT": { diff --git a/app/javascript/dashboard/i18n/locale/uk/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/uk/inboxMgmt.json index 57738f610..fb488a413 100644 --- a/app/javascript/dashboard/i18n/locale/uk/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/uk/inboxMgmt.json @@ -241,7 +241,9 @@ "AUTO_ASSIGNMENT": "Увімкнути автопризначення", "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." + "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 validate the users identity, the SDK allows you to pass an `identity_hash` for each user. You can generate HMAC using 'sha256' with the key shown here." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Повторна авторизація", diff --git a/app/javascript/dashboard/i18n/locale/uk/settings.json b/app/javascript/dashboard/i18n/locale/uk/settings.json index 1d04a5059..d9a028405 100644 --- a/app/javascript/dashboard/i18n/locale/uk/settings.json +++ b/app/javascript/dashboard/i18n/locale/uk/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "Бесіди", "REPORTS": "Звіти", - "CONTACTS": "Contacts (Beta)", + "CONTACTS": "Contacts", "SETTINGS": "Налаштування", "HOME": "Головна", "AGENTS": "Агенти", diff --git a/app/javascript/dashboard/i18n/locale/uk/signup.json b/app/javascript/dashboard/i18n/locale/uk/signup.json index 725deb65f..5ce1e88fd 100644 --- a/app/javascript/dashboard/i18n/locale/uk/signup.json +++ b/app/javascript/dashboard/i18n/locale/uk/signup.json @@ -5,13 +5,18 @@ "TERMS_ACCEPT": "Зареєструвавшись, ви погоджуєтеся з нашими Умовами Користування та Політикою конфіденційності", "ACCOUNT_NAME": { "LABEL": "Назва облікового запису", - "PLACEHOLDER": "Wayne Enterprises", - "ERROR": "Ім'я аккаунту закоротке" + "PLACEHOLDER": "Enter an account name. eg: Wayne Enterprises", + "ERROR": "Account name is too short" + }, + "FULL_NAME": { + "LABEL": "Full name", + "PLACEHOLDER": "Enter your full name. eg: Bruce Wayne", + "ERROR": "Full name is too short" }, "EMAIL": { - "LABEL": "Email", - "PLACEHOLDER": "bruce@wayne.enterprises", - "ERROR": "Невірна адреса електронної пошти" + "LABEL": "Work email", + "PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises", + "ERROR": "Email address is invalid" }, "PASSWORD": { "LABEL": "Пароль", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "Не вдалося підключитися до Woot Server, спробуйте ще раз пізніше" }, "SUBMIT": "Додати", - "FEATURES": { - "UNLIMITED_INBOXES": "Unlimited inboxes", - "ROBUST_REPORTING": "Robust Reporting", - "CANNED_RESPONSES": "Швидкі відповіді", - "AUTO_ASSIGNMENT": "Auto Assignment", - "SECURITY": "Enterprise level security" - } + "HAVE_AN_ACCOUNT": "Already have an account?" } } diff --git a/app/javascript/dashboard/i18n/locale/vi/contact.json b/app/javascript/dashboard/i18n/locale/vi/contact.json index 30eb94cd5..624511e03 100644 --- a/app/javascript/dashboard/i18n/locale/vi/contact.json +++ b/app/javascript/dashboard/i18n/locale/vi/contact.json @@ -11,6 +11,7 @@ "OS": "Hệ điều hành", "INITIATED_FROM": "Bắt đầu từ", "INITIATED_AT": "Bắt đầu lúc", + "IP_ADDRESS": "IP Address", "CONVERSATIONS": { "NO_RECORDS_FOUND": "Không có cuộc trò chuyện trước đó được liên kết với liên hệ này.", "TITLE": "Cuộc trò chuyện trước đó" diff --git a/app/javascript/dashboard/i18n/locale/vi/conversation.json b/app/javascript/dashboard/i18n/locale/vi/conversation.json index 4e0c52785..688548695 100644 --- a/app/javascript/dashboard/i18n/locale/vi/conversation.json +++ b/app/javascript/dashboard/i18n/locale/vi/conversation.json @@ -24,6 +24,7 @@ "REPLYING_TO": "Bạn đang trả lời:", "REMOVE_SELECTION": "Xóa lựa chọn", "DOWNLOAD": "Tải xuống", + "UPLOADING_ATTACHMENTS": "Uploading attachments...", "HEADER": { "RESOLVE_ACTION": "Giải quyết", "REOPEN_ACTION": "Mở lại", @@ -40,7 +41,10 @@ "PRIVATE_NOTE": "Lưu ý riêng", "SEND": "Gửi", "CREATE": "Thêm ghi chú", - "TWEET": "Tweet" + "TWEET": "Tweet", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, "VISIBLE_TO_AGENTS": "Lưu ý riêng: Chỉ hiển thị với bạn và nhóm của bạn", "CHANGE_STATUS": "Trạng thái cuộc trò chuyện đã thay đổi", diff --git a/app/javascript/dashboard/i18n/locale/vi/generalSettings.json b/app/javascript/dashboard/i18n/locale/vi/generalSettings.json index 9621eebea..72de27414 100644 --- a/app/javascript/dashboard/i18n/locale/vi/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/vi/generalSettings.json @@ -42,7 +42,8 @@ "INBOUND_EMAIL_ENABLED": "Tính liên tục của cuộc trò chuyện với email được kích hoạt cho tài khoản của bạn.", "CUSTOM_EMAIL_DOMAIN_ENABLED": "Bạn có thể nhận email trong miền tùy chỉnh của mình ngay bây giờ." } - } + }, + "UPDATE_CHATWOOT": "An update %{latestChatwootVersion} for Chatwoot is available. Please update your instance." }, "FORMS": { "MULTISELECT": { diff --git a/app/javascript/dashboard/i18n/locale/vi/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/vi/inboxMgmt.json index 263e8bdf5..66f9582b7 100644 --- a/app/javascript/dashboard/i18n/locale/vi/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/vi/inboxMgmt.json @@ -241,7 +241,9 @@ "AUTO_ASSIGNMENT": "Bật tự động chuyển nhượng", "INBOX_UPDATE_TITLE": "Cài đặt Hộp thư đến", "INBOX_UPDATE_SUB_TEXT": "Cập nhật cài đặt hộp thư đến của bạn", - "AUTO_ASSIGNMENT_SUB_TEXT": "Bật hoặc tắt tính năng tự động gán các cuộc hội thoại mới cho các tác nhân được thêm vào hộp thư đến này." + "AUTO_ASSIGNMENT_SUB_TEXT": "Bật hoặc tắt tính năng tự động gán các cuộc hội thoại mới cho các tác nhân được thêm vào hộp thư đến này.", + "HMAC_VERIFICATION": "User Identity Validation", + "HMAC_DESCRIPTION": "Inorder validate the users identity, the SDK allows you to pass an `identity_hash` for each user. You can generate HMAC using 'sha256' with the key shown here." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Ủy quyền lại", diff --git a/app/javascript/dashboard/i18n/locale/vi/settings.json b/app/javascript/dashboard/i18n/locale/vi/settings.json index d5665c23a..0e451d0c2 100644 --- a/app/javascript/dashboard/i18n/locale/vi/settings.json +++ b/app/javascript/dashboard/i18n/locale/vi/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "Cuộc trò chuyện", "REPORTS": "Báo cáo", - "CONTACTS": "Contacts (Beta)", + "CONTACTS": "Contacts", "SETTINGS": "Cài Đặt", "HOME": "Trang Chủ", "AGENTS": "Đại lý", diff --git a/app/javascript/dashboard/i18n/locale/vi/signup.json b/app/javascript/dashboard/i18n/locale/vi/signup.json index 4711d5950..9b645850b 100644 --- a/app/javascript/dashboard/i18n/locale/vi/signup.json +++ b/app/javascript/dashboard/i18n/locale/vi/signup.json @@ -4,14 +4,19 @@ "TITLE": "Đăng kí", "TERMS_ACCEPT": "Bằng cách đăng ký, bạn đồng ý với T & CChính sách bảo mật", "ACCOUNT_NAME": { - "LABEL": "Tên Tài Khoản", - "PLACEHOLDER": "Wayne Enterprises", - "ERROR": "Tên tài khoản quá ngắn" + "LABEL": "Tên tài khoản", + "PLACEHOLDER": "Enter an account name. eg: Wayne Enterprises", + "ERROR": "Account name is too short" + }, + "FULL_NAME": { + "LABEL": "Full name", + "PLACEHOLDER": "Enter your full name. eg: Bruce Wayne", + "ERROR": "Full name is too short" }, "EMAIL": { - "LABEL": "Email", - "PLACEHOLDER": "bruce@wayne.enterprises", - "ERROR": "Địa chỉ email không hợp lệ" + "LABEL": "Work email", + "PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises", + "ERROR": "Email address is invalid" }, "PASSWORD": { "LABEL": "Mật khẩu", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "Không thể kết nối với Máy chủ Woot, Vui lòng thử lại sau." }, "SUBMIT": "Gửi", - "FEATURES": { - "UNLIMITED_INBOXES": "Unlimited inboxes", - "ROBUST_REPORTING": "Robust Reporting", - "CANNED_RESPONSES": "Thư mẫu phẩn hồi", - "AUTO_ASSIGNMENT": "Auto Assignment", - "SECURITY": "Enterprise level security" - } + "HAVE_AN_ACCOUNT": "Already have an account?" } } diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/contact.json b/app/javascript/dashboard/i18n/locale/zh_CN/contact.json index cc1360e9f..977bbf804 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/contact.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/contact.json @@ -11,6 +11,7 @@ "OS": "操作系统", "INITIATED_FROM": "启动自:", "INITIATED_AT": "发起于", + "IP_ADDRESS": "IP Address", "CONVERSATIONS": { "NO_RECORDS_FOUND": "此联系人没有关联到以前的会话。", "TITLE": "上一次对话" diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/conversation.json b/app/javascript/dashboard/i18n/locale/zh_CN/conversation.json index 8543d41d0..4af0500fe 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/conversation.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/conversation.json @@ -24,6 +24,7 @@ "REPLYING_TO": "You are replying to:", "REMOVE_SELECTION": "Remove Selection", "DOWNLOAD": "下载", + "UPLOADING_ATTACHMENTS": "Uploading attachments...", "HEADER": { "RESOLVE_ACTION": "已解决", "REOPEN_ACTION": "重新打开", @@ -40,7 +41,10 @@ "PRIVATE_NOTE": "私人便笺", "SEND": "发送", "CREATE": "添加便笺", - "TWEET": "推特" + "TWEET": "推特", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, "VISIBLE_TO_AGENTS": "私人便签:仅对您和您的团队可见", "CHANGE_STATUS": "对话状态已更改", diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/generalSettings.json b/app/javascript/dashboard/i18n/locale/zh_CN/generalSettings.json index c33fe4ba0..2cb32a6c5 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/generalSettings.json @@ -42,7 +42,8 @@ "INBOUND_EMAIL_ENABLED": "您的帐户启用了与电子邮件的对话连续性。", "CUSTOM_EMAIL_DOMAIN_ENABLED": "您现在可以在您的自定义域名的电子邮件中接收消息。" } - } + }, + "UPDATE_CHATWOOT": "An update %{latestChatwootVersion} for Chatwoot is available. Please update your instance." }, "FORMS": { "MULTISELECT": { diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/zh_CN/inboxMgmt.json index 92179d94f..db9678c32 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/inboxMgmt.json @@ -241,7 +241,9 @@ "AUTO_ASSIGNMENT": "启用自动分配", "INBOX_UPDATE_TITLE": "收件箱设置", "INBOX_UPDATE_SUB_TEXT": "更新收件箱设置", - "AUTO_ASSIGNMENT_SUB_TEXT": "启用或禁用添加到此收件箱的代理人自动分配新的会话。" + "AUTO_ASSIGNMENT_SUB_TEXT": "启用或禁用添加到此收件箱的代理人自动分配新的会话。", + "HMAC_VERIFICATION": "User Identity Validation", + "HMAC_DESCRIPTION": "Inorder validate the users identity, the SDK allows you to pass an `identity_hash` for each user. You can generate HMAC using 'sha256' with the key shown here." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "重新授权", diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/settings.json b/app/javascript/dashboard/i18n/locale/zh_CN/settings.json index a813f2b30..0e34b69d9 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/settings.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "会话", "REPORTS": "报告", - "CONTACTS": "Contacts (Beta)", + "CONTACTS": "Contacts", "SETTINGS": "设置", "HOME": "首页", "AGENTS": "客服代理们", diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/signup.json b/app/javascript/dashboard/i18n/locale/zh_CN/signup.json index 55c960e1e..9cffdde98 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/signup.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/signup.json @@ -5,13 +5,18 @@ "TERMS_ACCEPT": "通过注册,您同意我们的 T & C隐私政策", "ACCOUNT_NAME": { "LABEL": "帐户名称", - "PLACEHOLDER": "Wayne企业", - "ERROR": "帐号名称太短了" + "PLACEHOLDER": "Enter an account name. eg: Wayne Enterprises", + "ERROR": "Account name is too short" + }, + "FULL_NAME": { + "LABEL": "Full name", + "PLACEHOLDER": "Enter your full name. eg: Bruce Wayne", + "ERROR": "Full name is too short" }, "EMAIL": { - "LABEL": "Email", - "PLACEHOLDER": "bruce@wayne.enterprises", - "ERROR": "电子邮件无效" + "LABEL": "Work email", + "PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises", + "ERROR": "Email address is invalid" }, "PASSWORD": { "LABEL": "密码", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "无法连接服务器,请稍后再试" }, "SUBMIT": "提交", - "FEATURES": { - "UNLIMITED_INBOXES": "Unlimited inboxes", - "ROBUST_REPORTING": "Robust Reporting", - "CANNED_RESPONSES": "预设回复", - "AUTO_ASSIGNMENT": "Auto Assignment", - "SECURITY": "Enterprise level security" - } + "HAVE_AN_ACCOUNT": "Already have an account?" } } diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/contact.json b/app/javascript/dashboard/i18n/locale/zh_TW/contact.json index ab6e04a5b..dc0bfbbbb 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/contact.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/contact.json @@ -11,6 +11,7 @@ "OS": "操作系统", "INITIATED_FROM": "啟動自:", "INITIATED_AT": "發起於", + "IP_ADDRESS": "IP Address", "CONVERSATIONS": { "NO_RECORDS_FOUND": "此聯繫人没有關聯到以前的會話。", "TITLE": "上一次對話" diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/conversation.json b/app/javascript/dashboard/i18n/locale/zh_TW/conversation.json index 9cda190e3..700d252ea 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/conversation.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/conversation.json @@ -24,6 +24,7 @@ "REPLYING_TO": "You are replying to:", "REMOVE_SELECTION": "Remove Selection", "DOWNLOAD": "下載", + "UPLOADING_ATTACHMENTS": "Uploading attachments...", "HEADER": { "RESOLVE_ACTION": "已解決", "REOPEN_ACTION": "重新打開", @@ -40,7 +41,10 @@ "PRIVATE_NOTE": "私人筆記", "SEND": "發送", "CREATE": "建立筆記", - "TWEET": "推特" + "TWEET": "推特", + "TIP_FORMAT_ICON": "Show rich text editor", + "TIP_EMOJI_ICON": "Show emoji selector", + "TIP_ATTACH_ICON": "Attach files" }, "VISIBLE_TO_AGENTS": "私人筆記:僅對您和您的團隊可以看見", "CHANGE_STATUS": "對話狀態已更改", diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/generalSettings.json b/app/javascript/dashboard/i18n/locale/zh_TW/generalSettings.json index 1cf17156f..5ad4e24b9 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/generalSettings.json @@ -42,7 +42,8 @@ "INBOUND_EMAIL_ENABLED": "您的帳戶啟用了電子信箱與對話的持續性功能。", "CUSTOM_EMAIL_DOMAIN_ENABLED": "您現在可以在您的自定義域名的電子信箱中接收消息。" } - } + }, + "UPDATE_CHATWOOT": "An update %{latestChatwootVersion} for Chatwoot is available. Please update your instance." }, "FORMS": { "MULTISELECT": { diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/zh_TW/inboxMgmt.json index 0ddd31511..a261c2d05 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/inboxMgmt.json @@ -241,7 +241,9 @@ "AUTO_ASSIGNMENT": "啟用自動分配", "INBOX_UPDATE_TITLE": "收件匣設定", "INBOX_UPDATE_SUB_TEXT": "更新收件匣設定", - "AUTO_ASSIGNMENT_SUB_TEXT": "啟用或停用建立到此收件匣的代理人自動分配新的會話。" + "AUTO_ASSIGNMENT_SUB_TEXT": "啟用或停用建立到此收件匣的代理人自動分配新的會話。", + "HMAC_VERIFICATION": "User Identity Validation", + "HMAC_DESCRIPTION": "Inorder validate the users identity, the SDK allows you to pass an `identity_hash` for each user. You can generate HMAC using 'sha256' with the key shown here." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "重新授權", diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/settings.json b/app/javascript/dashboard/i18n/locale/zh_TW/settings.json index b2198d9a7..aea65842e 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/settings.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "會話", "REPORTS": "報表", - "CONTACTS": "Contacts (Beta)", + "CONTACTS": "Contacts", "SETTINGS": "設定", "HOME": "首頁", "AGENTS": "客服代理們", diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/signup.json b/app/javascript/dashboard/i18n/locale/zh_TW/signup.json index 27f5106ed..e2d730eb0 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/signup.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/signup.json @@ -5,13 +5,18 @@ "TERMS_ACCEPT": "通過註冊,您同意我們的 T & C隱私政策", "ACCOUNT_NAME": { "LABEL": "帳戶名稱", - "PLACEHOLDER": "Wayne 企業", - "ERROR": "帳戶名稱太短了" + "PLACEHOLDER": "Enter an account name. eg: Wayne Enterprises", + "ERROR": "Account name is too short" + }, + "FULL_NAME": { + "LABEL": "Full name", + "PLACEHOLDER": "Enter your full name. eg: Bruce Wayne", + "ERROR": "Full name is too short" }, "EMAIL": { - "LABEL": "Email", - "PLACEHOLDER": "bruce@wayne.enterprises", - "ERROR": "電子信箱無效" + "LABEL": "Work email", + "PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises", + "ERROR": "Email address is invalid" }, "PASSWORD": { "LABEL": "密碼", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "無法連接伺服器,請稍後再試" }, "SUBMIT": "送出", - "FEATURES": { - "UNLIMITED_INBOXES": "Unlimited inboxes", - "ROBUST_REPORTING": "Robust Reporting", - "CANNED_RESPONSES": "預設回覆", - "AUTO_ASSIGNMENT": "Auto Assignment", - "SECURITY": "Enterprise level security" - } + "HAVE_AN_ACCOUNT": "Already have an account?" } } diff --git a/app/javascript/dashboard/routes/auth/Signup.vue b/app/javascript/dashboard/routes/auth/Signup.vue index 1c3835596..ed6743c62 100644 --- a/app/javascript/dashboard/routes/auth/Signup.vue +++ b/app/javascript/dashboard/routes/auth/Signup.vue @@ -11,73 +11,54 @@
-
- -
-
-