Merge branch 'release/1.8.0' into master

This commit is contained in:
Sojan 2020-09-14 18:10:02 +05:30
commit c9a56f1f02
357 changed files with 8813 additions and 3065 deletions

View file

@ -4,6 +4,9 @@ SECRET_KEY_BASE=replace_with_lengthy_secure_hex
# Replace with the URL you are planning to use for your app # Replace with the URL you are planning to use for your app
FRONTEND_URL=http://0.0.0.0:3000 FRONTEND_URL=http://0.0.0.0:3000
# If you plan to use CDN for your assets, set Asset CDN Host
ASSET_CDN_HOST=
# Force all access to the app over SSL, default is set to false # Force all access to the app over SSL, default is set to false
FORCE_SSL=false FORCE_SSL=false
@ -103,7 +106,7 @@ IOS_APP_ID=6C953F3RX2.com.chatwoot.app
# VAPID_PUBLIC_KEY= # VAPID_PUBLIC_KEY=
# VAPID_PRIVATE_KEY= # VAPID_PRIVATE_KEY=
# #
# for mobile apps # for mobile apps
# FCM_SERVER_KEY= # FCM_SERVER_KEY=
## Bot Customizations ## Bot Customizations

View file

@ -2,15 +2,16 @@
name: Bug report name: Bug report
about: Create a report to help us improve about: Create a report to help us improve
title: '' title: ''
labels: '' labels: 'Bug'
assignees: '' assignees: ''
--- ---
**Describe the bug** **Describe the bug**
A clear and concise description of what the bug is. A clear and concise description of what the bug is.
**To Reproduce** **To Reproduce**
Steps to reproduce the behavior: Steps to reproduce the behavior:
1. Go to '...' 1. Go to '...'
2. Click on '....' 2. Click on '....'
@ -18,11 +19,17 @@ Steps to reproduce the behavior:
4. See error 4. See error
**Expected behavior** **Expected behavior**
A clear and concise description of what you expected to happen. A clear and concise description of what you expected to happen.
**Screenshots** **Screenshots**
If applicable, add screenshots to help explain your problem. If applicable, add screenshots to help explain your problem.
**Environment**
Describe whether you are using Chatwoot Cloud (app.chatwoot.com) or a self hosted installation of Chatwoot. If you are using a self hosted installation of Chatwoot describe the type of deployment (Docker/Linux VM installation/Heroku)
**Desktop (please complete the following information):** **Desktop (please complete the following information):**
- OS: [e.g. iOS] - OS: [e.g. iOS]
- Browser [e.g. chrome, safari] - Browser [e.g. chrome, safari]
@ -35,4 +42,5 @@ If applicable, add screenshots to help explain your problem.
- Version [e.g. 22] - Version [e.g. 22]
**Additional context** **Additional context**
Add any other context about the problem here. Add any other context about the problem here.

View file

@ -4,20 +4,8 @@ require:
- rubocop-rspec - rubocop-rspec
inherit_from: .rubocop_todo.yml inherit_from: .rubocop_todo.yml
Lint/RaiseException:
Enabled: true
Lint/StructNewOverride:
Enabled: true
Lint/DeprecatedOpenSSLConstant:
Enabled: true
Lint/MixedRegexpCaptureTypes:
Enabled: true
Layout/LineLength: Layout/LineLength:
Max: 150 Max: 150
Layout/EmptyLinesAroundAttributeAccessor:
Enabled: true
Layout/SpaceAroundMethodCallOperator:
Enabled: true
Metrics/ClassLength: Metrics/ClassLength:
Max: 125 Max: 125
@ -33,25 +21,21 @@ Style/FrozenStringLiteralComment:
Enabled: false Enabled: false
Style/SymbolArray: Style/SymbolArray:
Enabled: false Enabled: false
Style/HashEachMethods: Style/OptionalBooleanParameter:
Enabled: true Exclude:
Style/HashTransformKeys: - 'app/services/email_templates/db_resolver_service.rb'
Enabled: true - 'app/dispatchers/dispatcher.rb'
Style/HashTransformValues:
Enabled: true
Style/RedundantFetchBlock:
Enabled: true
Style/RedundantRegexpCharacterClass:
Enabled: true
Style/RedundantRegexpEscape:
Enabled: true
Style/SlicingWithRange:
Enabled: true
Style/GlobalVars: Style/GlobalVars:
Exclude: Exclude:
- 'config/initializers/redis.rb' - 'config/initializers/redis.rb'
- 'lib/redis/alfred.rb' - 'lib/redis/alfred.rb'
- 'lib/global_config.rb' - 'lib/global_config.rb'
Style/ClassVars:
Exclude:
- 'app/services/email_templates/db_resolver_service.rb'
Lint/MissingSuper:
Exclude:
- 'app/drops/base_drop.rb'
Metrics/BlockLength: Metrics/BlockLength:
Exclude: Exclude:
- spec/**/* - spec/**/*
@ -87,8 +71,11 @@ Style/GuardClause:
- 'db/migrate/20190819005836_add_missing_indexes_on_taggings.acts_as_taggable_on_engine.rb' - 'db/migrate/20190819005836_add_missing_indexes_on_taggings.acts_as_taggable_on_engine.rb'
Metrics/AbcSize: Metrics/AbcSize:
Exclude: Exclude:
- 'app/controllers/concerns/auth_helper.rb'
- 'db/migrate/20190819005836_add_missing_indexes_on_taggings.acts_as_taggable_on_engine.rb' - 'db/migrate/20190819005836_add_missing_indexes_on_taggings.acts_as_taggable_on_engine.rb'
- 'db/migrate/20161123131628_devise_token_auth_create_users.rb'
Metrics/CyclomaticComplexity: Metrics/CyclomaticComplexity:
Max: 7
Exclude: Exclude:
- 'db/migrate/20190819005836_add_missing_indexes_on_taggings.acts_as_taggable_on_engine.rb' - 'db/migrate/20190819005836_add_missing_indexes_on_taggings.acts_as_taggable_on_engine.rb'
Rails/ReversibleMigration: Rails/ReversibleMigration:
@ -115,9 +102,16 @@ Rails/UniqueValidationWithoutIndex:
Exclude: Exclude:
- 'app/models/channel/twitter_profile.rb' - 'app/models/channel/twitter_profile.rb'
- 'app/models/webhook.rb' - 'app/models/webhook.rb'
Rails/RenderInline:
Exclude:
- 'app/controllers/swagger_controller.rb'
RSpec/NamedSubject: RSpec/NamedSubject:
Enabled: false Enabled: false
# we should bring this down
RSpec/MultipleMemoizedHelpers:
Max: 12
AllCops: AllCops:
NewCops: enable
Exclude: Exclude:
- 'bin/**/*' - 'bin/**/*'
- 'db/schema.rb' - 'db/schema.rb'
@ -129,3 +123,4 @@ AllCops:
- 'config/environments/**/*' - 'config/environments/**/*'
- 'tmp/**/*' - 'tmp/**/*'
- 'storage/**/*' - 'storage/**/*'
- 'db/migrate/20200225162150_init_schema.rb'

View file

@ -48,6 +48,8 @@ gem 'dotenv-rails'
gem 'foreman' gem 'foreman'
gem 'puma' gem 'puma'
gem 'webpacker', '~> 5.x' gem 'webpacker', '~> 5.x'
# metrics on heroku
gem 'barnes'
##--- gems for authentication & authorization ---## ##--- gems for authentication & authorization ---##
gem 'devise' gem 'devise'
@ -63,7 +65,8 @@ gem 'administrate'
gem 'wisper', '2.0.0' gem 'wisper', '2.0.0'
##--- gems for channels ---## ##--- gems for channels ---##
gem 'facebook-messenger' # TODO: bump up gem to 2.0
gem 'facebook-messenger', '1.5.0'
gem 'telegram-bot-ruby' gem 'telegram-bot-ruby'
gem 'twilio-ruby', '~> 5.32.0' gem 'twilio-ruby', '~> 5.32.0'
# twitty will handle subscription of twitter account events # twitty will handle subscription of twitter account events
@ -95,6 +98,9 @@ group :development do
# used in swagger build # used in swagger build
gem 'json_refs', git: 'https://github.com/tzmfreedom/json_refs', ref: 'e32deb0' gem 'json_refs', git: 'https://github.com/tzmfreedom/json_refs', ref: 'e32deb0'
# When we want to squash migrations
gem 'squasher'
end end
group :test do group :test do

View file

@ -18,56 +18,56 @@ GEM
specs: specs:
action-cable-testing (0.6.1) action-cable-testing (0.6.1)
actioncable (>= 5.0) actioncable (>= 5.0)
actioncable (6.0.3.2) actioncable (6.0.3.3)
actionpack (= 6.0.3.2) actionpack (= 6.0.3.3)
nio4r (~> 2.0) nio4r (~> 2.0)
websocket-driver (>= 0.6.1) websocket-driver (>= 0.6.1)
actionmailbox (6.0.3.2) actionmailbox (6.0.3.3)
actionpack (= 6.0.3.2) actionpack (= 6.0.3.3)
activejob (= 6.0.3.2) activejob (= 6.0.3.3)
activerecord (= 6.0.3.2) activerecord (= 6.0.3.3)
activestorage (= 6.0.3.2) activestorage (= 6.0.3.3)
activesupport (= 6.0.3.2) activesupport (= 6.0.3.3)
mail (>= 2.7.1) mail (>= 2.7.1)
actionmailer (6.0.3.2) actionmailer (6.0.3.3)
actionpack (= 6.0.3.2) actionpack (= 6.0.3.3)
actionview (= 6.0.3.2) actionview (= 6.0.3.3)
activejob (= 6.0.3.2) activejob (= 6.0.3.3)
mail (~> 2.5, >= 2.5.4) mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
actionpack (6.0.3.2) actionpack (6.0.3.3)
actionview (= 6.0.3.2) actionview (= 6.0.3.3)
activesupport (= 6.0.3.2) activesupport (= 6.0.3.3)
rack (~> 2.0, >= 2.0.8) rack (~> 2.0, >= 2.0.8)
rack-test (>= 0.6.3) rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0)
actiontext (6.0.3.2) actiontext (6.0.3.3)
actionpack (= 6.0.3.2) actionpack (= 6.0.3.3)
activerecord (= 6.0.3.2) activerecord (= 6.0.3.3)
activestorage (= 6.0.3.2) activestorage (= 6.0.3.3)
activesupport (= 6.0.3.2) activesupport (= 6.0.3.3)
nokogiri (>= 1.8.5) nokogiri (>= 1.8.5)
actionview (6.0.3.2) actionview (6.0.3.3)
activesupport (= 6.0.3.2) activesupport (= 6.0.3.3)
builder (~> 3.1) builder (~> 3.1)
erubi (~> 1.4) erubi (~> 1.4)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.1, >= 1.2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0)
activejob (6.0.3.2) activejob (6.0.3.3)
activesupport (= 6.0.3.2) activesupport (= 6.0.3.3)
globalid (>= 0.3.6) globalid (>= 0.3.6)
activemodel (6.0.3.2) activemodel (6.0.3.3)
activesupport (= 6.0.3.2) activesupport (= 6.0.3.3)
activerecord (6.0.3.2) activerecord (6.0.3.3)
activemodel (= 6.0.3.2) activemodel (= 6.0.3.3)
activesupport (= 6.0.3.2) activesupport (= 6.0.3.3)
activestorage (6.0.3.2) activestorage (6.0.3.3)
actionpack (= 6.0.3.2) actionpack (= 6.0.3.3)
activejob (= 6.0.3.2) activejob (= 6.0.3.3)
activerecord (= 6.0.3.2) activerecord (= 6.0.3.3)
marcel (~> 0.3.1) marcel (~> 0.3.1)
activesupport (6.0.3.2) activesupport (6.0.3.3)
concurrent-ruby (~> 1.0, >= 1.0.2) concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2) i18n (>= 0.7, < 2)
minitest (~> 5.1) minitest (~> 5.1)
@ -77,7 +77,7 @@ GEM
activerecord (>= 5.0, < 6.1) activerecord (>= 5.0, < 6.1)
addressable (2.7.0) addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0) public_suffix (>= 2.0.2, < 5.0)
administrate (0.13.0) administrate (0.14.0)
actionpack (>= 4.2) actionpack (>= 4.2)
actionview (>= 4.2) actionview (>= 4.2)
activerecord (>= 4.2) activerecord (>= 4.2)
@ -93,23 +93,23 @@ GEM
rake (>= 10.4, < 14.0) rake (>= 10.4, < 14.0)
ast (2.4.1) ast (2.4.1)
attr_extras (6.2.4) attr_extras (6.2.4)
autoprefixer-rails (9.8.2) autoprefixer-rails (9.8.6.3)
execjs execjs
aws-eventstream (1.1.0) aws-eventstream (1.1.0)
aws-partitions (1.332.0) aws-partitions (1.360.0)
aws-sdk-core (3.100.0) aws-sdk-core (3.105.0)
aws-eventstream (~> 1, >= 1.0.2) aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.239.0) aws-partitions (~> 1, >= 1.239.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
jmespath (~> 1.0) jmespath (~> 1.0)
aws-sdk-kms (1.34.1) aws-sdk-kms (1.37.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.69.1) aws-sdk-s3 (1.79.1)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.104.3)
aws-sdk-kms (~> 1) aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sigv4 (1.2.0) aws-sigv4 (1.2.2)
aws-eventstream (~> 1, >= 1.0.2) aws-eventstream (~> 1, >= 1.0.2)
axiom-types (0.1.1) axiom-types (0.1.1)
descendants_tracker (~> 0.0.4) descendants_tracker (~> 0.0.4)
@ -122,11 +122,14 @@ GEM
faraday (~> 1.0) faraday (~> 1.0)
faraday_middleware (~> 1.0.0.rc1) faraday_middleware (~> 1.0.0.rc1)
nokogiri (~> 1.10.4) nokogiri (~> 1.10.4)
bcrypt (3.1.13) barnes (0.0.8)
multi_json (~> 1)
statsd-ruby (~> 1.1)
bcrypt (3.1.15)
bindex (0.8.1) bindex (0.8.1)
bootsnap (1.4.6) bootsnap (1.4.8)
msgpack (~> 1.0) msgpack (~> 1.0)
brakeman (4.8.2) brakeman (4.9.0)
browser (4.2.0) browser (4.2.0)
builder (3.2.4) builder (3.2.4)
bullet (6.1.0) bullet (6.1.0)
@ -146,12 +149,12 @@ GEM
crack (0.4.3) crack (0.4.3)
safe_yaml (~> 1.0.0) safe_yaml (~> 1.0.0)
crass (1.0.6) crass (1.0.6)
cypress-on-rails (1.7.0) cypress-on-rails (1.8.0)
rack rack
database_cleaner (1.8.5) database_cleaner (1.8.5)
datetime_picker_rails (0.0.7) datetime_picker_rails (0.0.7)
momentjs-rails (>= 2.8.1) momentjs-rails (>= 2.8.1)
declarative (0.0.10) declarative (0.0.20)
declarative-option (0.1.0) declarative-option (0.1.0)
descendants_tracker (0.0.4) descendants_tracker (0.0.4)
thread_safe (~> 0.3, >= 0.3.1) thread_safe (~> 0.3, >= 0.3.1)
@ -166,41 +169,42 @@ GEM
devise (> 3.5.2, < 5) devise (> 3.5.2, < 5)
rails (>= 4.2.0, < 6.1) rails (>= 4.2.0, < 6.1)
sprockets (= 3.7.2) sprockets (= 3.7.2)
diff-lcs (1.4) diff-lcs (1.4.4)
digest-crc (0.5.1) digest-crc (0.6.1)
rake (~> 13.0)
docile (1.3.2) docile (1.3.2)
domain_name (0.5.20190701) domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0) unf (>= 0.0.5, < 1.0.0)
dotenv (2.7.5) dotenv (2.7.6)
dotenv-rails (2.7.5) dotenv-rails (2.7.6)
dotenv (= 2.7.5) dotenv (= 2.7.6)
railties (>= 3.2, < 6.1) railties (>= 3.2)
equalizer (0.0.11) equalizer (0.0.11)
erubi (1.9.0) erubi (1.9.0)
execjs (2.7.0) execjs (2.7.0)
facebook-messenger (1.5.0) facebook-messenger (1.5.0)
httparty (~> 0.13, >= 0.13.7) httparty (~> 0.13, >= 0.13.7)
rack (>= 1.4.5) rack (>= 1.4.5)
factory_bot (6.0.2) factory_bot (6.1.0)
activesupport (>= 5.0.0) activesupport (>= 5.0.0)
factory_bot_rails (6.0.0) factory_bot_rails (6.1.0)
factory_bot (~> 6.0.0) factory_bot (~> 6.1.0)
railties (>= 5.0.0) railties (>= 5.0.0)
faker (2.12.0) faker (2.13.0)
i18n (>= 1.6, < 2) i18n (>= 1.6, < 2)
faraday (1.0.1) faraday (1.0.1)
multipart-post (>= 1.2, < 3) multipart-post (>= 1.2, < 3)
faraday_middleware (1.0.0) faraday_middleware (1.0.0)
faraday (~> 1.0) faraday (~> 1.0)
fcm (1.0.1) fcm (1.0.2)
faraday (~> 1.0.0) faraday (~> 1.0.0)
ffi (1.13.1) ffi (1.13.1)
flag_shih_tzu (0.3.23) flag_shih_tzu (0.3.23)
foreman (0.87.1) foreman (0.87.2)
gli (2.19.1) gli (2.19.2)
globalid (0.4.2) globalid (0.4.2)
activesupport (>= 4.2.0) activesupport (>= 4.2.0)
google-api-client (0.41.0) google-api-client (0.43.0)
addressable (~> 2.5, >= 2.5.1) addressable (~> 2.5, >= 2.5.1)
googleauth (~> 0.9) googleauth (~> 0.9)
httpclient (>= 2.8.1, < 3.0) httpclient (>= 2.8.1, < 3.0)
@ -211,24 +215,24 @@ GEM
google-cloud-core (1.5.0) google-cloud-core (1.5.0)
google-cloud-env (~> 1.0) google-cloud-env (~> 1.0)
google-cloud-errors (~> 1.0) google-cloud-errors (~> 1.0)
google-cloud-env (1.3.2) google-cloud-env (1.3.3)
faraday (>= 0.17.3, < 2.0) faraday (>= 0.17.3, < 2.0)
google-cloud-errors (1.0.1) google-cloud-errors (1.0.1)
google-cloud-storage (1.26.2) google-cloud-storage (1.28.0)
addressable (~> 2.5) addressable (~> 2.5)
digest-crc (~> 0.4) digest-crc (~> 0.4)
google-api-client (~> 0.33) google-api-client (~> 0.33)
google-cloud-core (~> 1.2) google-cloud-core (~> 1.2)
googleauth (~> 0.9) googleauth (~> 0.9)
mini_mime (~> 1.0) mini_mime (~> 1.0)
googleauth (0.13.0) googleauth (0.13.1)
faraday (>= 0.17.3, < 2.0) faraday (>= 0.17.3, < 2.0)
jwt (>= 1.4, < 3.0) jwt (>= 1.4, < 3.0)
memoist (~> 0.16) memoist (~> 0.16)
multi_json (~> 1.11) multi_json (~> 1.11)
os (>= 0.9, < 2.0) os (>= 0.9, < 2.0)
signet (~> 0.14) signet (~> 0.14)
groupdate (5.0.0) groupdate (5.1.0)
activesupport (>= 5) activesupport (>= 5)
haikunator (1.1.0) haikunator (1.1.0)
hana (1.3.6) hana (1.3.6)
@ -253,8 +257,8 @@ GEM
rails-dom-testing (>= 1, < 3) rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0) railties (>= 4.2.0)
thor (>= 0.14, < 2.0) thor (>= 0.14, < 2.0)
json (2.3.0) json (2.3.1)
jwt (2.2.1) jwt (2.2.2)
kaminari (1.2.1) kaminari (1.2.1)
activesupport (>= 4.1.0) activesupport (>= 4.1.0)
kaminari-actionview (= 1.2.1) kaminari-actionview (= 1.2.1)
@ -279,7 +283,7 @@ GEM
listen (3.2.1) listen (3.2.1)
rb-fsevent (~> 0.10, >= 0.10.3) rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10) rb-inotify (~> 0.9, >= 0.9.10)
loofah (2.6.0) loofah (2.7.0)
crass (~> 1.0.2) crass (~> 1.0.2)
nokogiri (>= 1.5.9) nokogiri (>= 1.5.9)
mail (2.7.1) mail (2.7.1)
@ -295,20 +299,20 @@ GEM
mini_magick (4.10.1) mini_magick (4.10.1)
mini_mime (1.0.2) mini_mime (1.0.2)
mini_portile2 (2.4.0) mini_portile2 (2.4.0)
minitest (5.14.1) minitest (5.14.2)
momentjs-rails (2.20.1) momentjs-rails (2.20.1)
railties (>= 3.1) railties (>= 3.1)
msgpack (1.3.3) msgpack (1.3.3)
multi_json (1.14.1) multi_json (1.15.0)
multi_xml (0.6.0) multi_xml (0.6.0)
multipart-post (2.1.1) multipart-post (2.1.1)
netrc (0.11.0) netrc (0.11.0)
nio4r (2.5.2) nio4r (2.5.3)
nokogiri (1.10.10) nokogiri (1.10.10)
mini_portile2 (~> 2.4.0) mini_portile2 (~> 2.4.0)
oauth (0.5.4) oauth (0.5.4)
orm_adapter (0.5.0) orm_adapter (0.5.0)
os (1.1.0) os (1.1.1)
parallel (1.19.2) parallel (1.19.2)
parser (2.7.1.4) parser (2.7.1.4)
ast (~> 2.4.1) ast (~> 2.4.1)
@ -328,35 +332,33 @@ GEM
rack (>= 0.4) rack (>= 0.4)
rack-cors (1.1.1) rack-cors (1.1.1)
rack (>= 2.0.0) rack (>= 2.0.0)
rack-protection (2.0.8.1)
rack
rack-proxy (0.6.5) rack-proxy (0.6.5)
rack rack
rack-test (1.1.0) rack-test (1.1.0)
rack (>= 1.0, < 3) rack (>= 1.0, < 3)
rails (6.0.3.2) rails (6.0.3.3)
actioncable (= 6.0.3.2) actioncable (= 6.0.3.3)
actionmailbox (= 6.0.3.2) actionmailbox (= 6.0.3.3)
actionmailer (= 6.0.3.2) actionmailer (= 6.0.3.3)
actionpack (= 6.0.3.2) actionpack (= 6.0.3.3)
actiontext (= 6.0.3.2) actiontext (= 6.0.3.3)
actionview (= 6.0.3.2) actionview (= 6.0.3.3)
activejob (= 6.0.3.2) activejob (= 6.0.3.3)
activemodel (= 6.0.3.2) activemodel (= 6.0.3.3)
activerecord (= 6.0.3.2) activerecord (= 6.0.3.3)
activestorage (= 6.0.3.2) activestorage (= 6.0.3.3)
activesupport (= 6.0.3.2) activesupport (= 6.0.3.3)
bundler (>= 1.3.0) bundler (>= 1.3.0)
railties (= 6.0.3.2) railties (= 6.0.3.3)
sprockets-rails (>= 2.0.0) sprockets-rails (>= 2.0.0)
rails-dom-testing (2.0.3) rails-dom-testing (2.0.3)
activesupport (>= 4.2.0) activesupport (>= 4.2.0)
nokogiri (>= 1.6) nokogiri (>= 1.6)
rails-html-sanitizer (1.3.0) rails-html-sanitizer (1.3.0)
loofah (~> 2.3) loofah (~> 2.3)
railties (6.0.3.2) railties (6.0.3.3)
actionpack (= 6.0.3.2) actionpack (= 6.0.3.3)
activesupport (= 6.0.3.2) activesupport (= 6.0.3.3)
method_source method_source
rake (>= 0.8.7) rake (>= 0.8.7)
thor (>= 0.20.3, < 2.0) thor (>= 0.20.3, < 2.0)
@ -366,7 +368,7 @@ GEM
rb-inotify (0.10.1) rb-inotify (0.10.1)
ffi (~> 1.0) ffi (~> 1.0)
redis (4.2.1) redis (4.2.1)
redis-namespace (1.7.0) redis-namespace (1.8.0)
redis (>= 3.0.4) redis (>= 3.0.4)
redis-rack-cache (2.2.1) redis-rack-cache (2.2.1)
rack-cache (>= 1.10, < 2) rack-cache (>= 1.10, < 2)
@ -405,25 +407,25 @@ GEM
rspec-mocks (~> 3.9) rspec-mocks (~> 3.9)
rspec-support (~> 3.9) rspec-support (~> 3.9)
rspec-support (3.9.3) rspec-support (3.9.3)
rubocop (0.86.0) rubocop (0.89.1)
parallel (~> 1.10) parallel (~> 1.10)
parser (>= 2.7.0.1) parser (>= 2.7.1.1)
rainbow (>= 2.2.2, < 4.0) rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.7) regexp_parser (>= 1.7)
rexml rexml
rubocop-ast (>= 0.0.3, < 1.0) rubocop-ast (>= 0.3.0, < 1.0)
ruby-progressbar (~> 1.7) ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 2.0) unicode-display_width (>= 1.4.0, < 2.0)
rubocop-ast (0.0.3) rubocop-ast (0.3.0)
parser (>= 2.7.0.1) parser (>= 2.7.1.4)
rubocop-performance (1.6.1) rubocop-performance (1.7.1)
rubocop (>= 0.71.0) rubocop (>= 0.82.0)
rubocop-rails (2.6.0) rubocop-rails (2.7.1)
activesupport (>= 4.2.0) activesupport (>= 4.2.0)
rack (>= 1.1) rack (>= 1.1)
rubocop (>= 0.82.0) rubocop (>= 0.87.0)
rubocop-rspec (1.40.0) rubocop-rspec (1.43.2)
rubocop (>= 0.68.1) rubocop (~> 0.87)
ruby-progressbar (1.10.1) ruby-progressbar (1.10.1)
safe_yaml (1.0.5) safe_yaml (1.0.5)
sass (3.7.4) sass (3.7.4)
@ -439,7 +441,7 @@ GEM
sprockets (> 3.0) sprockets (> 3.0)
sprockets-rails sprockets-rails
tilt tilt
scout_apm (2.6.7) scout_apm (2.6.9)
parser parser
scss_lint (0.59.0) scss_lint (0.59.0)
sass (~> 3.5, >= 3.5.5) sass (~> 3.5, >= 3.5.5)
@ -448,15 +450,14 @@ GEM
activesupport (>= 4) activesupport (>= 4)
selectize-rails (0.12.6) selectize-rails (0.12.6)
semantic_range (2.3.0) semantic_range (2.3.0)
sentry-raven (3.0.0) sentry-raven (3.0.3)
faraday (>= 1.0) faraday (>= 1.0)
shoulda-matchers (4.3.0) shoulda-matchers (4.4.1)
activesupport (>= 4.2.0) activesupport (>= 4.2.0)
sidekiq (6.0.7) sidekiq (6.1.1)
connection_pool (>= 2.2.2) connection_pool (>= 2.2.2)
rack (~> 2.0) rack (~> 2.0)
rack-protection (>= 2.0.0) redis (>= 4.2.0)
redis (>= 4.1.0)
signet (0.14.0) signet (0.14.0)
addressable (~> 2.3) addressable (~> 2.3)
faraday (>= 0.17.3, < 2.0) faraday (>= 0.17.3, < 2.0)
@ -467,14 +468,13 @@ GEM
json (>= 1.8, < 3) json (>= 1.8, < 3)
simplecov-html (~> 0.10.0) simplecov-html (~> 0.10.0)
simplecov-html (0.10.2) simplecov-html (0.10.2)
slack-ruby-client (0.14.6) slack-ruby-client (0.15.0)
activesupport faraday (>= 1.0)
faraday (>= 0.9)
faraday_middleware faraday_middleware
gli gli
hashie hashie
websocket-driver websocket-driver
spring (2.1.0) spring (2.1.1)
spring-watcher-listen (2.0.1) spring-watcher-listen (2.0.1)
listen (>= 2.7, < 4.0) listen (>= 2.7, < 4.0)
spring (>= 1.2, < 3.0) spring (>= 1.2, < 3.0)
@ -485,11 +485,13 @@ GEM
actionpack (>= 4.0) actionpack (>= 4.0)
activesupport (>= 4.0) activesupport (>= 4.0)
sprockets (>= 3.0.0) sprockets (>= 3.0.0)
squasher (0.6.2)
statsd-ruby (1.4.0)
telegram-bot-ruby (0.12.0) telegram-bot-ruby (0.12.0)
faraday faraday
inflecto inflecto
virtus virtus
telephone_number (1.4.7) telephone_number (1.4.9)
thor (1.0.1) thor (1.0.1)
thread_safe (0.3.6) thread_safe (0.3.6)
tilt (2.0.10) tilt (2.0.10)
@ -514,7 +516,7 @@ GEM
unf_ext (0.0.7.7) unf_ext (0.0.7.7)
unicode-display_width (1.7.0) unicode-display_width (1.7.0)
uniform_notifier (1.13.0) uniform_notifier (1.13.0)
valid_email2 (3.2.2) valid_email2 (3.3.1)
activemodel (>= 3.2) activemodel (>= 3.2)
mail (~> 2.5) mail (~> 2.5)
virtus (1.0.5) virtus (1.0.5)
@ -524,7 +526,7 @@ GEM
equalizer (~> 0.0, >= 0.0.9) equalizer (~> 0.0, >= 0.0.9)
warden (1.2.8) warden (1.2.8)
rack (>= 2.0.6) rack (>= 2.0.6)
web-console (4.0.3) web-console (4.0.4)
actionview (>= 6.0.0) actionview (>= 6.0.0)
activemodel (>= 6.0.0) activemodel (>= 6.0.0)
bindex (>= 0.4.0) bindex (>= 0.4.0)
@ -541,7 +543,7 @@ GEM
webpush (1.0.0) webpush (1.0.0)
hkdf (~> 0.2) hkdf (~> 0.2)
jwt (~> 2.0) jwt (~> 2.0)
websocket-driver (0.7.2) websocket-driver (0.7.3)
websocket-extensions (>= 0.1.0) websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5) websocket-extensions (0.1.5)
wisper (2.0.0) wisper (2.0.0)
@ -558,6 +560,7 @@ DEPENDENCIES
attr_extras attr_extras
aws-sdk-s3 aws-sdk-s3
azure-storage-blob azure-storage-blob
barnes
bootsnap bootsnap
brakeman brakeman
browser browser
@ -569,7 +572,7 @@ DEPENDENCIES
devise devise
devise_token_auth devise_token_auth
dotenv-rails dotenv-rails
facebook-messenger facebook-messenger (= 1.5.0)
factory_bot_rails factory_bot_rails
faker faker
fcm fcm
@ -615,6 +618,7 @@ DEPENDENCIES
slack-ruby-client slack-ruby-client
spring spring
spring-watcher-listen spring-watcher-listen
squasher
telegram-bot-ruby telegram-bot-ruby
telephone_number telephone_number
time_diff time_diff

View file

@ -19,4 +19,10 @@ class FacebookBot
updater.perform updater.perform
Rails.logger.info "Human was online at #{delivery.at}" Rails.logger.info "Human was online at #{delivery.at}"
end end
Bot.on :message_echo do |message|
Rails.logger.info "MESSAGE_ECHO #{message}"
response = ::Integrations::Facebook::MessageParser.new(message)
::Integrations::Facebook::MessageCreator.new(response).perform
end
end end

View file

@ -7,11 +7,12 @@
class Messages::Facebook::MessageBuilder class Messages::Facebook::MessageBuilder
attr_reader :response attr_reader :response
def initialize(response, inbox, outgoing_echo = false) def initialize(response, inbox, outgoing_echo: false)
@response = response @response = response
@inbox = inbox @inbox = inbox
@sender_id = (outgoing_echo ? @response.recipient_id : @response.sender_id) @outgoing_echo = outgoing_echo
@message_type = (outgoing_echo ? :outgoing : :incoming) @sender_id = (@outgoing_echo ? @response.recipient_id : @response.sender_id)
@message_type = (@outgoing_echo ? :outgoing : :incoming)
end end
def perform def perform
@ -50,6 +51,8 @@ class Messages::Facebook::MessageBuilder
def attach_file(attachment, file_url) def attach_file(attachment, file_url)
file_resource = LocalResource.new(file_url) file_resource = LocalResource.new(file_url)
attachment.file.attach(io: file_resource.file, filename: file_resource.tmp_filename, content_type: file_resource.encoding) attachment.file.attach(io: file_resource.file, filename: file_resource.tmp_filename, content_type: file_resource.encoding)
rescue Errno::ETIMEDOUT, Errno::ECONNREFUSED, SocketError => e
Rails.logger.info "invalid url #{file_url} : #{e.message}"
end end
def conversation def conversation
@ -118,7 +121,7 @@ class Messages::Facebook::MessageBuilder
message_type: @message_type, message_type: @message_type,
content: response.content, content: response.content,
source_id: response.identifier, source_id: response.identifier,
sender: contact sender: @outgoing_echo ? nil : contact
} }
end end

View file

@ -3,12 +3,11 @@ class Messages::MessageBuilder
attr_reader :message attr_reader :message
def initialize(user, conversation, params) def initialize(user, conversation, params)
@content = params[:content] @params = params
@private = params[:private] || false @private = params[:private] || false
@conversation = conversation @conversation = conversation
@user = user @user = user
@message_type = params[:message_type] || 'outgoing' @message_type = params[:message_type] || 'outgoing'
@content_type = params[:content_type]
@items = params.to_unsafe_h&.dig(:content_attributes, :items) @items = params.to_unsafe_h&.dig(:content_attributes, :items)
@attachments = params[:attachments] @attachments = params[:attachments]
@in_reply_to = params.to_unsafe_h&.dig(:content_attributes, :in_reply_to) @in_reply_to = params.to_unsafe_h&.dig(:content_attributes, :in_reply_to)
@ -48,12 +47,13 @@ class Messages::MessageBuilder
account_id: @conversation.account_id, account_id: @conversation.account_id,
inbox_id: @conversation.inbox_id, inbox_id: @conversation.inbox_id,
message_type: message_type, message_type: message_type,
content: @content, content: @params[:content],
private: @private, private: @private,
sender: sender, sender: sender,
content_type: @content_type, content_type: @params[:content_type],
items: @items, items: @items,
in_reply_to: @in_reply_to in_reply_to: @in_reply_to,
echo_id: @params[:echo_id]
} }
end end
end end

View file

@ -81,6 +81,8 @@ class Api::V1::Accounts::CallbacksController < Api::V1::Accounts::BaseController
avatar_resource = LocalResource.new(uri) avatar_resource = LocalResource.new(uri)
facebook_inbox.avatar.attach(io: avatar_resource.file, filename: avatar_resource.tmp_filename, content_type: avatar_resource.encoding) facebook_inbox.avatar.attach(io: avatar_resource.file, filename: avatar_resource.tmp_filename, content_type: avatar_resource.encoding)
rescue Errno::ETIMEDOUT, Errno::ECONNREFUSED, SocketError => e
Rails.logger.info "invalid url #{file_url} : #{e.message}"
end end
def get_avatar_url(page_id) def get_avatar_url(page_id)

View file

@ -1,5 +1,6 @@
class Api::V1::Accounts::ConversationsController < Api::V1::Accounts::BaseController class Api::V1::Accounts::ConversationsController < Api::V1::Accounts::BaseController
include Events::Types include Events::Types
before_action :conversation, except: [:index] before_action :conversation, except: [:index]
before_action :contact_inbox, only: [:create] before_action :contact_inbox, only: [:create]
@ -40,9 +41,10 @@ class Api::V1::Accounts::ConversationsController < Api::V1::Accounts::BaseContro
end end
def toggle_typing_status def toggle_typing_status
if params[:typing_status] == 'on' case params[:typing_status]
when 'on'
trigger_typing_event(CONVERSATION_TYPING_ON) trigger_typing_event(CONVERSATION_TYPING_ON)
elsif params[:typing_status] == 'off' when 'off'
trigger_typing_event(CONVERSATION_TYPING_OFF) trigger_typing_event(CONVERSATION_TYPING_OFF)
end end
head :ok head :ok

View file

@ -12,7 +12,7 @@ class Api::V1::Accounts::InboxMembersController < Api::V1::Accounts::BaseControl
end end
def show def show
@agents = Current.account.users.where(id: @inbox.members.pluck(:user_id)) @agents = Current.account.users.where(id: @inbox.members.select(:user_id))
end end
private private

View file

@ -91,7 +91,7 @@ class Api::V1::Accounts::InboxesController < Api::V1::Accounts::BaseController
:welcome_tagline, :welcome_tagline,
:webhook_url, :webhook_url,
:email, :email,
selected_feature_flags: [] { selected_feature_flags: [] }
]) ])
end end
end end

View file

@ -3,7 +3,7 @@ class Api::V1::Accounts::Integrations::SlackController < Api::V1::Accounts::Base
def create def create
builder = Integrations::Slack::HookBuilder.new( builder = Integrations::Slack::HookBuilder.new(
account: current_account, account: Current.account,
code: params[:code], code: params[:code],
inbox_id: params[:inbox_id] inbox_id: params[:inbox_id]
) )
@ -25,7 +25,7 @@ class Api::V1::Accounts::Integrations::SlackController < Api::V1::Accounts::Base
private private
def fetch_hook def fetch_hook
@hook = Integrations::Hook.find_by(app_id: 'slack') @hook = Integrations::Hook.where(account: Current.account).find_by(app_id: 'slack')
end end
def create_chatwoot_slack_channel def create_chatwoot_slack_channel

View file

@ -8,7 +8,7 @@ class Api::V1::Widget::ConversationsController < Api::V1::Widget::BaseController
def update_last_seen def update_last_seen
head :ok && return if conversation.nil? head :ok && return if conversation.nil?
conversation.user_last_seen_at = DateTime.now.utc conversation.contact_last_seen_at = DateTime.now.utc
conversation.save! conversation.save!
head :ok head :ok
end end
@ -26,9 +26,10 @@ class Api::V1::Widget::ConversationsController < Api::V1::Widget::BaseController
def toggle_typing def toggle_typing
head :ok && return if conversation.nil? head :ok && return if conversation.nil?
if permitted_params[:typing_status] == 'on' case permitted_params[:typing_status]
when 'on'
trigger_typing_event(CONVERSATION_TYPING_ON) trigger_typing_event(CONVERSATION_TYPING_ON)
elsif permitted_params[:typing_status] == 'off' when 'off'
trigger_typing_event(CONVERSATION_TYPING_OFF) trigger_typing_event(CONVERSATION_TYPING_OFF)
end end

View file

@ -48,6 +48,7 @@ class Api::V1::Widget::MessagesController < Api::V1::Widget::BaseController
sender: @contact, sender: @contact,
content: permitted_params[:message][:content], content: permitted_params[:message][:content],
inbox_id: conversation.inbox_id, inbox_id: conversation.inbox_id,
echo_id: permitted_params[:message][:echo_id],
message_type: :incoming message_type: :incoming
} }
end end
@ -112,11 +113,11 @@ class Api::V1::Widget::MessagesController < Api::V1::Widget::BaseController
end end
def message_update_params def message_update_params
params.permit(message: [submitted_values: [:name, :title, :value]]) params.permit(message: [{ submitted_values: [:name, :title, :value] }])
end end
def permitted_params def permitted_params
params.permit(:id, :before, :website_token, contact: [:email], message: [:content, :referer_url, :timestamp]) params.permit(:id, :before, :website_token, contact: [:email], message: [:content, :referer_url, :timestamp, :echo_id])
end end
def set_message def set_message

View file

@ -25,6 +25,6 @@ class DeviseOverrides::ConfirmationsController < Devise::ConfirmationsController
user.reset_password_token = enc user.reset_password_token = enc
user.reset_password_sent_at = Time.now.utc user.reset_password_sent_at = Time.now.utc
user.save(validate: false) user.save(validate: false)
'/app/auth/password/edit?config=default&redirect_url=&reset_password_token=' + raw "/app/auth/password/edit?config=default&redirect_url=&reset_password_token=#{raw}"
end end
end end

View file

@ -27,7 +27,7 @@ class Twitter::CallbacksController < Twitter::BaseController
end end
def account def account
@account ||= Account.find_by!(id: account_id) @account ||= Account.find(account_id)
end end
def twitter_app_redirect_url def twitter_app_redirect_url

View file

@ -9,7 +9,10 @@ class AsyncDispatcher < BaseDispatcher
end end
def listeners def listeners
listeners = [EventListener.instance, WebhookListener.instance, HookListener.instance] [
listeners EventListener.instance,
WebhookListener.instance,
InstallationWebhookListener.instance, HookListener.instance
]
end end
end end

View file

@ -67,9 +67,10 @@ class ConversationFinder
end end
def filter_by_assignee_type def filter_by_assignee_type
if @assignee_type == 'me' case @assignee_type
when 'me'
@conversations = @conversations.assigned_to(current_user) @conversations = @conversations.assigned_to(current_user)
elsif @assignee_type == 'unassigned' when 'unassigned'
@conversations = @conversations.unassigned @conversations = @conversations.unassigned
end end
@conversations @conversations

View file

@ -69,3 +69,11 @@ select {
border-top-left-radius: 0 !important; border-top-left-radius: 0 !important;
} }
} }
.justify-space-between {
justify-content: space-between;
}
.w-100 {
width: 100%;
}

View file

@ -1,3 +1,4 @@
@import '~dashboard/assets/scss/variables';
@import '~widget/assets/scss/mixins'; @import '~widget/assets/scss/mixins';
$spinner-before-border-color: rgba(255, 255, 255, 0.7); $spinner-before-border-color: rgba(255, 255, 255, 0.7);
@ -235,12 +236,3 @@ $spinner-before-border-color: rgba(255, 255, 255, 0.7);
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
} }
.justify-space-between {
justify-content: space-between;
}
.w-100 {
width: 100%;
}

View file

@ -41,6 +41,10 @@
@include flex; @include flex;
@include flex-align($x: center, $y: middle); @include flex-align($x: center, $y: middle);
&.hide {
visibility: hidden;
}
.user--name { .user--name {
@include margin(0); @include margin(0);
font-size: $font-size-medium; font-size: $font-size-medium;
@ -83,3 +87,15 @@
} }
} }
} }
.header-actions-wrap {
display: flex;
flex-direction: row;
flex-grow: 1;
justify-content: flex-end;
&.has-open-sidebar {
justify-content: flex-end;
}
}

View file

@ -103,11 +103,6 @@
} }
} }
.emojione {
height: $font-size-medium;
width: $font-size-medium;
}
.conversation-wrap { .conversation-wrap {
@include background-gray; @include background-gray;
@include margin(0); @include margin(0);

View file

@ -1,107 +0,0 @@
@import '../variables';
@import '../mixins';
.emoji-dialog {
@include elegant-card;
background: $color-white;
box-sizing: content-box;
position: absolute;
right: 0;
top: -22rem;
width: 28.6rem;
&::before {
@include arrow(bottom, $color-white, $space-slab);
bottom: -$space-slab;
position: absolute;
right: $space-two;
}
.emojione {
font-size: $font-size-default;
margin: $zero;
}
.emoji-row {
box-sizing: border-box;
height: 180px;
overflow-y: auto;
padding: $space-small;
.emoji {
border-radius: 4px;
display: inline-block;
padding: 5px;
}
.emojione {
cursor: pointer;
float: left;
margin: .6rem;
}
}
.emoji-category-title {
color: $color-heading;
font-size: $font-size-small;
font-weight: $font-weight-medium;
margin: 0;
text-transform: capitalize;
}
.emoji-category-heading-decoration {
text-align: right;
}
}
.emoji-dialog-header {
background-color: $color-body;
border-top-left-radius: $space-small;
border-top-right-radius: $space-small;
padding: $zero $space-smaller;
ul {
display: flex;
list-style: none;
margin: 0;
padding: $space-smaller 0 0;
>li {
align-items: center;
cursor: pointer;
display: flex;
height: $space-medium;
justify-content: center;
padding: $space-smaller $space-small;
}
.emojione {
height: $space-two;
width: $space-normal;
}
>.active {
background: $color-white;
border-top-left-radius: $space-small;
border-top-right-radius: $space-small;
}
img,
svg {
filter: grayscale(100%);
}
}
.active {
img,
svg {
filter: grayscale(0);
}
}
>* {
display: table-cell;
vertical-align: middle;
}
}

View file

@ -1,6 +1,6 @@
<template> <template>
<div class="conv-header"> <div class="conv-header">
<div v-if="!isContactPanelOpen" class="user"> <div class="user" :class="{ hide: isContactPanelOpen }">
<Thumbnail <Thumbnail
:src="currentContact.thumbnail" :src="currentContact.thumbnail"
size="40px" size="40px"
@ -25,8 +25,8 @@
</div> </div>
</div> </div>
<div <div
class="flex-container" class="header-actions-wrap"
:class="{ 'justify-space-between w-100': isContactPanelOpen }" :class="{ 'has-open-sidebar': isContactPanelOpen }"
> >
<div class="multiselect-box ion-headphone"> <div class="multiselect-box ion-headphone">
<multiselect <multiselect

View file

@ -49,7 +49,6 @@
</template> </template>
<script> <script>
import messageFormatterMixin from 'shared/mixins/messageFormatterMixin'; import messageFormatterMixin from 'shared/mixins/messageFormatterMixin';
import getEmojiSVG from '../emoji/utils';
import timeMixin from '../../../mixins/time'; import timeMixin from '../../../mixins/time';
import BubbleText from './bubble/Text'; import BubbleText from './bubble/Text';
import BubbleImage from './bubble/Image'; import BubbleImage from './bubble/Image';
@ -141,9 +140,6 @@ export default {
}; };
}, },
}, },
methods: {
getEmojiSVG,
},
}; };
</script> </script>
<style lang="scss"> <style lang="scss">

View file

@ -5,9 +5,8 @@
:status="currentChat.status" :status="currentChat.status"
/> />
<woot-button <woot-button
class="success more--button" class="clear more--button"
icon="ion-more" icon="ion-android-more-vertical"
:class="buttonClass"
@click="toggleConversationActions" @click="toggleConversationActions"
/> />
<div <div
@ -18,17 +17,15 @@
> >
<button <button
v-if="!currentChat.muted" v-if="!currentChat.muted"
class="button small clear row nice alert small-6 action--button" class="button small clear row alert small-6 action--button"
@click="mute" @click="mute"
> >
<i class="icon ion-volume-mute" />
<span>{{ $t('CONTACT_PANEL.MUTE_CONTACT') }}</span> <span>{{ $t('CONTACT_PANEL.MUTE_CONTACT') }}</span>
</button> </button>
<button <button
class="button small clear row nice small-6 action--button" class="button small clear row small-6 action--button"
@click="toggleEmailActionsModal" @click="toggleEmailActionsModal"
> >
<i class="icon ion-ios-copy" />
{{ $t('CONTACT_PANEL.SEND_TRANSCRIPT') }} {{ $t('CONTACT_PANEL.SEND_TRANSCRIPT') }}
</button> </button>
</div> </div>
@ -46,7 +43,6 @@ import { mixin as clickaway } from 'vue-clickaway';
import alertMixin from 'shared/mixins/alertMixin'; import alertMixin from 'shared/mixins/alertMixin';
import EmailTranscriptModal from './EmailTranscriptModal'; import EmailTranscriptModal from './EmailTranscriptModal';
import ResolveAction from '../../buttons/ResolveAction'; import ResolveAction from '../../buttons/ResolveAction';
import wootConstants from '../../../constants';
export default { export default {
components: { components: {
@ -64,12 +60,6 @@ export default {
...mapGetters({ ...mapGetters({
currentChat: 'getSelectedChat', currentChat: 'getSelectedChat',
}), }),
buttonClass() {
return this.currentChat.status !== wootConstants.STATUS_TYPE.OPEN
? 'warning'
: 'success';
},
}, },
methods: { methods: {
mute() { mute() {
@ -91,11 +81,17 @@ export default {
}; };
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@import '~dashboard/assets/scss/mixins';
.more--button { .more--button {
align-items: center; align-items: center;
display: flex; display: flex;
margin-left: var(--space-smaller); margin-left: var(--space-small);
padding: var(--space-small); padding: var(--space-small);
&.clear.more--button {
color: var(--color-body);
}
} }
.actions--container { .actions--container {
@ -103,11 +99,25 @@ export default {
} }
.dropdown-pane { .dropdown-pane {
right: 0; @include elegant-card;
@include border-light;
right: -12px;
top: 48px; top: 48px;
border: 1px solid var(--s-100);
border-radius: var(--space-smaller);
width: auto; width: auto;
&::before {
@include arrow(top, var(--color-border-light), 14px);
top: -14px;
position: absolute;
right: 6px;
}
&::after {
@include arrow(top, white, var(--space-slab));
top: -12px;
position: absolute;
right: var(--space-small);
}
} }
.dropdown-pane--open { .dropdown-pane--open {
@ -119,10 +129,11 @@ export default {
display: flex; display: flex;
align-items: center; align-items: center;
width: 100%; width: 100%;
padding: var(--space-small) 0; padding: var(--space-small) var(--space-smaller);
font-size: var(--font-size-small);
.icon { .icon {
margin-right: var(--space-small); margin-right: var(--space-smaller);
min-width: var(--space-normal); min-width: var(--space-normal);
} }
} }

View file

@ -80,14 +80,11 @@
</template> </template>
<script> <script>
/* eslint no-console: 0 */
import { mapGetters } from 'vuex'; import { mapGetters } from 'vuex';
import emojione from 'emojione';
import { mixin as clickaway } from 'vue-clickaway'; import { mixin as clickaway } from 'vue-clickaway';
import FileUpload from 'vue-upload-component'; import FileUpload from 'vue-upload-component';
import EmojiInput from '../emoji/EmojiInput'; import EmojiInput from 'shared/components/emoji/EmojiInput';
import CannedResponse from './CannedResponse'; import CannedResponse from './CannedResponse';
import ResizableTextArea from 'shared/components/ResizableTextArea'; import ResizableTextArea from 'shared/components/ResizableTextArea';
import { import {
@ -284,9 +281,7 @@ export default {
this.$refs.messageInput.focus(); this.$refs.messageInput.focus();
}, },
emojiOnClick(emoji) { emojiOnClick(emoji) {
this.message = emojione.shortnameToUnicode( this.message = `${this.message}${emoji} `;
`${this.message}${emoji.shortname} `
);
}, },
clearMessage() { clearMessage() {
this.message = ''; this.message = '';

View file

@ -1,124 +0,0 @@
<template>
<div role="dialog" class="emoji-dialog">
<header class="emoji-dialog-header" role="menu">
<ul>
<li
v-for="category in categoryList"
:key="category.key"
:class="{ active: selectedKey === category.key }"
@click="changeCategory(category)"
>
<div
role="menuitem"
class="emojione"
@click="changeCategory(category)"
v-html="` ${getEmojiUnicode(`:${category.emoji}:`)}`"
></div>
</li>
</ul>
</header>
<div class="emoji-row">
<h5 class="emoji-category-title">
{{ selectedKey }}
</h5>
<div
v-for="emoji in filteredSelectedEmojis"
:key="emoji.shortname"
role="menuitem"
class="emojione"
track-by="$index"
@click="onClick(emoji)"
v-html="getEmojiUnicode(emoji.shortname)"
/>
</div>
</div>
</template>
<script>
/* eslint-disable no-restricted-syntax */
import strategy from 'emojione/emoji.json';
import categoryList from './categories';
import { getEmojiUnicode } from './utils';
export default {
props: ['onClick'],
data() {
return {
selectedKey: 'people',
categoryList,
selectedEmojis: {},
};
},
computed: {
emojis() {
const emojiArr = {};
// categorise and nest emoji
// sort ensures that modifiers appear unmodified keys
const keys = Object.keys(strategy);
for (const key of keys) {
const value = strategy[key];
// skip unknown categoryList
if (value.category !== 'modifier') {
if (!emojiArr[value.category]) emojiArr[value.category] = {};
const match = key.match(/(.*?)_tone(.*?)$/);
if (match) {
// this check is to stop the plugin from failing in the case that the
// emoji strategy miscategorizes tones - which was the case here:
const unmodifiedEmojiExists = !!emojiArr[value.category][match[1]];
if (unmodifiedEmojiExists) {
emojiArr[value.category][match[1]][match[2]] = value;
}
} else {
emojiArr[value.category][key] = [value];
}
}
}
return emojiArr;
},
filteredSelectedEmojis() {
const emojis = this.selectedEmojis;
const filteredEmojis = Object.keys(emojis)
.map(key => {
const emoji = emojis[key];
const [lastEmoji] = emoji.slice(-1);
return { ...lastEmoji, key };
})
.filter(emoji => {
const { shortname } = emoji;
if (shortname) {
return this.filterEmoji(shortname);
}
return false;
});
return filteredEmojis;
},
},
// On mount render initial emoji
mounted() {
this.getInitialEmoji();
},
methods: {
// Change category and associated emojis
changeCategory(category) {
this.selectedKey = category.key;
this.selectedEmojis = this.emojis[this.selectedKey];
},
// Filter non-existant or irregular unicode characters
filterEmoji(shortName) {
return shortName !== ':relaxed:' && shortName !== ':frowning2:';
},
// Get inital emojis
getInitialEmoji() {
this.selectedEmojis = this.emojis.people;
},
getEmojiUnicode,
},
};
</script>
<style lang="scss" scoped>
@import '~dashboard/assets/scss/widgets/emojiinput';
</style>

View file

@ -1,42 +0,0 @@
export default [ // eslint-disable-line
{
key: 'people',
title: 'People',
emoji: 'smile',
},
{
key: 'nature',
title: 'Nature',
emoji: 'hamster',
},
{
key: 'food',
title: 'Food & Drink',
emoji: 'pizza',
},
{
key: 'activity',
title: 'Activity',
emoji: 'soccer',
},
{
key: 'travel',
title: 'Travel & Places',
emoji: 'earth_americas',
},
{
key: 'objects',
title: 'Objects',
emoji: 'bulb',
},
{
key: 'symbols',
title: 'Symbols',
emoji: 'clock9',
},
{
key: 'flags',
title: 'Flags',
emoji: 'flag_gb',
},
];

View file

@ -1,9 +0,0 @@
import emojione from 'emojione';
/* eslint-disable */
export default function (value, method = 'shortnameToImage') {
return emojione[method](value);
}
export function getEmojiUnicode(value) {
return emojione.shortnameToUnicode(value);
}

View file

@ -47,7 +47,7 @@
"VALUE": "resolved" "VALUE": "resolved"
}, },
{ {
"TEXT": "Bot", "TEXT": "رد آلي",
"VALUE": "bot" "VALUE": "bot"
} }
], ],
@ -77,8 +77,8 @@
"CONTENT": "قام بمشاركة رابط" "CONTENT": "قام بمشاركة رابط"
} }
}, },
"RECEIVED_VIA_EMAIL": "Received via email", "RECEIVED_VIA_EMAIL": "تم تلقيه عبر البريد الإلكتروني",
"VIEW_TWEET_IN_TWITTER": "View tweet in Twitter", "VIEW_TWEET_IN_TWITTER": "عرض التغريدة في تويتر",
"REPLY_TO_TWEET": "Reply to this tweet" "REPLY_TO_TWEET": "الرد على هذه التغريدة"
} }
} }

View file

@ -1,5 +1,10 @@
{ {
"CONTACT_PANEL": { "CONTACT_PANEL": {
"NOT_AVAILABLE": "غير متاح",
"EMAIL_ADDRESS": "عنوان البريد الإلكتروني",
"PHONE_NUMBER": "رقم الهاتف",
"COMPANY": "الشركة",
"LOCATION": "الموقع الجغرافي",
"CONVERSATION_TITLE": "تفاصيل المحادثة", "CONVERSATION_TITLE": "تفاصيل المحادثة",
"BROWSER": "المتصفح", "BROWSER": "المتصفح",
"OS": "نظام التشغيل", "OS": "نظام التشغيل",
@ -10,7 +15,7 @@
"TITLE": "المحادثات السابقة" "TITLE": "المحادثات السابقة"
}, },
"CUSTOM_ATTRIBUTES": { "CUSTOM_ATTRIBUTES": {
"TITLE": "Custom Attributes" "TITLE": "سمات مخصصة"
}, },
"LABELS": { "LABELS": {
"TITLE": "وسوم المحادثة", "TITLE": "وسوم المحادثة",
@ -26,9 +31,66 @@
"NO_LABELS_TO_ADD": "لا يوجد وسوم في الحساب.", "NO_LABELS_TO_ADD": "لا يوجد وسوم في الحساب.",
"NO_AVAILABLE_LABELS": "لا يوجد وسوم مضافة لهذه المحادثة." "NO_AVAILABLE_LABELS": "لا يوجد وسوم مضافة لهذه المحادثة."
}, },
"MUTE_CONTACT": "Mute Conversation", "MUTE_CONTACT": "كتم المحادثة",
"MUTED_SUCCESS": "This conversation is muted for 6 hours", "MUTED_SUCCESS": "تم كتم هذه المحادثة لمدة 6 ساعات",
"SEND_TRANSCRIPT": "Send Transcript", "SEND_TRANSCRIPT": "إرسال النص",
"EDIT_LABEL": "تعديل" "EDIT_LABEL": "تعديل"
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "تعديل جهة الاتصال",
"TITLE": "تعديل جهة الاتصال",
"DESC": "تعديل تفاصيل جهة الاتصال",
"FORM": {
"SUBMIT": "إرسال",
"CANCEL": "إلغاء",
"AVATAR": {
"LABEL": "صورة الرمزية"
},
"NAME": {
"PLACEHOLDER": "أدخل الاسم الكامل لجهة الاتصال",
"LABEL": "الاسم الكامل"
},
"BIO": {
"PLACEHOLDER": "أدخل البيانات الشخصية لجهة الاتصال",
"LABEL": "البيانات الشخصية"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "أدخل عنوان البريد الإلكتروني الخاص بجهة الاتصال",
"LABEL": "عنوان البريد الإلكتروني"
},
"PHONE_NUMBER": {
"PLACEHOLDER": "أدخل رقم الهاتف الخاص بجهة الاتصال",
"LABEL": "رقم الهاتف"
},
"LOCATION": {
"PLACEHOLDER": "أدخل موقع جهة الاتصال",
"LABEL": "الموقع الجغرافي"
},
"COMPANY_NAME": {
"PLACEHOLDER": "أدخل اسم الشركة",
"LABEL": "اسم الشركة"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
"PLACEHOLDER": "أدخل اسم مستخدم فيسبوك",
"LABEL": "فيسبوك"
},
"TWITTER": {
"PLACEHOLDER": "أدخل اسم مستخدم تويتر",
"LABEL": "تويتر"
},
"LINKEDIN": {
"PLACEHOLDER": "أدخل اسم مستخدم Linkedin",
"LABEL": "LinkedIn"
},
"GITHUB": {
"PLACEHOLDER": "أدخل اسم المسستخدم في Github",
"LABEL": "Github"
}
}
},
"SUCCESS_MESSAGE": "تم تحديث جهة الاتصال بنجاح",
"CONTACT_ALREADY_EXIST": "عنوان البريد الإلكتروني هذا مستخدم لجهة اتصال أخرى.",
"ERROR_MESSAGE": "حدث خطأ أثناء تحديث جهة الاتصال، الرجاء المحاولة مرة أخرى"
} }
} }

View file

@ -9,11 +9,11 @@
"CLICK_HERE": "اضغط هنا", "CLICK_HERE": "اضغط هنا",
"LOADING_INBOXES": "جار تحميل صناديق الوارد", "LOADING_INBOXES": "جار تحميل صناديق الوارد",
"LOADING_CONVERSATIONS": "جاري تحميل المحادثات", "LOADING_CONVERSATIONS": "جاري تحميل المحادثات",
"CANNOT_REPLY": "You cannot reply due to", "CANNOT_REPLY": "لا يمكنك الرد بسبب",
"24_HOURS_WINDOW": "24 hour message window restriction", "24_HOURS_WINDOW": "قيد نافذة الـ 24 ساعة",
"LAST_INCOMING_TWEET": "You are replying to the last incoming tweet", "LAST_INCOMING_TWEET": "أنت ترد على آخر تغريدة واردة",
"REPLYING_TO": "You are replying to:", "REPLYING_TO": "أنت ترد على:",
"REMOVE_SELECTION": "Remove Selection", "REMOVE_SELECTION": "إزالة التحديد",
"DOWNLOAD": "تنزيل", "DOWNLOAD": "تنزيل",
"HEADER": { "HEADER": {
"RESOLVE_ACTION": "إغلاق المحادثة", "RESOLVE_ACTION": "إغلاق المحادثة",
@ -38,18 +38,18 @@
"CHANGE_AGENT": "تم تغيير الموظف الذي تم إحالة المحادثة إليه" "CHANGE_AGENT": "تم تغيير الموظف الذي تم إحالة المحادثة إليه"
}, },
"EMAIL_TRANSCRIPT": { "EMAIL_TRANSCRIPT": {
"TITLE": "Send conversation transcript", "TITLE": "إرسال نص المحادثة",
"DESC": "Send a copy of the conversation transcript to the specified email address", "DESC": "إرسال نسخة من نص المحادثة إلى عنوان البريد الإلكتروني المحدد",
"SUBMIT": "إرسال", "SUBMIT": "إرسال",
"CANCEL": "إلغاء", "CANCEL": "إلغاء",
"SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_SUCCESS": "تم إرسال نص المحادثة بنجاح",
"SEND_EMAIL_ERROR": "حدث خطأ، الرجاء المحاولة مرة أخرى", "SEND_EMAIL_ERROR": "حدث خطأ، الرجاء المحاولة مرة أخرى",
"FORM": { "FORM": {
"SEND_TO_CONTACT": "Send the transcript to the customer", "SEND_TO_CONTACT": "إرسال نص المحادثة إلى العميل",
"SEND_TO_AGENT": "Send the transcript of the assigned agent", "SEND_TO_AGENT": "إرسال نص المحادثة إلى ممثل خدمة العملاء المعين",
"SEND_TO_OTHER_EMAIL_ADDRESS": "Send the transcript to another email address", "SEND_TO_OTHER_EMAIL_ADDRESS": "إرسال النص إلى عنوان بريد إلكتروني آخر",
"EMAIL": { "EMAIL": {
"PLACEHOLDER": "Enter an email address", "PLACEHOLDER": "أدخل عنوان بريد إلكتروني",
"ERROR": "الرجاء إدخال عنوان بريد إلكتروني صحيح" "ERROR": "الرجاء إدخال عنوان بريد إلكتروني صحيح"
} }
} }

View file

@ -24,8 +24,8 @@
"ERROR": "" "ERROR": ""
}, },
"DOMAIN": { "DOMAIN": {
"LABEL": "Incoming Email Domain", "LABEL": "نطاق البريد الإلكتروني الوارد",
"PLACEHOLDER": "The domain where you will receive the emails", "PLACEHOLDER": "النطاق الذي ستتلقى عليه رسائل البريد الإلكتروني",
"ERROR": "" "ERROR": ""
}, },
"SUPPORT_EMAIL": { "SUPPORT_EMAIL": {
@ -34,8 +34,8 @@
"ERROR": "" "ERROR": ""
}, },
"FEATURES": { "FEATURES": {
"INBOUND_EMAIL_ENABLED": "Conversation continuity with emails is enabled for your account.", "INBOUND_EMAIL_ENABLED": "الاستمرار في المحادثة عبر رسائل البريد الإلكتروني مفعّل لحسابك.",
"CUSTOM_EMAIL_DOMAIN_ENABLED": "You can receive emails in your custom domain now." "CUSTOM_EMAIL_DOMAIN_ENABLED": "يمكنك تلقي رسائل البريد الإلكتروني في النطاق المخصص الخاص بك الآن."
} }
} }
} }

View file

@ -116,8 +116,8 @@
} }
}, },
"API_CHANNEL": { "API_CHANNEL": {
"TITLE": "API Channel", "TITLE": "قناة API",
"DESC": "Integrate with API channel and start supporting your customers.", "DESC": "اربط مع قناة API وابدأ في دعم عملائك.",
"CHANNEL_NAME": { "CHANNEL_NAME": {
"LABEL": "اسم القناة", "LABEL": "اسم القناة",
"PLACEHOLDER": "الرجاء إدخال اسم القناة", "PLACEHOLDER": "الرجاء إدخال اسم القناة",
@ -125,17 +125,17 @@
}, },
"WEBHOOK_URL": { "WEBHOOK_URL": {
"LABEL": "رابط Webhook", "LABEL": "رابط Webhook",
"SUBTITLE": "Configure the URL where you want to recieve callbacks on events.", "SUBTITLE": "تكوين عنوان URL حيث تريد تلقي ردود المكالمات على الأحداث.",
"PLACEHOLDER": "رابط Webhook" "PLACEHOLDER": "رابط Webhook"
}, },
"SUBMIT_BUTTON": "Create API Channel", "SUBMIT_BUTTON": "إنشاء قناة API",
"API": { "API": {
"ERROR_MESSAGE": "We were not able to save the api channel" "ERROR_MESSAGE": "لم نتمكن من حفظ قناة الـ api"
} }
}, },
"EMAIL_CHANNEL": { "EMAIL_CHANNEL": {
"TITLE": "Email Channel", "TITLE": "قناة البريد الالكتروني",
"DESC": "Integrate you email inbox.", "DESC": "ربط البريد الإلكتروني الخاص بك.",
"CHANNEL_NAME": { "CHANNEL_NAME": {
"LABEL": "اسم القناة", "LABEL": "اسم القناة",
"PLACEHOLDER": "الرجاء إدخال اسم القناة", "PLACEHOLDER": "الرجاء إدخال اسم القناة",
@ -143,14 +143,14 @@
}, },
"EMAIL": { "EMAIL": {
"LABEL": "البريد الإلكتروني", "LABEL": "البريد الإلكتروني",
"SUBTITLE": "Email where your customers sends you support tickets", "SUBTITLE": "البريد الإلكتروني حيث يرسل عملاؤك تذاكر الدعم",
"PLACEHOLDER": "البريد الإلكتروني" "PLACEHOLDER": "البريد الإلكتروني"
}, },
"SUBMIT_BUTTON": "Create Email Channel", "SUBMIT_BUTTON": "إنشاء قناة البريد الإلكتروني",
"API": { "API": {
"ERROR_MESSAGE": "We were not able to save the email channel" "ERROR_MESSAGE": "لم نتمكن من حفظ قناة البريد الإلكتروني"
}, },
"FINISH_MESSAGE": "Start forwarding your emails to the following email address." "FINISH_MESSAGE": "بدء إعادة توجيه رسائل البريد الإلكتروني الخاصة بك إلى عنوان البريد الإلكتروني التالي."
}, },
"AUTH": { "AUTH": {
"TITLE": "القنوات", "TITLE": "القنوات",
@ -214,14 +214,14 @@
}, },
"TABS": { "TABS": {
"SETTINGS": "الإعدادات", "SETTINGS": "الإعدادات",
"COLLABORATORS": "Collaborators", "COLLABORATORS": "المتعاونون",
"CONFIGURATION": "Configuration" "CONFIGURATION": "الإعدادات"
}, },
"SETTINGS": "الإعدادات", "SETTINGS": "الإعدادات",
"FEATURES": { "FEATURES": {
"LABEL": "Features", "LABEL": "الخصائص",
"DISPLAY_FILE_PICKER": "Display file picker on the widget", "DISPLAY_FILE_PICKER": "عرض أداة انتقاء الملفات في الـ widget",
"DISPLAY_EMOJI_PICKER": "Display emoji picker on the widget" "DISPLAY_EMOJI_PICKER": "عرض منتقي الرموز التعبيرية على الـ widget"
}, },
"SETTINGS_POPUP": { "SETTINGS_POPUP": {
"MESSENGER_HEADING": "كود \"الماسنجر\"", "MESSENGER_HEADING": "كود \"الماسنجر\"",

View file

@ -9,11 +9,11 @@
"INTEGRATION_TXT": "أحداث Webhook توفر لك معلومات في الوقت الحقيقي حول ما يحدث في حساب Chatwoot الخاص بك. يمكنك استخدام خاصية الـ Webhook لإيصال الأحداث إلى تطبيقاتك المفضلة مثل Slack أو Github. انقر على \"تهيئة\" لإعداد الـ Webhooks الخاصة بك.", "INTEGRATION_TXT": "أحداث Webhook توفر لك معلومات في الوقت الحقيقي حول ما يحدث في حساب Chatwoot الخاص بك. يمكنك استخدام خاصية الـ Webhook لإيصال الأحداث إلى تطبيقاتك المفضلة مثل Slack أو Github. انقر على \"تهيئة\" لإعداد الـ Webhooks الخاصة بك.",
"LOADING": "جار جلب الـ Webhooks", "LOADING": "جار جلب الـ Webhooks",
"SEARCH_404": "لا توجد عناصر مطابقة لهذا الاستعلام", "SEARCH_404": "لا توجد عناصر مطابقة لهذا الاستعلام",
"SIDEBAR_TXT": "<p><b>Webhooks</b> </p> <p>Webhooks are HTTP callbacks which can be defined for every account. They are triggered by events like message creation in Chatwoot. You can create more than one webhook for this account. <br /><br /> For creating a <b>webhook</b>, click on the <b>Add new webhook</b> button. You can also remove any existing webhook by clicking on the Delete button.</p>", "SIDEBAR_TXT": "<p><b>Webhooks</b> </p> <p>Webhooks هي إعادات HTTP callbacks التي يمكن تعريفها لكل حساب. يتم تشغيلها بأحداث مثل إنشاء الرسائل في Chatwoot. يمكنك إنشاء أكثر من Webhook واحد لهذا الحساب. <br /><br /> لإنشاء <b>webhook</b>، انقر فوق <b>إضافة Webhooks جديد</b>. يمكنك أيضا إزالة أي رابط ويب موجود بالنقر على زر الحذف.</p>",
"LIST": { "LIST": {
"404": "There are no webhooks configured for this account.", "404": "لا توجد webhooks مكونة لهذا الحساب.",
"TITLE": "إدارة الـ webhooks", "TITLE": "إدارة الـ webhooks",
"DESC": "Webhooks are predefined reply templates which can be used to quickly send out replies to tickets.", "DESC": "webhooks هي قوالب رد محددة مسبقاً ويمكن استخدامها لإرسال الردود على التذاكر بسرعة.",
"TABLE_HEADER": [ "TABLE_HEADER": [
"Webhook endpoint", "Webhook endpoint",
"الإجراءات" "الإجراءات"
@ -22,7 +22,7 @@
"ADD": { "ADD": {
"CANCEL": "إلغاء", "CANCEL": "إلغاء",
"TITLE": "إضافة webhook جديد", "TITLE": "إضافة webhook جديد",
"DESC": "Webhook events provide you the realtime information about what's happening in your Chatwoot account. Please enter a valid URL to configure a callback.", "DESC": "أحداث Webhook توفر لك معلومات في الوقت الحقيقي حول ما يحدث في حساب Chatwoot الخاص بك. الرجاء إدخال عنوان URL صالح لتكوين callback.",
"FORM": { "FORM": {
"END_POINT": { "END_POINT": {
"LABEL": "رابط Webhook", "LABEL": "رابط Webhook",

View file

@ -4,7 +4,7 @@
"HEADER_BTN_TXT": "إضافة وسم جديد", "HEADER_BTN_TXT": "إضافة وسم جديد",
"LOADING": "جار جلب الوسوم", "LOADING": "جار جلب الوسوم",
"SEARCH_404": "لا توجد عناصر مطابقة لهذا الاستعلام", "SEARCH_404": "لا توجد عناصر مطابقة لهذا الاستعلام",
"SIDEBAR_TXT": "<p><b>Labels</b> <p>Labels help you to categorize conversations and prioritize them. You can assign label to a conversation from the sidepanel. <br /><br />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.</p>", "SIDEBAR_TXT": "<p><b>الوسوم</b> <p>تساعدك الوسو على تصنيف المحادثات وإعطائها الأولوية. يمكنك تعيين وسم إلى محادثة من القائمة الجانبية. <br /><br />الوسوم مرتبطة بالحساب ويمكن استخدامها لإنشاء سير عمل مخصص في مؤسستك. يمكنك تعيين لون مخصص للوسم، مما يسهل التعرف على الوسم. ستتمكن من عرض الوسم على الشريط الجانبي لتصفية المحادثات بسهولة.</p>",
"LIST": { "LIST": {
"404": "لا يوجد وسوم متوفرة في هذا الحساب.", "404": "لا يوجد وسوم متوفرة في هذا الحساب.",
"TITLE": "إدارة الوسوم", "TITLE": "إدارة الوسوم",

View file

@ -44,17 +44,17 @@
"LABEL": "صورة الملف الشخصي" "LABEL": "صورة الملف الشخصي"
}, },
"NAME": { "NAME": {
"LABEL": "Your full name", "LABEL": "اسمك الكامل",
"ERROR": "Please enter a valid full name", "ERROR": "الرجاء إدخال اسم صالح",
"PLACEHOLDER": "Please enter your full name" "PLACEHOLDER": "الرجاء إدخال اسمك الكامل"
}, },
"DISPLAY_NAME": { "DISPLAY_NAME": {
"LABEL": "Display name", "LABEL": "اسم العرض",
"ERROR": "Please enter a valid display name", "ERROR": "الرجاء إدخال اسم عرض صالح",
"PLACEHOLDER": "Please enter a display name, this would be displayed in conversations" "PLACEHOLDER": "الرجاء إدخال اسم العرض، سيتم عرض هذا في المحادثات"
}, },
"AVAILABILITY": { "AVAILABILITY": {
"LABEL": "Availability", "LABEL": "التوفر",
"STATUSES_LIST": [ "STATUSES_LIST": [
{ {
"value": "متصل", "value": "متصل",
@ -129,11 +129,11 @@
"LABELS": "الوسوم" "LABELS": "الوسوم"
}, },
"CREATE_ACCOUNT": { "CREATE_ACCOUNT": {
"NEW_ACCOUNT": "New Account", "NEW_ACCOUNT": "حساب جديد",
"SELECTOR_SUBTITLE": "Create a new account", "SELECTOR_SUBTITLE": "إنشاء حساب جديد",
"API": { "API": {
"SUCCESS_MESSAGE": "Account created successfully", "SUCCESS_MESSAGE": "تم إنشاء الحساب بنجاح",
"EXIST_MESSAGE": "Account already exists", "EXIST_MESSAGE": "الحساب موجود بالفعل",
"ERROR_MESSAGE": "تعذر الاتصال بالخادم، الرجاء المحاولة مرة أخرى لاحقاً" "ERROR_MESSAGE": "تعذر الاتصال بالخادم، الرجاء المحاولة مرة أخرى لاحقاً"
}, },
"FORM": { "FORM": {

View file

@ -1,5 +1,10 @@
{ {
"CONTACT_PANEL": { "CONTACT_PANEL": {
"NOT_AVAILABLE": "Not Available",
"EMAIL_ADDRESS": "Adreça de correu electrònic",
"PHONE_NUMBER": "Número de telèfon",
"COMPANY": "Company",
"LOCATION": "Ubicació",
"CONVERSATION_TITLE": "Detalls de les converses", "CONVERSATION_TITLE": "Detalls de les converses",
"BROWSER": "Navegador", "BROWSER": "Navegador",
"OS": "Sistema operatiu", "OS": "Sistema operatiu",
@ -30,5 +35,62 @@
"MUTED_SUCCESS": "This conversation is muted for 6 hours", "MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript", "SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "Edita" "EDIT_LABEL": "Edita"
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "Edit Contact",
"TITLE": "Edit contact",
"DESC": "Edit contact details",
"FORM": {
"SUBMIT": "Envia",
"CANCEL": "Cancel·la",
"AVATAR": {
"LABEL": "Contact Avatar"
},
"NAME": {
"PLACEHOLDER": "Enter the full name of the contact",
"LABEL": "Full Name"
},
"BIO": {
"PLACEHOLDER": "Enter the bio of the contact",
"LABEL": "Bio"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Enter the email address of the contact",
"LABEL": "Adreça de correu electrònic"
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Enter the phone number of the contact",
"LABEL": "Phone Number"
},
"LOCATION": {
"PLACEHOLDER": "Enter the location of the contact",
"LABEL": "Ubicació"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Enter the company name",
"LABEL": "Company Name"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
"PLACEHOLDER": "Enter the Facebook username",
"LABEL": "Facebook"
},
"TWITTER": {
"PLACEHOLDER": "Enter the Twitter username",
"LABEL": "Twitter"
},
"LINKEDIN": {
"PLACEHOLDER": "Enter the LinkedIn username",
"LABEL": "LinkedIn"
},
"GITHUB": {
"PLACEHOLDER": "Enter the Github username",
"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"
} }
} }

View file

@ -1,5 +1,10 @@
{ {
"CONTACT_PANEL": { "CONTACT_PANEL": {
"NOT_AVAILABLE": "Not Available",
"EMAIL_ADDRESS": "E-mailová adresa",
"PHONE_NUMBER": "Telefonní číslo",
"COMPANY": "Company",
"LOCATION": "Poloha",
"CONVERSATION_TITLE": "Podrobnosti konverzace", "CONVERSATION_TITLE": "Podrobnosti konverzace",
"BROWSER": "Prohlížeč", "BROWSER": "Prohlížeč",
"OS": "Operační systém", "OS": "Operační systém",
@ -30,5 +35,62 @@
"MUTED_SUCCESS": "This conversation is muted for 6 hours", "MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript", "SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "Upravit" "EDIT_LABEL": "Upravit"
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "Edit Contact",
"TITLE": "Edit contact",
"DESC": "Edit contact details",
"FORM": {
"SUBMIT": "Odeslat",
"CANCEL": "Zrušit",
"AVATAR": {
"LABEL": "Contact Avatar"
},
"NAME": {
"PLACEHOLDER": "Enter the full name of the contact",
"LABEL": "Full Name"
},
"BIO": {
"PLACEHOLDER": "Enter the bio of the contact",
"LABEL": "Bio"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Enter the email address of the contact",
"LABEL": "E-mailová adresa"
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Enter the phone number of the contact",
"LABEL": "Phone Number"
},
"LOCATION": {
"PLACEHOLDER": "Enter the location of the contact",
"LABEL": "Poloha"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Enter the company name",
"LABEL": "Company Name"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
"PLACEHOLDER": "Enter the Facebook username",
"LABEL": "Facebook"
},
"TWITTER": {
"PLACEHOLDER": "Enter the Twitter username",
"LABEL": "Twitter"
},
"LINKEDIN": {
"PLACEHOLDER": "Enter the LinkedIn username",
"LABEL": "LinkedIn"
},
"GITHUB": {
"PLACEHOLDER": "Enter the Github username",
"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"
} }
} }

View file

@ -1,5 +1,10 @@
{ {
"CONTACT_PANEL": { "CONTACT_PANEL": {
"NOT_AVAILABLE": "Not Available",
"EMAIL_ADDRESS": "Email Address",
"PHONE_NUMBER": "Phone number",
"COMPANY": "Company",
"LOCATION": "Location",
"CONVERSATION_TITLE": "Conversation Details", "CONVERSATION_TITLE": "Conversation Details",
"BROWSER": "Browser", "BROWSER": "Browser",
"OS": "Operating System", "OS": "Operating System",
@ -30,5 +35,62 @@
"MUTED_SUCCESS": "This conversation is muted for 6 hours", "MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript", "SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "Edit" "EDIT_LABEL": "Edit"
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "Edit Contact",
"TITLE": "Edit contact",
"DESC": "Edit contact details",
"FORM": {
"SUBMIT": "Submit",
"CANCEL": "Cancel",
"AVATAR": {
"LABEL": "Contact Avatar"
},
"NAME": {
"PLACEHOLDER": "Enter the full name of the contact",
"LABEL": "Full Name"
},
"BIO": {
"PLACEHOLDER": "Enter the bio of the contact",
"LABEL": "Bio"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Enter the email address of the contact",
"LABEL": "Email Address"
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Enter the phone number of the contact",
"LABEL": "Phone Number"
},
"LOCATION": {
"PLACEHOLDER": "Enter the location of the contact",
"LABEL": "Location"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Enter the company name",
"LABEL": "Company Name"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
"PLACEHOLDER": "Enter the Facebook username",
"LABEL": "Facebook"
},
"TWITTER": {
"PLACEHOLDER": "Enter the Twitter username",
"LABEL": "Twitter"
},
"LINKEDIN": {
"PLACEHOLDER": "Enter the LinkedIn username",
"LABEL": "LinkedIn"
},
"GITHUB": {
"PLACEHOLDER": "Enter the Github username",
"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"
} }
} }

View file

@ -1,5 +1,10 @@
{ {
"CONTACT_PANEL": { "CONTACT_PANEL": {
"NOT_AVAILABLE": "Not Available",
"EMAIL_ADDRESS": "E-Mail-Addresse",
"PHONE_NUMBER": "Telefonnummer",
"COMPANY": "Company",
"LOCATION": "Ort",
"CONVERSATION_TITLE": "Unterhaltungsdetails", "CONVERSATION_TITLE": "Unterhaltungsdetails",
"BROWSER": "Browser", "BROWSER": "Browser",
"OS": "Betriebssystem", "OS": "Betriebssystem",
@ -30,5 +35,62 @@
"MUTED_SUCCESS": "This conversation is muted for 6 hours", "MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript", "SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "Bearbeiten" "EDIT_LABEL": "Bearbeiten"
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "Edit Contact",
"TITLE": "Edit contact",
"DESC": "Edit contact details",
"FORM": {
"SUBMIT": "Einreichen",
"CANCEL": "Stornieren",
"AVATAR": {
"LABEL": "Contact Avatar"
},
"NAME": {
"PLACEHOLDER": "Enter the full name of the contact",
"LABEL": "Full Name"
},
"BIO": {
"PLACEHOLDER": "Enter the bio of the contact",
"LABEL": "Bio"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Enter the email address of the contact",
"LABEL": "E-Mail-Addresse"
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Enter the phone number of the contact",
"LABEL": "Phone Number"
},
"LOCATION": {
"PLACEHOLDER": "Enter the location of the contact",
"LABEL": "Ort"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Enter the company name",
"LABEL": "Company Name"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
"PLACEHOLDER": "Enter the Facebook username",
"LABEL": "Facebook"
},
"TWITTER": {
"PLACEHOLDER": "Enter the Twitter username",
"LABEL": "Twitter"
},
"LINKEDIN": {
"PLACEHOLDER": "Enter the LinkedIn username",
"LABEL": "LinkedIn"
},
"GITHUB": {
"PLACEHOLDER": "Enter the Github username",
"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"
} }
} }

View file

@ -1,5 +1,10 @@
{ {
"CONTACT_PANEL": { "CONTACT_PANEL": {
"NOT_AVAILABLE": "Not Available",
"EMAIL_ADDRESS": "Διεύθυνση Email",
"PHONE_NUMBER": "Αριθμός τηλεφώνου",
"COMPANY": "Company",
"LOCATION": "Θέση",
"CONVERSATION_TITLE": "Λεπτομέρειες συνομιλίας", "CONVERSATION_TITLE": "Λεπτομέρειες συνομιλίας",
"BROWSER": "Φυλλομετρητής", "BROWSER": "Φυλλομετρητής",
"OS": "Λειτουργικό", "OS": "Λειτουργικό",
@ -30,5 +35,62 @@
"MUTED_SUCCESS": "Η συνομιλία είναι σε σίγαση (mute) για 6 ώρες", "MUTED_SUCCESS": "Η συνομιλία είναι σε σίγαση (mute) για 6 ώρες",
"SEND_TRANSCRIPT": "Αποστολή μεταγραφής", "SEND_TRANSCRIPT": "Αποστολή μεταγραφής",
"EDIT_LABEL": "Επεξεργασία" "EDIT_LABEL": "Επεξεργασία"
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "Edit Contact",
"TITLE": "Edit contact",
"DESC": "Edit contact details",
"FORM": {
"SUBMIT": "Καταχώρηση",
"CANCEL": "Άκυρο",
"AVATAR": {
"LABEL": "Contact Avatar"
},
"NAME": {
"PLACEHOLDER": "Enter the full name of the contact",
"LABEL": "Full Name"
},
"BIO": {
"PLACEHOLDER": "Enter the bio of the contact",
"LABEL": "Bio"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Enter the email address of the contact",
"LABEL": "Διεύθυνση Email"
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Enter the phone number of the contact",
"LABEL": "Phone Number"
},
"LOCATION": {
"PLACEHOLDER": "Enter the location of the contact",
"LABEL": "Θέση"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Enter the company name",
"LABEL": "Company Name"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
"PLACEHOLDER": "Enter the Facebook username",
"LABEL": "Facebook"
},
"TWITTER": {
"PLACEHOLDER": "Enter the Twitter username",
"LABEL": "Twitter"
},
"LINKEDIN": {
"PLACEHOLDER": "Enter the LinkedIn username",
"LABEL": "LinkedIn"
},
"GITHUB": {
"PLACEHOLDER": "Enter the Github username",
"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"
} }
} }

View file

@ -26,7 +26,8 @@
"TITLE": "Email Notifications", "TITLE": "Email Notifications",
"NOTE": "Update your email notification preferences here", "NOTE": "Update your email notification preferences here",
"CONVERSATION_ASSIGNMENT": "Send email notifications when a conversation is assigned to me", "CONVERSATION_ASSIGNMENT": "Send email notifications when a conversation is assigned to me",
"CONVERSATION_CREATION": "Send email notifications when a new conversation is created" "CONVERSATION_CREATION": "Send email notifications when a new conversation is created",
"ASSIGNED_CONVERSATION_NEW_MESSAGE": "Send email notifications when a new message is created in an assigned conversation"
}, },
"API": { "API": {
"UPDATE_SUCCESS": "Your notification preferences are updated successfully", "UPDATE_SUCCESS": "Your notification preferences are updated successfully",
@ -37,6 +38,7 @@
"NOTE": "Update your push notification preferences here", "NOTE": "Update your push notification preferences here",
"CONVERSATION_ASSIGNMENT": "Send push notifications when a conversation is assigned to me", "CONVERSATION_ASSIGNMENT": "Send push notifications when a conversation is assigned to me",
"CONVERSATION_CREATION": "Send push notifications when a new conversation is created", "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.", "HAS_ENABLED_PUSH": "You have enabled push for this browser.",
"REQUEST_PUSH": "Enable push notifications" "REQUEST_PUSH": "Enable push notifications"
}, },

View file

@ -1,5 +1,10 @@
{ {
"CONTACT_PANEL": { "CONTACT_PANEL": {
"NOT_AVAILABLE": "Not Available",
"EMAIL_ADDRESS": "Dirección de correo",
"PHONE_NUMBER": "Número de teléfono",
"COMPANY": "Company",
"LOCATION": "Ubicación",
"CONVERSATION_TITLE": "Detalles de la conversación", "CONVERSATION_TITLE": "Detalles de la conversación",
"BROWSER": "Navegador", "BROWSER": "Navegador",
"OS": "Sistema operativo", "OS": "Sistema operativo",
@ -30,5 +35,62 @@
"MUTED_SUCCESS": "This conversation is muted for 6 hours", "MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript", "SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "Editar" "EDIT_LABEL": "Editar"
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "Edit Contact",
"TITLE": "Edit contact",
"DESC": "Edit contact details",
"FORM": {
"SUBMIT": "Enviar",
"CANCEL": "Cancelar",
"AVATAR": {
"LABEL": "Contact Avatar"
},
"NAME": {
"PLACEHOLDER": "Enter the full name of the contact",
"LABEL": "Full Name"
},
"BIO": {
"PLACEHOLDER": "Enter the bio of the contact",
"LABEL": "Bio"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Enter the email address of the contact",
"LABEL": "Dirección de correo"
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Enter the phone number of the contact",
"LABEL": "Phone Number"
},
"LOCATION": {
"PLACEHOLDER": "Enter the location of the contact",
"LABEL": "Ubicación"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Enter the company name",
"LABEL": "Company Name"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
"PLACEHOLDER": "Enter the Facebook username",
"LABEL": "Facebook"
},
"TWITTER": {
"PLACEHOLDER": "Enter the Twitter username",
"LABEL": "Twitter"
},
"LINKEDIN": {
"PLACEHOLDER": "Enter the LinkedIn username",
"LABEL": "LinkedIn"
},
"GITHUB": {
"PLACEHOLDER": "Enter the Github username",
"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"
} }
} }

View file

@ -1,5 +1,10 @@
{ {
"CONTACT_PANEL": { "CONTACT_PANEL": {
"NOT_AVAILABLE": "Not Available",
"EMAIL_ADDRESS": "ایمیل",
"PHONE_NUMBER": "شماره تلفن",
"COMPANY": "Company",
"LOCATION": "Location",
"CONVERSATION_TITLE": "جزئیات مکالمه", "CONVERSATION_TITLE": "جزئیات مکالمه",
"BROWSER": "مرورگر", "BROWSER": "مرورگر",
"OS": "سیستم عامل", "OS": "سیستم عامل",
@ -30,5 +35,62 @@
"MUTED_SUCCESS": "This conversation is muted for 6 hours", "MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript", "SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "ویرایش" "EDIT_LABEL": "ویرایش"
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "Edit Contact",
"TITLE": "Edit contact",
"DESC": "Edit contact details",
"FORM": {
"SUBMIT": "ثبت",
"CANCEL": "انصراف",
"AVATAR": {
"LABEL": "Contact Avatar"
},
"NAME": {
"PLACEHOLDER": "Enter the full name of the contact",
"LABEL": "Full Name"
},
"BIO": {
"PLACEHOLDER": "Enter the bio of the contact",
"LABEL": "Bio"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Enter the email address of the contact",
"LABEL": "ایمیل"
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Enter the phone number of the contact",
"LABEL": "Phone Number"
},
"LOCATION": {
"PLACEHOLDER": "Enter the location of the contact",
"LABEL": "Location"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Enter the company name",
"LABEL": "Company Name"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
"PLACEHOLDER": "Enter the Facebook username",
"LABEL": "Facebook"
},
"TWITTER": {
"PLACEHOLDER": "Enter the Twitter username",
"LABEL": "Twitter"
},
"LINKEDIN": {
"PLACEHOLDER": "Enter the LinkedIn username",
"LABEL": "LinkedIn"
},
"GITHUB": {
"PLACEHOLDER": "Enter the Github username",
"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"
} }
} }

View file

@ -1,5 +1,10 @@
{ {
"CONTACT_PANEL": { "CONTACT_PANEL": {
"NOT_AVAILABLE": "Not Available",
"EMAIL_ADDRESS": "Email Address",
"PHONE_NUMBER": "Phone number",
"COMPANY": "Company",
"LOCATION": "Location",
"CONVERSATION_TITLE": "Conversation Details", "CONVERSATION_TITLE": "Conversation Details",
"BROWSER": "Browser", "BROWSER": "Browser",
"OS": "Operating System", "OS": "Operating System",
@ -30,5 +35,62 @@
"MUTED_SUCCESS": "This conversation is muted for 6 hours", "MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript", "SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "Edit" "EDIT_LABEL": "Edit"
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "Edit Contact",
"TITLE": "Edit contact",
"DESC": "Edit contact details",
"FORM": {
"SUBMIT": "Submit",
"CANCEL": "Cancel",
"AVATAR": {
"LABEL": "Contact Avatar"
},
"NAME": {
"PLACEHOLDER": "Enter the full name of the contact",
"LABEL": "Full Name"
},
"BIO": {
"PLACEHOLDER": "Enter the bio of the contact",
"LABEL": "Bio"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Enter the email address of the contact",
"LABEL": "Email Address"
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Enter the phone number of the contact",
"LABEL": "Phone Number"
},
"LOCATION": {
"PLACEHOLDER": "Enter the location of the contact",
"LABEL": "Location"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Enter the company name",
"LABEL": "Company Name"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
"PLACEHOLDER": "Enter the Facebook username",
"LABEL": "Facebook"
},
"TWITTER": {
"PLACEHOLDER": "Enter the Twitter username",
"LABEL": "Twitter"
},
"LINKEDIN": {
"PLACEHOLDER": "Enter the LinkedIn username",
"LABEL": "LinkedIn"
},
"GITHUB": {
"PLACEHOLDER": "Enter the Github username",
"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"
} }
} }

View file

@ -1,5 +1,10 @@
{ {
"CONTACT_PANEL": { "CONTACT_PANEL": {
"NOT_AVAILABLE": "Non disponible",
"EMAIL_ADDRESS": "Adresse de courriel",
"PHONE_NUMBER": "Numéro de téléphone",
"COMPANY": "Société",
"LOCATION": "Localisation",
"CONVERSATION_TITLE": "Détails de la conversation", "CONVERSATION_TITLE": "Détails de la conversation",
"BROWSER": "Navigateur", "BROWSER": "Navigateur",
"OS": "Système d'exploitation", "OS": "Système d'exploitation",
@ -10,7 +15,7 @@
"TITLE": "Conversations précédentes" "TITLE": "Conversations précédentes"
}, },
"CUSTOM_ATTRIBUTES": { "CUSTOM_ATTRIBUTES": {
"TITLE": "Custom Attributes" "TITLE": "Attributs personnalisés"
}, },
"LABELS": { "LABELS": {
"TITLE": "Étiquettes de conversation", "TITLE": "Étiquettes de conversation",
@ -30,5 +35,62 @@
"MUTED_SUCCESS": "Cette conversation est mise en sourdine pendant 6 heures", "MUTED_SUCCESS": "Cette conversation est mise en sourdine pendant 6 heures",
"SEND_TRANSCRIPT": "Envoyer la transcription", "SEND_TRANSCRIPT": "Envoyer la transcription",
"EDIT_LABEL": "Modifier" "EDIT_LABEL": "Modifier"
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "Modifier le contact",
"TITLE": "Modifier le contact",
"DESC": "Modifier les informations de contact",
"FORM": {
"SUBMIT": "Envoyer",
"CANCEL": "Annuler",
"AVATAR": {
"LABEL": "Avatar du contact"
},
"NAME": {
"PLACEHOLDER": "Entrez le nom complet du contact",
"LABEL": "Nom complet"
},
"BIO": {
"PLACEHOLDER": "Entrez la biographie du contact",
"LABEL": "Biographie"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Entrez l'adresse de courriel du contact",
"LABEL": "Adresse de courriel"
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Entrez le numéro de téléphone du contact",
"LABEL": "Numéro de téléphone"
},
"LOCATION": {
"PLACEHOLDER": "Entrez l'emplacement du contact",
"LABEL": "Localisation"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Entrez le nom de la société",
"LABEL": "Nom de la société"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
"PLACEHOLDER": "Entrez le nom d'utilisateur Facebook",
"LABEL": "Facebook"
},
"TWITTER": {
"PLACEHOLDER": "Entrez le nom d'utilisateur Twitter",
"LABEL": "Twitter"
},
"LINKEDIN": {
"PLACEHOLDER": "Entrez le nom d'utilisateur LinkedIn",
"LABEL": "LinkedIn"
},
"GITHUB": {
"PLACEHOLDER": "Entrez le nom d'utilisateur Github",
"LABEL": "Github"
}
}
},
"SUCCESS_MESSAGE": "Contact mis à jour avec succès",
"CONTACT_ALREADY_EXIST": "Cette adresse de courriel est déjà utilisée pour un autre contact.",
"ERROR_MESSAGE": "Une erreur s'est produite lors de la mise à jour du contact, veuillez réessayer"
} }
} }

View file

@ -1,5 +1,10 @@
{ {
"CONTACT_PANEL": { "CONTACT_PANEL": {
"NOT_AVAILABLE": "Not Available",
"EMAIL_ADDRESS": "Email Address",
"PHONE_NUMBER": "Phone number",
"COMPANY": "Company",
"LOCATION": "Location",
"CONVERSATION_TITLE": "Conversation Details", "CONVERSATION_TITLE": "Conversation Details",
"BROWSER": "Browser", "BROWSER": "Browser",
"OS": "Operating System", "OS": "Operating System",
@ -30,5 +35,62 @@
"MUTED_SUCCESS": "This conversation is muted for 6 hours", "MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript", "SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "Edit" "EDIT_LABEL": "Edit"
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "Edit Contact",
"TITLE": "Edit contact",
"DESC": "Edit contact details",
"FORM": {
"SUBMIT": "Submit",
"CANCEL": "Cancel",
"AVATAR": {
"LABEL": "Contact Avatar"
},
"NAME": {
"PLACEHOLDER": "Enter the full name of the contact",
"LABEL": "Full Name"
},
"BIO": {
"PLACEHOLDER": "Enter the bio of the contact",
"LABEL": "Bio"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Enter the email address of the contact",
"LABEL": "Email Address"
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Enter the phone number of the contact",
"LABEL": "Phone Number"
},
"LOCATION": {
"PLACEHOLDER": "Enter the location of the contact",
"LABEL": "Location"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Enter the company name",
"LABEL": "Company Name"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
"PLACEHOLDER": "Enter the Facebook username",
"LABEL": "Facebook"
},
"TWITTER": {
"PLACEHOLDER": "Enter the Twitter username",
"LABEL": "Twitter"
},
"LINKEDIN": {
"PLACEHOLDER": "Enter the LinkedIn username",
"LABEL": "LinkedIn"
},
"GITHUB": {
"PLACEHOLDER": "Enter the Github username",
"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"
} }
} }

View file

@ -1,5 +1,10 @@
{ {
"CONTACT_PANEL": { "CONTACT_PANEL": {
"NOT_AVAILABLE": "Not Available",
"EMAIL_ADDRESS": "Email Address",
"PHONE_NUMBER": "Phone number",
"COMPANY": "Company",
"LOCATION": "Location",
"CONVERSATION_TITLE": "Conversation Details", "CONVERSATION_TITLE": "Conversation Details",
"BROWSER": "Browser", "BROWSER": "Browser",
"OS": "Operating System", "OS": "Operating System",
@ -30,5 +35,62 @@
"MUTED_SUCCESS": "This conversation is muted for 6 hours", "MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript", "SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "Edit" "EDIT_LABEL": "Edit"
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "Edit Contact",
"TITLE": "Edit contact",
"DESC": "Edit contact details",
"FORM": {
"SUBMIT": "Submit",
"CANCEL": "Cancel",
"AVATAR": {
"LABEL": "Contact Avatar"
},
"NAME": {
"PLACEHOLDER": "Enter the full name of the contact",
"LABEL": "Full Name"
},
"BIO": {
"PLACEHOLDER": "Enter the bio of the contact",
"LABEL": "Bio"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Enter the email address of the contact",
"LABEL": "Email Address"
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Enter the phone number of the contact",
"LABEL": "Phone Number"
},
"LOCATION": {
"PLACEHOLDER": "Enter the location of the contact",
"LABEL": "Location"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Enter the company name",
"LABEL": "Company Name"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
"PLACEHOLDER": "Enter the Facebook username",
"LABEL": "Facebook"
},
"TWITTER": {
"PLACEHOLDER": "Enter the Twitter username",
"LABEL": "Twitter"
},
"LINKEDIN": {
"PLACEHOLDER": "Enter the LinkedIn username",
"LABEL": "LinkedIn"
},
"GITHUB": {
"PLACEHOLDER": "Enter the Github username",
"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"
} }
} }

View file

@ -1,5 +1,10 @@
{ {
"CONTACT_PANEL": { "CONTACT_PANEL": {
"NOT_AVAILABLE": "Not Available",
"EMAIL_ADDRESS": "Indirizzo email",
"PHONE_NUMBER": "Numero di telefono",
"COMPANY": "Company",
"LOCATION": "Localizzazione",
"CONVERSATION_TITLE": "Dettagli conversazione", "CONVERSATION_TITLE": "Dettagli conversazione",
"BROWSER": "Browser", "BROWSER": "Browser",
"OS": "Sistema Operativo", "OS": "Sistema Operativo",
@ -30,5 +35,62 @@
"MUTED_SUCCESS": "This conversation is muted for 6 hours", "MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript", "SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "Modifica" "EDIT_LABEL": "Modifica"
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "Edit Contact",
"TITLE": "Edit contact",
"DESC": "Edit contact details",
"FORM": {
"SUBMIT": "Invia",
"CANCEL": "annulla",
"AVATAR": {
"LABEL": "Contact Avatar"
},
"NAME": {
"PLACEHOLDER": "Enter the full name of the contact",
"LABEL": "Full Name"
},
"BIO": {
"PLACEHOLDER": "Enter the bio of the contact",
"LABEL": "Bio"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Enter the email address of the contact",
"LABEL": "Indirizzo email"
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Enter the phone number of the contact",
"LABEL": "Phone Number"
},
"LOCATION": {
"PLACEHOLDER": "Enter the location of the contact",
"LABEL": "Localizzazione"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Enter the company name",
"LABEL": "Company Name"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
"PLACEHOLDER": "Enter the Facebook username",
"LABEL": "Facebook"
},
"TWITTER": {
"PLACEHOLDER": "Enter the Twitter username",
"LABEL": "Twitter"
},
"LINKEDIN": {
"PLACEHOLDER": "Enter the LinkedIn username",
"LABEL": "LinkedIn"
},
"GITHUB": {
"PLACEHOLDER": "Enter the Github username",
"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"
} }
} }

View file

@ -1,5 +1,10 @@
{ {
"CONTACT_PANEL": { "CONTACT_PANEL": {
"NOT_AVAILABLE": "Not Available",
"EMAIL_ADDRESS": "Email Address",
"PHONE_NUMBER": "Phone number",
"COMPANY": "Company",
"LOCATION": "Location",
"CONVERSATION_TITLE": "Conversation Details", "CONVERSATION_TITLE": "Conversation Details",
"BROWSER": "Browser", "BROWSER": "Browser",
"OS": "Operating System", "OS": "Operating System",
@ -30,5 +35,62 @@
"MUTED_SUCCESS": "This conversation is muted for 6 hours", "MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript", "SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "Edit" "EDIT_LABEL": "Edit"
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "Edit Contact",
"TITLE": "Edit contact",
"DESC": "Edit contact details",
"FORM": {
"SUBMIT": "Submit",
"CANCEL": "Cancel",
"AVATAR": {
"LABEL": "Contact Avatar"
},
"NAME": {
"PLACEHOLDER": "Enter the full name of the contact",
"LABEL": "Full Name"
},
"BIO": {
"PLACEHOLDER": "Enter the bio of the contact",
"LABEL": "Bio"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Enter the email address of the contact",
"LABEL": "Email Address"
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Enter the phone number of the contact",
"LABEL": "Phone Number"
},
"LOCATION": {
"PLACEHOLDER": "Enter the location of the contact",
"LABEL": "Location"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Enter the company name",
"LABEL": "Company Name"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
"PLACEHOLDER": "Enter the Facebook username",
"LABEL": "Facebook"
},
"TWITTER": {
"PLACEHOLDER": "Enter the Twitter username",
"LABEL": "Twitter"
},
"LINKEDIN": {
"PLACEHOLDER": "Enter the LinkedIn username",
"LABEL": "LinkedIn"
},
"GITHUB": {
"PLACEHOLDER": "Enter the Github username",
"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"
} }
} }

View file

@ -1,5 +1,10 @@
{ {
"CONTACT_PANEL": { "CONTACT_PANEL": {
"NOT_AVAILABLE": "Not Available",
"EMAIL_ADDRESS": "Email Address",
"PHONE_NUMBER": "Phone number",
"COMPANY": "Company",
"LOCATION": "Location",
"CONVERSATION_TITLE": "Conversation Details", "CONVERSATION_TITLE": "Conversation Details",
"BROWSER": "Browser", "BROWSER": "Browser",
"OS": "Operating System", "OS": "Operating System",
@ -30,5 +35,62 @@
"MUTED_SUCCESS": "This conversation is muted for 6 hours", "MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript", "SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "Edit" "EDIT_LABEL": "Edit"
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "Edit Contact",
"TITLE": "Edit contact",
"DESC": "Edit contact details",
"FORM": {
"SUBMIT": "Submit",
"CANCEL": "Cancel",
"AVATAR": {
"LABEL": "Contact Avatar"
},
"NAME": {
"PLACEHOLDER": "Enter the full name of the contact",
"LABEL": "Full Name"
},
"BIO": {
"PLACEHOLDER": "Enter the bio of the contact",
"LABEL": "Bio"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Enter the email address of the contact",
"LABEL": "Email Address"
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Enter the phone number of the contact",
"LABEL": "Phone Number"
},
"LOCATION": {
"PLACEHOLDER": "Enter the location of the contact",
"LABEL": "Location"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Enter the company name",
"LABEL": "Company Name"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
"PLACEHOLDER": "Enter the Facebook username",
"LABEL": "Facebook"
},
"TWITTER": {
"PLACEHOLDER": "Enter the Twitter username",
"LABEL": "Twitter"
},
"LINKEDIN": {
"PLACEHOLDER": "Enter the LinkedIn username",
"LABEL": "LinkedIn"
},
"GITHUB": {
"PLACEHOLDER": "Enter the Github username",
"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"
} }
} }

View file

@ -1,5 +1,10 @@
{ {
"CONTACT_PANEL": { "CONTACT_PANEL": {
"NOT_AVAILABLE": "Not Available",
"EMAIL_ADDRESS": "ഇമെയിൽ വിലാസം",
"PHONE_NUMBER": "ഫോൺ നമ്പർ",
"COMPANY": "Company",
"LOCATION": "സ്ഥാനം",
"CONVERSATION_TITLE": "സംഭാഷണ വിശദാംശങ്ങൾ", "CONVERSATION_TITLE": "സംഭാഷണ വിശദാംശങ്ങൾ",
"BROWSER": "ബ്രൗസർ", "BROWSER": "ബ്രൗസർ",
"OS": "ഓപ്പറേറ്റിംഗ് സിസ്റ്റം", "OS": "ഓപ്പറേറ്റിംഗ് സിസ്റ്റം",
@ -30,5 +35,62 @@
"MUTED_SUCCESS": "ഈ സംഭാഷണം 6 മണിക്കൂർ നിശബ്ദമാക്കി", "MUTED_SUCCESS": "ഈ സംഭാഷണം 6 മണിക്കൂർ നിശബ്ദമാക്കി",
"SEND_TRANSCRIPT": "ട്രാൻസ്ക്രിപ്റ്റ് അയയ്ക്കുക", "SEND_TRANSCRIPT": "ട്രാൻസ്ക്രിപ്റ്റ് അയയ്ക്കുക",
"EDIT_LABEL": "എഡിറ്റുചെയ്യുക" "EDIT_LABEL": "എഡിറ്റുചെയ്യുക"
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "Edit Contact",
"TITLE": "Edit contact",
"DESC": "Edit contact details",
"FORM": {
"SUBMIT": "സമർപ്പിക്കുക",
"CANCEL": "റദ്ദാക്കുക",
"AVATAR": {
"LABEL": "Contact Avatar"
},
"NAME": {
"PLACEHOLDER": "Enter the full name of the contact",
"LABEL": "Full Name"
},
"BIO": {
"PLACEHOLDER": "Enter the bio of the contact",
"LABEL": "Bio"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Enter the email address of the contact",
"LABEL": "ഇമെയിൽ വിലാസം"
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Enter the phone number of the contact",
"LABEL": "Phone Number"
},
"LOCATION": {
"PLACEHOLDER": "Enter the location of the contact",
"LABEL": "സ്ഥാനം"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Enter the company name",
"LABEL": "Company Name"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
"PLACEHOLDER": "Enter the Facebook username",
"LABEL": "Facebook"
},
"TWITTER": {
"PLACEHOLDER": "Enter the Twitter username",
"LABEL": "Twitter"
},
"LINKEDIN": {
"PLACEHOLDER": "Enter the LinkedIn username",
"LABEL": "LinkedIn"
},
"GITHUB": {
"PLACEHOLDER": "Enter the Github username",
"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"
} }
} }

View file

@ -1,5 +1,10 @@
{ {
"CONTACT_PANEL": { "CONTACT_PANEL": {
"NOT_AVAILABLE": "Not Available",
"EMAIL_ADDRESS": "Uw e-mailadres",
"PHONE_NUMBER": "Telefoon nummer",
"COMPANY": "Company",
"LOCATION": "Locatie",
"CONVERSATION_TITLE": "Gesprekdetails", "CONVERSATION_TITLE": "Gesprekdetails",
"BROWSER": "Browser", "BROWSER": "Browser",
"OS": "Besturingssysteem", "OS": "Besturingssysteem",
@ -30,5 +35,62 @@
"MUTED_SUCCESS": "This conversation is muted for 6 hours", "MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript", "SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "Bewerken" "EDIT_LABEL": "Bewerken"
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "Edit Contact",
"TITLE": "Edit contact",
"DESC": "Edit contact details",
"FORM": {
"SUBMIT": "Bevestigen",
"CANCEL": "Annuleren",
"AVATAR": {
"LABEL": "Contact Avatar"
},
"NAME": {
"PLACEHOLDER": "Enter the full name of the contact",
"LABEL": "Full Name"
},
"BIO": {
"PLACEHOLDER": "Enter the bio of the contact",
"LABEL": "Bio"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Enter the email address of the contact",
"LABEL": "Uw e-mailadres"
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Enter the phone number of the contact",
"LABEL": "Phone Number"
},
"LOCATION": {
"PLACEHOLDER": "Enter the location of the contact",
"LABEL": "Locatie"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Enter the company name",
"LABEL": "Company Name"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
"PLACEHOLDER": "Enter the Facebook username",
"LABEL": "Facebook"
},
"TWITTER": {
"PLACEHOLDER": "Enter the Twitter username",
"LABEL": "Twitter"
},
"LINKEDIN": {
"PLACEHOLDER": "Enter the LinkedIn username",
"LABEL": "LinkedIn"
},
"GITHUB": {
"PLACEHOLDER": "Enter the Github username",
"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"
} }
} }

View file

@ -1,5 +1,10 @@
{ {
"CONTACT_PANEL": { "CONTACT_PANEL": {
"NOT_AVAILABLE": "Not Available",
"EMAIL_ADDRESS": "Adres e-mail",
"PHONE_NUMBER": "Numer telefonu",
"COMPANY": "Company",
"LOCATION": "Lokalizacja",
"CONVERSATION_TITLE": "Szczegóły konwersacji", "CONVERSATION_TITLE": "Szczegóły konwersacji",
"BROWSER": "Przeglądarki", "BROWSER": "Przeglądarki",
"OS": "System operacyjny", "OS": "System operacyjny",
@ -30,5 +35,62 @@
"MUTED_SUCCESS": "This conversation is muted for 6 hours", "MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript", "SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "Edytuj" "EDIT_LABEL": "Edytuj"
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "Edit Contact",
"TITLE": "Edit contact",
"DESC": "Edit contact details",
"FORM": {
"SUBMIT": "Prześlij",
"CANCEL": "Anuluj",
"AVATAR": {
"LABEL": "Contact Avatar"
},
"NAME": {
"PLACEHOLDER": "Enter the full name of the contact",
"LABEL": "Full Name"
},
"BIO": {
"PLACEHOLDER": "Enter the bio of the contact",
"LABEL": "Bio"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Enter the email address of the contact",
"LABEL": "Adres e-mail"
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Enter the phone number of the contact",
"LABEL": "Phone Number"
},
"LOCATION": {
"PLACEHOLDER": "Enter the location of the contact",
"LABEL": "Lokalizacja"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Enter the company name",
"LABEL": "Company Name"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
"PLACEHOLDER": "Enter the Facebook username",
"LABEL": "Facebook"
},
"TWITTER": {
"PLACEHOLDER": "Enter the Twitter username",
"LABEL": "Twitter"
},
"LINKEDIN": {
"PLACEHOLDER": "Enter the LinkedIn username",
"LABEL": "LinkedIn"
},
"GITHUB": {
"PLACEHOLDER": "Enter the Github username",
"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"
} }
} }

View file

@ -1,5 +1,10 @@
{ {
"CONTACT_PANEL": { "CONTACT_PANEL": {
"NOT_AVAILABLE": "Not Available",
"EMAIL_ADDRESS": "Endereço de e-mail",
"PHONE_NUMBER": "Número de telefone",
"COMPANY": "Company",
"LOCATION": "Local:",
"CONVERSATION_TITLE": "Detalhes da conversa", "CONVERSATION_TITLE": "Detalhes da conversa",
"BROWSER": "Navegador", "BROWSER": "Navegador",
"OS": "Sistema operacional", "OS": "Sistema operacional",
@ -30,5 +35,62 @@
"MUTED_SUCCESS": "This conversation is muted for 6 hours", "MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript", "SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "Alterar" "EDIT_LABEL": "Alterar"
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "Edit Contact",
"TITLE": "Edit contact",
"DESC": "Edit contact details",
"FORM": {
"SUBMIT": "submeter",
"CANCEL": "cancelar",
"AVATAR": {
"LABEL": "Contact Avatar"
},
"NAME": {
"PLACEHOLDER": "Enter the full name of the contact",
"LABEL": "Full Name"
},
"BIO": {
"PLACEHOLDER": "Enter the bio of the contact",
"LABEL": "Bio"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Enter the email address of the contact",
"LABEL": "Endereço de e-mail"
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Enter the phone number of the contact",
"LABEL": "Phone Number"
},
"LOCATION": {
"PLACEHOLDER": "Enter the location of the contact",
"LABEL": "Local:"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Enter the company name",
"LABEL": "Company Name"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
"PLACEHOLDER": "Enter the Facebook username",
"LABEL": "Facebook"
},
"TWITTER": {
"PLACEHOLDER": "Enter the Twitter username",
"LABEL": "Twitter"
},
"LINKEDIN": {
"PLACEHOLDER": "Enter the LinkedIn username",
"LABEL": "LinkedIn"
},
"GITHUB": {
"PLACEHOLDER": "Enter the Github username",
"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"
} }
} }

View file

@ -1,5 +1,10 @@
{ {
"CONTACT_PANEL": { "CONTACT_PANEL": {
"NOT_AVAILABLE": "Not Available",
"EMAIL_ADDRESS": "Endereço de e-mail",
"PHONE_NUMBER": "Número de telefone",
"COMPANY": "Company",
"LOCATION": "Localização",
"CONVERSATION_TITLE": "Detalhes da conversa", "CONVERSATION_TITLE": "Detalhes da conversa",
"BROWSER": "Navegador", "BROWSER": "Navegador",
"OS": "Sistema Operacional", "OS": "Sistema Operacional",
@ -30,5 +35,62 @@
"MUTED_SUCCESS": "Esta conversa está silenciada por 6 horas", "MUTED_SUCCESS": "Esta conversa está silenciada por 6 horas",
"SEND_TRANSCRIPT": "Enviar Transcrição", "SEND_TRANSCRIPT": "Enviar Transcrição",
"EDIT_LABEL": "Alterar" "EDIT_LABEL": "Alterar"
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "Edit Contact",
"TITLE": "Edit contact",
"DESC": "Edit contact details",
"FORM": {
"SUBMIT": "Enviar",
"CANCEL": "Cancelar",
"AVATAR": {
"LABEL": "Contact Avatar"
},
"NAME": {
"PLACEHOLDER": "Enter the full name of the contact",
"LABEL": "Full Name"
},
"BIO": {
"PLACEHOLDER": "Enter the bio of the contact",
"LABEL": "Bio"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Enter the email address of the contact",
"LABEL": "Endereço de e-mail"
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Enter the phone number of the contact",
"LABEL": "Phone Number"
},
"LOCATION": {
"PLACEHOLDER": "Enter the location of the contact",
"LABEL": "Localização"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Enter the company name",
"LABEL": "Company Name"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
"PLACEHOLDER": "Enter the Facebook username",
"LABEL": "Facebook"
},
"TWITTER": {
"PLACEHOLDER": "Enter the Twitter username",
"LABEL": "Twitter"
},
"LINKEDIN": {
"PLACEHOLDER": "Enter the LinkedIn username",
"LABEL": "LinkedIn"
},
"GITHUB": {
"PLACEHOLDER": "Enter the Github username",
"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"
} }
} }

View file

@ -1,5 +1,10 @@
{ {
"CONTACT_PANEL": { "CONTACT_PANEL": {
"NOT_AVAILABLE": "Not Available",
"EMAIL_ADDRESS": "Adresa Email",
"PHONE_NUMBER": "Număr de telefon",
"COMPANY": "Company",
"LOCATION": "Locaţie",
"CONVERSATION_TITLE": "Detalii conversație", "CONVERSATION_TITLE": "Detalii conversație",
"BROWSER": "Navigator", "BROWSER": "Navigator",
"OS": "Sistem de operare", "OS": "Sistem de operare",
@ -30,5 +35,62 @@
"MUTED_SUCCESS": "This conversation is muted for 6 hours", "MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript", "SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "Editare" "EDIT_LABEL": "Editare"
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "Edit Contact",
"TITLE": "Edit contact",
"DESC": "Edit contact details",
"FORM": {
"SUBMIT": "Trimite",
"CANCEL": "Renunță",
"AVATAR": {
"LABEL": "Contact Avatar"
},
"NAME": {
"PLACEHOLDER": "Enter the full name of the contact",
"LABEL": "Full Name"
},
"BIO": {
"PLACEHOLDER": "Enter the bio of the contact",
"LABEL": "Bio"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Enter the email address of the contact",
"LABEL": "Adresa Email"
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Enter the phone number of the contact",
"LABEL": "Phone Number"
},
"LOCATION": {
"PLACEHOLDER": "Enter the location of the contact",
"LABEL": "Locaţie"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Enter the company name",
"LABEL": "Company Name"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
"PLACEHOLDER": "Enter the Facebook username",
"LABEL": "Facebook"
},
"TWITTER": {
"PLACEHOLDER": "Enter the Twitter username",
"LABEL": "Twitter"
},
"LINKEDIN": {
"PLACEHOLDER": "Enter the LinkedIn username",
"LABEL": "LinkedIn"
},
"GITHUB": {
"PLACEHOLDER": "Enter the Github username",
"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"
} }
} }

View file

@ -1,5 +1,10 @@
{ {
"CONTACT_PANEL": { "CONTACT_PANEL": {
"NOT_AVAILABLE": "Недоступен",
"EMAIL_ADDRESS": "Email",
"PHONE_NUMBER": "Номер телефона",
"COMPANY": "Компания",
"LOCATION": "Местоположение",
"CONVERSATION_TITLE": "Детали диалога", "CONVERSATION_TITLE": "Детали диалога",
"BROWSER": "Браузер", "BROWSER": "Браузер",
"OS": "Операционная система", "OS": "Операционная система",
@ -30,5 +35,62 @@
"MUTED_SUCCESS": "Этот диалог заглушен на 6 часов", "MUTED_SUCCESS": "Этот диалог заглушен на 6 часов",
"SEND_TRANSCRIPT": "Отправить субтитры", "SEND_TRANSCRIPT": "Отправить субтитры",
"EDIT_LABEL": "Редактировать" "EDIT_LABEL": "Редактировать"
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "Изменить контакт",
"TITLE": "Изменить контакт",
"DESC": "Изменить контактные данные",
"FORM": {
"SUBMIT": "Отправить",
"CANCEL": "Отменить",
"AVATAR": {
"LABEL": "Аватар контакта"
},
"NAME": {
"PLACEHOLDER": "Введите полное имя контакта",
"LABEL": "Полное имя"
},
"BIO": {
"PLACEHOLDER": "Введите описание контакта",
"LABEL": "Описание"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Введите email контакта",
"LABEL": "Email"
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Введите номер телефона контакта",
"LABEL": "Номер телефона"
},
"LOCATION": {
"PLACEHOLDER": "Введите местоположение контакта",
"LABEL": "Местоположение"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Введите название компании",
"LABEL": "Название компании"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
"PLACEHOLDER": "Введите имя пользователя Facebook",
"LABEL": "Facebook"
},
"TWITTER": {
"PLACEHOLDER": "Введите имя пользователя Twitter",
"LABEL": "Twitter"
},
"LINKEDIN": {
"PLACEHOLDER": "Введите имя пользователя LinkedIn",
"LABEL": "LinkedIn"
},
"GITHUB": {
"PLACEHOLDER": "Введите имя пользователя Github",
"LABEL": "Github"
}
}
},
"SUCCESS_MESSAGE": "Контакт успешно обновлен",
"CONTACT_ALREADY_EXIST": "Этот адрес электронной почты используется для другого контакта.",
"ERROR_MESSAGE": "При сохранении настроек произошла ошибка, пожалуйста, попробуйте еще раз"
} }
} }

View file

@ -1,5 +1,10 @@
{ {
"CONTACT_PANEL": { "CONTACT_PANEL": {
"NOT_AVAILABLE": "Not Available",
"EMAIL_ADDRESS": "Email Address",
"PHONE_NUMBER": "Phone number",
"COMPANY": "Company",
"LOCATION": "Location",
"CONVERSATION_TITLE": "Conversation Details", "CONVERSATION_TITLE": "Conversation Details",
"BROWSER": "Browser", "BROWSER": "Browser",
"OS": "Operating System", "OS": "Operating System",
@ -30,5 +35,62 @@
"MUTED_SUCCESS": "This conversation is muted for 6 hours", "MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript", "SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "Edit" "EDIT_LABEL": "Edit"
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "Edit Contact",
"TITLE": "Edit contact",
"DESC": "Edit contact details",
"FORM": {
"SUBMIT": "Submit",
"CANCEL": "Cancel",
"AVATAR": {
"LABEL": "Contact Avatar"
},
"NAME": {
"PLACEHOLDER": "Enter the full name of the contact",
"LABEL": "Full Name"
},
"BIO": {
"PLACEHOLDER": "Enter the bio of the contact",
"LABEL": "Bio"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Enter the email address of the contact",
"LABEL": "Email Address"
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Enter the phone number of the contact",
"LABEL": "Phone Number"
},
"LOCATION": {
"PLACEHOLDER": "Enter the location of the contact",
"LABEL": "Location"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Enter the company name",
"LABEL": "Company Name"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
"PLACEHOLDER": "Enter the Facebook username",
"LABEL": "Facebook"
},
"TWITTER": {
"PLACEHOLDER": "Enter the Twitter username",
"LABEL": "Twitter"
},
"LINKEDIN": {
"PLACEHOLDER": "Enter the LinkedIn username",
"LABEL": "LinkedIn"
},
"GITHUB": {
"PLACEHOLDER": "Enter the Github username",
"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"
} }
} }

View file

@ -1,5 +1,10 @@
{ {
"CONTACT_PANEL": { "CONTACT_PANEL": {
"NOT_AVAILABLE": "Not Available",
"EMAIL_ADDRESS": "E-postadress",
"PHONE_NUMBER": "Telefonnummer",
"COMPANY": "Company",
"LOCATION": "Plats",
"CONVERSATION_TITLE": "Konversation Detaljer", "CONVERSATION_TITLE": "Konversation Detaljer",
"BROWSER": "Webbläsare", "BROWSER": "Webbläsare",
"OS": "Operativsystem", "OS": "Operativsystem",
@ -30,5 +35,62 @@
"MUTED_SUCCESS": "This conversation is muted for 6 hours", "MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript", "SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "Redigera" "EDIT_LABEL": "Redigera"
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "Edit Contact",
"TITLE": "Edit contact",
"DESC": "Edit contact details",
"FORM": {
"SUBMIT": "Skicka",
"CANCEL": "Avbryt",
"AVATAR": {
"LABEL": "Contact Avatar"
},
"NAME": {
"PLACEHOLDER": "Enter the full name of the contact",
"LABEL": "Full Name"
},
"BIO": {
"PLACEHOLDER": "Enter the bio of the contact",
"LABEL": "Bio"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Enter the email address of the contact",
"LABEL": "E-postadress"
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Enter the phone number of the contact",
"LABEL": "Phone Number"
},
"LOCATION": {
"PLACEHOLDER": "Enter the location of the contact",
"LABEL": "Plats"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Enter the company name",
"LABEL": "Company Name"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
"PLACEHOLDER": "Enter the Facebook username",
"LABEL": "Facebook"
},
"TWITTER": {
"PLACEHOLDER": "Enter the Twitter username",
"LABEL": "Twitter"
},
"LINKEDIN": {
"PLACEHOLDER": "Enter the LinkedIn username",
"LABEL": "LinkedIn"
},
"GITHUB": {
"PLACEHOLDER": "Enter the Github username",
"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"
} }
} }

View file

@ -1,5 +1,10 @@
{ {
"CONTACT_PANEL": { "CONTACT_PANEL": {
"NOT_AVAILABLE": "Not Available",
"EMAIL_ADDRESS": "ஈ-மெயில் முகவரி",
"PHONE_NUMBER": "தொலைபேசி எண்",
"COMPANY": "Company",
"LOCATION": "இருப்பிடம்",
"CONVERSATION_TITLE": "உரையாடல் விவரங்கள்", "CONVERSATION_TITLE": "உரையாடல் விவரங்கள்",
"BROWSER": "புரவுஸர்", "BROWSER": "புரவுஸர்",
"OS": "ஆப்பரேட்டிங் சிஸ்டம்", "OS": "ஆப்பரேட்டிங் சிஸ்டம்",
@ -30,5 +35,62 @@
"MUTED_SUCCESS": "This conversation is muted for 6 hours", "MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript", "SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "திருத்து" "EDIT_LABEL": "திருத்து"
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "Edit Contact",
"TITLE": "Edit contact",
"DESC": "Edit contact details",
"FORM": {
"SUBMIT": "சமர்பிக்கவும்",
"CANCEL": "ரத்துசெய்",
"AVATAR": {
"LABEL": "Contact Avatar"
},
"NAME": {
"PLACEHOLDER": "Enter the full name of the contact",
"LABEL": "Full Name"
},
"BIO": {
"PLACEHOLDER": "Enter the bio of the contact",
"LABEL": "Bio"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Enter the email address of the contact",
"LABEL": "ஈ-மெயில் முகவரி"
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Enter the phone number of the contact",
"LABEL": "Phone Number"
},
"LOCATION": {
"PLACEHOLDER": "Enter the location of the contact",
"LABEL": "இருப்பிடம்"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Enter the company name",
"LABEL": "Company Name"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
"PLACEHOLDER": "Enter the Facebook username",
"LABEL": "Facebook"
},
"TWITTER": {
"PLACEHOLDER": "Enter the Twitter username",
"LABEL": "Twitter"
},
"LINKEDIN": {
"PLACEHOLDER": "Enter the LinkedIn username",
"LABEL": "LinkedIn"
},
"GITHUB": {
"PLACEHOLDER": "Enter the Github username",
"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"
} }
} }

View file

@ -0,0 +1,102 @@
{
"AGENT_MGMT": {
"HEADER": "พนักงาน",
"HEADER_BTN_TXT": "เพิ่มพนักงาน",
"LOADING": "กำลังดึงข้อมูลรายชื่อพนักงาน",
"SIDEBAR_TXT": "<p> <b> พนักงาน </b> <p> <b> พนักงาน </b> คือสมาชิกของทีมสนับสนุนลูกค้าของคุณ </p> <p> พนักงานจะสามารถดูและตอบกลับข้อความจากผู้ใช้ของคุณได้ รายการนี้แสดงพนักงานทั้งหมดที่อยู่ในบัญชีของคุณ </p> <p> คลิกที่ <b> เพิ่มตัวแทน </b> เพื่อเพิ่มตัวแทนใหม่ ตัวแทนที่คุณเพิ่มจะได้รับอีเมลพร้อมลิงก์ยืนยันเพื่อเปิดใช้งานบัญชีของพวกเขาหลังจากนั้นพวกเขาสามารถเข้าถึง Chatwoot และตอบกลับข้อความได้ </p> <p> การเข้าถึงคุณสมบัติของ Chatwoot ขึ้นอยู่กับบทบาทต่อไปนี้ </p> <p> <b> พนักงาน </b> - ตัวแทนที่มีบทบาทนี้สามารถเข้าถึงได้เฉพาะกล่องจดหมายรายงานและการสนทนา พวกเขาสามารถกำหนดการสนทนาให้กับตัวแทนคนอื่น ๆ หรือตัวเองและแก้ไขการสนทนาได้ </p> <p> <b> ผู้ดูแลระบบ </b> - ผู้ดูแลระบบจะสามารถเข้าถึงคุณลักษณะ Chatwoot ทั้งหมดที่เปิดใช้งานสำหรับบัญชีของคุณรวมถึงการตั้งค่าพร้อมด้วย สิทธิพิเศษของตัวแทนทั่วไป </p>",
"AGENT_TYPES": [
{
"name": "administrator",
"label": "ผู้ดูเเล"
},
{
"name": "agent",
"label": "พนักงาน"
}
],
"LIST": {
"404": "ไม่มีพนักงานที่เกี่ยวข้องในบัญชีนี้",
"TITLE": "จัดการพนักงานในทีมของคุณ",
"DESC": "คุณสามารถเพิ่มหรือลบพนักงานเข้าหรือออกทีมของคุณได้",
"NAME": "ชื่อ",
"EMAIL": "อีเมล์",
"STATUS": "สถานะ",
"ACTIONS": "การกระทำ",
"VERIFIED": "ยืนยันเเล้ว",
"VERIFICATION_PENDING": "รอการยืนยัน"
},
"ADD": {
"TITLE": "เพิ่มพนักงานในทีมของคุณ",
"DESC": "คุณสามารถเพิ่มผู้ที่จะสามารถรองรับกล่องจดหมายของคุณได้",
"CANCEL_BUTTON_TEXT": "ยกเลิก",
"FORM": {
"NAME": {
"LABEL": "ชื่อพนักงาน",
"PLACEHOLDER": "กรุณาระบุชื่อของพนักงาน"
},
"AGENT_TYPE": {
"LABEL": "ประเภทของพนักงาน",
"PLACEHOLDER": "กรุณาเลือกประเภท",
"ERROR": "ต้องระบุประเภทของพนักงาน"
},
"EMAIL": {
"LABEL": "ที่อยู่อีเมล์",
"PLACEHOLDER": "กรุณาระบุที่อยู่อีเมล์ของพนักงาน"
},
"SUBMIT": "เพิ่มพนักงาน"
},
"API": {
"SUCCESS_MESSAGE": "เพิ่มพนักงานเสร็จสิ้น",
"EXIST_MESSAGE": "อีเมล์นี้ถูกใช้เเล้วโปรดลองใช้อีเมล์อื่น",
"ERROR_MESSAGE": "ไม่สามารถเชื่อมต่อเซิฟเวอร์ได้โปรดลองอีกครั้งในภายหลัง"
}
},
"DELETE": {
"BUTTON_TEXT": "ลบ",
"API": {
"SUCCESS_MESSAGE": "ลบพนักงานเสร็จสิ้น",
"ERROR_MESSAGE": "ไม่สามารถเชื่อมต่อเซิฟเวอร์ได้โปรดลองอีกครั้งในภายหลัง"
},
"CONFIRM": {
"TITLE": "ยืนยันการลบ",
"MESSAGE": "คุณต้องการที่จะลบไหม ",
"YES": "เอาเลย ",
"NO": "ไม่อะเก็บไว้ "
}
},
"EDIT": {
"TITLE": "เเก้ไขพนักงาน",
"FORM": {
"NAME": {
"LABEL": "ชื่อพนักงาน",
"PLACEHOLDER": "กรุณาระบุชื่อของพนักงาน"
},
"AGENT_TYPE": {
"LABEL": "ประเภทของพนักงาน",
"PLACEHOLDER": "กรุณาเลือกประเภท",
"ERROR": "ต้องระบุประเภทของพนักงาน"
},
"EMAIL": {
"LABEL": "ที่อยู่อีเมล์",
"PLACEHOLDER": "กรุณาระบุที่อยู่อีเมล์ของพนักงาน"
},
"SUBMIT": "เเก้ไขพนักงาน"
},
"BUTTON_TEXT": "เเก้ไข",
"CANCEL_BUTTON_TEXT": "ยกเลิก",
"API": {
"SUCCESS_MESSAGE": "อัพเดทพนักงานเสร็จสิ้น",
"ERROR_MESSAGE": "ไม่สามารถเชื่อมต่อเซิฟเวอร์ได้โปรดลองอีกครั้งในภายหลัง"
},
"PASSWORD_RESET": {
"ADMIN_RESET_BUTTON": "รีเซ็ตหรัสผ่าน",
"ADMIN_SUCCESS_MESSAGE": "อีเมล์เเละวิธีการรีเซ็ตหรัสผ่านได้ส่งไปที่พนักงานเเล้ว",
"SUCCESS_MESSAGE": "พนักงานรีเซ็ตหรัสผ่านเเล้ว",
"ERROR_MESSAGE": "ไม่สามารถเชื่อมต่อเซิฟเวอร์ได้โปรดลองอีกครั้งในภายหลัง"
}
},
"SEARCH": {
"NO_RESULTS": "ไม่พบพนักงาน"
}
}
}

View file

@ -0,0 +1,76 @@
{
"CANNED_MGMT": {
"HEADER": "คำตอบสำเร็จรูป",
"HEADER_BTN_TXT": "เพิ่มคำตอบสำเร็จรูป",
"LOADING": "กำลังดึงการตอบสำเร็จรูป",
"SEARCH_404": "ไม่มีรายการที่ตรงกับเนื้อหานี้",
"SIDEBAR_TXT": "<p> <b> การตอบกลับสำเร็จรูป </b> </p> <p> คำตอบสำเร็จรูปคือเทมเพลตการตอบกลับที่บันทึกไว้ซึ่งสามารถใช้เพื่อตอบกลับการสนทนาได้อย่างรวดเร็ว </p> <p> สำหรับการสร้างคำตอบสำเร็จรูปเพียงคลิกที่ <b> เพิ่มการตอบกลับสำเร็จรูป </b> คุณยังสามารถแก้ไขหรือลบคำตอบสำเร็จรูปที่มีอยู่ได้โดยคลิกที่ปุ่มแก้ไขหรือลบ </p> <p> คำตอบสำเร็จรูปถูกใช้โดยใช้ <b> รหัสย่อ </b> ตัวแทนสามารถเข้าถึงคำตอบสำเร็จรูปขณะสนทนาได้โดยพิมพ์ <b> '/' </b> ตามด้วยรหัสสั้น ๆ </p>",
"LIST": {
"404": "ไม่มีการตอบสำเร็จรูปในบัญชีนี้",
"TITLE": "จัดกาาคำตอบสำเร็จรูป",
"DESC": "คำตอบสำเร็จรูปคือเทมเพลตการตอบกลับที่กำหนดไว้ล่วงหน้าซึ่งสามารถใช้เพื่อส่งการตอบกลับไปยังตั๋วได้อย่างรวดเร็ว",
"TABLE_HEADER": [
"หรัสสั้นๆ",
"เนื้อหา",
"การกระทำ"
]
},
"ADD": {
"TITLE": "เพิ่มคำตอบสำเร็จรูป",
"DESC": "คำตอบสำเร็จรูปคือเทมเพลตการตอบกลับที่กำหนดไว้ล่วงหน้าซึ่งสามารถใช้เพื่อส่งการตอบกลับไปยังตั๋วได้อย่างรวดเร็ว",
"CANCEL_BUTTON_TEXT": "ยกเลิก",
"FORM": {
"SHORT_CODE": {
"LABEL": "หรัสสั้นๆ",
"PLACEHOLDER": "กรุณากรอกหรัสสั่นๆ",
"ERROR": "จำเป็นต้องระบุหรัสสั่น"
},
"CONTENT": {
"LABEL": "เนื้อหา",
"PLACEHOLDER": "กรุณากรอกเนื้อหา",
"ERROR": "จำเป็นต้องระบุเนื้อหา"
},
"SUBMIT": "ส่ง"
},
"API": {
"SUCCESS_MESSAGE": "เพิ่มการตอบสำเร็จรูปเเล้ว",
"ERROR_MESSAGE": "ไม่สามารถเชื่อมต่อเซิฟเวอร์ได้โปรดลองอีกครั้งในภายหลัง"
}
},
"EDIT": {
"TITLE": "เเก้ไขคำตอบสำเร็จรูป",
"CANCEL_BUTTON_TEXT": "ยกเลิก",
"FORM": {
"SHORT_CODE": {
"LABEL": "หรัสสั้นๆ",
"PLACEHOLDER": "กรุณากรอกหรัสสั่นๆ",
"ERROR": "จำเป็นต้องระบุหรัสสั่น"
},
"CONTENT": {
"LABEL": "เนื้อหา",
"PLACEHOLDER": "กรุณากรอกเนื้อหา",
"ERROR": "จำเป็นต้องระบุเนื้อหา"
},
"SUBMIT": "ส่ง"
},
"BUTTON_TEXT": "เเก้ไข",
"API": {
"SUCCESS_MESSAGE": "อัพเดทคำตอบสำเร็จรูปเเล้ว",
"ERROR_MESSAGE": "ไม่สามารถเชื่อมต่อเซิฟเวอร์ได้โปรดลองอีกครั้งในภายหลัง"
}
},
"DELETE": {
"BUTTON_TEXT": "ลบ",
"API": {
"SUCCESS_MESSAGE": "ลบคำตอบสำเร็จรูปเเล้ว",
"ERROR_MESSAGE": "ไม่สามารถเชื่อมต่อเซิฟเวอร์ได้โปรดลองอีกครั้งในภายหลัง"
},
"CONFIRM": {
"TITLE": "ยืนยันการลบ",
"MESSAGE": "คุณต้องการที่จะลบไหม ",
"YES": "เอาเลย ",
"NO": "ไม่อะเก็บไว้ "
}
}
}
}

View file

@ -0,0 +1,84 @@
{
"CHAT_LIST": {
"LOADING": "กำลังโหลดการสนทนา",
"LOAD_MORE_CONVERSATIONS": "โหลดการสนทนาเพิ่มเติม",
"EOF": "การสนทนาทั้งหมดถูกโหลดมาเเล้วนะ 🎉",
"LIST": {
"404": "ไม่มีการสนทนาที่ใช้งานในกลุ่มนี้"
},
"TAB_HEADING": "การสนทนา",
"SEARCH": {
"INPUT": "ค้นหาผู้คน, เเชท, หรือการตอบกลับ"
},
"STATUS_TABS": [
{
"NAME": "เปิด",
"KEY": "openCount"
},
{
"NAME": "เสร็จสิ้น",
"KEY": "allConvCount"
}
],
"ASSIGNEE_TYPE_TABS": [
{
"NAME": "ของฉัน",
"KEY": "me",
"COUNT_KEY": "mineCount"
},
{
"NAME": "ไม่ได้รับมอบหมาย",
"KEY": "unassigned",
"COUNT_KEY": "unAssignedCount"
},
{
"NAME": "ทั้งหมด",
"KEY": "all",
"COUNT_KEY": "allCount"
}
],
"CHAT_STATUS_ITEMS": [
{
"TEXT": "เปิด",
"VALUE": "open"
},
{
"TEXT": "เสร็จสิ้น",
"VALUE": "resolved"
},
{
"TEXT": "บอท",
"VALUE": "บอท"
}
],
"ATTACHMENTS": {
"image": {
"ICON": "ion-image",
"CONTENT": "ข้อความภาพ"
},
"audio": {
"ICON": "ion-volume-high",
"CONTENT": "ข้อความเสียง"
},
"video": {
"ICON": "ion-ios-videocam",
"CONTENT": "ข้อความวิดิโอ"
},
"file": {
"ICON": "ion-document",
"CONTENT": "เเนบไฟล์"
},
"location": {
"ICON": "ion-ios-location",
"CONTENT": "สถานที่"
},
"fallback": {
"ICON": "ion-link",
"CONTENT": "ได้เเชร์ลิ้ง"
}
},
"RECEIVED_VIA_EMAIL": "ได้รับทางอีเมลล์",
"VIEW_TWEET_IN_TWITTER": "ดูทวิตในทวิตเตอร์",
"REPLY_TO_TWEET": "ตอบกลับทวิตนี้"
}
}

View file

@ -0,0 +1,96 @@
{
"CONTACT_PANEL": {
"NOT_AVAILABLE": "ไม่พร้อมใช้งาน",
"EMAIL_ADDRESS": "ที่อยู่อีเมล์",
"PHONE_NUMBER": "หมายเลขโทรศัพท์",
"COMPANY": "บริษัท",
"LOCATION": "สถานที่",
"CONVERSATION_TITLE": "รายละเอียดการสนทนา",
"BROWSER": "บราวเซอร์",
"OS": "ระบบปฏิบัติการ",
"INITIATED_FROM": "Initiated from",
"INITIATED_AT": "Initiated at",
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "ไม่มีการสนทนาก่อนหน้านี้ที่เชื่อมโยงกับผู้ติดต่อนี้",
"TITLE": "การสนทนาก่อนหน้า"
},
"CUSTOM_ATTRIBUTES": {
"TITLE": "แอตทริบิวต์ที่กำหนดเอง"
},
"LABELS": {
"TITLE": "ป้ายกำกับการสนทนา",
"MODAL": {
"TITLE": "ป้ายกำกับสำหรับ",
"ACTIVE_LABELS": "เพิ่มป้ายกำกับไปสนทนา",
"INACTIVE_LABELS": "ป้ายกำกับที่ใช้ได้ในบัญชีนี้",
"REMOVE": "คลิกที่ X เพื่อลบป้ายกำกับ",
"ADD": "คลิกที่ + เพื่อเพิ่มป้ายกำกับ",
"UPDATE_BUTTON": "อัพเดทป้ายกำกับ",
"UPDATE_ERROR": "ไม่สามารถอัพเดทป้านกำกับได้กรุณาลองใหม่"
},
"NO_LABELS_TO_ADD": "ไม่มีป้ายกำกับที่กำหนดให้บัญชีนี้",
"NO_AVAILABLE_LABELS": "ไม่มีป้ายกำกับที่เพิ่มให้การสนทนานี้"
},
"MUTE_CONTACT": "ระงับการสนทนา",
"MUTED_SUCCESS": "การสนทนานี้ถูกระงับ 6 ชั่วโมง",
"SEND_TRANSCRIPT": "ส่งประวัติเเชท",
"EDIT_LABEL": "เเก้ไข"
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "เเก้ไขผู้ติดต่อ",
"TITLE": "เเก้ไขผู้ติดต่อ",
"DESC": "เเห้ไขรายละเอียดผู้ติดต่อ",
"FORM": {
"SUBMIT": "ส่ง",
"CANCEL": "ยกเลิก",
"AVATAR": {
"LABEL": "อวาตาร์ผู้ติดต่อ"
},
"NAME": {
"PLACEHOLDER": "กรอกขื่อเต็มของผู้ติดต่อ",
"LABEL": "ชื่อเต็ม"
},
"BIO": {
"PLACEHOLDER": "กรอกประวัติผู้ติดต่อ",
"LABEL": "ประวัติ"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "กรอกที่อยู่อีเมล์ผู้ติดต่อ",
"LABEL": "ที่อยู่อีเมล์"
},
"PHONE_NUMBER": {
"PLACEHOLDER": "กรอกหมายเลขโทรศัพท์ผู้ติดต่อ",
"LABEL": "หมายเลขโทรศัพท์"
},
"LOCATION": {
"PLACEHOLDER": "กรอกที่อยู่ผู้ติดต่อ",
"LABEL": "สถานที่"
},
"COMPANY_NAME": {
"PLACEHOLDER": "กรอกชื่อบริษัท",
"LABEL": "ชื่อบริษัท"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
"PLACEHOLDER": "กรอกชื่อเฟสบุ๊ค",
"LABEL": "เฟสบุ๊ค"
},
"TWITTER": {
"PLACEHOLDER": "กรอกชื่อทวิต",
"LABEL": "ทวิตเตอร์"
},
"LINKEDIN": {
"PLACEHOLDER": "กรอกชื่อ LinkedIn",
"LABEL": "LinkedIn"
},
"GITHUB": {
"PLACEHOLDER": "กรอกชื่อ Github",
"LABEL": "Github"
}
}
},
"SUCCESS_MESSAGE": "อัพเดทเนื้อหาเสร็จสิ้น",
"CONTACT_ALREADY_EXIST": "อีเมล์นี้ถูกใช้ในผู้ติดต่อคนอื่นเเล้ว",
"ERROR_MESSAGE": "มีปัญหาในการอัพเดทผู้ติดต่อ กรุณาลองใหม่อีกครั้ง"
}
}

View file

@ -0,0 +1,57 @@
{
"CONVERSATION": {
"404": "กรุณาเลือกการสนทนาจากด้านซ้าย",
"NO_MESSAGE_1": "โอ้ว ไม่นะเหมือนจะไม่มีข้อความจากลูกค้าของคุณในกล่องข้อความ",
"NO_MESSAGE_2": " เพื่อส่งข้อความไปยังเพจของคุณ!",
"NO_INBOX_1": "โฮล่า! ดูเหมือนว่าคุณยังไม่ได้เพิ่มกล่องจดหมายเลยนะ",
"NO_INBOX_2": " ที่จะเริ่มต้น",
"NO_INBOX_AGENT": "เอ่อโอ้! ดูเหมือนว่าคุณไม่ได้เป็นส่วนหนึ่งของกล่องจดหมายใด ๆ โปรดติดต่อผู้ดูแลระบบของคุณ",
"CLICK_HERE": "กดที่นี้",
"LOADING_INBOXES": "กำลังโหลดกล่องข้อความ",
"LOADING_CONVERSATIONS": "กำลังโหลดการสนทนา",
"CANNOT_REPLY": "คุณไม่สามารถตอบกลับได้เนื่องจาก",
"24_HOURS_WINDOW": "การจำกัดหน้าต่างข้อความ 24 ชั่วโมง",
"LAST_INCOMING_TWEET": "คุณกำลังตอบกลับทวีตที่เข้ามาล่าสุด",
"REPLYING_TO": "คุณกำลังตอบกลับ:",
"REMOVE_SELECTION": "ลบตัวเลือก",
"DOWNLOAD": "ดาวโหลด",
"HEADER": {
"RESOLVE_ACTION": "เสร็จสิ้น",
"REOPEN_ACTION": "เปิดใหม่อีกครั้ง",
"OPEN": "เพิ่มเติม",
"CLOSE": "ปิด",
"DETAILS": "รายละเอียด"
},
"FOOTER": {
"MSG_INPUT": "Shift + enter สำหรับบรรทัดใหม่ เริ่มต้นด้วย '/' เพื่อเลือกคำตอบสำเร็จรูป",
"PRIVATE_MSG_INPUT": "Shift + enter สำหรับบรรทัดใหม่ สิ่งนี้จะปรากฏแก่พนักงานเท่านั้น"
},
"REPLYBOX": {
"REPLY": "ตอบ",
"PRIVATE_NOTE": "โน้ตส่วนตัว",
"SEND": "ส่ง",
"CREATE": "เพิ่มโน้ต",
"TWEET": "ทวิต"
},
"VISIBLE_TO_AGENTS": "โน้ตส่วนตัว: มีเพียงคุณและทีมเท่านั้นที่มองเห็นได้",
"CHANGE_STATUS": "สถานะการสนทนามีการเปลี่ยนเเปลง",
"CHANGE_AGENT": "ผู้ได้รับมอบหมายการสนทนานี้มีการเปลี่ยนแปลง"
},
"EMAIL_TRANSCRIPT": {
"TITLE": "ส่งบันทึกการสนทนา",
"DESC": "ส่งสำเนาบันทึกการสนทนาไปยังที่อยู่อีเมลที่ระบุ",
"SUBMIT": "ส่ง",
"CANCEL": "ยกเลิก",
"SEND_EMAIL_SUCCESS": "บันทึกการสนทนาได้ถูกส่งเเล้ว",
"SEND_EMAIL_ERROR": "เกิดข้อผิดพลาดกรุณาลองใหม่อีกครั้ง",
"FORM": {
"SEND_TO_CONTACT": "ส่งบันทึกการสนทนาให้ลูกค้า",
"SEND_TO_AGENT": "ส่งบันทึกการสนทนาให้พนักงานที่ได้รับมอบหมาย",
"SEND_TO_OTHER_EMAIL_ADDRESS": "ส่งบันทึกการสนทนาให้ที่อยู่อีเมล์อื่น",
"EMAIL": {
"PLACEHOLDER": "กรอกที่อยู่อีเมล์",
"ERROR": "กรุณากรอกที่อยู่อีเมล์ให้ถูกต้อง"
}
}
}
}

View file

@ -0,0 +1,42 @@
{
"GENERAL_SETTINGS": {
"TITLE": "ตั้งค่าบัญชี",
"SUBMIT": "อัพเดทการตั้งค่า",
"BACK": "ย้อนกลับ",
"UPDATE": {
"ERROR": "ไม่สามารถอัพเดทการตั้งค่าได้ ลองอีกครั้งสิ",
"SUCCESS": "อัพเดทการตั้งค่าบัญชีเเล้ว"
},
"FORM": {
"ERROR": "กรุณาเเก้ไขข้อผิดพลาดในเเบบฟอร์ม",
"GENERAL_SECTION": {
"TITLE": "ตั้งค่าทั่วไป",
"NOTE": ""
},
"NAME": {
"LABEL": "ชื่อบัญชี",
"PLACEHOLDER": "ชื่อบัญชีของคุณ",
"ERROR": "กรุณากรอกชื่อบัญชีให้ถูกต้อง"
},
"LANGUAGE": {
"LABEL": "ภาษา (ทดสอบ)",
"PLACEHOLDER": "ชื่อบัญชีของคุณ",
"ERROR": ""
},
"DOMAIN": {
"LABEL": "Incoming Email Domain",
"PLACEHOLDER": "โดเมนที่คุณจะรับอีเมล์",
"ERROR": ""
},
"SUPPORT_EMAIL": {
"LABEL": "อีเมล์ช่วยเหลือ",
"PLACEHOLDER": "อีเมล์ช่วยเหลือในบริษัทของคุณ",
"ERROR": ""
},
"FEATURES": {
"INBOUND_EMAIL_ENABLED": "การสนทนาด้วยอีเมล์ถูกเปิดสำหรับบัญชีของคุณ",
"CUSTOM_EMAIL_DOMAIN_ENABLED": "คุณสามารถรับอีเมล์ในโดเมนเเบบกำหนดเองได้เเล้ว"
}
}
}
}

View file

@ -0,0 +1,238 @@
{
"INBOX_MGMT": {
"HEADER": "กล่องข้อความ",
"SIDEBAR_TXT": "<p><b>กล่องข้อความ</b></p> <p> เมื่อคุณเชื่อมต่อเว็บไซต์หรือหน้า Facebook กับ Chatwoot จะเรียกว่า <b>Inbox</b> คุณสามารถมีกล่องจดหมายได้ไม่ จำกัด ในบัญชี Chatwoot ของคุณ </p> <p> คลิกที่ <b> เพิ่มกล่องจดหมาย </b>เพื่อเชื่อมต่อเว็บไซต์หรือเพจ Facebook </p> <p> ในแดชบอร์ดคุณสามารถดูการสนทนาทั้งหมดจากกล่องจดหมายทั้งหมดของคุณในที่เดียวและตอบกลับได้ในแท็บ \"การสนทนา\" </p> <p> คุณยังสามารถดูการสนทนาเฉพาะสำหรับกล่องจดหมายได้โดยคลิกที่ชื่อกล่องจดหมายในบานหน้าต่างด้านซ้ายของแผงควบคุม </p>",
"LIST": {
"404": "ไม่มีกล่องข้อความที่เกี่ยวข้องในบัญชีนี้"
},
"CREATE_FLOW": [
{
"title": "เลือกช่อง",
"route": "settings_inbox_new",
"body": "เลือกผู้ให้บริการที่คุณต้องการจะใช้สำหรับ Chatwoot"
},
{
"title": "สร้างกล่องข้อความ",
"route": "settings_inboxes_page_channel",
"body": "ตรวจสอบบัญชีของคุณเเละสร้างกล่องข้อความ"
},
{
"title": "เพิ่มพนักงาน",
"route": "settings_inboxes_add_agents",
"body": "เพิ่มพนักงานเพื่อสร้างกล่องข้อความ"
},
{
"title": "Voila!",
"route": "settings_inbox_finish",
"body": "คุณพร้อมเเล้ว"
}
],
"ADD": {
"FB": {
"HELP": "ป. ล. เมื่อลงชื่อเข้าใช้เราจะสามารถเข้าถึงข้อความของเพจของคุณเท่านั้น Chatwoot ไม่สามารถเข้าถึงข้อความส่วนตัวของคุณได้",
"CHOOSE_PAGE": "เลือกหน้า",
"CHOOSE_PLACEHOLDER": "เลือกหน้าจากรายชื่อ",
"INBOX_NAME": "ชื่อกล่องข้อความ",
"ADD_NAME": "เพิ่มชื่อให้กล่องข้อความของคุณ",
"PICK_NAME": "เลือกชื่อให้กล่องข้อความของคุณ",
"PICK_A_VALUE": "เลือกค่า"
},
"TWITTER": {
"HELP": "ในการเพิ่มโปรไฟล์ Twitter ของคุณเป็นช่องคุณต้องตรวจสอบสิทธิ์โปรไฟล์ Twitter ของคุณโดยคลิกที่ \"ลงชื่อเข้าใช้ด้วย Twitter\" "
},
"WEBSITE_CHANNEL": {
"TITLE": "ช่องเว็บไซต์",
"DESC": "สร้างช่องสำหรับเว็บของคุณเเละเริ่มที่จะช่วยเหลือลูกค้าของคุณด้วยวิดเจ็ต",
"LOADING_MESSAGE": "กำลังสร้างช่องช่วยเหลือสำหรับเว็บไซต์",
"CHANNEL_AVATAR": {
"LABEL": "รูปของช่อง"
},
"CHANNEL_NAME": {
"LABEL": "ชื่อเว็บไซต์",
"PLACEHOLDER": "กรอกชื่อเว็บไซต์ของคุณ (เช่น SnowBoltz Inc)"
},
"CHANNEL_DOMAIN": {
"LABEL": "โดเมนเว็บไซต์",
"PLACEHOLDER": "กรอกโดเมนเว็บไซต์ของคุณ (เช่น snowboltz.net)"
},
"CHANNEL_WELCOME_TITLE": {
"LABEL": "ข้อความยินดีต้อนรับส่วนหัว",
"PLACEHOLDER": "สวัสดี!"
},
"CHANNEL_WELCOME_TAGLINE": {
"LABEL": "ข้อความยินดีต้อนรับส่วนล่าง",
"PLACEHOLDER": "เราทำให้การติดต่อกับเราเป็นเรื่องง่าย ถามเราได้ทุกอย่างหรือแบ่งปันความคิดเห็นของคุณ"
},
"CHANNEL_GREETING_MESSAGE": {
"LABEL": "ข้อความต้อนรับ",
"PLACEHOLDER": "โดยทั่วไป Acme Inc จะตอบกลับภายในไม่กี่ชั่วโมง"
},
"CHANNEL_GREETING_TOGGLE": {
"LABEL": "เปิดข้อความต้อนรับ",
"HELP_TEXT": "ส่งข้อความต้นรับเมื่อการสนทนาเริ่มขึ้น",
"ENABLED": "เปิด",
"DISABLED": "ปิด"
},
"WIDGET_COLOR": {
"LABEL": "สีของวิดเจ็ต",
"PLACEHOLDER": "อัพเดทสีที่ใช้ในวิดเจ็ต"
},
"SUBMIT_BUTTON": "สร้างกล่องข้อความ"
},
"TWILIO": {
"TITLE": "ช่อง Twilio SMS/Whatsapp",
"DESC": "เพิ่ม Twilio และเริ่มสนับสนุนลูกค้าของคุณผ่าน SMS หรือ Whatsapp",
"ACCOUNT_SID": {
"LABEL": "Account SID",
"PLACEHOLDER": "กรุณากรอก Twilio Account SID",
"ERROR": "ฟิลด์นี้จำเป็นต้องกรอก"
},
"CHANNEL_TYPE": {
"LABEL": "ประเภทช่อง",
"ERROR": "กรุณาเลือกประเภทช่อง"
},
"AUTH_TOKEN": {
"LABEL": "Auth Token",
"PLACEHOLDER": "กรุณาหรอก Twilio Auth Token",
"ERROR": "ฟิลด์นี้จำเป็นต้องกรอก"
},
"CHANNEL_NAME": {
"LABEL": "ชื่อช่อง",
"PLACEHOLDER": "กรุณากรอกชื่อช่อง",
"ERROR": "ฟิลด์นี้จำเป็นต้องกรอก"
},
"PHONE_NUMBER": {
"LABEL": "หมายเลขโทรศัพท์",
"PLACEHOLDER": "กรุณากรอกหมายเลขโทรศัพท์ที่จะส่งข้อความ",
"ERROR": "กรุณากรอกหมายเลขโทรศัพท์ให้ถูกต้องต้องเริ่มด้วย \"+\""
},
"API_CALLBACK": {
"TITLE": "ลิ้งเรียกกลับ",
"SUBTITLE": "คุณต้องตั้งค่าลิ้งเรียกกลับใน Twilio ด้วยลิ้งที่มาจากที่นี่"
},
"SUBMIT_BUTTON": "สร้างช่อง Twilio",
"API": {
"ERROR_MESSAGE": "เราไม่สามารถยืนยันใบรับลองของ Twilio ได้กรุณาลองใหม่อีกครั้ง"
}
},
"API_CHANNEL": {
"TITLE": "ช่อง API",
"DESC": "สร้างช่องด้วย API เเละเริ่มช่วยเหลือลูกค้าของคุณ",
"CHANNEL_NAME": {
"LABEL": "ชื่อช่อง",
"PLACEHOLDER": "กรุณากรอกชื่อช่อง",
"ERROR": "ฟิลด์นี้จำเป็นต้องกรอก"
},
"WEBHOOK_URL": {
"LABEL": "ลิ้ง Webhook",
"SUBTITLE": "ตั้งค่าลิ้งที่ต้องการรับอีเวนท์",
"PLACEHOLDER": "ลิ้ง Webhook"
},
"SUBMIT_BUTTON": "สร้างช่อง API",
"API": {
"ERROR_MESSAGE": "ไม่สามารถบันทึกช่อง API ได้"
}
},
"EMAIL_CHANNEL": {
"TITLE": "ช่องอีเมล์",
"DESC": "ใช้งานกล่องข้อความอีเมล์",
"CHANNEL_NAME": {
"LABEL": "ชื่อช่อง",
"PLACEHOLDER": "กรุณากรอกชื่อช่อง",
"ERROR": "ฟิลด์นี้จำเป็นต้องกรอก"
},
"EMAIL": {
"LABEL": "อีเมล์",
"SUBTITLE": "อีเมล์ที่ใช้สำหรับลูกค้าที่จะส่งข้อความตั๋วช่วยเหลือ",
"PLACEHOLDER": "อีเมล์"
},
"SUBMIT_BUTTON": "สร้างช่องอีเมล์",
"API": {
"ERROR_MESSAGE": "เราไม่สามารถบันทึกช่องอีเมล์ได้"
},
"FINISH_MESSAGE": "เริ่มนำเข้าอีเมล์ของคุณไปที่อยู่อีเมล์"
},
"AUTH": {
"TITLE": "ช่อง",
"DESC": "ขณะนี้เราสนับสนุนวิดเจ็ตแชทสดของเว็บไซต์เพจ Facebook และโปรไฟล์ Twitter เป็นแพลตฟอร์ม เรามีแพลตฟอร์มอื่น ๆ เช่น Whatsapp, Email, Telegram และ Line ในผลงานซึ่งจะออกเร็ว ๆ นี้"
},
"AGENTS": {
"TITLE": "พนักงาน",
"DESC": "Here you can add agents to manage your newly created inbox. Only these selected agents will have access to your inbox. Agents which are not part of this inbox will not be able to see or respond to messages in this inbox when they login. <br> <b>PS:</b> As an administrator, if you need access to all inboxes, you should add yourself as agent to all inboxes that you create."
},
"DETAILS": {
"TITLE": "Inbox Details",
"DESC": "From the dropdown below, select the Facebook Page you want to connect to Chatwoot. You can also give a custom name to your inbox for better identification."
},
"FINISH": {
"TITLE": "Nailed It!",
"DESC": "You have successfully finished integrating your Facebook Page with Chatwoot. Next time a customer messages your Page, the conversation will automatically appear on your inbox.<br>We are also providing you with a widget script that you can easily add to your website. Once this is live on your website, customers can message you right from your website without the help of any external tool and the conversation will appear right here, on Chatwoot.<br>Cool, huh? Well, we sure try to be :)"
}
},
"DETAILS": {
"LOADING_FB": "Authenticating you with Facebook...",
"ERROR_FB_AUTH": "Something went wrong, Please refresh page...",
"CREATING_CHANNEL": "Creating your Inbox...",
"TITLE": "Configure Inbox Details",
"DESC": ""
},
"AGENTS": {
"BUTTON_TEXT": "Add agents",
"ADD_AGENTS": "Adding Agents to your Inbox..."
},
"FINISH": {
"TITLE": "Your Inbox is ready!",
"MESSAGE": "You can now engage with your customers through your new Channel. Happy supporting ",
"BUTTON_TEXT": "Take me there",
"WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox."
},
"REAUTH": "Reauthorize",
"VIEW": "View",
"EDIT": {
"API": {
"SUCCESS_MESSAGE": "Inbox settings updated successfully",
"AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Auto assignment updated successfully",
"ERROR_MESSAGE": "Could not update widget color. Please try again later."
},
"AUTO_ASSIGNMENT": {
"ENABLED": "Enabled",
"DISABLED": "Disabled"
}
},
"DELETE": {
"BUTTON_TEXT": "ลบ",
"CONFIRM": {
"TITLE": "ยืนยันการลบ",
"MESSAGE": "คุณต้องการที่จะลบไหม ",
"YES": "เอาเลย ",
"NO": "ไม่อะเก็บไว้ "
},
"API": {
"SUCCESS_MESSAGE": "Inbox deleted successfully",
"ERROR_MESSAGE": "Could not delete inbox. Please try again later."
}
},
"TABS": {
"SETTINGS": "Settings",
"COLLABORATORS": "Collaborators",
"CONFIGURATION": "Configuration"
},
"SETTINGS": "Settings",
"FEATURES": {
"LABEL": "Features",
"DISPLAY_FILE_PICKER": "Display file picker on the widget",
"DISPLAY_EMOJI_PICKER": "Display emoji picker on the widget"
},
"SETTINGS_POPUP": {
"MESSENGER_HEADING": "Messenger Script",
"MESSENGER_SUB_HEAD": "Place this button inside your body tag",
"INBOX_AGENTS": "พนักงาน",
"INBOX_AGENTS_SUB_TEXT": "Add or remove agents from this inbox",
"UPDATE": "Update",
"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."
}
}
}

View file

@ -0,0 +1,63 @@
{
"INTEGRATION_SETTINGS": {
"HEADER": "Integrations",
"WEBHOOK": {
"TITLE": "Webhook",
"CONFIGURE": "Configure",
"HEADER": "Webhook settings",
"HEADER_BTN_TXT": "Add new webhook",
"INTEGRATION_TXT": "Webhook events provide you the realtime information about what's happening in your Chatwoot account. You can make use of the webhooks to communicate the events to your favourite apps like Slack or Github. Click on Configure to set up your webhooks.",
"LOADING": "Fetching attached webhooks",
"SEARCH_404": "ไม่มีรายการที่ตรงกับเนื้อหานี้",
"SIDEBAR_TXT": "<p><b>Webhooks</b> </p> <p>Webhooks are HTTP callbacks which can be defined for every account. They are triggered by events like message creation in Chatwoot. You can create more than one webhook for this account. <br /><br /> For creating a <b>webhook</b>, click on the <b>Add new webhook</b> button. You can also remove any existing webhook by clicking on the Delete button.</p>",
"LIST": {
"404": "There are no webhooks configured for this account.",
"TITLE": "Manage webhooks",
"DESC": "Webhooks are predefined reply templates which can be used to quickly send out replies to tickets.",
"TABLE_HEADER": [
"Webhook endpoint",
"การกระทำ"
]
},
"ADD": {
"CANCEL": "ยกเลิก",
"TITLE": "Add new webhook",
"DESC": "Webhook events provide you the realtime information about what's happening in your Chatwoot account. Please enter a valid URL to configure a callback.",
"FORM": {
"END_POINT": {
"LABEL": "Webhook URL",
"PLACEHOLDER": "Example: https://example/api/webhook",
"ERROR": "Please enter a valid URL"
},
"SUBMIT": "Create webhook"
},
"API": {
"SUCCESS_MESSAGE": "Webhook added successfully",
"ERROR_MESSAGE": "ไม่สามารถเชื่อมต่อเซิฟเวอร์ได้โปรดลองอีกครั้งในภายหลัง"
}
},
"DELETE": {
"BUTTON_TEXT": "ลบ",
"API": {
"SUCCESS_MESSAGE": "Webhook deleted successfully",
"ERROR_MESSAGE": "ไม่สามารถเชื่อมต่อเซิฟเวอร์ได้โปรดลองอีกครั้งในภายหลัง"
},
"CONFIRM": {
"TITLE": "ยืนยันการลบ",
"MESSAGE": "คุณต้องการที่จะลบไหม ",
"YES": "เอาเลย ",
"NO": "No, Keep it"
}
}
},
"DELETE": {
"BUTTON_TEXT": "ลบ",
"API": {
"SUCCESS_MESSAGE": "Integration deleted successfully"
}
},
"CONNECT": {
"BUTTON_TEXT": "Connect"
}
}
}

View file

@ -0,0 +1,68 @@
{
"LABEL_MGMT": {
"HEADER": "Labels",
"HEADER_BTN_TXT": "Add label",
"LOADING": "Fetching labels",
"SEARCH_404": "ไม่มีรายการที่ตรงกับเนื้อหานี้",
"SIDEBAR_TXT": "<p><b>Labels</b> <p>Labels help you to categorize conversations and prioritize them. You can assign label to a conversation from the sidepanel. <br /><br />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.</p>",
"LIST": {
"404": "There are no labels available in this account.",
"TITLE": "Manage labels",
"DESC": "Labels let you group the conversations together.",
"TABLE_HEADER": [
"ชื่อ",
"Description",
"Color"
]
},
"FORM": {
"NAME": {
"LABEL": "Label Name",
"PLACEHOLDER": "Label name",
"ERROR": "Label Name is required"
},
"DESCRIPTION": {
"LABEL": "Description",
"PLACEHOLDER": "Label Description"
},
"COLOR": {
"LABEL": "Color"
},
"SHOW_ON_SIDEBAR": {
"LABEL": "Show label on sidebar"
},
"EDIT": "เเก้ไข",
"CREATE": "Create",
"DELETE": "ลบ",
"CANCEL": "ยกเลิก"
},
"ADD": {
"TITLE": "Add label",
"DESC": "Labels let you group the conversations together.",
"API": {
"SUCCESS_MESSAGE": "Label added successfully",
"ERROR_MESSAGE": "There was an error, please try again"
}
},
"EDIT": {
"TITLE": "Edit label",
"API": {
"SUCCESS_MESSAGE": "Label updated successfully",
"ERROR_MESSAGE": "There was an error, please try again"
}
},
"DELETE": {
"BUTTON_TEXT": "ลบ",
"API": {
"SUCCESS_MESSAGE": "Label deleted successfully",
"ERROR_MESSAGE": "There was an error, please try again"
},
"CONFIRM": {
"TITLE": "ยืนยันการลบ",
"MESSAGE": "คุณต้องการที่จะลบไหม ",
"YES": "เอาเลย ",
"NO": "ไม่อะเก็บไว้ "
}
}
}
}

View file

@ -0,0 +1,21 @@
{
"LOGIN": {
"TITLE": "Login to Chatwoot",
"EMAIL": {
"LABEL": "Email",
"PLACEHOLDER": "Email eg: someone@example.com"
},
"PASSWORD": {
"LABEL": "Password",
"PLACEHOLDER": "Password"
},
"API": {
"SUCCESS_MESSAGE": "Login Successful",
"ERROR_MESSAGE": "ไม่สามารถเชื่อมต่อเซิฟเวอร์ได้โปรดลองอีกครั้งในภายหลัง",
"UNAUTH": "Username / Password Incorrect. Please try again"
},
"FORGOT_PASSWORD": "Forgot your password?",
"CREATE_NEW_ACCOUNT": "Create new account",
"SUBMIT": "Login"
}
}

View file

@ -0,0 +1,49 @@
{
"REPORT": {
"HEADER": "Reports",
"LOADING_CHART": "Loading chart data...",
"NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.",
"METRICS": [
{
"NAME": "การสนทนา",
"KEY": "conversations_count",
"DESC": "( Total )"
},
{
"NAME": "Incoming Messages",
"KEY": "incoming_messages_count",
"DESC": "( Total )"
},
{
"NAME": "Outgoing Messages",
"KEY": "outgoing_messages_count",
"DESC": "( Total )"
},
{
"NAME": "First response time",
"KEY": "avg_first_response_time",
"DESC": "( Avg )"
},
{
"NAME": "Resolution Time",
"KEY": "avg_resolution_time",
"DESC": "( Avg )"
},
{
"NAME": "Resolution Count",
"KEY": "resolutions_count",
"DESC": "( Total )"
}
],
"DATE_RANGE": [
{
"id": 0,
"name": "Last 7 days"
},
{
"id": 1,
"name": "Last 30 days"
}
]
}
}

View file

@ -0,0 +1,15 @@
{
"RESET_PASSWORD": {
"TITLE": "กู้หรัสผ่าน",
"EMAIL": {
"LABEL": "อีเมล์",
"PLACEHOLDER": "กรุณากรอกอีเมล์ของคุณ",
"ERROR": "กรุณากรอกอีเมล์ให้ถูกต้อง"
},
"API": {
"SUCCESS_MESSAGE": "ลิ้งกู้หรัสผผ่านถูกส่งไปยังอีเมล์ของคุณเเล้ว",
"ERROR_MESSAGE": "ไม่สามารถเชื่อมต่อเซิฟเวอร์ได้โปรดลองอีกครั้งในภายหลัง"
},
"SUBMIT": "ส่ง"
}
}

View file

@ -0,0 +1,20 @@
{
"SET_NEW_PASSWORD": {
"TITLE": "ตั้งหรัสผ่านใหม่",
"PASSWORD": {
"LABEL": "หรัสผ่าน",
"PLACEHOLDER": "หรัสผ่าน",
"ERROR": "หรัสผ่านนั้นสั้นเกินไป"
},
"CONFIRM_PASSWORD": {
"LABEL": "ยืนยันหรัสผ่าน",
"PLACEHOLDER": "ยืนยันหรัสผ่าน",
"ERROR": "หรัสผ่านไม่ตรงกัน"
},
"API": {
"SUCCESS_MESSAGE": "เปลี่ยนหรัสผ่านเเล้ว",
"ERROR_MESSAGE": "ไม่สามารถเชื่อมต่อเซิฟเวอร์ได้โปรดลองอีกครั้งในภายหลัง"
},
"SUBMIT": "ส่ง"
}
}

View file

@ -0,0 +1,147 @@
{
"PROFILE_SETTINGS": {
"LINK": "Profile Settings",
"TITLE": "Profile Settings",
"BTN_TEXT": "Update Profile",
"AFTER_EMAIL_CHANGED": "Your profile has been updated successfully, please login again as your login credentials are changed",
"FORM": {
"AVATAR": "Profile Image",
"ERROR": "กรุณาเเก้ไขข้อผิดพลาดในเเบบฟอร์ม",
"REMOVE_IMAGE": "Remove",
"UPLOAD_IMAGE": "Upload image",
"UPDATE_IMAGE": "Update image",
"PROFILE_SECTION": {
"TITLE": "Profile",
"NOTE": "Your email address is your identity and is used to log in."
},
"PASSWORD_SECTION": {
"TITLE": "Password",
"NOTE": "Updating your password would reset your logins in multiple devices."
},
"ACCESS_TOKEN": {
"TITLE": "Access Token",
"NOTE": "This token can be used if you are building an API based integration"
},
"EMAIL_NOTIFICATIONS_SECTION": {
"TITLE": "Email Notifications",
"NOTE": "Update your email notification preferences here",
"CONVERSATION_ASSIGNMENT": "Send email notifications when a conversation is assigned to me",
"CONVERSATION_CREATION": "Send email notifications when a new conversation is created"
},
"API": {
"UPDATE_SUCCESS": "Your notification preferences are updated successfully",
"UPDATE_ERROR": "There is an error while updating the preferences, please try again"
},
"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",
"HAS_ENABLED_PUSH": "You have enabled push for this browser.",
"REQUEST_PUSH": "Enable push notifications"
},
"PROFILE_IMAGE": {
"LABEL": "Profile Image"
},
"NAME": {
"LABEL": "Your full name",
"ERROR": "Please enter a valid full name",
"PLACEHOLDER": "Please enter your full name"
},
"DISPLAY_NAME": {
"LABEL": "Display name",
"ERROR": "Please enter a valid display name",
"PLACEHOLDER": "Please enter a display name, this would be displayed in conversations"
},
"AVAILABILITY": {
"LABEL": "Availability",
"STATUSES_LIST": [
{
"value": "online",
"label": "Online"
},
{
"value": "busy",
"label": "Busy"
},
{
"value": "offline",
"label": "Offline"
}
]
},
"EMAIL": {
"LABEL": "Your email address",
"ERROR": "Please enter a valid email address",
"PLACEHOLDER": "Please enter your email address, this would be displayed in conversations"
},
"PASSWORD": {
"LABEL": "Password",
"ERROR": "Please enter a password of length 6 or more",
"PLACEHOLDER": "Please enter a new password"
},
"PASSWORD_CONFIRMATION": {
"LABEL": "Confirm new password",
"ERROR": "Confirm password should match the password",
"PLACEHOLDER": "Please re-enter your password"
}
}
},
"SIDEBAR_ITEMS": {
"CHANGE_ACCOUNTS": "Switch Account",
"SELECTOR_SUBTITLE": "Select an account from the following list",
"PROFILE_SETTINGS": "Profile Settings",
"LOGOUT": "Logout"
},
"APP_GLOBAL": {
"TRIAL_MESSAGE": "days trial remaining.",
"TRAIL_BUTTON": "Buy Now"
},
"COMPONENTS": {
"CODE": {
"BUTTON_TEXT": "Copy",
"COPY_SUCCESSFUL": "Code copied to clipboard successfully"
},
"FILE_BUBBLE": {
"DOWNLOAD": "ดาวโหลด",
"UPLOADING": "Uploading..."
},
"FORM_BUBBLE": {
"SUBMIT": "ส่ง"
}
},
"CONFIRM_EMAIL": "Verifying...",
"SETTINGS": {
"INBOXES": {
"NEW_INBOX": "Add Inbox"
}
},
"SIDEBAR": {
"CONVERSATIONS": "การสนทนา",
"REPORTS": "Reports",
"SETTINGS": "Settings",
"HOME": "Home",
"AGENTS": "พนักงาน",
"INBOXES": "กล่องข้อความ",
"CANNED_RESPONSES": "คำตอบสำเร็จรูป",
"INTEGRATIONS": "Integrations",
"ACCOUNT_SETTINGS": "Account Settings",
"LABELS": "Labels"
},
"CREATE_ACCOUNT": {
"NEW_ACCOUNT": "New Account",
"SELECTOR_SUBTITLE": "Create a new account",
"API": {
"SUCCESS_MESSAGE": "Account created successfully",
"EXIST_MESSAGE": "Account already exists",
"ERROR_MESSAGE": "ไม่สามารถเชื่อมต่อเซิฟเวอร์ได้โปรดลองอีกครั้งในภายหลัง"
},
"FORM": {
"NAME": {
"LABEL": "Account Name",
"PLACEHOLDER": "Wayne Enterprises"
},
"SUBMIT": "ส่ง"
}
}
}

View file

@ -0,0 +1,32 @@
{
"REGISTER": {
"TRY_WOOT": "Register an account",
"TITLE": "Register",
"TERMS_ACCEPT": "By signing up, you agree to our <a href=\"https://www.chatwoot.com/terms\">T & C</a> and <a href=\"https://www.chatwoot.com/privacy-policy\">Privacy policy</a>",
"ACCOUNT_NAME": {
"LABEL": "Account Name",
"PLACEHOLDER": "Wayne Enterprises",
"ERROR": "Account Name is too short"
},
"EMAIL": {
"LABEL": "Email",
"PLACEHOLDER": "bruce@wayne.enterprises",
"ERROR": "Email is invalid"
},
"PASSWORD": {
"LABEL": "Password",
"PLACEHOLDER": "Password",
"ERROR": "หรัสผ่านนั้นสั้นเกินไป"
},
"CONFIRM_PASSWORD": {
"LABEL": "ยืนยันหรัสผ่าน",
"PLACEHOLDER": "ยืนยันหรัสผ่าน",
"ERROR": "Password doesnot match"
},
"API": {
"SUCCESS_MESSAGE": "Registration Successfull",
"ERROR_MESSAGE": "ไม่สามารถเชื่อมต่อเซิฟเวอร์ได้โปรดลองอีกครั้งในภายหลัง"
},
"SUBMIT": "ส่ง"
}
}

View file

@ -0,0 +1,5 @@
{
"WEBHOOKS_SETTINGS": {
"HEADER": "Webhook Settings"
}
}

View file

@ -1,5 +1,10 @@
{ {
"CONTACT_PANEL": { "CONTACT_PANEL": {
"NOT_AVAILABLE": "Not Available",
"EMAIL_ADDRESS": "Email Address",
"PHONE_NUMBER": "Phone number",
"COMPANY": "Company",
"LOCATION": "Location",
"CONVERSATION_TITLE": "Conversation Details", "CONVERSATION_TITLE": "Conversation Details",
"BROWSER": "Browser", "BROWSER": "Browser",
"OS": "Operating System", "OS": "Operating System",
@ -30,5 +35,62 @@
"MUTED_SUCCESS": "This conversation is muted for 6 hours", "MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript", "SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "Edit" "EDIT_LABEL": "Edit"
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "Edit Contact",
"TITLE": "Edit contact",
"DESC": "Edit contact details",
"FORM": {
"SUBMIT": "Submit",
"CANCEL": "Cancel",
"AVATAR": {
"LABEL": "Contact Avatar"
},
"NAME": {
"PLACEHOLDER": "Enter the full name of the contact",
"LABEL": "Full Name"
},
"BIO": {
"PLACEHOLDER": "Enter the bio of the contact",
"LABEL": "Bio"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Enter the email address of the contact",
"LABEL": "Email Address"
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Enter the phone number of the contact",
"LABEL": "Phone Number"
},
"LOCATION": {
"PLACEHOLDER": "Enter the location of the contact",
"LABEL": "Location"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Enter the company name",
"LABEL": "Company Name"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
"PLACEHOLDER": "Enter the Facebook username",
"LABEL": "Facebook"
},
"TWITTER": {
"PLACEHOLDER": "Enter the Twitter username",
"LABEL": "Twitter"
},
"LINKEDIN": {
"PLACEHOLDER": "Enter the LinkedIn username",
"LABEL": "LinkedIn"
},
"GITHUB": {
"PLACEHOLDER": "Enter the Github username",
"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"
} }
} }

View file

@ -1,5 +1,10 @@
{ {
"CONTACT_PANEL": { "CONTACT_PANEL": {
"NOT_AVAILABLE": "Not Available",
"EMAIL_ADDRESS": "Адреса електронної пошти",
"PHONE_NUMBER": "Номер телефону",
"COMPANY": "Company",
"LOCATION": "Місцезнаходження",
"CONVERSATION_TITLE": "Деталі бесіди", "CONVERSATION_TITLE": "Деталі бесіди",
"BROWSER": "Браузер", "BROWSER": "Браузер",
"OS": "Операційна система", "OS": "Операційна система",
@ -30,5 +35,62 @@
"MUTED_SUCCESS": "This conversation is muted for 6 hours", "MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript", "SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "Редагувати" "EDIT_LABEL": "Редагувати"
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "Edit Contact",
"TITLE": "Edit contact",
"DESC": "Edit contact details",
"FORM": {
"SUBMIT": "Додати",
"CANCEL": "Скасувати",
"AVATAR": {
"LABEL": "Contact Avatar"
},
"NAME": {
"PLACEHOLDER": "Enter the full name of the contact",
"LABEL": "Full Name"
},
"BIO": {
"PLACEHOLDER": "Enter the bio of the contact",
"LABEL": "Bio"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Enter the email address of the contact",
"LABEL": "Адреса електронної пошти"
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Enter the phone number of the contact",
"LABEL": "Phone Number"
},
"LOCATION": {
"PLACEHOLDER": "Enter the location of the contact",
"LABEL": "Місцезнаходження"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Enter the company name",
"LABEL": "Company Name"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
"PLACEHOLDER": "Enter the Facebook username",
"LABEL": "Facebook"
},
"TWITTER": {
"PLACEHOLDER": "Enter the Twitter username",
"LABEL": "Twitter"
},
"LINKEDIN": {
"PLACEHOLDER": "Enter the LinkedIn username",
"LABEL": "LinkedIn"
},
"GITHUB": {
"PLACEHOLDER": "Enter the Github username",
"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"
} }
} }

View file

@ -1,5 +1,10 @@
{ {
"CONTACT_PANEL": { "CONTACT_PANEL": {
"NOT_AVAILABLE": "Not Available",
"EMAIL_ADDRESS": "Email Address",
"PHONE_NUMBER": "Phone number",
"COMPANY": "Company",
"LOCATION": "Location",
"CONVERSATION_TITLE": "Conversation Details", "CONVERSATION_TITLE": "Conversation Details",
"BROWSER": "Browser", "BROWSER": "Browser",
"OS": "Operating System", "OS": "Operating System",
@ -30,5 +35,62 @@
"MUTED_SUCCESS": "This conversation is muted for 6 hours", "MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript", "SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "Edit" "EDIT_LABEL": "Edit"
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "Edit Contact",
"TITLE": "Edit contact",
"DESC": "Edit contact details",
"FORM": {
"SUBMIT": "Submit",
"CANCEL": "Cancel",
"AVATAR": {
"LABEL": "Contact Avatar"
},
"NAME": {
"PLACEHOLDER": "Enter the full name of the contact",
"LABEL": "Full Name"
},
"BIO": {
"PLACEHOLDER": "Enter the bio of the contact",
"LABEL": "Bio"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Enter the email address of the contact",
"LABEL": "Email Address"
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Enter the phone number of the contact",
"LABEL": "Phone Number"
},
"LOCATION": {
"PLACEHOLDER": "Enter the location of the contact",
"LABEL": "Location"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Enter the company name",
"LABEL": "Company Name"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
"PLACEHOLDER": "Enter the Facebook username",
"LABEL": "Facebook"
},
"TWITTER": {
"PLACEHOLDER": "Enter the Twitter username",
"LABEL": "Twitter"
},
"LINKEDIN": {
"PLACEHOLDER": "Enter the LinkedIn username",
"LABEL": "LinkedIn"
},
"GITHUB": {
"PLACEHOLDER": "Enter the Github username",
"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"
} }
} }

View file

@ -1,75 +1,75 @@
{ {
"CANNED_MGMT": { "CANNED_MGMT": {
"HEADER": "Canned Responses", "HEADER": "预设回复",
"HEADER_BTN_TXT": "Add Canned Response", "HEADER_BTN_TXT": "添加预设回复",
"LOADING": "Fetching Canned Responses", "LOADING": "获取预设回复",
"SEARCH_404": "There are no items matching this query", "SEARCH_404": "没有任何项目符合此查询",
"SIDEBAR_TXT": "<p><b>Canned Responses</b> </p><p> Canned Responses are saved reply templates which can be used to quickly send out a reply to a conversation . </p><p> For creating a Canned Response, just click on the <b>Add Canned Response</b>. You can also edit or delete an existing Canned Response by clicking on the Edit or Delete button </p><p> Canned responses are used with the help of <b>Short Codes</b>. Agents can access canned responses while on a chat by typing <b>'/'</b> followed by the short code. </p>", "SIDEBAR_TXT": "<p><b>预设回复</b> </p><p> 预设的回复已保存的回复模板,可以用来快速发送回复到对话。 </p><p> 若要创建预设反应,只需点击 <b>添加预设回应</b>。 您也可以通过点击编辑或删除按钮来编辑或删除现有的预定响应 </p><p> 在 <b>短代码</b>的帮助下使用预定的响应方式。 代理人在聊天时可以通过输入 <b>'/'</b> 然后是短代码访问预设响应 </p>",
"LIST": { "LIST": {
"404": "There are no canned responses available in this account.", "404": "此帐户中没有预设的回复。",
"TITLE": "Manage canned responses", "TITLE": "管理预设回复",
"DESC": "Canned Responses are predefined reply templates which can be used to quickly send out replies to tickets.", "DESC": "预设的回复是预定义的回复模板,可以用来快速发送对工单的答复。",
"TABLE_HEADER": [ "TABLE_HEADER": [
"Short Code", "短码",
"Content", "内容",
"Actions" "操作"
] ]
}, },
"ADD": { "ADD": {
"TITLE": "Add Canned Response", "TITLE": "添加预设回复",
"DESC": "Canned Responses are saved reply templates which can be used to quickly send out reply to conversation .", "DESC": "预设的回复是保存的回复模板,可以用来快速发送回复到对话中。",
"CANCEL_BUTTON_TEXT": "Cancel", "CANCEL_BUTTON_TEXT": "取消操作",
"FORM": { "FORM": {
"SHORT_CODE": { "SHORT_CODE": {
"LABEL": "Short Code", "LABEL": "短码",
"PLACEHOLDER": "Please enter a shortcode", "PLACEHOLDER": "请输入短码",
"ERROR": "Short Code is required" "ERROR": "必须输入短代码"
}, },
"CONTENT": { "CONTENT": {
"LABEL": "Content", "LABEL": "内容",
"PLACEHOLDER": "Please enter a content", "PLACEHOLDER": "请输入内容。",
"ERROR": "Content is required" "ERROR": "内容是必须的"
}, },
"SUBMIT": "Submit" "SUBMIT": "提交"
}, },
"API": { "API": {
"SUCCESS_MESSAGE": "Canned Response added successfully", "SUCCESS_MESSAGE": "已成功添加预设响应",
"ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" "ERROR_MESSAGE": "无法连接服务器,请稍后再试"
} }
}, },
"EDIT": { "EDIT": {
"TITLE": "Edit Canned Response", "TITLE": "编辑预设回复",
"CANCEL_BUTTON_TEXT": "Cancel", "CANCEL_BUTTON_TEXT": "取消操作",
"FORM": { "FORM": {
"SHORT_CODE": { "SHORT_CODE": {
"LABEL": "Short Code", "LABEL": "短码",
"PLACEHOLDER": "Please enter a shortcode", "PLACEHOLDER": "请输入短码",
"ERROR": "Short Code is required" "ERROR": "必须输入短代码"
}, },
"CONTENT": { "CONTENT": {
"LABEL": "Content", "LABEL": "内容",
"PLACEHOLDER": "Please enter a content", "PLACEHOLDER": "请输入内容。",
"ERROR": "Content is required" "ERROR": "内容是必填项"
}, },
"SUBMIT": "Submit" "SUBMIT": "提交"
}, },
"BUTTON_TEXT": "Edit", "BUTTON_TEXT": "编辑",
"API": { "API": {
"SUCCESS_MESSAGE": "Canned Response updated successfully", "SUCCESS_MESSAGE": "预设响应已成功更新",
"ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" "ERROR_MESSAGE": "无法连接服务器,请稍后再试"
} }
}, },
"DELETE": { "DELETE": {
"BUTTON_TEXT": "Delete", "BUTTON_TEXT": "删除",
"API": { "API": {
"SUCCESS_MESSAGE": "Canned response deleted successfully", "SUCCESS_MESSAGE": "预设响应已成功删除",
"ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" "ERROR_MESSAGE": "无法连接服务器,请稍后再试"
}, },
"CONFIRM": { "CONFIRM": {
"TITLE": "Confirm Deletion", "TITLE": "确认删除",
"MESSAGE": "Are you sure to delete ", "MESSAGE": "您确定要删除吗? ",
"YES": "Yes, Delete ", "YES": "是,删除 ",
"NO": "No, Keep " "NO": "不,保留 "
} }
} }
} }

View file

@ -1,80 +1,80 @@
{ {
"CHAT_LIST": { "CHAT_LIST": {
"LOADING": "Fetching conversations", "LOADING": "正在获取对话",
"LOAD_MORE_CONVERSATIONS": "Load more conversations", "LOAD_MORE_CONVERSATIONS": "加载更多对话",
"EOF": "All conversations loaded 🎉", "EOF": "所有对话已加载 🎉",
"LIST": { "LIST": {
"404": "There are no active conversations in this group." "404": "没有有效的对话在这个群组里面"
}, },
"TAB_HEADING": "Conversations", "TAB_HEADING": "会话",
"SEARCH": { "SEARCH": {
"INPUT": "Search for People, Chats, Saved Replies .." "INPUT": "搜索人、聊天室、保存回复"
}, },
"STATUS_TABS": [ "STATUS_TABS": [
{ {
"NAME": "Open", "NAME": "打开",
"KEY": "openCount" "KEY": "openCount"
}, },
{ {
"NAME": "Resolved", "NAME": "已解决",
"KEY": "allConvCount" "KEY": "allConvCount"
} }
], ],
"ASSIGNEE_TYPE_TABS": [ "ASSIGNEE_TYPE_TABS": [
{ {
"NAME": "Mine", "NAME": "我的",
"KEY": "me", "KEY": "me",
"COUNT_KEY": "mineCount" "COUNT_KEY": "mineCount"
}, },
{ {
"NAME": "Unassigned", "NAME": "未分配的",
"KEY": "unassigned", "KEY": "unassigned",
"COUNT_KEY": "unAssignedCount" "COUNT_KEY": "unAssignedCount"
}, },
{ {
"NAME": "All", "NAME": "所有的",
"KEY": "all", "KEY": "all",
"COUNT_KEY": "allCount" "COUNT_KEY": "allCount"
} }
], ],
"CHAT_STATUS_ITEMS": [ "CHAT_STATUS_ITEMS": [
{ {
"TEXT": "Open", "TEXT": "正在进行的\n",
"VALUE": "open" "VALUE": "open"
}, },
{ {
"TEXT": "Resolved", "TEXT": "已解决",
"VALUE": "resolved" "VALUE": "resolved"
}, },
{ {
"TEXT": "Bot", "TEXT": "机器人",
"VALUE": "bot" "VALUE": "机器人"
} }
], ],
"ATTACHMENTS": { "ATTACHMENTS": {
"image": { "image": {
"ICON": "ion-image", "ICON": "ion-image",
"CONTENT": "Picture message" "CONTENT": "图片消息"
}, },
"audio": { "audio": {
"ICON": "ion-volume-high", "ICON": "ion-volume-high",
"CONTENT": "Audio message" "CONTENT": "音频消息"
}, },
"video": { "video": {
"ICON": "ion-ios-videocam", "ICON": "ion-ios-videocam",
"CONTENT": "Video message" "CONTENT": "视频消息"
}, },
"file": { "file": {
"ICON": "ion-document", "ICON": "ion-document",
"CONTENT": "File Attachment" "CONTENT": "附件"
}, },
"location": { "location": {
"ICON": "ion-ios-location", "ICON": "ion-ios-location",
"CONTENT": "Location" "CONTENT": "位置"
}, },
"fallback": { "fallback": {
"ICON": "ion-link", "ICON": "ion-link",
"CONTENT": "has shared a url" "CONTENT": "分享了一个网址"
} }
}, },
"RECEIVED_VIA_EMAIL": "Received via email", "RECEIVED_VIA_EMAIL": "Received via email",

View file

@ -1,5 +1,10 @@
{ {
"CONTACT_PANEL": { "CONTACT_PANEL": {
"NOT_AVAILABLE": "Not Available",
"EMAIL_ADDRESS": "电子邮件地址",
"PHONE_NUMBER": "电话号码",
"COMPANY": "Company",
"LOCATION": "位置",
"CONVERSATION_TITLE": "对话详情", "CONVERSATION_TITLE": "对话详情",
"BROWSER": "浏览器", "BROWSER": "浏览器",
"OS": "操作系统", "OS": "操作系统",
@ -30,5 +35,62 @@
"MUTED_SUCCESS": "This conversation is muted for 6 hours", "MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript", "SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "编辑" "EDIT_LABEL": "编辑"
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "Edit Contact",
"TITLE": "Edit contact",
"DESC": "Edit contact details",
"FORM": {
"SUBMIT": "提交",
"CANCEL": "取消操作",
"AVATAR": {
"LABEL": "Contact Avatar"
},
"NAME": {
"PLACEHOLDER": "Enter the full name of the contact",
"LABEL": "Full Name"
},
"BIO": {
"PLACEHOLDER": "Enter the bio of the contact",
"LABEL": "Bio"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Enter the email address of the contact",
"LABEL": "电子邮件地址"
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Enter the phone number of the contact",
"LABEL": "Phone Number"
},
"LOCATION": {
"PLACEHOLDER": "Enter the location of the contact",
"LABEL": "位置"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Enter the company name",
"LABEL": "Company Name"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
"PLACEHOLDER": "Enter the Facebook username",
"LABEL": "Facebook"
},
"TWITTER": {
"PLACEHOLDER": "Enter the Twitter username",
"LABEL": "Twitter"
},
"LINKEDIN": {
"PLACEHOLDER": "Enter the LinkedIn username",
"LABEL": "LinkedIn"
},
"GITHUB": {
"PLACEHOLDER": "Enter the Github username",
"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"
} }
} }

View file

@ -1,56 +1,56 @@
{ {
"CONVERSATION": { "CONVERSATION": {
"404": "Please select a conversation from left pane", "404": "请从左侧窗格选择一个对话",
"NO_MESSAGE_1": "Uh oh! Looks like there are no messages from customers in your inbox.", "NO_MESSAGE_1": "您的收件箱中似乎没有客户的消息。",
"NO_MESSAGE_2": " to send a message to your page!", "NO_MESSAGE_2": " 向您的页面发送一条消息!",
"NO_INBOX_1": "Hola! Looks like you haven't added any inboxes yet.", "NO_INBOX_1": "看来你还没有添加任何收件箱。",
"NO_INBOX_2": " to get started", "NO_INBOX_2": " 开始吧",
"NO_INBOX_AGENT": "Uh Oh! Looks like you are not part of any inbox. Please contact your administrator", "NO_INBOX_AGENT": "看起来您还没有分配到收件箱。请联系您的管理员",
"CLICK_HERE": "Click here", "CLICK_HERE": "点击这里",
"LOADING_INBOXES": "Loading inboxes", "LOADING_INBOXES": "正在加载收件箱",
"LOADING_CONVERSATIONS": "Loading Conversations", "LOADING_CONVERSATIONS": "加载更多对话",
"CANNOT_REPLY": "You cannot reply due to", "CANNOT_REPLY": "您不能回复,原因是:",
"24_HOURS_WINDOW": "24 hour message window restriction", "24_HOURS_WINDOW": "24 小时消息窗口限制",
"LAST_INCOMING_TWEET": "You are replying to the last incoming tweet", "LAST_INCOMING_TWEET": "You are replying to the last incoming tweet",
"REPLYING_TO": "You are replying to:", "REPLYING_TO": "You are replying to:",
"REMOVE_SELECTION": "Remove Selection", "REMOVE_SELECTION": "Remove Selection",
"DOWNLOAD": "Download", "DOWNLOAD": "下载",
"HEADER": { "HEADER": {
"RESOLVE_ACTION": "Resolve", "RESOLVE_ACTION": "已解决",
"REOPEN_ACTION": "Reopen", "REOPEN_ACTION": "重新打开",
"OPEN": "More", "OPEN": "详细信息",
"CLOSE": "Close", "CLOSE": "关闭",
"DETAILS": "details" "DETAILS": "详情"
}, },
"FOOTER": { "FOOTER": {
"MSG_INPUT": "Shift + enter for new line. Start with '/' to select a Canned Response.", "MSG_INPUT": "输入“/”开始选择快捷回复",
"PRIVATE_MSG_INPUT": "Shift + enter for new line. This will be visible only to Agents" "PRIVATE_MSG_INPUT": "Shift + 输入新行。这只对客服可见"
}, },
"REPLYBOX": { "REPLYBOX": {
"REPLY": "Reply", "REPLY": "回复",
"PRIVATE_NOTE": "Private Note", "PRIVATE_NOTE": "私人便笺",
"SEND": "Send", "SEND": "发送",
"CREATE": "Add Note", "CREATE": "添加便笺",
"TWEET": "Tweet" "TWEET": "推特"
}, },
"VISIBLE_TO_AGENTS": "Private Note: Only visible to you and your team", "VISIBLE_TO_AGENTS": "私人便签:仅对您和您的团队可见",
"CHANGE_STATUS": "Conversation status changed", "CHANGE_STATUS": "对话状态已更改",
"CHANGE_AGENT": "Conversation Assignee changed" "CHANGE_AGENT": "对话分配人已更改"
}, },
"EMAIL_TRANSCRIPT": { "EMAIL_TRANSCRIPT": {
"TITLE": "Send conversation transcript", "TITLE": "Send conversation transcript",
"DESC": "Send a copy of the conversation transcript to the specified email address", "DESC": "Send a copy of the conversation transcript to the specified email address",
"SUBMIT": "Submit", "SUBMIT": "提交",
"CANCEL": "Cancel", "CANCEL": "取消操作",
"SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully",
"SEND_EMAIL_ERROR": "There was an error, please try again", "SEND_EMAIL_ERROR": "出错了,请重试",
"FORM": { "FORM": {
"SEND_TO_CONTACT": "Send the transcript to the customer", "SEND_TO_CONTACT": "Send the transcript to the customer",
"SEND_TO_AGENT": "Send the transcript of the assigned agent", "SEND_TO_AGENT": "Send the transcript of the assigned agent",
"SEND_TO_OTHER_EMAIL_ADDRESS": "Send the transcript to another email address", "SEND_TO_OTHER_EMAIL_ADDRESS": "Send the transcript to another email address",
"EMAIL": { "EMAIL": {
"PLACEHOLDER": "Enter an email address", "PLACEHOLDER": "Enter an email address",
"ERROR": "Please enter a valid email address" "ERROR": "请输入一个有效的电子邮件"
} }
} }
} }

View file

@ -1,41 +1,41 @@
{ {
"GENERAL_SETTINGS": { "GENERAL_SETTINGS": {
"TITLE": "Account settings", "TITLE": "帐户设置",
"SUBMIT": "Update settings", "SUBMIT": "更新设置",
"BACK": "Back", "BACK": "后退",
"UPDATE": { "UPDATE": {
"ERROR": "Could not update settings, try again!", "ERROR": "无法更新设置,请重试!",
"SUCCESS": "Successfully updated account settings" "SUCCESS": "已成功更新账户设置"
}, },
"FORM": { "FORM": {
"ERROR": "Please fix form errors", "ERROR": "请修正表单错误",
"GENERAL_SECTION": { "GENERAL_SECTION": {
"TITLE": "General settings", "TITLE": "常规设置",
"NOTE": "" "NOTE": ""
}, },
"NAME": { "NAME": {
"LABEL": "Account name", "LABEL": "帐户名称",
"PLACEHOLDER": "Your account name", "PLACEHOLDER": "您的帐户名称",
"ERROR": "Please enter a valid account name" "ERROR": "请输入有效的帐户名称"
}, },
"LANGUAGE": { "LANGUAGE": {
"LABEL": "Site language (Beta)", "LABEL": "网站语言(Beta)",
"PLACEHOLDER": "Your account name", "PLACEHOLDER": "您的帐户名称",
"ERROR": "" "ERROR": ""
}, },
"DOMAIN": { "DOMAIN": {
"LABEL": "Incoming Email Domain", "LABEL": "接收电子邮件的域名",
"PLACEHOLDER": "The domain where you will receive the emails", "PLACEHOLDER": "接收邮件的域名",
"ERROR": "" "ERROR": ""
}, },
"SUPPORT_EMAIL": { "SUPPORT_EMAIL": {
"LABEL": "Support Email", "LABEL": "支持邮件",
"PLACEHOLDER": "Your company's support email", "PLACEHOLDER": "您公司的支持邮件",
"ERROR": "" "ERROR": ""
}, },
"FEATURES": { "FEATURES": {
"INBOUND_EMAIL_ENABLED": "Conversation continuity with emails is enabled for your account.", "INBOUND_EMAIL_ENABLED": "您的帐户启用了与电子邮件的对话连续性。",
"CUSTOM_EMAIL_DOMAIN_ENABLED": "You can receive emails in your custom domain now." "CUSTOM_EMAIL_DOMAIN_ENABLED": "您现在可以在您的自定义域名的电子邮件中接收消息。"
} }
} }
} }

View file

@ -1,238 +1,238 @@
{ {
"INBOX_MGMT": { "INBOX_MGMT": {
"HEADER": "Inboxes", "HEADER": "收件箱",
"SIDEBAR_TXT": "<p><b>Inbox</b></p> <p> When you connect a website or a facebook Page to Chatwoot, it is called an <b>Inbox</b>. You can have unlimited inboxes in your Chatwoot account. </p><p> Click on <b>Add Inbox</b> to connect a website or a Facebook Page. </p><p> 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. </p><p> You can also see conversations specific to an inbox by clicking on the inbox name on the left pane of the dashboard. </p>", "SIDEBAR_TXT": "<p><b>收件箱</b></p> <p> 当您将网站或Facebook页面连接到Chatwoot 它被称为一个 <b>收件箱</b>。 您可以在Chatwoot 帐户中拥有无限的收件箱。 </p><p> 点击 <b>添加收件箱</b> 连接网站或 Facebook 页面。 </p><p> 在仪表盘中 您可以在一个地方看到所有收件箱中的所有对话,并在“对话”选项卡下回复。 </p><p> 您也可以通过点击仪表板左侧面板上的收件箱名称看到针对收件箱的对话。 </p>",
"LIST": { "LIST": {
"404": "There are no inboxes attached to this account." "404": "此账户没有收件箱。"
}, },
"CREATE_FLOW": [ "CREATE_FLOW": [
{ {
"title": "Choose Channel", "title": "选择频道",
"route": "settings_inbox_new", "route": "settings_inbox_new",
"body": "Choose the provider you want to integrate with Chatwoot." "body": "选择你想要与Chatwoot 集成的提供商。"
}, },
{ {
"title": "Create Inbox", "title": "新增收件箱",
"route": "settings_inboxes_page_channel", "route": "settings_inboxes_page_channel",
"body": "Authenticate your account and create an inbox." "body": "验证您的帐户并创建收件箱。"
}, },
{ {
"title": "Add Agents", "title": "添加客服代理",
"route": "settings_inboxes_add_agents", "route": "settings_inboxes_add_agents",
"body": "Add agents to the created inbox." "body": "将客服添加到创建的收件箱。"
}, },
{ {
"title": "Voila!", "title": "Voila!",
"route": "settings_inbox_finish", "route": "settings_inbox_finish",
"body": "You are all set to go!" "body": "你已设定状态为离开"
} }
], ],
"ADD": { "ADD": {
"FB": { "FB": {
"HELP": "PS: By signing in, we only get access to your Page's messages. Your private messages can never be accessed by Chatwoot.", "HELP": "注意: 通过登录,我们只能访问您的页面的消息。您的私人消息永远不能被聊天室访问。",
"CHOOSE_PAGE": "Choose Page", "CHOOSE_PAGE": "选择页面",
"CHOOSE_PLACEHOLDER": "Select a page from the list", "CHOOSE_PLACEHOLDER": "从列表中选择一个页面",
"INBOX_NAME": "Inbox Name", "INBOX_NAME": "收件箱名称",
"ADD_NAME": "Add a name for your inbox", "ADD_NAME": "为收件箱添加名称",
"PICK_NAME": "Pick A Name Your Inbox", "PICK_NAME": "选择收件箱名称",
"PICK_A_VALUE": "Pick a value" "PICK_A_VALUE": "选择一个数值"
}, },
"TWITTER": { "TWITTER": {
"HELP": "To add your Twitter profile as a channel, you need to authenticate your Twitter Profile by clicking on 'Sign in with Twitter' " "HELP": "若要将您的Twitter个人资料添加为频道您需要通过点击“使用Twitter登录”来验证您的Twitter个人资料。 "
}, },
"WEBSITE_CHANNEL": { "WEBSITE_CHANNEL": {
"TITLE": "Website channel", "TITLE": "网站频道",
"DESC": "Create a channel for your website and start supporting your customers via our website widget.", "DESC": "为您的网站创建一个频道并通过我们的网站小部件开始支持您的客户。",
"LOADING_MESSAGE": "Creating Website Support Channel", "LOADING_MESSAGE": "创建网站支持频道",
"CHANNEL_AVATAR": { "CHANNEL_AVATAR": {
"LABEL": "Channel Avatar" "LABEL": "频道头像"
}, },
"CHANNEL_NAME": { "CHANNEL_NAME": {
"LABEL": "Website Name", "LABEL": "网站名称",
"PLACEHOLDER": "Enter your website name (eg: Acme Inc)" "PLACEHOLDER": "输入您的网站名称 (e.g: Acme Inc)"
}, },
"CHANNEL_DOMAIN": { "CHANNEL_DOMAIN": {
"LABEL": "Website Domain", "LABEL": "网站域名",
"PLACEHOLDER": "Enter your website domain (eg: acme.com)" "PLACEHOLDER": "输入您的网站域名(e.g: acme.com)"
}, },
"CHANNEL_WELCOME_TITLE": { "CHANNEL_WELCOME_TITLE": {
"LABEL": "Welcome Heading", "LABEL": "欢迎标题:",
"PLACEHOLDER": "Hi there !" "PLACEHOLDER": "你好!"
}, },
"CHANNEL_WELCOME_TAGLINE": { "CHANNEL_WELCOME_TAGLINE": {
"LABEL": "Welcome Tagline", "LABEL": "欢迎标签行",
"PLACEHOLDER": "We make it simple to connect with us. Ask us anything, or share your feedback." "PLACEHOLDER": "如有疑问,请联系我们"
}, },
"CHANNEL_GREETING_MESSAGE": { "CHANNEL_GREETING_MESSAGE": {
"LABEL": "Channel greeting message", "LABEL": "频道问候消息",
"PLACEHOLDER": "Acme Inc typically replies in a few hours." "PLACEHOLDER": "Acme Inc通常在几小时内回复。"
}, },
"CHANNEL_GREETING_TOGGLE": { "CHANNEL_GREETING_TOGGLE": {
"LABEL": "Enable channel greeting", "LABEL": "开启频道问候功能",
"HELP_TEXT": "Send a greeting message to the user when he starts the conversation.", "HELP_TEXT": "在用户开始对话时发送问候消息。",
"ENABLED": "Enabled", "ENABLED": "已启用",
"DISABLED": "Disabled" "DISABLED": "已禁用"
}, },
"WIDGET_COLOR": { "WIDGET_COLOR": {
"LABEL": "Widget Color", "LABEL": "窗口小部件颜色",
"PLACEHOLDER": "Update the widget color used in widget" "PLACEHOLDER": "更新小部件中使用的部件颜色"
}, },
"SUBMIT_BUTTON": "Create inbox" "SUBMIT_BUTTON": "创建收件箱"
}, },
"TWILIO": { "TWILIO": {
"TITLE": "Twilio SMS/Whatsapp Channel", "TITLE": "Twilio SMS/Whatsapp 频道",
"DESC": "Integrate Twilio and start supporting your customers via SMS or Whatsapp.", "DESC": "整合Twilio 并开始通过短信或Whatsap支持您的客户。",
"ACCOUNT_SID": { "ACCOUNT_SID": {
"LABEL": "Account SID", "LABEL": "账户 SID",
"PLACEHOLDER": "Please enter your Twilio Account SID", "PLACEHOLDER": "请输入您的 Twilio 账户 SID",
"ERROR": "This field is required" "ERROR": "此字段是必填项"
}, },
"CHANNEL_TYPE": { "CHANNEL_TYPE": {
"LABEL": "Channel Type", "LABEL": "频道类型",
"ERROR": "Please select your Channel Type" "ERROR": "请选择您的频道类型"
}, },
"AUTH_TOKEN": { "AUTH_TOKEN": {
"LABEL": "Auth Token", "LABEL": "身份验证令牌",
"PLACEHOLDER": "Please enter your Twilio Auth Token", "PLACEHOLDER": "请输入您的 Twilio 认证令牌",
"ERROR": "This field is required" "ERROR": "此字段是必填项"
}, },
"CHANNEL_NAME": { "CHANNEL_NAME": {
"LABEL": "Channel Name", "LABEL": "频道类型",
"PLACEHOLDER": "Please enter a channel name", "PLACEHOLDER": "请输入频道名称",
"ERROR": "This field is required" "ERROR": "此字段是必填项"
}, },
"PHONE_NUMBER": { "PHONE_NUMBER": {
"LABEL": "Phone number", "LABEL": "电话号码",
"PLACEHOLDER": "Please enter the phone number from which message will be sent.", "PLACEHOLDER": "请输入发送消息的电话号码。",
"ERROR": "Please enter a valid value. Phone number should start with `+` sign." "ERROR": "请输入一个有效的值。电话号码应该以`+`开始。"
}, },
"API_CALLBACK": { "API_CALLBACK": {
"TITLE": "Callback URL", "TITLE": "回调地址",
"SUBTITLE": "You have to configure the message callback URL in Twilio with the URL mentioned here." "SUBTITLE": "您必须使用这里提到的URL来配置Twilio中的回调URL。"
}, },
"SUBMIT_BUTTON": "Create Twilio Channel", "SUBMIT_BUTTON": "创建 Twilio 频道",
"API": { "API": {
"ERROR_MESSAGE": "We were not able to authenticate Twilio credentials, please try again" "ERROR_MESSAGE": "我们无法验证 Twilio 凭据,请重试"
} }
}, },
"API_CHANNEL": { "API_CHANNEL": {
"TITLE": "API Channel", "TITLE": "API 频道",
"DESC": "Integrate with API channel and start supporting your customers.", "DESC": "Integrate with API channel and start supporting your customers.",
"CHANNEL_NAME": { "CHANNEL_NAME": {
"LABEL": "Channel Name", "LABEL": "频道类型",
"PLACEHOLDER": "Please enter a channel name", "PLACEHOLDER": "请输入频道名称",
"ERROR": "This field is required" "ERROR": "此字段是必填项"
}, },
"WEBHOOK_URL": { "WEBHOOK_URL": {
"LABEL": "Webhook URL", "LABEL": "Webhook 网址",
"SUBTITLE": "Configure the URL where you want to recieve callbacks on events.", "SUBTITLE": "Configure the URL where you want to recieve callbacks on events.",
"PLACEHOLDER": "Webhook URL" "PLACEHOLDER": "Webhook 网址"
}, },
"SUBMIT_BUTTON": "Create API Channel", "SUBMIT_BUTTON": "创建 API 频道",
"API": { "API": {
"ERROR_MESSAGE": "We were not able to save the api channel" "ERROR_MESSAGE": "我们无法保存 api 频道"
} }
}, },
"EMAIL_CHANNEL": { "EMAIL_CHANNEL": {
"TITLE": "Email Channel", "TITLE": "电子邮件频道",
"DESC": "Integrate you email inbox.", "DESC": "Integrate you email inbox.",
"CHANNEL_NAME": { "CHANNEL_NAME": {
"LABEL": "Channel Name", "LABEL": "频道类型",
"PLACEHOLDER": "Please enter a channel name", "PLACEHOLDER": "请输入频道名称",
"ERROR": "This field is required" "ERROR": "此字段是必填项"
}, },
"EMAIL": { "EMAIL": {
"LABEL": "Email", "LABEL": "Email",
"SUBTITLE": "Email where your customers sends you support tickets", "SUBTITLE": "向您的客户发送支持工单的电子邮件",
"PLACEHOLDER": "Email" "PLACEHOLDER": "Email"
}, },
"SUBMIT_BUTTON": "Create Email Channel", "SUBMIT_BUTTON": "创建电子邮件频道",
"API": { "API": {
"ERROR_MESSAGE": "We were not able to save the email channel" "ERROR_MESSAGE": "我们无法保存电子邮件频道"
}, },
"FINISH_MESSAGE": "Start forwarding your emails to the following email address." "FINISH_MESSAGE": "开始将您的电子邮件转发到以下电子邮件地址。"
}, },
"AUTH": { "AUTH": {
"TITLE": "Channels", "TITLE": "频道",
"DESC": "Currently we support Website live chat widgets, Facebook Pages and Twitter profiles as platforms. We have more platforms like Whatsapp, Email, Telegram and Line in the works, which will be out soon." "DESC": "目前我们支持网站在线聊天小部件、Facebook页面和Twitter配置文件作为平台。 我们在工作中拥有更多平台如Whatsapp、Email、Telegram 和 Line这些平台将很快出台。"
}, },
"AGENTS": { "AGENTS": {
"TITLE": "Agents", "TITLE": "客服代理们",
"DESC": "Here you can add agents to manage your newly created inbox. Only these selected agents will have access to your inbox. Agents which are not part of this inbox will not be able to see or respond to messages in this inbox when they login. <br> <b>PS:</b> As an administrator, if you need access to all inboxes, you should add yourself as agent to all inboxes that you create." "DESC": "在这里您可以添加代理来管理您新创建的收件箱。只有这些选定的代理才能访问您的收件箱。 不属于此收件箱的代理人在登录时将无法看到或回复此收件箱中的消息。 <br> <b>PS</b> 作为管理员,如果您需要访问所有收件箱, 您应该将自己添加到您创建的所有收件箱中。"
}, },
"DETAILS": { "DETAILS": {
"TITLE": "Inbox Details", "TITLE": "收件箱详细信息",
"DESC": "From the dropdown below, select the Facebook Page you want to connect to Chatwoot. You can also give a custom name to your inbox for better identification." "DESC": "从下面的下拉菜单中选择您想要连接到聊天室的 Facebook 页面。 您也可以给您的收件箱提供一个自定义名称以便更好地识别身份。"
}, },
"FINISH": { "FINISH": {
"TITLE": "Nailed It!", "TITLE": "已被注明!",
"DESC": "You have successfully finished integrating your Facebook Page with Chatwoot. Next time a customer messages your Page, the conversation will automatically appear on your inbox.<br>We are also providing you with a widget script that you can easily add to your website. Once this is live on your website, customers can message you right from your website without the help of any external tool and the conversation will appear right here, on Chatwoot.<br>Cool, huh? Well, we sure try to be :)" "DESC": "您已成功地将您的Facebook页面与Chatwoot集成。下次客户消息您的页面时对话将自动出现在收件箱中。<br>我们还为您提供了一个小部件脚本,您可以轻松地添加到您的网站。 在您的网站上登录后, 客户可以在没有任何外部工具帮助的情况下从您的网站向您发送消息对话将会在这里出现在Chatwoot 上。<br>酷,好吧?好吧,我们肯定试着是 :)"
} }
}, },
"DETAILS": { "DETAILS": {
"LOADING_FB": "Authenticating you with Facebook...", "LOADING_FB": "在 Facebook 上认证你... ..",
"ERROR_FB_AUTH": "Something went wrong, Please refresh page...", "ERROR_FB_AUTH": "出错了,请刷新页面...",
"CREATING_CHANNEL": "Creating your Inbox...", "CREATING_CHANNEL": "创建您的收件箱...",
"TITLE": "Configure Inbox Details", "TITLE": "配置收件箱详情",
"DESC": "" "DESC": ""
}, },
"AGENTS": { "AGENTS": {
"BUTTON_TEXT": "Add agents", "BUTTON_TEXT": "添加客服代理",
"ADD_AGENTS": "Adding Agents to your Inbox..." "ADD_AGENTS": "正在向收件箱添加代理..."
}, },
"FINISH": { "FINISH": {
"TITLE": "Your Inbox is ready!", "TITLE": "您的收件箱已准备就绪!",
"MESSAGE": "You can now engage with your customers through your new Channel. Happy supporting ", "MESSAGE": "您现在可以通过您的新频道与您的客户联系。快乐支持 ",
"BUTTON_TEXT": "Take me there", "BUTTON_TEXT": "带我到这里",
"WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox." "WEBSITE_SUCCESS": "您已成功完成创建网站频道。复制下面显示的代码并将其粘贴在您的网站上。 下次客户使用实时聊天时,对话将自动出现在您的收件箱中。"
}, },
"REAUTH": "Reauthorize", "REAUTH": "重新授权",
"VIEW": "View", "VIEW": "查看",
"EDIT": { "EDIT": {
"API": { "API": {
"SUCCESS_MESSAGE": "Inbox settings updated successfully", "SUCCESS_MESSAGE": "已成功更新收件箱设置",
"AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Auto assignment updated successfully", "AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "自动分配成功更新",
"ERROR_MESSAGE": "Could not update widget color. Please try again later." "ERROR_MESSAGE": "无法更新部件颜色。请稍后再试。"
}, },
"AUTO_ASSIGNMENT": { "AUTO_ASSIGNMENT": {
"ENABLED": "Enabled", "ENABLED": "已启用",
"DISABLED": "Disabled" "DISABLED": "已禁用"
} }
}, },
"DELETE": { "DELETE": {
"BUTTON_TEXT": "Delete", "BUTTON_TEXT": "删除",
"CONFIRM": { "CONFIRM": {
"TITLE": "Confirm Deletion", "TITLE": "确认删除",
"MESSAGE": "Are you sure to delete ", "MESSAGE": "您确定要删除吗? ",
"YES": "Yes, Delete ", "YES": "是,删除 ",
"NO": "No, Keep " "NO": "不,保留 "
}, },
"API": { "API": {
"SUCCESS_MESSAGE": "Inbox deleted successfully", "SUCCESS_MESSAGE": "收件箱删除成功",
"ERROR_MESSAGE": "Could not delete inbox. Please try again later." "ERROR_MESSAGE": "无法删除收件箱。请稍后再试。"
} }
}, },
"TABS": { "TABS": {
"SETTINGS": "Settings", "SETTINGS": "设置",
"COLLABORATORS": "Collaborators", "COLLABORATORS": "Collaborators",
"CONFIGURATION": "Configuration" "CONFIGURATION": "Configuration"
}, },
"SETTINGS": "Settings", "SETTINGS": "设置",
"FEATURES": { "FEATURES": {
"LABEL": "Features", "LABEL": "Features",
"DISPLAY_FILE_PICKER": "Display file picker on the widget", "DISPLAY_FILE_PICKER": "Display file picker on the widget",
"DISPLAY_EMOJI_PICKER": "Display emoji picker on the widget" "DISPLAY_EMOJI_PICKER": "Display emoji picker on the widget"
}, },
"SETTINGS_POPUP": { "SETTINGS_POPUP": {
"MESSENGER_HEADING": "Messenger Script", "MESSENGER_HEADING": "Messenger 脚本",
"MESSENGER_SUB_HEAD": "Place this button inside your body tag", "MESSENGER_SUB_HEAD": "将此按钮放置在窗体标签中",
"INBOX_AGENTS": "Agents", "INBOX_AGENTS": "客服代理们",
"INBOX_AGENTS_SUB_TEXT": "Add or remove agents from this inbox", "INBOX_AGENTS_SUB_TEXT": "添加或删除此收件箱中的客服",
"UPDATE": "Update", "UPDATE": "更新",
"AUTO_ASSIGNMENT": "Enable auto assignment", "AUTO_ASSIGNMENT": "启用自动分配",
"INBOX_UPDATE_TITLE": "Inbox Settings", "INBOX_UPDATE_TITLE": "收件箱设置",
"INBOX_UPDATE_SUB_TEXT": "Update your inbox settings", "INBOX_UPDATE_SUB_TEXT": "更新收件箱设置",
"AUTO_ASSIGNMENT_SUB_TEXT": "Enable or disable the automatic assignment of new conversations to the agents added to this inbox." "AUTO_ASSIGNMENT_SUB_TEXT": "启用或禁用添加到此收件箱的代理人自动分配新的会话。"
} }
} }
} }

View file

@ -1,63 +1,63 @@
{ {
"INTEGRATION_SETTINGS": { "INTEGRATION_SETTINGS": {
"HEADER": "集成方式", "HEADER": "Integrations",
"WEBHOOK": { "WEBHOOK": {
"TITLE": "回调接口地址", "TITLE": "Webhook",
"CONFIGURE": "配置", "CONFIGURE": "Configure",
"HEADER": "Webhook设置", "HEADER": "Webhook settings",
"HEADER_BTN_TXT": "添加新的 webhook", "HEADER_BTN_TXT": "Add new webhook",
"INTEGRATION_TXT": "Webhook 事件为您提供了有关Chatwoot 帐户中发生的事情的实时信息。 您可以使用 webhooks 将事件传递给您喜欢的 Slack 或 Github。 单击配置来设置您的网络钩子。", "INTEGRATION_TXT": "Webhook events provide you the realtime information about what's happening in your Chatwoot account. You can make use of the webhooks to communicate the events to your favourite apps like Slack or Github. Click on Configure to set up your webhooks.",
"LOADING": "正在获取已添加的 webhooks", "LOADING": "Fetching attached webhooks",
"SEARCH_404": "没有任何项目符合此查询", "SEARCH_404": "There are no items matching this query",
"SIDEBAR_TXT": "<p><b>Webhooks</b> </p> <p>Webhooks 是 HTTP 回调,可以为每个账户定义的。 他们是由诸如在Chatwoot 中创建消息等事件所触发的。您可以为此帐户创建多个web钩子。 <br /><br /> 创建一个 <b>webhook</b>, 点击 <b>添加新的 webhook</b> 按钮。 您也可以通过点击删除按钮删除任何现有的网络钩子。</p>", "SIDEBAR_TXT": "<p><b>Webhooks</b> </p> <p>Webhooks are HTTP callbacks which can be defined for every account. They are triggered by events like message creation in Chatwoot. You can create more than one webhook for this account. <br /><br /> For creating a <b>webhook</b>, click on the <b>Add new webhook</b> button. You can also remove any existing webhook by clicking on the Delete button.</p>",
"LIST": { "LIST": {
"404": "此帐户没有配置Webhooks。", "404": "There are no webhooks configured for this account.",
"TITLE": "管理 webhooks", "TITLE": "Manage webhooks",
"DESC": "预设的回复是预定义的回复模板,可以用来快速发送对工单的答复。", "DESC": "Webhooks are predefined reply templates which can be used to quickly send out replies to tickets.",
"TABLE_HEADER": [ "TABLE_HEADER": [
"Webhook 端点", "Webhook endpoint",
"操作" "Actions"
] ]
}, },
"ADD": { "ADD": {
"CANCEL": "取消操作", "CANCEL": "Cancel",
"TITLE": "添加新的 webhook", "TITLE": "Add new webhook",
"DESC": "Webhook 事件为您提供了有关Chatwoot 帐户中发生的事情的实时信息。请输入一个有效的URL来配置回调。", "DESC": "Webhook events provide you the realtime information about what's happening in your Chatwoot account. Please enter a valid URL to configure a callback.",
"FORM": { "FORM": {
"END_POINT": { "END_POINT": {
"LABEL": "Webhook 网址", "LABEL": "Webhook URL",
"PLACEHOLDER": "例如:https://example/api/webhook", "PLACEHOLDER": "Example: https://example/api/webhook",
"ERROR": "请输入一个有效的 URL" "ERROR": "Please enter a valid URL"
}, },
"SUBMIT": "创建 webhook" "SUBMIT": "Create webhook"
}, },
"API": { "API": {
"SUCCESS_MESSAGE": "Webhook 添加成功", "SUCCESS_MESSAGE": "Webhook added successfully",
"ERROR_MESSAGE": "无法连接服务器,请稍后再试" "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later"
} }
}, },
"DELETE": { "DELETE": {
"BUTTON_TEXT": "删除", "BUTTON_TEXT": "Delete",
"API": { "API": {
"SUCCESS_MESSAGE": "Webhook 删除成功", "SUCCESS_MESSAGE": "Webhook deleted successfully",
"ERROR_MESSAGE": "无法连接服务器,请稍后再试" "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later"
}, },
"CONFIRM": { "CONFIRM": {
"TITLE": "确认删除", "TITLE": "Confirm Deletion",
"MESSAGE": "您确定要删除吗? ", "MESSAGE": "Are you sure to delete ",
"YES": "是,删除 ", "YES": "Yes, Delete ",
"NO": "否,保留它" "NO": "No, Keep it"
} }
} }
}, },
"DELETE": { "DELETE": {
"BUTTON_TEXT": "删除", "BUTTON_TEXT": "Delete",
"API": { "API": {
"SUCCESS_MESSAGE": "集成已成功删除" "SUCCESS_MESSAGE": "Integration deleted successfully"
} }
}, },
"CONNECT": { "CONNECT": {
"BUTTON_TEXT": "连接" "BUTTON_TEXT": "Connect"
} }
} }
} }

View file

@ -1,32 +1,32 @@
{ {
"REGISTER": { "REGISTER": {
"TRY_WOOT": "Register an account", "TRY_WOOT": "注册帐户",
"TITLE": "Register", "TITLE": "注册",
"TERMS_ACCEPT": "By signing up, you agree to our <a href=\"https://www.chatwoot.com/terms\">T & C</a> and <a href=\"https://www.chatwoot.com/privacy-policy\">Privacy policy</a>", "TERMS_ACCEPT": "通过注册,您同意我们的 <a href=\"https://www.chatwoot.com/terms\">T & C</a> 和 <a href=\"https://www.chatwoot.com/privacy-policy\">隐私政策</a>",
"ACCOUNT_NAME": { "ACCOUNT_NAME": {
"LABEL": "Account Name", "LABEL": "帐户名称",
"PLACEHOLDER": "Wayne Enterprises", "PLACEHOLDER": "Wayne企业",
"ERROR": "Account Name is too short" "ERROR": "帐号名称太短了"
}, },
"EMAIL": { "EMAIL": {
"LABEL": "Email", "LABEL": "Email",
"PLACEHOLDER": "bruce@wayne.enterprises", "PLACEHOLDER": "bruce@wayne.enterprises",
"ERROR": "Email is invalid" "ERROR": "电子邮件无效"
}, },
"PASSWORD": { "PASSWORD": {
"LABEL": "Password", "LABEL": "密码",
"PLACEHOLDER": "Password", "PLACEHOLDER": "密码",
"ERROR": "Password is too short" "ERROR": "密码太短了"
}, },
"CONFIRM_PASSWORD": { "CONFIRM_PASSWORD": {
"LABEL": "Confirm Password", "LABEL": "请确认密码",
"PLACEHOLDER": "Confirm Password", "PLACEHOLDER": "请确认密码",
"ERROR": "Password doesnot match" "ERROR": "密码不匹配"
}, },
"API": { "API": {
"SUCCESS_MESSAGE": "Registration Successfull", "SUCCESS_MESSAGE": "注册成功",
"ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" "ERROR_MESSAGE": "无法连接服务器,请稍后再试"
}, },
"SUBMIT": "Submit" "SUBMIT": "提交"
} }
} }

View file

@ -0,0 +1,102 @@
{
"AGENT_MGMT": {
"HEADER": "客服代理们",
"HEADER_BTN_TXT": "添加客服代理",
"LOADING": "正在获取客服代理列表",
"SIDEBAR_TXT": "<p><b>客服代理</b></p> <p> 客服代理 <b></b> 是您的客户支持团队成员。 </p><p>客服 代理人将能够查看和回复您用户的消息。 列表显示当前帐户中的所有客服代理人。 </p><p> 点击 <b>添加客服代理</b> 添加新客服代理人。 您添加的客服代理将收到一封含有确认链接的电子邮件来激活他们的帐户然后他们可以访问Chatwoot 并回复消息。 </p><p> 聊天窗口的功能基于以下角色。 </p><p> <b>Agent</b> - 具有此角色的代理只能访问收件箱、报告和会话。 他们可以将对话分配给其他客服代理人或自己,并解决会话。</p><p> <b>管理员</b> - 管理员将可以访问您账户中所有已启用的聊天功能。 包括设置,以及所有正常客服代理的权限。</p>",
"AGENT_TYPES": [
{
"name": "administrator",
"label": "管理员"
},
{
"name": "agent",
"label": "客服代理"
}
],
"LIST": {
"404": "没有与此账户关联的代理",
"TITLE": "管理您团队中的代理",
"DESC": "您可以添加/移除代理到您的团队。",
"NAME": "姓名:",
"EMAIL": "电子邮件",
"STATUS": "状态",
"ACTIONS": "操作",
"VERIFIED": "已认证",
"VERIFICATION_PENDING": "待验证"
},
"ADD": {
"TITLE": "添加代理到你的团队",
"DESC": "您可以添加能够处理支持您的收件箱的人。",
"CANCEL_BUTTON_TEXT": "取消操作",
"FORM": {
"NAME": {
"LABEL": "代理人姓名",
"PLACEHOLDER": "请输入代理人名称"
},
"AGENT_TYPE": {
"LABEL": "代理类型",
"PLACEHOLDER": "请选择一个类型",
"ERROR": "代理类型必填"
},
"EMAIL": {
"LABEL": "电子邮件地址",
"PLACEHOLDER": "请输入代理的邮箱地址"
},
"SUBMIT": "添加客服代理"
},
"API": {
"SUCCESS_MESSAGE": "代理添加成功",
"EXIST_MESSAGE": "该邮箱已被注册,请重新输入新的电子邮箱",
"ERROR_MESSAGE": "无法连接服务器,请稍后再试"
}
},
"DELETE": {
"BUTTON_TEXT": "删除",
"API": {
"SUCCESS_MESSAGE": "代理添加成功",
"ERROR_MESSAGE": "无法连接服务器,请稍后再试"
},
"CONFIRM": {
"TITLE": "确认删除",
"MESSAGE": "您确定要删除吗? ",
"YES": "是,删除 ",
"NO": "不,保留 "
}
},
"EDIT": {
"TITLE": "编辑代理",
"FORM": {
"NAME": {
"LABEL": "代理人姓名",
"PLACEHOLDER": "请输入代理人名称"
},
"AGENT_TYPE": {
"LABEL": "代理类型",
"PLACEHOLDER": "请选择一个类型",
"ERROR": "代理类型必填"
},
"EMAIL": {
"LABEL": "电子邮件地址",
"PLACEHOLDER": "请输入代理的邮箱地址"
},
"SUBMIT": "编辑代理"
},
"BUTTON_TEXT": "编辑",
"CANCEL_BUTTON_TEXT": "取消操作",
"API": {
"SUCCESS_MESSAGE": "更新客服信息成功",
"ERROR_MESSAGE": "无法连接服务器,请稍后再试"
},
"PASSWORD_RESET": {
"ADMIN_RESET_BUTTON": "重置密码",
"ADMIN_SUCCESS_MESSAGE": "一封包含重置密码说明的电子邮件已发送给代理",
"SUCCESS_MESSAGE": "代理的密码重置成功",
"ERROR_MESSAGE": "无法连接Woot服务器请稍后再试"
}
},
"SEARCH": {
"NO_RESULTS": "没有找到代理人。"
}
}
}

View file

@ -0,0 +1,76 @@
{
"CANNED_MGMT": {
"HEADER": "预设回复",
"HEADER_BTN_TXT": "添加预设回复",
"LOADING": "获取预设回复",
"SEARCH_404": "没有任何项目符合此查询",
"SIDEBAR_TXT": "<p><b>预设回复</b> </p><p> 预设的回复已保存的回复模板,可以用来快速发送回复到对话。 </p><p> 若要创建预设反应,只需点击 <b>添加预设回应</b>。 您也可以通过点击编辑或删除按钮来编辑或删除现有的预定响应 </p><p> 在 <b>短代码</b>的帮助下使用预定的响应方式。 代理人在聊天时可以通过输入 <b>'/'</b> 然后是短代码访问预设响应 </p>",
"LIST": {
"404": "此帐户中没有预设的回复。",
"TITLE": "管理预设回复",
"DESC": "预设的回复是预定义的回复模板,可以用来快速发送对工单的答复。",
"TABLE_HEADER": [
"短码",
"内容",
"操作"
]
},
"ADD": {
"TITLE": "添加预设回复",
"DESC": "预设的回复是保存的回复模板,可以用来快速发送回复到对话中。",
"CANCEL_BUTTON_TEXT": "取消操作",
"FORM": {
"SHORT_CODE": {
"LABEL": "短码",
"PLACEHOLDER": "请输入短码",
"ERROR": "必须输入短代码"
},
"CONTENT": {
"LABEL": "内容",
"PLACEHOLDER": "请输入内容。",
"ERROR": "内容是必须的"
},
"SUBMIT": "提交"
},
"API": {
"SUCCESS_MESSAGE": "已成功添加预设响应",
"ERROR_MESSAGE": "无法连接服务器,请稍后再试"
}
},
"EDIT": {
"TITLE": "编辑预设回复",
"CANCEL_BUTTON_TEXT": "取消操作",
"FORM": {
"SHORT_CODE": {
"LABEL": "短码",
"PLACEHOLDER": "请输入短码",
"ERROR": "必须输入短代码"
},
"CONTENT": {
"LABEL": "内容",
"PLACEHOLDER": "请输入内容。",
"ERROR": "内容是必填项"
},
"SUBMIT": "提交"
},
"BUTTON_TEXT": "编辑",
"API": {
"SUCCESS_MESSAGE": "预设响应已成功更新",
"ERROR_MESSAGE": "无法连接服务器,请稍后再试"
}
},
"DELETE": {
"BUTTON_TEXT": "删除",
"API": {
"SUCCESS_MESSAGE": "预设响应已成功删除",
"ERROR_MESSAGE": "无法连接服务器,请稍后再试"
},
"CONFIRM": {
"TITLE": "确认删除",
"MESSAGE": "您确定要删除吗? ",
"YES": "是,删除 ",
"NO": "不,保留 "
}
}
}
}

View file

@ -0,0 +1,84 @@
{
"CHAT_LIST": {
"LOADING": "正在获取对话",
"LOAD_MORE_CONVERSATIONS": "加载更多对话",
"EOF": "所有对话已加载 🎉",
"LIST": {
"404": "没有有效的对话在这个群组里面"
},
"TAB_HEADING": "会话",
"SEARCH": {
"INPUT": "搜索人、聊天室、保存回复"
},
"STATUS_TABS": [
{
"NAME": "打开",
"KEY": "openCount"
},
{
"NAME": "已解决",
"KEY": "allConvCount"
}
],
"ASSIGNEE_TYPE_TABS": [
{
"NAME": "我的",
"KEY": "me",
"COUNT_KEY": "mineCount"
},
{
"NAME": "未分配的",
"KEY": "unassigned",
"COUNT_KEY": "unAssignedCount"
},
{
"NAME": "所有的",
"KEY": "all",
"COUNT_KEY": "allCount"
}
],
"CHAT_STATUS_ITEMS": [
{
"TEXT": "正在进行的\n",
"VALUE": "open"
},
{
"TEXT": "已解决",
"VALUE": "resolved"
},
{
"TEXT": "机器人",
"VALUE": "机器人"
}
],
"ATTACHMENTS": {
"image": {
"ICON": "ion-image",
"CONTENT": "图片消息"
},
"audio": {
"ICON": "ion-volume-high",
"CONTENT": "音频消息"
},
"video": {
"ICON": "ion-ios-videocam",
"CONTENT": "视频消息"
},
"file": {
"ICON": "ion-document",
"CONTENT": "附件"
},
"location": {
"ICON": "ion-ios-location",
"CONTENT": "位置"
},
"fallback": {
"ICON": "ion-link",
"CONTENT": "分享了一个网址"
}
},
"RECEIVED_VIA_EMAIL": "Received via email",
"VIEW_TWEET_IN_TWITTER": "View tweet in Twitter",
"REPLY_TO_TWEET": "Reply to this tweet"
}
}

View file

@ -0,0 +1,96 @@
{
"CONTACT_PANEL": {
"NOT_AVAILABLE": "Not Available",
"EMAIL_ADDRESS": "电子邮件地址",
"PHONE_NUMBER": "电话号码",
"COMPANY": "Company",
"LOCATION": "位置",
"CONVERSATION_TITLE": "对话详情",
"BROWSER": "浏览器",
"OS": "操作系统",
"INITIATED_FROM": "启动自:",
"INITIATED_AT": "发起于",
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "此联系人没有关联到以前的会话。",
"TITLE": "上一次对话"
},
"CUSTOM_ATTRIBUTES": {
"TITLE": "Custom Attributes"
},
"LABELS": {
"TITLE": "对话标记",
"MODAL": {
"TITLE": "标记为",
"ACTIVE_LABELS": "添加到对话的标签",
"INACTIVE_LABELS": "账户中可用的标签",
"REMOVE": "点击 X 图标删除标签",
"ADD": "点击 + 图标添加标签",
"UPDATE_BUTTON": "更新标签",
"UPDATE_ERROR": "无法更新标签,请重试。"
},
"NO_LABELS_TO_ADD": "帐户中没有更多标签。",
"NO_AVAILABLE_LABELS": "没有标签添加到此对话。"
},
"MUTE_CONTACT": "Mute Conversation",
"MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "编辑"
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "Edit Contact",
"TITLE": "Edit contact",
"DESC": "Edit contact details",
"FORM": {
"SUBMIT": "提交",
"CANCEL": "取消操作",
"AVATAR": {
"LABEL": "Contact Avatar"
},
"NAME": {
"PLACEHOLDER": "Enter the full name of the contact",
"LABEL": "Full Name"
},
"BIO": {
"PLACEHOLDER": "Enter the bio of the contact",
"LABEL": "Bio"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Enter the email address of the contact",
"LABEL": "电子邮件地址"
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Enter the phone number of the contact",
"LABEL": "Phone Number"
},
"LOCATION": {
"PLACEHOLDER": "Enter the location of the contact",
"LABEL": "位置"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Enter the company name",
"LABEL": "Company Name"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
"PLACEHOLDER": "Enter the Facebook username",
"LABEL": "Facebook"
},
"TWITTER": {
"PLACEHOLDER": "Enter the Twitter username",
"LABEL": "Twitter"
},
"LINKEDIN": {
"PLACEHOLDER": "Enter the LinkedIn username",
"LABEL": "LinkedIn"
},
"GITHUB": {
"PLACEHOLDER": "Enter the Github username",
"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"
}
}

View file

@ -0,0 +1,57 @@
{
"CONVERSATION": {
"404": "请从左侧窗格选择一个对话",
"NO_MESSAGE_1": "您的收件箱中似乎没有客户的消息。",
"NO_MESSAGE_2": " 向您的页面发送一条消息!",
"NO_INBOX_1": "看来你还没有添加任何收件箱。",
"NO_INBOX_2": " 开始吧",
"NO_INBOX_AGENT": "看起来您还没有分配到收件箱。请联系您的管理员",
"CLICK_HERE": "点击这里",
"LOADING_INBOXES": "正在加载收件箱",
"LOADING_CONVERSATIONS": "加载更多对话",
"CANNOT_REPLY": "您不能回复,原因是:",
"24_HOURS_WINDOW": "24 小时消息窗口限制",
"LAST_INCOMING_TWEET": "You are replying to the last incoming tweet",
"REPLYING_TO": "You are replying to:",
"REMOVE_SELECTION": "Remove Selection",
"DOWNLOAD": "下载",
"HEADER": {
"RESOLVE_ACTION": "已解决",
"REOPEN_ACTION": "重新打开",
"OPEN": "详细信息",
"CLOSE": "关闭",
"DETAILS": "详情"
},
"FOOTER": {
"MSG_INPUT": "输入“/”开始选择快捷回复",
"PRIVATE_MSG_INPUT": "Shift + 输入新行。这只对客服可见"
},
"REPLYBOX": {
"REPLY": "回复",
"PRIVATE_NOTE": "私人便笺",
"SEND": "发送",
"CREATE": "添加便笺",
"TWEET": "推特"
},
"VISIBLE_TO_AGENTS": "私人便签:仅对您和您的团队可见",
"CHANGE_STATUS": "对话状态已更改",
"CHANGE_AGENT": "对话分配人已更改"
},
"EMAIL_TRANSCRIPT": {
"TITLE": "Send conversation transcript",
"DESC": "Send a copy of the conversation transcript to the specified email address",
"SUBMIT": "提交",
"CANCEL": "取消操作",
"SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully",
"SEND_EMAIL_ERROR": "出错了,请重试",
"FORM": {
"SEND_TO_CONTACT": "Send the transcript to the customer",
"SEND_TO_AGENT": "Send the transcript of the assigned agent",
"SEND_TO_OTHER_EMAIL_ADDRESS": "Send the transcript to another email address",
"EMAIL": {
"PLACEHOLDER": "Enter an email address",
"ERROR": "请输入一个有效的电子邮件"
}
}
}
}

View file

@ -0,0 +1,42 @@
{
"GENERAL_SETTINGS": {
"TITLE": "帐户设置",
"SUBMIT": "更新设置",
"BACK": "后退",
"UPDATE": {
"ERROR": "无法更新设置,请重试!",
"SUCCESS": "已成功更新账户设置"
},
"FORM": {
"ERROR": "请修正表单错误",
"GENERAL_SECTION": {
"TITLE": "常规设置",
"NOTE": ""
},
"NAME": {
"LABEL": "帐户名称",
"PLACEHOLDER": "您的帐户名称",
"ERROR": "请输入有效的帐户名称"
},
"LANGUAGE": {
"LABEL": "网站语言(Beta)",
"PLACEHOLDER": "您的帐户名称",
"ERROR": ""
},
"DOMAIN": {
"LABEL": "接收电子邮件的域名",
"PLACEHOLDER": "接收邮件的域名",
"ERROR": ""
},
"SUPPORT_EMAIL": {
"LABEL": "支持邮件",
"PLACEHOLDER": "您公司的支持邮件",
"ERROR": ""
},
"FEATURES": {
"INBOUND_EMAIL_ENABLED": "您的帐户启用了与电子邮件的对话连续性。",
"CUSTOM_EMAIL_DOMAIN_ENABLED": "您现在可以在您的自定义域名的电子邮件中接收消息。"
}
}
}
}

View file

@ -0,0 +1,238 @@
{
"INBOX_MGMT": {
"HEADER": "收件箱",
"SIDEBAR_TXT": "<p><b>收件箱</b></p> <p> 当您将网站或Facebook页面连接到Chatwoot 它被称为一个 <b>收件箱</b>。 您可以在Chatwoot 帐户中拥有无限的收件箱。 </p><p> 点击 <b>添加收件箱</b> 连接网站或 Facebook 页面。 </p><p> 在仪表盘中 您可以在一个地方看到所有收件箱中的所有对话,并在“对话”选项卡下回复。 </p><p> 您也可以通过点击仪表板左侧面板上的收件箱名称看到针对收件箱的对话。 </p>",
"LIST": {
"404": "此账户没有收件箱。"
},
"CREATE_FLOW": [
{
"title": "选择频道",
"route": "settings_inbox_new",
"body": "选择你想要与Chatwoot 集成的提供商。"
},
{
"title": "新增收件箱",
"route": "settings_inboxes_page_channel",
"body": "验证您的帐户并创建收件箱。"
},
{
"title": "添加客服代理",
"route": "settings_inboxes_add_agents",
"body": "将客服添加到创建的收件箱。"
},
{
"title": "Voila!",
"route": "settings_inbox_finish",
"body": "你已设定状态为离开"
}
],
"ADD": {
"FB": {
"HELP": "注意: 通过登录,我们只能访问您的页面的消息。您的私人消息永远不能被聊天室访问。",
"CHOOSE_PAGE": "选择页面",
"CHOOSE_PLACEHOLDER": "从列表中选择一个页面",
"INBOX_NAME": "收件箱名称",
"ADD_NAME": "为收件箱添加名称",
"PICK_NAME": "选择收件箱名称",
"PICK_A_VALUE": "选择一个数值"
},
"TWITTER": {
"HELP": "若要将您的Twitter个人资料添加为频道您需要通过点击“使用Twitter登录”来验证您的Twitter个人资料。 "
},
"WEBSITE_CHANNEL": {
"TITLE": "网站频道",
"DESC": "为您的网站创建一个频道并通过我们的网站小部件开始支持您的客户。",
"LOADING_MESSAGE": "创建网站支持频道",
"CHANNEL_AVATAR": {
"LABEL": "频道头像"
},
"CHANNEL_NAME": {
"LABEL": "网站名称",
"PLACEHOLDER": "输入您的网站名称 (e.g: Acme Inc)"
},
"CHANNEL_DOMAIN": {
"LABEL": "网站域名",
"PLACEHOLDER": "输入您的网站域名(e.g: acme.com)"
},
"CHANNEL_WELCOME_TITLE": {
"LABEL": "欢迎标题:",
"PLACEHOLDER": "你好!"
},
"CHANNEL_WELCOME_TAGLINE": {
"LABEL": "欢迎标签行",
"PLACEHOLDER": "如有疑问,请联系我们"
},
"CHANNEL_GREETING_MESSAGE": {
"LABEL": "频道问候消息",
"PLACEHOLDER": "Acme Inc通常在几小时内回复。"
},
"CHANNEL_GREETING_TOGGLE": {
"LABEL": "开启频道问候功能",
"HELP_TEXT": "在用户开始对话时发送问候消息。",
"ENABLED": "已启用",
"DISABLED": "已禁用"
},
"WIDGET_COLOR": {
"LABEL": "窗口小部件颜色",
"PLACEHOLDER": "更新小部件中使用的部件颜色"
},
"SUBMIT_BUTTON": "创建收件箱"
},
"TWILIO": {
"TITLE": "Twilio SMS/Whatsapp 频道",
"DESC": "整合Twilio 并开始通过短信或Whatsap支持您的客户。",
"ACCOUNT_SID": {
"LABEL": "账户 SID",
"PLACEHOLDER": "请输入您的 Twilio 账户 SID",
"ERROR": "此字段是必填项"
},
"CHANNEL_TYPE": {
"LABEL": "频道类型",
"ERROR": "请选择您的频道类型"
},
"AUTH_TOKEN": {
"LABEL": "身份验证令牌",
"PLACEHOLDER": "请输入您的 Twilio 认证令牌",
"ERROR": "此字段是必填项"
},
"CHANNEL_NAME": {
"LABEL": "频道类型",
"PLACEHOLDER": "请输入频道名称",
"ERROR": "此字段是必填项"
},
"PHONE_NUMBER": {
"LABEL": "电话号码",
"PLACEHOLDER": "请输入发送消息的电话号码。",
"ERROR": "请输入一个有效的值。电话号码应该以`+`开始。"
},
"API_CALLBACK": {
"TITLE": "回调地址",
"SUBTITLE": "您必须使用这里提到的URL来配置Twilio中的回调URL。"
},
"SUBMIT_BUTTON": "创建 Twilio 频道",
"API": {
"ERROR_MESSAGE": "我们无法验证 Twilio 凭据,请重试"
}
},
"API_CHANNEL": {
"TITLE": "API 频道",
"DESC": "Integrate with API channel and start supporting your customers.",
"CHANNEL_NAME": {
"LABEL": "频道类型",
"PLACEHOLDER": "请输入频道名称",
"ERROR": "此字段是必填项"
},
"WEBHOOK_URL": {
"LABEL": "Webhook 网址",
"SUBTITLE": "Configure the URL where you want to recieve callbacks on events.",
"PLACEHOLDER": "Webhook 网址"
},
"SUBMIT_BUTTON": "创建 API 频道",
"API": {
"ERROR_MESSAGE": "我们无法保存 api 频道"
}
},
"EMAIL_CHANNEL": {
"TITLE": "电子邮件频道",
"DESC": "Integrate you email inbox.",
"CHANNEL_NAME": {
"LABEL": "频道类型",
"PLACEHOLDER": "请输入频道名称",
"ERROR": "此字段是必填项"
},
"EMAIL": {
"LABEL": "Email",
"SUBTITLE": "向您的客户发送支持工单的电子邮件",
"PLACEHOLDER": "Email"
},
"SUBMIT_BUTTON": "创建电子邮件频道",
"API": {
"ERROR_MESSAGE": "我们无法保存电子邮件频道"
},
"FINISH_MESSAGE": "开始将您的电子邮件转发到以下电子邮件地址。"
},
"AUTH": {
"TITLE": "频道",
"DESC": "目前我们支持网站在线聊天小部件、Facebook页面和Twitter配置文件作为平台。 我们在工作中拥有更多平台如Whatsapp、Email、Telegram 和 Line这些平台将很快出台。"
},
"AGENTS": {
"TITLE": "客服代理们",
"DESC": "在这里您可以添加代理来管理您新创建的收件箱。只有这些选定的代理才能访问您的收件箱。 不属于此收件箱的代理人在登录时将无法看到或回复此收件箱中的消息。 <br> <b>PS</b> 作为管理员,如果您需要访问所有收件箱, 您应该将自己添加到您创建的所有收件箱中。"
},
"DETAILS": {
"TITLE": "收件箱详细信息",
"DESC": "从下面的下拉菜单中选择您想要连接到聊天室的 Facebook 页面。 您也可以给您的收件箱提供一个自定义名称以便更好地识别身份。"
},
"FINISH": {
"TITLE": "已被注明!",
"DESC": "您已成功地将您的Facebook页面与Chatwoot集成。下次客户消息您的页面时对话将自动出现在收件箱中。<br>我们还为您提供了一个小部件脚本,您可以轻松地添加到您的网站。 在您的网站上登录后, 客户可以在没有任何外部工具帮助的情况下从您的网站向您发送消息对话将会在这里出现在Chatwoot 上。<br>酷,好吧?好吧,我们肯定试着是 :)"
}
},
"DETAILS": {
"LOADING_FB": "在 Facebook 上认证你... ..",
"ERROR_FB_AUTH": "出错了,请刷新页面...",
"CREATING_CHANNEL": "创建您的收件箱...",
"TITLE": "配置收件箱详情",
"DESC": ""
},
"AGENTS": {
"BUTTON_TEXT": "添加客服代理",
"ADD_AGENTS": "正在向收件箱添加代理..."
},
"FINISH": {
"TITLE": "您的收件箱已准备就绪!",
"MESSAGE": "您现在可以通过您的新频道与您的客户联系。快乐支持 ",
"BUTTON_TEXT": "带我到这里",
"WEBSITE_SUCCESS": "您已成功完成创建网站频道。复制下面显示的代码并将其粘贴在您的网站上。 下次客户使用实时聊天时,对话将自动出现在您的收件箱中。"
},
"REAUTH": "重新授权",
"VIEW": "查看",
"EDIT": {
"API": {
"SUCCESS_MESSAGE": "已成功更新收件箱设置",
"AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "自动分配成功更新",
"ERROR_MESSAGE": "无法更新部件颜色。请稍后再试。"
},
"AUTO_ASSIGNMENT": {
"ENABLED": "已启用",
"DISABLED": "已禁用"
}
},
"DELETE": {
"BUTTON_TEXT": "删除",
"CONFIRM": {
"TITLE": "确认删除",
"MESSAGE": "您确定要删除吗? ",
"YES": "是,删除 ",
"NO": "不,保留 "
},
"API": {
"SUCCESS_MESSAGE": "收件箱删除成功",
"ERROR_MESSAGE": "无法删除收件箱。请稍后再试。"
}
},
"TABS": {
"SETTINGS": "设置",
"COLLABORATORS": "Collaborators",
"CONFIGURATION": "Configuration"
},
"SETTINGS": "设置",
"FEATURES": {
"LABEL": "Features",
"DISPLAY_FILE_PICKER": "Display file picker on the widget",
"DISPLAY_EMOJI_PICKER": "Display emoji picker on the widget"
},
"SETTINGS_POPUP": {
"MESSENGER_HEADING": "Messenger 脚本",
"MESSENGER_SUB_HEAD": "将此按钮放置在窗体标签中",
"INBOX_AGENTS": "客服代理们",
"INBOX_AGENTS_SUB_TEXT": "添加或删除此收件箱中的客服",
"UPDATE": "更新",
"AUTO_ASSIGNMENT": "启用自动分配",
"INBOX_UPDATE_TITLE": "收件箱设置",
"INBOX_UPDATE_SUB_TEXT": "更新收件箱设置",
"AUTO_ASSIGNMENT_SUB_TEXT": "启用或禁用添加到此收件箱的代理人自动分配新的会话。"
}
}
}

View file

@ -0,0 +1,63 @@
{
"INTEGRATION_SETTINGS": {
"HEADER": "集成方式",
"WEBHOOK": {
"TITLE": "回调接口地址",
"CONFIGURE": "配置",
"HEADER": "Webhook设置",
"HEADER_BTN_TXT": "添加新的 webhook",
"INTEGRATION_TXT": "Webhook 事件为您提供了有关Chatwoot 帐户中发生的事情的实时信息。 您可以使用 webhooks 将事件传递给您喜欢的 Slack 或 Github。 单击配置来设置您的网络钩子。",
"LOADING": "正在获取已添加的 webhooks",
"SEARCH_404": "没有任何项目符合此查询",
"SIDEBAR_TXT": "<p><b>Webhooks</b> </p> <p>Webhooks 是 HTTP 回调,可以为每个账户定义的。 他们是由诸如在Chatwoot 中创建消息等事件所触发的。您可以为此帐户创建多个web钩子。 <br /><br /> 创建一个 <b>webhook</b>, 点击 <b>添加新的 webhook</b> 按钮。 您也可以通过点击删除按钮删除任何现有的网络钩子。</p>",
"LIST": {
"404": "此帐户没有配置Webhooks。",
"TITLE": "管理 webhooks",
"DESC": "预设的回复是预定义的回复模板,可以用来快速发送对工单的答复。",
"TABLE_HEADER": [
"Webhook 端点",
"操作"
]
},
"ADD": {
"CANCEL": "取消操作",
"TITLE": "添加新的 webhook",
"DESC": "Webhook 事件为您提供了有关Chatwoot 帐户中发生的事情的实时信息。请输入一个有效的URL来配置回调。",
"FORM": {
"END_POINT": {
"LABEL": "Webhook 网址",
"PLACEHOLDER": "例如https://example/api/webhook",
"ERROR": "请输入一个有效的 URL"
},
"SUBMIT": "创建 webhook"
},
"API": {
"SUCCESS_MESSAGE": "Webhook 添加成功",
"ERROR_MESSAGE": "无法连接服务器,请稍后再试"
}
},
"DELETE": {
"BUTTON_TEXT": "删除",
"API": {
"SUCCESS_MESSAGE": "Webhook 删除成功",
"ERROR_MESSAGE": "无法连接服务器,请稍后再试"
},
"CONFIRM": {
"TITLE": "确认删除",
"MESSAGE": "您确定要删除吗? ",
"YES": "是,删除 ",
"NO": "否,保留它"
}
}
},
"DELETE": {
"BUTTON_TEXT": "删除",
"API": {
"SUCCESS_MESSAGE": "集成已成功删除"
}
},
"CONNECT": {
"BUTTON_TEXT": "连接"
}
}
}

View file

@ -0,0 +1,68 @@
{
"LABEL_MGMT": {
"HEADER": "标签",
"HEADER_BTN_TXT": "添加标签",
"LOADING": "正在获取标签",
"SEARCH_404": "没有任何项目符合此查询",
"SIDEBAR_TXT": "<p><b>标签</b> <p>可以帮助您对对话进行分类和排序。 您可以从侧面板给对话指定标签。 <br /><br />标签被绑定到帐户,可以用于创建您组织中的自定义工作流。 您可以将自定义颜色分配给标签,使它更容易识别标签。 您将能够在侧边栏上显示标签,方便地过滤对话。</p>",
"LIST": {
"404": "此帐户中没有可用的标签。",
"TITLE": "管理标签",
"DESC": "标记可以让您将对话集中起来。",
"TABLE_HEADER": [
"姓名:",
"描述信息",
"颜色"
]
},
"FORM": {
"NAME": {
"LABEL": "标签名称",
"PLACEHOLDER": "标签名称",
"ERROR": "标签名称是必需的"
},
"DESCRIPTION": {
"LABEL": "描述信息",
"PLACEHOLDER": "标签描述"
},
"COLOR": {
"LABEL": "颜色"
},
"SHOW_ON_SIDEBAR": {
"LABEL": "在侧边栏显示标签"
},
"EDIT": "编辑",
"CREATE": "创建",
"DELETE": "删除",
"CANCEL": "取消操作"
},
"ADD": {
"TITLE": "添加标签",
"DESC": "标记可以让您将对话集中起来。",
"API": {
"SUCCESS_MESSAGE": "标签添加成功",
"ERROR_MESSAGE": "出现错误,请重试"
}
},
"EDIT": {
"TITLE": "编辑标签",
"API": {
"SUCCESS_MESSAGE": "标签已成功更新",
"ERROR_MESSAGE": "出错了,请重试"
}
},
"DELETE": {
"BUTTON_TEXT": "删除",
"API": {
"SUCCESS_MESSAGE": "标签已成功删除",
"ERROR_MESSAGE": "出错了,请重试"
},
"CONFIRM": {
"TITLE": "确认删除",
"MESSAGE": "您确定要删除吗? ",
"YES": "是,删除 ",
"NO": "不,保留 "
}
}
}
}

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