From 29bd05ccfb73ce97b2647f11c24a50c02ef27364 Mon Sep 17 00:00:00 2001 From: Pranav Raj S Date: Wed, 18 Nov 2020 15:27:50 +0530 Subject: [PATCH 01/42] chore: Add documentation on translation process (#1424) --- README.md | 10 ++++-- docs/contributing.md | 22 ++++++------ .../translating-chatwoot-to-your-language.md | 34 +++++++++++++++++++ 3 files changed, 51 insertions(+), 15 deletions(-) create mode 100644 docs/contributing/translating-chatwoot-to-your-language.md diff --git a/README.md b/README.md index 0eb841bb8..a27754a70 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ Now, a failed project is back on track and the prospects are looking great. The ### Features -Chatwoot gives an integrated view of conversations happening in different communication channels. +Chatwoot gives an integrated view of conversations happening in different communication channels. It supports the following conversation channels: @@ -44,7 +44,7 @@ It supports the following conversation channels: - **API Channel**: Build custom communication channels using our API channel. - **Email (beta)**: Forward all your email queries to Chatwoot and view it in our integrated dashboard. -Other features include: +Other features include: - **Multi-brand inboxes**: Manage multiple brands or pages using a single dashboard. - **Private notes**: Inter team communication is possible using private notes in a conversation. @@ -62,12 +62,16 @@ Other features include: Detailed documentation is available at [www.chatwoot.com/help-center](https://www.chatwoot.com/help-center). +### Translation process + +The translation process for Chatwoot web and mobile app is managed at [https://translate.chatwoot.com](https://translate.chatwoot.com) using Crowdin. Please read the [translation guide](https://www.chatwoot/docs/contributing/translating-chatwoot-to-your-language) for contributing to Chatwoot. + --- ### Branching model We use the [git-flow](https://nvie.com/posts/a-successful-git-branching-model/) branching model. The base branch is `develop`. -If you are looking for a stable version, please use the `master` or tags labelled as `v1.x.x`. +If you are looking for a stable version, please use the `master` or tags labelled as `v1.x.x`. --- diff --git a/docs/contributing.md b/docs/contributing.md index aa7a00df2..4ac423be8 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -19,15 +19,15 @@ Thank you for taking an interest in contributing to Chatwoot. Before submitting - It's okay and encouraged to have multiple small commits as you work on the PR - we will squash the commits before merging. -### Getting Started +### Getting Started - Before starting your work, ensure an [issue](https://github.com/chatwoot/chatwoot/issues) exist for it. If not feel free to create one. -- Add a comment on the issue and wait for the issue to be assigned before you start working on it. - - This helps to avoid multiple people working on similar issues. -- If the solution is complex, propose the solution on the issue and wait for one of the core contributors to approve before going into the implementation. +- Add a comment on the issue and wait for the issue to be assigned before you start working on it. + - This helps to avoid multiple people working on similar issues. +- If the solution is complex, propose the solution on the issue and wait for one of the core contributors to approve before going into the implementation. - This helps in shorter turn around times in merging PRs -- For new feature requests, Provide a convincing reason to add this feature. Real-life business use-cases will be super helpful. -- Feel free to join our [discord community](https://discord.gg/cJXdrwS), if you need further discussions with the core team. +- For new feature requests, Provide a convincing reason to add this feature. Real-life business use-cases will be super helpful. +- Feel free to join our [discord community](https://discord.gg/cJXdrwS), if you need further discussions with the core team. ### Developing a new feature: @@ -38,9 +38,7 @@ Thank you for taking an interest in contributing to Chatwoot. Before submitting - If you are resolving a particular issue, add `Bug: Fix xxxx` (#xxxx is the issue) in your PR title. - Provide a detailed description of the bug in the PR. - Add appropriate test coverage if applicable. - -### Translations: -- When you are introducing new text copies, you only need to worry about making changes to english language files. -- We accept language translations / updates for existing translations through [crowdin](https://translate.chatwoot.com/) - - If a language doesn't exist in our crowdin, please feel free to create an [issue](https://github.com/chatwoot/chatwoot/issues) to get it enabled. - + +### Translations + +For language translations, please read the guide [translating Chatwoot to your language](/docs/contributing/translating-chatwoot-to-your-language) diff --git a/docs/contributing/translating-chatwoot-to-your-language.md b/docs/contributing/translating-chatwoot-to-your-language.md new file mode 100644 index 000000000..4c9f149e3 --- /dev/null +++ b/docs/contributing/translating-chatwoot-to-your-language.md @@ -0,0 +1,34 @@ +--- +path: "/docs/contributing/translating-chatwoot-to-your-language" +title: "Translate Chatwoot to your language" +--- + +Chatwoot uses American English by default. Each and every string available in Chatwoot can be translated to the language of your choice. Chatwoot uses Crowdin to manage the translation process. The updates from Crowdin is also included along with every release. + +### How do I see the strings that needs to be translated? + +In the codebase the string are placed in the following locations. + +- `app/javascript/dashboard/i18n` - The strings related to the agent dashboard +- `app/javascript/widget/i18n` - The strings related to the web widget +- `config/locales` - The strings used in backend messages or API response. + +Alternatively, you can login to the **Crowdin** ([https://translate.chatwoot.com](https://translate.chatwoot.com)) and create an account to view the strings that needs to be translated. + +### How to contribute? + +If you don't find your language on Crowdin, please create an issue on [Github](https://github.com/chatwoot/chatwoot/issues) to add the language. + +#### Translate Strings + +The translation process for Chatwoot web and mobile app is managed at [https://translate.chatwoot.com](https://translate.chatwoot.com) using Crowdin. You will have to create an account at Crowdin before you can select a language and contribute. + +#### Proofreading + +Proofreading helps ensure the accuracy and consistency of translations. Right now, the translations are being accepted without a proof reading step. This would be changed in the future as an when there are more contributors on each language. + +*Note:* If you are the only person contributing to a language, make sure that you inform any of the Chatwoot members to gain access to manage the language. + +#### Releasing a new language + +All the translated strings would be included in the next release. If a language has *60% or more translated strings* in Crowdin, we would enable the language in Chatwoot app during the next release. From 61d26f71c100f8137347a0bc51b31f29e4057a86 Mon Sep 17 00:00:00 2001 From: Adam Zysko <1789131+azyzio@users.noreply.github.com> Date: Fri, 20 Nov 2020 11:08:13 +0100 Subject: [PATCH 02/42] chore: bump ruby from 2.7.1 to 2.7.2 (#1426) Closes: #1399 --- .circleci/config.yml | 2 +- .env.example | 1 - .ruby-version | 2 +- Gemfile | 2 +- Gemfile.lock | 2 +- deployment/chatwoot-web.1.service | 6 +++--- deployment/chatwoot-worker.1.service | 6 +++--- deployment/setup_18.04.sh | 4 ++-- deployment/setup_20.04.sh | 4 ++-- docker/Dockerfile | 4 ++-- docs/development/environment-setup/mac-os.md | 8 ++++---- docs/development/environment-setup/ubuntu.md | 8 ++++---- docs/development/environment-setup/windows.md | 6 +++--- 13 files changed, 27 insertions(+), 28 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 18a7a0af9..635f60c90 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -7,7 +7,7 @@ defaults: &defaults working_directory: ~/build docker: # specify the version you desire here - - image: circleci/ruby:2.7.1-node-browsers + - image: circleci/ruby:2.7.2-node-browsers # Specify service dependencies here if necessary # CircleCI maintains a library of pre-built images diff --git a/.env.example b/.env.example index 405548032..84dd75946 100644 --- a/.env.example +++ b/.env.example @@ -130,4 +130,3 @@ USE_INBOX_AVATAR_FOR_BOT=true # if you want to use letter_opener for local emails # LETTER_OPENER=true - diff --git a/.ruby-version b/.ruby-version index 860487ca1..37c2961c2 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -2.7.1 +2.7.2 diff --git a/Gemfile b/Gemfile index ba24662fb..88f2fc75c 100644 --- a/Gemfile +++ b/Gemfile @@ -1,6 +1,6 @@ source 'https://rubygems.org' -ruby '2.7.1' +ruby '2.7.2' ##-- base gems for rails --## gem 'rack-cors', require: 'rack/cors' diff --git a/Gemfile.lock b/Gemfile.lock index 8b9ea88b3..4e60ff3e3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -638,7 +638,7 @@ DEPENDENCIES wisper (= 2.0.0) RUBY VERSION - ruby 2.7.1p83 + ruby 2.7.2p137 BUNDLED WITH 2.1.4 diff --git a/deployment/chatwoot-web.1.service b/deployment/chatwoot-web.1.service index 56d6a283c..9ef63aeb6 100644 --- a/deployment/chatwoot-web.1.service +++ b/deployment/chatwoot-web.1.service @@ -16,10 +16,10 @@ KillMode=mixed StandardInput=null SyslogIdentifier=%p -Environment="PATH=/home/chatwoot/.rvm/gems/ruby-2.7.1/bin:/home/chatwoot/.rvm/gems/ruby-2.7.1@global/bin:/home/chatwoot/.rvm/rubies/ruby-2.7.1/bin:/home/chatwoot/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/home/chatwoot/.rvm/bin:/home/chatwoot/.rvm/bin" +Environment="PATH=/home/chatwoot/.rvm/gems/ruby-2.7.2/bin:/home/chatwoot/.rvm/gems/ruby-2.7.2@global/bin:/home/chatwoot/.rvm/rubies/ruby-2.7.2/bin:/home/chatwoot/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/home/chatwoot/.rvm/bin:/home/chatwoot/.rvm/bin" Environment="PORT=3000" Environment="RAILS_ENV=production" Environment="NODE_ENV=production" Environment="RAILS_LOG_TO_STDOUT=true" -Environment="GEM_HOME=/home/chatwoot/.rvm/gems/ruby-2.7.1" -Environment="GEM_PATH=/home/chatwoot/.rvm/gems/ruby-2.7.1:/home/chatwoot/.rvm/gems/ruby-2.7.1@global" \ No newline at end of file +Environment="GEM_HOME=/home/chatwoot/.rvm/gems/ruby-2.7.2" +Environment="GEM_PATH=/home/chatwoot/.rvm/gems/ruby-2.7.2:/home/chatwoot/.rvm/gems/ruby-2.7.2@global" diff --git a/deployment/chatwoot-worker.1.service b/deployment/chatwoot-worker.1.service index 8b3f0b1cb..ac24709cd 100644 --- a/deployment/chatwoot-worker.1.service +++ b/deployment/chatwoot-worker.1.service @@ -16,10 +16,10 @@ KillMode=mixed StandardInput=null SyslogIdentifier=%p -Environment="PATH=/home/chatwoot/.rvm/gems/ruby-2.7.1/bin:/home/chatwoot/.rvm/gems/ruby-2.7.1@global/bin:/home/chatwoot/.rvm/rubies/ruby-2.7.1/bin:/home/chatwoot/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/home/chatwoot/.rvm/bin:/home/chatwoot/.rvm/bin" +Environment="PATH=/home/chatwoot/.rvm/gems/ruby-2.7.2/bin:/home/chatwoot/.rvm/gems/ruby-2.7.2@global/bin:/home/chatwoot/.rvm/rubies/ruby-2.7.2/bin:/home/chatwoot/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/home/chatwoot/.rvm/bin:/home/chatwoot/.rvm/bin" Environment="PORT=3000" Environment="RAILS_ENV=production" Environment="NODE_ENV=production" Environment="RAILS_LOG_TO_STDOUT=true" -Environment="GEM_HOME=/home/chatwoot/.rvm/gems/ruby-2.7.1" -Environment="GEM_PATH=/home/chatwoot/.rvm/gems/ruby-2.7.1:/home/chatwoot/.rvm/gems/ruby-2.7.1@global" \ No newline at end of file +Environment="GEM_HOME=/home/chatwoot/.rvm/gems/ruby-2.7.2" +Environment="GEM_PATH=/home/chatwoot/.rvm/gems/ruby-2.7.2:/home/chatwoot/.rvm/gems/ruby-2.7.2@global" diff --git a/deployment/setup_18.04.sh b/deployment/setup_18.04.sh index cacd995e9..8067b6372 100644 --- a/deployment/setup_18.04.sh +++ b/deployment/setup_18.04.sh @@ -43,8 +43,8 @@ RAILS_ENV=production sudo -i -u chatwoot << EOF rvm --version rvm autolibs disable -rvm install "ruby-2.7.1" -rvm use 2.7.1 --default +rvm install "ruby-2.7.2" +rvm use 2.7.2 --default git clone https://github.com/chatwoot/chatwoot.git cd chatwoot diff --git a/deployment/setup_20.04.sh b/deployment/setup_20.04.sh index 6541b6a5e..cc30161c3 100644 --- a/deployment/setup_20.04.sh +++ b/deployment/setup_20.04.sh @@ -43,8 +43,8 @@ RAILS_ENV=production sudo -i -u chatwoot << EOF rvm --version rvm autolibs disable -rvm install "ruby-2.7.1" -rvm use 2.7.1 --default +rvm install "ruby-2.7.2" +rvm use 2.7.2 --default git clone https://github.com/chatwoot/chatwoot.git cd chatwoot diff --git a/docker/Dockerfile b/docker/Dockerfile index 8093fdb02..99a82b8b2 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,5 +1,5 @@ # pre-build stage -FROM ruby:2.7.1-alpine AS pre-builder +FROM ruby:2.7.2-alpine AS pre-builder # ARG default to production settings # For development docker-compose file overrides ARGS @@ -51,7 +51,7 @@ RUN if [ "$RAILS_ENV" = "production" ]; then \ fi # final build stage -FROM ruby:2.7.1-alpine +FROM ruby:2.7.2-alpine ARG BUNDLE_WITHOUT="development:test" ENV BUNDLE_WITHOUT ${BUNDLE_WITHOUT} diff --git a/docs/development/environment-setup/mac-os.md b/docs/development/environment-setup/mac-os.md index d856b5b15..73c657d04 100644 --- a/docs/development/environment-setup/mac-os.md +++ b/docs/development/environment-setup/mac-os.md @@ -37,19 +37,19 @@ source ~/.rvm/scripts/rvm ### Install Ruby -Chatwoot APIs are built on Ruby on Rails, you need install ruby 2.7.1 +Chatwoot APIs are built on Ruby on Rails, you need install ruby 2.7.2 If you are using `rvm` : ```bash -rvm install ruby-2.7.1 -rvm use 2.7.1 +rvm install ruby-2.7.2 +rvm use 2.7.2 ``` If you are using `rbenv` to manage ruby versions do : ```bash -rbenv install 2.7.1 +rbenv install 2.7.2 ``` `rbenv` identifies the ruby version from `.ruby-version` file on the root of the project and loads it automatically. diff --git a/docs/development/environment-setup/ubuntu.md b/docs/development/environment-setup/ubuntu.md index 7e6570f47..a97c6a46a 100644 --- a/docs/development/environment-setup/ubuntu.md +++ b/docs/development/environment-setup/ubuntu.md @@ -33,16 +33,16 @@ Enable `Run command as a login shell` in terminal `Preferences`. Restart your co ### Install Ruby -Chatwoot APIs are built on Ruby on Rails. You need to install ruby 2.7.1: +Chatwoot APIs are built on Ruby on Rails. You need to install ruby 2.7.2: ```bash -rvm install ruby-2.7.1 +rvm install ruby-2.7.2 ``` -Use ruby 2.7.1 as default: +Use ruby 2.7.2 as default: ```bash -rvm use 2.7.1 --default +rvm use 2.7.2 --default ``` ### Install Node.js diff --git a/docs/development/environment-setup/windows.md b/docs/development/environment-setup/windows.md index 25e7c0121..db308ed4a 100644 --- a/docs/development/environment-setup/windows.md +++ b/docs/development/environment-setup/windows.md @@ -26,15 +26,15 @@ sudo apt-get update sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev software-properties-common libffi-dev ``` -Install RVM & ruby version 2.7.1 +Install RVM & ruby version 2.7.2 ```bash sudo apt-get install libgdbm-dev libncurses5-dev automake libtool bison libffi-dev gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB curl -sSL https://get.rvm.io | bash -s stable source ~/.rvm/scripts/rvm -rvm install 2.7.1 -rvm use 2.7.1 --default +rvm install 2.7.2 +rvm use 2.7.2 --default ruby -v ``` From be2d3ea1243f9f06bcbba0e28ac6744d59d7719f Mon Sep 17 00:00:00 2001 From: Pranav Raj S Date: Sat, 21 Nov 2020 22:43:27 +0530 Subject: [PATCH 03/42] fix: Update agent list when the user changes their presence (#1436) --- app/javascript/dashboard/store/modules/auth.js | 7 +++++-- .../store/modules/specs/auth/actions.spec.js | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/app/javascript/dashboard/store/modules/auth.js b/app/javascript/dashboard/store/modules/auth.js index 8251046fc..27103a0c5 100644 --- a/app/javascript/dashboard/store/modules/auth.js +++ b/app/javascript/dashboard/store/modules/auth.js @@ -105,10 +105,13 @@ export const actions = { } }, - updateAvailability: ({ commit }, { availability }) => { + updateAvailability: ({ commit, dispatch }, { availability }) => { authAPI.updateAvailability({ availability }).then(response => { - setUser(response.data, getHeaderExpiry(response)); + const userData = response.data; + const { id, availability_status: availabilityStatus } = userData; + setUser(userData, getHeaderExpiry(response)); commit(types.default.SET_CURRENT_USER); + dispatch('agents/updatePresence', { [id]: availabilityStatus }); }); }, diff --git a/app/javascript/dashboard/store/modules/specs/auth/actions.spec.js b/app/javascript/dashboard/store/modules/specs/auth/actions.spec.js index 1081196d6..21043898e 100644 --- a/app/javascript/dashboard/store/modules/specs/auth/actions.spec.js +++ b/app/javascript/dashboard/store/modules/specs/auth/actions.spec.js @@ -52,6 +52,24 @@ describe('#actions', () => { }); }); + describe('#updateAvailability', () => { + it('sends correct actions if API is success', async () => { + axios.put.mockResolvedValue({ + data: { id: 1, name: 'John', availability_status: 'offline' }, + headers: { expiry: 581842904 }, + }); + await actions.updateAvailability( + { commit, dispatch }, + { availability: 'offline' } + ); + expect(setUser).toHaveBeenCalledTimes(1); + expect(commit.mock.calls).toEqual([[types.default.SET_CURRENT_USER]]); + expect(dispatch.mock.calls).toEqual([ + ['agents/updatePresence', { 1: 'offline' }], + ]); + }); + }); + describe('#setUser', () => { it('sends correct actions if user is logged in', async () => { Cookies.getJSON.mockImplementation(() => true); From fcf91f60fb3ffb79b599f81ec32160748faa8dcc Mon Sep 17 00:00:00 2001 From: simon klemenc Date: Sun, 22 Nov 2020 17:20:56 +0100 Subject: [PATCH 04/42] chore: Remove invalid quotes in Dockerfile instructions (#1431) Co-authored-by: hiaselhans --- docs/deployment/production/docker.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/deployment/production/docker.md b/docs/deployment/production/docker.md index 92249c6c9..57db212dd 100644 --- a/docs/deployment/production/docker.md +++ b/docs/deployment/production/docker.md @@ -12,8 +12,8 @@ We publish our base images to docker hub. Build your web/worker images from thes ``` FROM chatwoot/chatwoot:latest RUN chmod +x docker/entrypoints/rails.sh -ENTRYPOINT [\"docker/entrypoints/rails.sh\"] -CMD bundle exec bundle exec rails s -b 0.0.0.0 -p 3000" +ENTRYPOINT ["docker/entrypoints/rails.sh"] +CMD bundle exec bundle exec rails s -b 0.0.0.0 -p 3000 ``` ### worker @@ -21,8 +21,8 @@ CMD bundle exec bundle exec rails s -b 0.0.0.0 -p 3000" ``` FROM chatwoot/chatwoot:latest RUN chmod +x docker/entrypoints/rails.sh -ENTRYPOINT [\"docker/entrypoints/rails.sh\"] -CMD bundle exec sidekiq -C config/sidekiq.yml" +ENTRYPOINT ["docker/entrypoints/rails.sh"] +CMD bundle exec sidekiq -C config/sidekiq.yml ``` The app servers will available on port `3000`. Ensure the images are connected to the same database and Redis servers. Provide the configuration for these services via environment variables. From 4fe29fefb46f9006f047e6c5fa340cf5420d32a9 Mon Sep 17 00:00:00 2001 From: Pranav Raj S Date: Mon, 23 Nov 2020 10:49:28 +0530 Subject: [PATCH 05/42] fix: Add missing close button if bubble is hidden (#1435) --- Gemfile.lock | 2 +- app/javascript/sdk/IFrameHelper.js | 8 +++++++- app/javascript/sdk/sdk.js | 4 ++++ app/javascript/widget/assets/scss/woot.scss | 8 ++++++++ app/javascript/widget/views/Router.vue | 6 +++++- 5 files changed, 25 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 4e60ff3e3..d6692e402 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -325,7 +325,7 @@ GEM pry-rails (0.3.9) pry (>= 0.10.4) public_suffix (4.0.5) - puma (4.3.5) + puma (4.3.6) nio4r (~> 2.0) pundit (2.1.0) activesupport (>= 3.0.0) diff --git a/app/javascript/sdk/IFrameHelper.js b/app/javascript/sdk/IFrameHelper.js index 666fbf952..64f788968 100644 --- a/app/javascript/sdk/IFrameHelper.js +++ b/app/javascript/sdk/IFrameHelper.js @@ -34,7 +34,10 @@ export const IFrameHelper = { iframe.id = 'chatwoot_live_chat_widget'; iframe.style.visibility = 'hidden'; - const holderClassName = `woot-widget-holder woot--hide woot-elements--${window.$chatwoot.position}`; + let holderClassName = `woot-widget-holder woot--hide woot-elements--${window.$chatwoot.position}`; + if (window.$chatwoot.hideMessageBubble) { + holderClassName += ` woot-widget--without-bubble`; + } addClass(widgetHolder, holderClassName); widgetHolder.appendChild(iframe); body.appendChild(widgetHolder); @@ -114,6 +117,9 @@ export const IFrameHelper = { }, setBubbleLabel(message) { + if (window.$chatwoot.hideMessageBubble) { + return; + } setBubbleText(window.$chatwoot.launcherTitle || message.label); }, diff --git a/app/javascript/sdk/sdk.js b/app/javascript/sdk/sdk.js index aeb3d41db..4f4c3a6ca 100644 --- a/app/javascript/sdk/sdk.js +++ b/app/javascript/sdk/sdk.js @@ -115,6 +115,10 @@ export const SDK_CSS = `.woot-widget-holder { z-index: -1 !important; } +.woot-widget--without-bubble { + bottom: 20px !important; +} + @media only screen and (max-width: 667px) { .woot-widget-holder { height: 100%; diff --git a/app/javascript/widget/assets/scss/woot.scss b/app/javascript/widget/assets/scss/woot.scss index 089b7817c..b65fea2d3 100755 --- a/app/javascript/widget/assets/scss/woot.scss +++ b/app/javascript/widget/assets/scss/woot.scss @@ -34,6 +34,14 @@ body { } } +.is-bubble-hidden { + .actions { + .close-button { + display: block !important; + } + } +} + .cursor-pointer { cursor: pointer; } diff --git a/app/javascript/widget/views/Router.vue b/app/javascript/widget/views/Router.vue index 64558efb7..cb72daca1 100644 --- a/app/javascript/widget/views/Router.vue +++ b/app/javascript/widget/views/Router.vue @@ -2,7 +2,11 @@
Date: Mon, 23 Nov 2020 11:00:07 +0530 Subject: [PATCH 06/42] feat: Search contacts using phone number (#1440) --- app/controllers/api/v1/accounts/contacts_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/api/v1/accounts/contacts_controller.rb b/app/controllers/api/v1/accounts/contacts_controller.rb index d476c744c..fbed92bbd 100644 --- a/app/controllers/api/v1/accounts/contacts_controller.rb +++ b/app/controllers/api/v1/accounts/contacts_controller.rb @@ -14,7 +14,7 @@ class Api::V1::Accounts::ContactsController < Api::V1::Accounts::BaseController def search render json: { error: 'Specify search string with parameter q' }, status: :unprocessable_entity if params[:q].blank? && return - contacts = resolved_contacts.where('name LIKE :search OR email LIKE :search', search: "%#{params[:q]}%") + contacts = resolved_contacts.where('name LIKE :search OR email LIKE :search OR phone_number LIKE :search', search: "%#{params[:q]}%") @contacts_count = contacts.count @contacts = fetch_contact_last_seen_at(contacts) end From dffc888f9cfb7f9045d8d1dc25955eaa4b1cc784 Mon Sep 17 00:00:00 2001 From: Adam Zysko <1789131+azyzio@users.noreply.github.com> Date: Tue, 24 Nov 2020 06:52:18 +0100 Subject: [PATCH 07/42] feat: Create superadmin in seeds (#1442) Create SuperAdmin in seeds scripts except on production --- db/seeds.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/db/seeds.rb b/db/seeds.rb index b56da8239..3b1395004 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -12,6 +12,8 @@ user = User.new(name: 'John', email: 'john@acme.inc', password: '123456') user.skip_confirmation! user.save! +SuperAdmin.create!(email: 'john@acme.inc', password: '123456') unless Rails.env.production? + AccountUser.create!( account_id: account.id, user_id: user.id, From 30802e0c13a65afac1bb045a0366025ea8e5afdb Mon Sep 17 00:00:00 2001 From: Adam Zysko <1789131+azyzio@users.noreply.github.com> Date: Tue, 24 Nov 2020 14:04:31 +0100 Subject: [PATCH 08/42] feat: Ability to set installation-wide default locale (#1433) * Dashboard locale can be set via env variable * Change account locale based on registration page * Set account locale if available Co-authored-by: Pranav Raj Sreepuram --- .env.example | 4 ++ app/builders/account_builder.rb | 2 +- app/controllers/application_controller.rb | 24 +----------- app/controllers/concerns/switch_locale.rb | 38 +++++++++++++++++++ app/controllers/dashboard_controller.rb | 1 + app/javascript/dashboard/App.vue | 7 +++- app/views/layouts/vueapp.html.erb | 3 +- .../project-setup/environment-variables.md | 6 +++ 8 files changed, 59 insertions(+), 26 deletions(-) create mode 100644 app/controllers/concerns/switch_locale.rb diff --git a/.env.example b/.env.example index 84dd75946..008195ef7 100644 --- a/.env.example +++ b/.env.example @@ -4,6 +4,10 @@ SECRET_KEY_BASE=replace_with_lengthy_secure_hex # Replace with the URL you are planning to use for your app FRONTEND_URL=http://0.0.0.0:3000 +# If the variable is set, all non-authenticated pages would fallback to the default locale. +# Whenever a new account is created, the default language will be DEFAULT_LOCALE instead of en +# DEFAULT_LOCALE=en + # If you plan to use CDN for your assets, set Asset CDN Host ASSET_CDN_HOST= diff --git a/app/builders/account_builder.rb b/app/builders/account_builder.rb index ae6db3b4e..85a391c62 100644 --- a/app/builders/account_builder.rb +++ b/app/builders/account_builder.rb @@ -40,7 +40,7 @@ class AccountBuilder end def create_account - @account = Account.create!(name: @account_name) + @account = Account.create!(name: @account_name, locale: I18n.locale) Current.account = @account end diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 58246bb73..ada185681 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -5,7 +5,7 @@ class ApplicationController < ActionController::Base protect_from_forgery with: :null_session before_action :set_current_user, unless: :devise_controller? - around_action :switch_locale + include SwitchLocale around_action :handle_with_exception, unless: :devise_controller? # after_action :verify_authorized @@ -60,28 +60,6 @@ class ApplicationController < ActionController::Base render json: exception.to_hash, status: exception.http_status end - def locale_from_params - I18n.available_locales.map(&:to_s).include?(params[:locale]) ? params[:locale] : nil - end - - def locale_from_account(account) - return unless account - - I18n.available_locales.map(&:to_s).include?(account.locale) ? account.locale : nil - end - - def switch_locale(&action) - # priority is for locale set in query string (mostly for widget/from js sdk) - locale ||= locale_from_params - # if local is not set in param, lets try account - locale ||= locale_from_account(@current_account) - # if nothing works we rely on default locale - locale ||= I18n.default_locale - # ensure locale won't bleed into other requests - # https://guides.rubyonrails.org/i18n.html#managing-the-locale-across-requests - I18n.with_locale(locale, &action) - end - def pundit_user { user: Current.user, diff --git a/app/controllers/concerns/switch_locale.rb b/app/controllers/concerns/switch_locale.rb new file mode 100644 index 000000000..739c5bb7f --- /dev/null +++ b/app/controllers/concerns/switch_locale.rb @@ -0,0 +1,38 @@ +module SwitchLocale + extend ActiveSupport::Concern + included do + around_action :switch_locale + end + + private + + def switch_locale(&action) + # priority is for locale set in query string (mostly for widget/from js sdk) + locale ||= locale_from_params + # if locale is not set in param, lets try account + locale ||= locale_from_account(@current_account) + # if locale is not set in account, let's use DEFAULT_LOCALE env variable + locale ||= locale_from_env_variable + # if nothing works we rely on default locale + locale ||= I18n.default_locale + # ensure locale won't bleed into other requests + # https://guides.rubyonrails.org/i18n.html#managing-the-locale-across-requests + I18n.with_locale(locale, &action) + end + + def locale_from_params + I18n.available_locales.map(&:to_s).include?(params[:locale]) ? params[:locale] : nil + end + + def locale_from_account(account) + return unless account + + I18n.available_locales.map(&:to_s).include?(account.locale) ? account.locale : nil + end + + def locale_from_env_variable + return unless ENV.fetch('DEFAULT_LOCALE', nil) + + I18n.available_locales.map(&:to_s).include?(ENV.fetch('DEFAULT_LOCALE')) ? ENV.fetch('DEFAULT_LOCALE') : nil + end +end diff --git a/app/controllers/dashboard_controller.rb b/app/controllers/dashboard_controller.rb index 27fa7fb86..5a1bddbf6 100644 --- a/app/controllers/dashboard_controller.rb +++ b/app/controllers/dashboard_controller.rb @@ -1,5 +1,6 @@ class DashboardController < ActionController::Base before_action :set_global_config + include SwitchLocale layout 'vueapp' diff --git a/app/javascript/dashboard/App.vue b/app/javascript/dashboard/App.vue index bef1323e2..e37d5864e 100644 --- a/app/javascript/dashboard/App.vue +++ b/app/javascript/dashboard/App.vue @@ -28,10 +28,15 @@ export default { mounted() { this.$store.dispatch('setUser'); + this.setLocale(window.chatwootConfig.selectedLocale); this.initializeAccount(); }, methods: { + setLocale(locale) { + Vue.config.lang = locale; + }, + async initializeAccount() { const { pathname } = window.location; const accountId = accountIdFromPathname(pathname); @@ -39,7 +44,7 @@ export default { if (accountId) { await this.$store.dispatch('accounts/get'); const { locale } = this.getAccount(accountId); - Vue.config.lang = locale; + this.setLocale(locale); } }, }, diff --git a/app/views/layouts/vueapp.html.erb b/app/views/layouts/vueapp.html.erb index c2dae5279..40d9b7a1b 100644 --- a/app/views/layouts/vueapp.html.erb +++ b/app/views/layouts/vueapp.html.erb @@ -35,7 +35,8 @@ <% if ENV['VAPID_PUBLIC_KEY'] %> vapidPublicKey: new Uint8Array(<%= Base64.urlsafe_decode64(ENV['VAPID_PUBLIC_KEY']).bytes %>), <% end %> - enabledLanguages: <%= available_locales_with_name.to_json.html_safe %> + enabledLanguages: <%= available_locales_with_name.to_json.html_safe %>, + selectedLocale: '<%= I18n.locale %>' } window.globalConfig = <%= raw @global_config.to_json %> diff --git a/docs/development/project-setup/environment-variables.md b/docs/development/project-setup/environment-variables.md index d9ae9542c..faa04f9e4 100644 --- a/docs/development/project-setup/environment-variables.md +++ b/docs/development/project-setup/environment-variables.md @@ -93,6 +93,12 @@ Provide the following value as frontend url FRONTEND_URL='http://localhost:3000' ``` +### Configure default language + +```bash +DEFAULT_LOCALE='en' +``` + ### Configure storage Chatwoot uses [active storage](https://edgeguides.rubyonrails.org/active_storage_overview.html) for storing attachments. The default storage option is the local storage on your server. From d88118e8d53ab549419a9cf98c3ce004407043ca Mon Sep 17 00:00:00 2001 From: Sojan Jose Date: Tue, 24 Nov 2020 23:07:51 +0530 Subject: [PATCH 09/42] chore: Enable Danish language (#1443) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Samuel Rasmussen Co-authored-by: wanhai huang Co-authored-by: Matt Co-authored-by: Petteri Pucilowski Co-authored-by: Алексей Чертановский Co-authored-by: @vfasoulas Co-authored-by: Goudarz Jafari --- .../dashboard/i18n/locale/da/agentMgmt.json | 102 +++---- .../dashboard/i18n/locale/da/cannedMgmt.json | 78 +++--- .../dashboard/i18n/locale/da/chatlist.json | 42 +-- .../dashboard/i18n/locale/da/contact.json | 124 ++++---- .../i18n/locale/da/conversation.json | 86 +++--- .../i18n/locale/da/generalSettings.json | 40 +-- .../dashboard/i18n/locale/da/inboxMgmt.json | 264 +++++++++--------- .../i18n/locale/da/integrations.json | 62 ++-- .../dashboard/i18n/locale/da/labelsMgmt.json | 72 ++--- .../dashboard/i18n/locale/da/login.json | 22 +- .../dashboard/i18n/locale/da/report.json | 26 +- .../i18n/locale/da/resetPassword.json | 14 +- .../i18n/locale/da/setNewPassword.json | 20 +- .../dashboard/i18n/locale/da/settings.json | 156 +++++------ .../dashboard/i18n/locale/da/signup.json | 32 +-- .../dashboard/i18n/locale/da/webhooks.json | 2 +- .../dashboard/i18n/locale/de/settings.json | 15 +- .../dashboard/i18n/locale/el/inboxMgmt.json | 2 +- .../dashboard/i18n/locale/fa/inboxMgmt.json | 2 +- .../dashboard/i18n/locale/fi/settings.json | 2 +- .../dashboard/i18n/locale/nl/settings.json | 2 +- .../dashboard/i18n/locale/pl/settings.json | 15 +- .../i18n/locale/zh_CN/agentMgmt.json | 60 ++-- app/javascript/widget/i18n/locale/da.json | 28 +- app/javascript/widget/i18n/locale/fi.json | 30 +- app/javascript/widget/i18n/locale/ru.json | 12 +- app/javascript/widget/i18n/locale/zh_CN.json | 14 +- config/initializers/languages.rb | 3 +- config/locales/da.yml | 44 +-- config/locales/devise.da.yml | 86 +++--- config/locales/devise.zh_TW.yml | 2 +- config/locales/fi.yml | 2 +- 32 files changed, 722 insertions(+), 739 deletions(-) diff --git a/app/javascript/dashboard/i18n/locale/da/agentMgmt.json b/app/javascript/dashboard/i18n/locale/da/agentMgmt.json index ac4a62127..323d54a2a 100644 --- a/app/javascript/dashboard/i18n/locale/da/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/da/agentMgmt.json @@ -1,96 +1,96 @@ { "AGENT_MGMT": { - "HEADER": "Agents", - "HEADER_BTN_TXT": "Add Agent", - "LOADING": "Fetching Agent List", - "SIDEBAR_TXT": "

Agents

An Agent is a member of your Customer Support team.

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

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

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

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

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

", + "HEADER": "Agenter", + "HEADER_BTN_TXT": "Tilføj Agent", + "LOADING": "Henter Agent Liste", + "SIDEBAR_TXT": "

Agenter

En Agent er medlemmer af dit kundesupportteam.

Agenter vil være i stand til at se og besvare beskeder fra dine brugere. Listen viser alle agenter i øjeblikket på din konto.

Klik på Tilføj agent for at tilføje en ny agent. Agent du tilføjer, vil modtage en e-mail med et bekræftelseslink for at aktivere deres konto, hvorefter de kan få adgang til Chatwoot og svare på beskeder.

Adgang til Chatwoot's funktioner er baseret på følgende roller.

Agent - Agenter med denne rolle kan kun få adgang til indbakker, rapporter og samtaler. De kan tildele samtaler til andre agenter eller sig selv og løse samtaler.

Administrator - Administrator vil have adgang til alle Chatwoot-funktioner aktiveret for din konto, herunder indstillinger sammen med alle normale agenters privilegier.

", "AGENT_TYPES": { "ADMINISTRATOR": "Administrator", "AGENT": "Agent" }, "LIST": { - "404": "There are no agents associated to this account", - "TITLE": "Manage agents in your team", - "DESC": "You can add/remove agents to/in your team.", - "NAME": "Name", - "EMAIL": "EMAIL", + "404": "Der er ingen agenter tilknyttet denne konto", + "TITLE": "Administrer agenter i dit team", + "DESC": "Du kan tilføje/fjerne agenter til/fra dit team.", + "NAME": "Navn", + "EMAIL": "E-MAIL", "STATUS": "Status", - "ACTIONS": "Actions", - "VERIFIED": "Verified", - "VERIFICATION_PENDING": "Verification Pending" + "ACTIONS": "Handlinger", + "VERIFIED": "Verificeret", + "VERIFICATION_PENDING": "Verifikation Afventer" }, "ADD": { - "TITLE": "Add agent to your team", - "DESC": "You can add people who will be able to handle support for your inboxes.", - "CANCEL_BUTTON_TEXT": "Cancel", + "TITLE": "Tilføj agent til dit team", + "DESC": "Du kan tilføje personer, der vil være i stand til at håndtere support i dine indbakker.", + "CANCEL_BUTTON_TEXT": "Annuller", "FORM": { "NAME": { - "LABEL": "Agent Name", - "PLACEHOLDER": "Please enter a name of the agent" + "LABEL": "Agentens Navn", + "PLACEHOLDER": "Indtast et navn på agenten" }, "AGENT_TYPE": { - "LABEL": "Role", - "PLACEHOLDER": "Please select a role", - "ERROR": "Role is required" + "LABEL": "Rolle", + "PLACEHOLDER": "Vælg venligst en rolle", + "ERROR": "Rolle er påkrævet" }, "EMAIL": { - "LABEL": "Email Address", - "PLACEHOLDER": "Please enter an email address of the agent" + "LABEL": "E-Mail Adresse", + "PLACEHOLDER": "Indtast venligst en e-mail adresse på agenten" }, - "SUBMIT": "Add Agent" + "SUBMIT": "Tilføj Agent" }, "API": { - "SUCCESS_MESSAGE": "Agent added successfully", - "EXIST_MESSAGE": "Agent email already in use, Please try another email address", - "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" + "SUCCESS_MESSAGE": "Agenten blev tilføjet", + "EXIST_MESSAGE": "Agent e-mail allerede i brug, Prøv venligst en anden e-mail adresse", + "ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere" } }, "DELETE": { - "BUTTON_TEXT": "Delete", + "BUTTON_TEXT": "Slet", "API": { - "SUCCESS_MESSAGE": "Agent deleted successfully", - "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" + "SUCCESS_MESSAGE": "Agenten blev slettet", + "ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere" }, "CONFIRM": { - "TITLE": "Confirm Deletion", - "MESSAGE": "Are you sure to delete ", - "YES": "Yes, Delete ", - "NO": "No, Keep " + "TITLE": "Bekræft Sletning", + "MESSAGE": "Er du sikker på du vil slette ", + "YES": "Ja, Slet ", + "NO": "Nej, Behold " } }, "EDIT": { - "TITLE": "Edit agent", + "TITLE": "Rediger agent", "FORM": { "NAME": { - "LABEL": "Agent Name", - "PLACEHOLDER": "Please enter a name of the agent" + "LABEL": "Agentens Navn", + "PLACEHOLDER": "Indtast et navn på agenten" }, "AGENT_TYPE": { - "LABEL": "Role", - "PLACEHOLDER": "Please select a role", - "ERROR": "Role is required" + "LABEL": "Rolle", + "PLACEHOLDER": "Vælg venligst en rolle", + "ERROR": "Rolle er påkrævet" }, "EMAIL": { - "LABEL": "Email Address", - "PLACEHOLDER": "Please enter an email address of the agent" + "LABEL": "E-Mail Adresse", + "PLACEHOLDER": "Indtast venligst en e-mail adresse på agenten" }, - "SUBMIT": "Edit Agent" + "SUBMIT": "Rediger Agent" }, - "BUTTON_TEXT": "Edit", - "CANCEL_BUTTON_TEXT": "Cancel", + "BUTTON_TEXT": "Rediger", + "CANCEL_BUTTON_TEXT": "Annuller", "API": { - "SUCCESS_MESSAGE": "Agent updated successfully", - "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" + "SUCCESS_MESSAGE": "Agenten blev opdateret", + "ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere" }, "PASSWORD_RESET": { - "ADMIN_RESET_BUTTON": "Reset Password", - "ADMIN_SUCCESS_MESSAGE": "An email with reset password instructions has been sent to the agent", - "SUCCESS_MESSAGE": "Agent password reset successfully", - "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" + "ADMIN_RESET_BUTTON": "Nulstil Adgangskode", + "ADMIN_SUCCESS_MESSAGE": "En e-mail med nulstilling af adgangskodeinstruktioner er blevet sendt til agenten", + "SUCCESS_MESSAGE": "Agentens adgangskode nulstillet", + "ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere" } }, "SEARCH": { - "NO_RESULTS": "No agents found." + "NO_RESULTS": "Ingen agenter fundet." } } } diff --git a/app/javascript/dashboard/i18n/locale/da/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/da/cannedMgmt.json index bcab1dc6a..29bd0148a 100644 --- a/app/javascript/dashboard/i18n/locale/da/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/da/cannedMgmt.json @@ -1,75 +1,75 @@ { "CANNED_MGMT": { - "HEADER": "Canned Responses", - "HEADER_BTN_TXT": "Add Canned Response", - "LOADING": "Fetching Canned Responses", - "SEARCH_404": "There are no items matching this query", - "SIDEBAR_TXT": "

Canned Responses

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

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

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

", + "HEADER": "Standardsvar Svar", + "HEADER_BTN_TXT": "Tilføj Standardsvar", + "LOADING": "Henter Standardsvar", + "SEARCH_404": "Der er ingen elementer, der matcher denne forespørgsel", + "SIDEBAR_TXT": "

Standardsvar

Standardsvar er gemte svarskabeloner, som kan bruges til hurtigt at sende et svar på en samtale.

For at oprette et standardsvar, klik blot på Tilføj standardsvar. Du kan også redigere eller slette et eksisterende standardsvar ved at klikke på Rediger eller Slet knappen

Standardsvar bruges ved hjælp af Short Codes. Agenter kan tilgå standardsvar på en chat ved at skrive '/' efterfulgt af din short code

", "LIST": { - "404": "There are no canned responses available in this account.", - "TITLE": "Manage canned responses", - "DESC": "Canned Responses are predefined reply templates which can be used to quickly send out replies to tickets.", + "404": "Der er ingen tilgængelige standardsvar på denne konto.", + "TITLE": "Administrer standardsvar", + "DESC": "Standardsvar er foruddefinerede svarskabeloner, som kan bruges til hurtigt at sende svar på tickets.", "TABLE_HEADER": [ "Short Code", - "Content", - "Actions" + "Indhold", + "Handlinger" ] }, "ADD": { - "TITLE": "Add Canned Response", - "DESC": "Canned Responses are saved reply templates which can be used to quickly send out reply to conversation .", - "CANCEL_BUTTON_TEXT": "Cancel", + "TITLE": "Tilføj Standardsvar", + "DESC": "Standardsvar er gemte svarskabeloner, som kan bruges til hurtigt at sende svar til samtalen .", + "CANCEL_BUTTON_TEXT": "Annuller", "FORM": { "SHORT_CODE": { "LABEL": "Short Code", - "PLACEHOLDER": "Please enter a shortcode", - "ERROR": "Short Code is required" + "PLACEHOLDER": "Indtast venligst en shortcode", + "ERROR": "Short Code er påkrævet" }, "CONTENT": { - "LABEL": "Content", - "PLACEHOLDER": "Please enter a content", - "ERROR": "Content is required" + "LABEL": "Indhold", + "PLACEHOLDER": "Indtast venligst indhold", + "ERROR": "Indhold er påkrævet" }, - "SUBMIT": "Submit" + "SUBMIT": "Send" }, "API": { - "SUCCESS_MESSAGE": "Canned Response added successfully", - "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" + "SUCCESS_MESSAGE": "Standardsvar tilføjet", + "ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere" } }, "EDIT": { - "TITLE": "Edit Canned Response", - "CANCEL_BUTTON_TEXT": "Cancel", + "TITLE": "Rediger Standardsvar", + "CANCEL_BUTTON_TEXT": "Annuller", "FORM": { "SHORT_CODE": { "LABEL": "Short Code", - "PLACEHOLDER": "Please enter a shortcode", - "ERROR": "Short Code is required" + "PLACEHOLDER": "Indtast venligst en shortcode", + "ERROR": "Short Code er påkrævet" }, "CONTENT": { - "LABEL": "Content", - "PLACEHOLDER": "Please enter a content", - "ERROR": "Content is required" + "LABEL": "Indhold", + "PLACEHOLDER": "Indtast venligst indhold", + "ERROR": "Indhold er påkrævet" }, - "SUBMIT": "Submit" + "SUBMIT": "Send" }, - "BUTTON_TEXT": "Edit", + "BUTTON_TEXT": "Rediger", "API": { - "SUCCESS_MESSAGE": "Canned Response updated successfully", - "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" + "SUCCESS_MESSAGE": "Standardsvar opdateret", + "ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere" } }, "DELETE": { - "BUTTON_TEXT": "Delete", + "BUTTON_TEXT": "Slet", "API": { - "SUCCESS_MESSAGE": "Canned response deleted successfully", - "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" + "SUCCESS_MESSAGE": "Standardsvar slettet", + "ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere" }, "CONFIRM": { - "TITLE": "Confirm Deletion", - "MESSAGE": "Are you sure to delete ", - "YES": "Yes, Delete ", - "NO": "No, Keep " + "TITLE": "Bekræft Sletning", + "MESSAGE": "Er du sikker på du vil slette ", + "YES": "Ja, Slet ", + "NO": "Nej, Behold " } } } diff --git a/app/javascript/dashboard/i18n/locale/da/chatlist.json b/app/javascript/dashboard/i18n/locale/da/chatlist.json index a0b31427f..cee4cc55d 100644 --- a/app/javascript/dashboard/i18n/locale/da/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/da/chatlist.json @@ -1,22 +1,22 @@ { "CHAT_LIST": { - "LOADING": "Fetching conversations", - "LOAD_MORE_CONVERSATIONS": "Load more conversations", - "EOF": "All conversations loaded 🎉", + "LOADING": "Henter samtaler", + "LOAD_MORE_CONVERSATIONS": "Indlæs flere samtaler", + "EOF": "Alle samtaler indlæst 🎉", "LIST": { - "404": "There are no active conversations in this group." + "404": "Der er ingen aktive samtaler i denne gruppe." }, - "TAB_HEADING": "Conversations", + "TAB_HEADING": "Samtaler", "SEARCH": { - "INPUT": "Search for People, Chats, Saved Replies .." + "INPUT": "Søg efter Mennesker, Chats, Gemte svar .." }, "STATUS_TABS": [ { - "NAME": "Open", + "NAME": "Åbn", "KEY": "openCount" }, { - "NAME": "Resolved", + "NAME": "Løst", "KEY": "allConvCount" } ], @@ -27,23 +27,23 @@ "COUNT_KEY": "mineCount" }, { - "NAME": "Unassigned", + "NAME": "Ikke Tildelt", "KEY": "unassigned", "COUNT_KEY": "unAssignedCount" }, { - "NAME": "All", + "NAME": "Alle", "KEY": "all", "COUNT_KEY": "allCount" } ], "CHAT_STATUS_ITEMS": [ { - "TEXT": "Open", + "TEXT": "Åbn", "VALUE": "open" }, { - "TEXT": "Resolved", + "TEXT": "Løst", "VALUE": "resolved" }, { @@ -54,31 +54,31 @@ "ATTACHMENTS": { "image": { "ICON": "ion-image", - "CONTENT": "Picture message" + "CONTENT": "Billedbesked" }, "audio": { "ICON": "ion-volume-high", - "CONTENT": "Audio message" + "CONTENT": "Lydbesked" }, "video": { "ICON": "ion-ios-videocam", - "CONTENT": "Video message" + "CONTENT": "Video besked" }, "file": { "ICON": "ion-document", - "CONTENT": "File Attachment" + "CONTENT": "Fil Vedhæftning" }, "location": { "ICON": "ion-ios-location", - "CONTENT": "Location" + "CONTENT": "Lokation" }, "fallback": { "ICON": "ion-link", - "CONTENT": "has shared a url" + "CONTENT": "har delt en URL" } }, - "RECEIVED_VIA_EMAIL": "Received via email", - "VIEW_TWEET_IN_TWITTER": "View tweet in Twitter", - "REPLY_TO_TWEET": "Reply to this tweet" + "RECEIVED_VIA_EMAIL": "Modtaget via e-mail", + "VIEW_TWEET_IN_TWITTER": "Se tweet på Twitter", + "REPLY_TO_TWEET": "Svar på dette tweet" } } diff --git a/app/javascript/dashboard/i18n/locale/da/contact.json b/app/javascript/dashboard/i18n/locale/da/contact.json index 684a56ee5..4a2eb0bbf 100644 --- a/app/javascript/dashboard/i18n/locale/da/contact.json +++ b/app/javascript/dashboard/i18n/locale/da/contact.json @@ -1,113 +1,113 @@ { "CONTACT_PANEL": { - "NOT_AVAILABLE": "Not Available", - "EMAIL_ADDRESS": "Email Address", - "PHONE_NUMBER": "Phone number", - "COPY_SUCCESSFUL": "Copied to clipboard successfully", - "COMPANY": "Company", - "LOCATION": "Location", - "CONVERSATION_TITLE": "Conversation Details", + "NOT_AVAILABLE": "Ikke Tilgængelig", + "EMAIL_ADDRESS": "E-Mail Adresse", + "PHONE_NUMBER": "Telefonnummer", + "COPY_SUCCESSFUL": "Kopiering til udklipsholder lykkedes", + "COMPANY": "Virksomhed", + "LOCATION": "Lokation", + "CONVERSATION_TITLE": "Samtaledetaljer", "BROWSER": "Browser", - "OS": "Operating System", - "INITIATED_FROM": "Initiated from", - "INITIATED_AT": "Initiated at", + "OS": "Operativsystem", + "INITIATED_FROM": "Startet fra", + "INITIATED_AT": "Startet fra", "CONVERSATIONS": { - "NO_RECORDS_FOUND": "There are no previous conversations associated to this contact.", - "TITLE": "Previous Conversations" + "NO_RECORDS_FOUND": "Der er ingen tidligere samtaler tilknyttet denne kontakt.", + "TITLE": "Tidligere Samtaler" }, "CUSTOM_ATTRIBUTES": { - "TITLE": "Custom Attributes" + "TITLE": "Brugerdefinerede Egenskaber" }, "LABELS": { - "TITLE": "Conversation Labels", + "TITLE": "Samtale Etiketter", "MODAL": { - "TITLE": "Labels for", - "ACTIVE_LABELS": "Labels added to the conversation", - "INACTIVE_LABELS": "Labels available in the account", - "REMOVE": "Click on X icon to remove the label", - "ADD": "Click on + icon to add the label", - "UPDATE_BUTTON": "Update labels", - "UPDATE_ERROR": "Couldn't update labels, try again." + "TITLE": "Etiketter til", + "ACTIVE_LABELS": "Etiketter føjet til samtalen", + "INACTIVE_LABELS": "Etiketter tilgængelige på kontoen", + "REMOVE": "Klik på X-ikonet for at fjerne etiketten", + "ADD": "Klik på + ikonet for at tilføje etiketten", + "UPDATE_BUTTON": "Opdater etiketter", + "UPDATE_ERROR": "Etiketter kunne ikke opdateres. Prøv igen." }, - "NO_LABELS_TO_ADD": "There are no more labels defined in the account.", - "NO_AVAILABLE_LABELS": "There are no labels added to this conversation." + "NO_LABELS_TO_ADD": "Der er ikke defineret flere etiketter på kontoen.", + "NO_AVAILABLE_LABELS": "Der er ingen etiketter tilføjet til denne samtale." }, - "MUTE_CONTACT": "Mute Conversation", - "UNMUTE_CONTACT": "Unmute Conversation", - "MUTED_SUCCESS": "This conversation is muted for 6 hours", - "UNMUTED_SUCCESS": "This conversation is unmuted", - "SEND_TRANSCRIPT": "Send Transcript", - "EDIT_LABEL": "Edit" + "MUTE_CONTACT": "Gør Samtale Lydløs", + "UNMUTE_CONTACT": "Fjern Lydløs", + "MUTED_SUCCESS": "Denne samtale er gjort tavs i 6 timer", + "UNMUTED_SUCCESS": "Denne samtale er genaktiveret", + "SEND_TRANSCRIPT": "Send Udskrift", + "EDIT_LABEL": "Rediger" }, "EDIT_CONTACT": { - "BUTTON_LABEL": "Edit Contact", - "TITLE": "Edit contact", - "DESC": "Edit contact details", + "BUTTON_LABEL": "Rediger Kontakt", + "TITLE": "Rediger Kontakt", + "DESC": "Rediger kontaktoplysninger", "FORM": { - "SUBMIT": "Submit", - "CANCEL": "Cancel", + "SUBMIT": "Send", + "CANCEL": "Annuller", "AVATAR": { - "LABEL": "Contact Avatar" + "LABEL": "Kontakt Avatar" }, "NAME": { - "PLACEHOLDER": "Enter the full name of the contact", - "LABEL": "Full Name" + "PLACEHOLDER": "Indtast det fulde navn på kontaktpersonen", + "LABEL": "Fulde Navn" }, "BIO": { - "PLACEHOLDER": "Enter the bio of the contact", + "PLACEHOLDER": "Indtast kontaktens bio", "LABEL": "Bio" }, "EMAIL_ADDRESS": { - "PLACEHOLDER": "Enter the email address of the contact", - "LABEL": "Email Address" + "PLACEHOLDER": "Indtast e-mailadressen på kontaktpersonen", + "LABEL": "E-Mail Adresse" }, "PHONE_NUMBER": { - "PLACEHOLDER": "Enter the phone number of the contact", - "LABEL": "Phone Number" + "PLACEHOLDER": "Indtast telefonnummeret på kontaktpersonen", + "LABEL": "Telefonnummer" }, "LOCATION": { - "PLACEHOLDER": "Enter the location of the contact", - "LABEL": "Location" + "PLACEHOLDER": "Angiv placeringen af kontaktpersonen", + "LABEL": "Lokation" }, "COMPANY_NAME": { - "PLACEHOLDER": "Enter the company name", - "LABEL": "Company Name" + "PLACEHOLDER": "Indtast virksomhedens navn", + "LABEL": "Virksomhedens Navn" }, "SOCIAL_PROFILES": { "FACEBOOK": { - "PLACEHOLDER": "Enter the Facebook username", + "PLACEHOLDER": "Indtast Facebook brugernavn", "LABEL": "Facebook" }, "TWITTER": { - "PLACEHOLDER": "Enter the Twitter username", + "PLACEHOLDER": "Indtast brugernavn til Twitter", "LABEL": "Twitter" }, "LINKEDIN": { - "PLACEHOLDER": "Enter the LinkedIn username", + "PLACEHOLDER": "Indtast LinkedIn brugernavn", "LABEL": "LinkedIn" }, "GITHUB": { - "PLACEHOLDER": "Enter the Github username", + "PLACEHOLDER": "Indtast Github brugernavn", "LABEL": "Github" } } }, - "SUCCESS_MESSAGE": "Updated contact successfully", - "CONTACT_ALREADY_EXIST": "This email address is in use for another contact.", - "ERROR_MESSAGE": "There was an error updating the contact, please try again" + "SUCCESS_MESSAGE": "Kontakt opdateret", + "CONTACT_ALREADY_EXIST": "Denne e-mail adresse er i brug for en anden kontakt.", + "ERROR_MESSAGE": "Der opstod en fejl under opdatering af kontakten. Prøv igen" }, "CONTACTS_PAGE": { - "HEADER": "Contacts", - "SEARCH_BUTTON": "Search", - "SEARCH_INPUT_PLACEHOLDER": "Search for contacts", + "HEADER": "Kontakter", + "SEARCH_BUTTON": "Søg", + "SEARCH_INPUT_PLACEHOLDER": "Søg efter kontakter", "LIST": { - "LOADING_MESSAGE": "Loading contacts...", - "404": "No contacts matches your search 🔍", + "LOADING_MESSAGE": "Indlæser kontakter...", + "404": "Ingen kontakter matcher din søgning 🔍", "TABLE_HEADER": [ - "Name", - "Phone Number", - "Conversations", - "Last Contacted" + "Navn", + "Telefonnummer", + "Samtaler", + "Sidst Kontaktet" ] } } diff --git a/app/javascript/dashboard/i18n/locale/da/conversation.json b/app/javascript/dashboard/i18n/locale/da/conversation.json index d271c7895..d1ed5a52f 100644 --- a/app/javascript/dashboard/i18n/locale/da/conversation.json +++ b/app/javascript/dashboard/i18n/locale/da/conversation.json @@ -1,63 +1,63 @@ { "CONVERSATION": { - "404": "Please select a conversation from left pane", - "NO_MESSAGE_1": "Uh oh! Looks like there are no messages from customers in your inbox.", - "NO_MESSAGE_2": " to send a message to your page!", - "NO_INBOX_1": "Hola! Looks like you haven't added any inboxes yet.", - "NO_INBOX_2": " to get started", - "NO_INBOX_AGENT": "Uh Oh! Looks like you are not part of any inbox. Please contact your administrator", - "SEARCH_MESSAGES": "Search for messages in conversations", + "404": "Vælg venligst en samtale fra venstre rude", + "NO_MESSAGE_1": "Åh oh! Det ser ud til, at der ikke er nogen beskeder fra kunder i din indbakke.", + "NO_MESSAGE_2": " for at sende en besked til din side!", + "NO_INBOX_1": "Hola! Det ser ud til, at du endnu ikke har tilføjet indbakker.", + "NO_INBOX_2": " for at komme i gang", + "NO_INBOX_AGENT": "Åh Åh! Det ser ud til, at du ikke er en del af en indbakke. Kontakt venligst din administrator", + "SEARCH_MESSAGES": "Søg efter beskeder i samtaler", "SEARCH": { - "TITLE": "Search messages", - "LOADING_MESSAGE": "Crunching data...", - "PLACEHOLDER": "Type any text to search messages", - "NO_MATCHING_RESULTS": "There are no messages matching the search parameters." + "TITLE": "Søg efter beskeder", + "LOADING_MESSAGE": "Behandler data...", + "PLACEHOLDER": "Skriv tekst for at søge i beskeder", + "NO_MATCHING_RESULTS": "Der er ingen meddelelser, der matcher søgeparametrene." }, - "CLICK_HERE": "Click here", - "LOADING_INBOXES": "Loading inboxes", - "LOADING_CONVERSATIONS": "Loading Conversations", - "CANNOT_REPLY": "You cannot reply due to", - "24_HOURS_WINDOW": "24 hour message window restriction", - "LAST_INCOMING_TWEET": "You are replying to the last incoming tweet", - "REPLYING_TO": "You are replying to:", - "REMOVE_SELECTION": "Remove Selection", + "CLICK_HERE": "Klik her", + "LOADING_INBOXES": "Indlæser indbakker", + "LOADING_CONVERSATIONS": "Indlæser Samtaler", + "CANNOT_REPLY": "Du kan ikke svare på grund af", + "24_HOURS_WINDOW": "24 timers beskedvindue begrænsning", + "LAST_INCOMING_TWEET": "Du svarer på det sidste indgående tweet", + "REPLYING_TO": "Du svarer til:", + "REMOVE_SELECTION": "Fjern Markering", "DOWNLOAD": "Download", "HEADER": { - "RESOLVE_ACTION": "Resolve", - "REOPEN_ACTION": "Reopen", - "OPEN": "More", - "CLOSE": "Close", - "DETAILS": "details" + "RESOLVE_ACTION": "Løs", + "REOPEN_ACTION": "Genåben", + "OPEN": "Mere", + "CLOSE": "Luk", + "DETAILS": "detaljer" }, "FOOTER": { - "MSG_INPUT": "Shift + enter for new line. Start with '/' to select a Canned Response.", - "PRIVATE_MSG_INPUT": "Shift + enter for new line. This will be visible only to Agents" + "MSG_INPUT": "Shift + enter for ny linje. Start med '/' for at vælge et standardsvar.", + "PRIVATE_MSG_INPUT": "Shift + enter for ny linje. Dette vil kun være synligt for Agenter" }, "REPLYBOX": { - "REPLY": "Reply", - "PRIVATE_NOTE": "Private Note", + "REPLY": "Svar", + "PRIVATE_NOTE": "Privat Note", "SEND": "Send", - "CREATE": "Add Note", + "CREATE": "Tilføj Note", "TWEET": "Tweet" }, - "VISIBLE_TO_AGENTS": "Private Note: Only visible to you and your team", - "CHANGE_STATUS": "Conversation status changed", - "CHANGE_AGENT": "Conversation Assignee changed" + "VISIBLE_TO_AGENTS": "Privat Note: Kun synlig for dig og dit team", + "CHANGE_STATUS": "Samtalestatus ændret", + "CHANGE_AGENT": "Samtaleansvarlig ændret" }, "EMAIL_TRANSCRIPT": { - "TITLE": "Send conversation transcript", - "DESC": "Send a copy of the conversation transcript to the specified email address", - "SUBMIT": "Submit", - "CANCEL": "Cancel", - "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", - "SEND_EMAIL_ERROR": "There was an error, please try again", + "TITLE": "Send samtaleudskrift", + "DESC": "Send en kopi af samtaleudskriften til den angivne e-mailadresse", + "SUBMIT": "Send", + "CANCEL": "Annuller", + "SEND_EMAIL_SUCCESS": "Chatudskriften blev sendt med succes", + "SEND_EMAIL_ERROR": "Der opstod en fejl. Prøv venligst igen", "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", + "SEND_TO_CONTACT": "Send udskrift til kunden", + "SEND_TO_AGENT": "Send udskrift af den tildelte agent", + "SEND_TO_OTHER_EMAIL_ADDRESS": "Send udskriften til en anden e-mailadresse", "EMAIL": { - "PLACEHOLDER": "Enter an email address", - "ERROR": "Please enter a valid email address" + "PLACEHOLDER": "Indtast en e-mail adresse", + "ERROR": "Indtast venligst en gyldig e-mailadresse" } } } diff --git a/app/javascript/dashboard/i18n/locale/da/generalSettings.json b/app/javascript/dashboard/i18n/locale/da/generalSettings.json index 0a34afd8d..cc66c43f5 100644 --- a/app/javascript/dashboard/i18n/locale/da/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/da/generalSettings.json @@ -1,46 +1,46 @@ { "GENERAL_SETTINGS": { - "TITLE": "Account settings", - "SUBMIT": "Update settings", - "BACK": "Back", + "TITLE": "Kontoindstillinger", + "SUBMIT": "Opdater indstillinger", + "BACK": "Tilbage", "UPDATE": { - "ERROR": "Could not update settings, try again!", - "SUCCESS": "Successfully updated account settings" + "ERROR": "Kunne ikke opdatere indstillinger, prøv igen!", + "SUCCESS": "Kontoindstillinger blev opdateret" }, "FORM": { - "ERROR": "Please fix form errors", + "ERROR": "Ret venligst formularfejl", "GENERAL_SECTION": { - "TITLE": "General settings", + "TITLE": "Generelle indstillinger", "NOTE": "" }, "NAME": { - "LABEL": "Account name", - "PLACEHOLDER": "Your account name", - "ERROR": "Please enter a valid account name" + "LABEL": "Kontonavn", + "PLACEHOLDER": "Dit kontonavn", + "ERROR": "Angiv et gyldigt kontonavn" }, "LANGUAGE": { - "LABEL": "Site language (Beta)", - "PLACEHOLDER": "Your account name", + "LABEL": "Websted sprog (Beta)", + "PLACEHOLDER": "Dit kontonavn", "ERROR": "" }, "DOMAIN": { - "LABEL": "Incoming Email Domain", - "PLACEHOLDER": "The domain where you will receive the emails", + "LABEL": "Indkommende E-Mail Domæne", + "PLACEHOLDER": "Domænet, hvor du vil modtage e-mails", "ERROR": "" }, "SUPPORT_EMAIL": { - "LABEL": "Support Email", - "PLACEHOLDER": "Your company's support email", + "LABEL": "Support E-Mail", + "PLACEHOLDER": "Din virksomheds support e-mail", "ERROR": "" }, "AUTO_RESOLVE_DURATION": { - "LABEL": "Number of days after a ticket should auto resolve if there is no activity", + "LABEL": "Antal dage efter en ticket skal løses automatisk, hvis der ikke er nogen aktivitet", "PLACEHOLDER": "30", - "ERROR": "Please enter a valid auto resolve duration (minimum 1 day)" + "ERROR": "Angiv en gyldig varighed for automatisk løsning af sag (minimum 1 dag)" }, "FEATURES": { - "INBOUND_EMAIL_ENABLED": "Conversation continuity with emails is enabled for your account.", - "CUSTOM_EMAIL_DOMAIN_ENABLED": "You can receive emails in your custom domain now." + "INBOUND_EMAIL_ENABLED": "Samtale kontinuitet med e-mails er aktiveret for din konto.", + "CUSTOM_EMAIL_DOMAIN_ENABLED": "Du kan modtage e-mails på dit brugerdefinerede domæne nu." } } } diff --git a/app/javascript/dashboard/i18n/locale/da/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/da/inboxMgmt.json index be76d2e50..064b07b40 100644 --- a/app/javascript/dashboard/i18n/locale/da/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/da/inboxMgmt.json @@ -1,251 +1,251 @@ { "INBOX_MGMT": { - "HEADER": "Inboxes", - "SIDEBAR_TXT": "

Inbox

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

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

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

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

", + "HEADER": "Indbakker", + "SIDEBAR_TXT": "

Indbakke

Når du forbinder en hjemmeside eller en facebook side til Chatwoot, det kaldes en Indbakke. Du kan have ubegrænset indbakker på din Chatwoot-konto.

Klik på Tilføj indbakke for at forbinde en hjemmeside eller en Facebook-side.

I betjeningspanelet du kan se alle samtalerne fra alle dine indbakker på et enkelt sted og svare på dem under fanen 'Samtaler'.

Du kan også se samtaler, der er specifikke for en indbakke, ved at klikke på indbakkens navn i dashboardets venstre rude.

", "LIST": { - "404": "There are no inboxes attached to this account." + "404": "Der er ingen indbakker tilknyttet denne konto." }, "CREATE_FLOW": [ { - "title": "Choose Channel", + "title": "Vælg Kanal", "route": "settings_inbox_new", - "body": "Choose the provider you want to integrate with Chatwoot." + "body": "Vælg den udbyder, du vil integrere med Chatwoot." }, { - "title": "Create Inbox", + "title": "Opret Indbakke", "route": "settings_inboxes_page_channel", - "body": "Authenticate your account and create an inbox." + "body": "Autentificer din konto og opret en indbakke." }, { - "title": "Add Agents", + "title": "Tilføj Agenter", "route": "settings_inboxes_add_agents", - "body": "Add agents to the created inbox." + "body": "Tilføj agenter til den oprettede indbakke." }, { "title": "Voila!", "route": "settings_inbox_finish", - "body": "You are all set to go!" + "body": "Så er alt klart!" } ], "ADD": { "FB": { - "HELP": "PS: By signing in, we only get access to your Page's messages. Your private messages can never be accessed by Chatwoot.", - "CHOOSE_PAGE": "Choose Page", - "CHOOSE_PLACEHOLDER": "Select a page from the list", - "INBOX_NAME": "Inbox Name", - "ADD_NAME": "Add a name for your inbox", - "PICK_NAME": "Pick A Name Your Inbox", - "PICK_A_VALUE": "Pick a value" + "HELP": "PS: Ved at logge ind får vi kun adgang til din sides beskeder. Dine private beskeder kan aldrig tilgås af Chatwoot.", + "CHOOSE_PAGE": "Vælg Side", + "CHOOSE_PLACEHOLDER": "Vælg en side fra listen", + "INBOX_NAME": "Indbakke Navn", + "ADD_NAME": "Tilføj et navn til din indbakke", + "PICK_NAME": "Vælg et navn til din indbakke", + "PICK_A_VALUE": "Vælg en værdi" }, "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": "For at tilføje din Twitter-profil som en kanal, skal du godkende din Twitter-profil ved at klikke på 'Log ind med Twitter' " }, "WEBSITE_CHANNEL": { - "TITLE": "Website channel", - "DESC": "Create a channel for your website and start supporting your customers via our website widget.", - "LOADING_MESSAGE": "Creating Website Support Channel", + "TITLE": "Hjemmesidekanal", + "DESC": "Opret en kanal til din hjemmeside og begynde at supporte dine kunder via vores hjemmeside widget.", + "LOADING_MESSAGE": "Opretter Website Support Kanal", "CHANNEL_AVATAR": { - "LABEL": "Channel Avatar" + "LABEL": "Kanal Avatar" }, "CHANNEL_NAME": { - "LABEL": "Website Name", - "PLACEHOLDER": "Enter your website name (eg: Acme Inc)" + "LABEL": "Websted Navn", + "PLACEHOLDER": "Indtast dit websted navn (fx: Firma ApS)" }, "CHANNEL_DOMAIN": { - "LABEL": "Website Domain", - "PLACEHOLDER": "Enter your website domain (eg: acme.com)" + "LABEL": "Hjemmeside Domæne", + "PLACEHOLDER": "Indtast dit website domæne (fx: ditfirma.dk)" }, "CHANNEL_WELCOME_TITLE": { - "LABEL": "Welcome Heading", - "PLACEHOLDER": "Hi there !" + "LABEL": "Velkomstoverskrift", + "PLACEHOLDER": "Hejsa!" }, "CHANNEL_WELCOME_TAGLINE": { - "LABEL": "Welcome Tagline", - "PLACEHOLDER": "We make it simple to connect with us. Ask us anything, or share your feedback." + "LABEL": "Velkomst Tagline", + "PLACEHOLDER": "Vi gør det nemt at komme i kontakt med os. Spørg os om noget, eller del din feedback." }, "CHANNEL_GREETING_MESSAGE": { - "LABEL": "Channel greeting message", - "PLACEHOLDER": "Acme Inc typically replies in a few hours." + "LABEL": "Kanal start hilsen besked", + "PLACEHOLDER": "Dit firma ApS svarer typisk på et par timer." }, "CHANNEL_GREETING_TOGGLE": { - "LABEL": "Enable channel greeting", - "HELP_TEXT": "Send a greeting message to the user when he starts the conversation.", - "ENABLED": "Enabled", - "DISABLED": "Disabled" + "LABEL": "Aktivér kanal start hilsen", + "HELP_TEXT": "Send en hilsen til brugeren, når han starter samtalen.", + "ENABLED": "Aktiveret", + "DISABLED": "Deaktiveret" }, "REPLY_TIME": { - "TITLE": "Set Reply time", - "IN_A_FEW_MINUTES": "In a few minutes", - "IN_A_FEW_HOURS": "In a few hours", - "IN_A_DAY": "In a day", - "HELP_TEXT": "This reply time will be displayed on the live chat widget" + "TITLE": "Angiv svartid", + "IN_A_FEW_MINUTES": "På nogle få minutter", + "IN_A_FEW_HOURS": "Om et par timer", + "IN_A_DAY": "På en dag", + "HELP_TEXT": "Denne svartid vil blive vist på live chat widget" }, "WIDGET_COLOR": { - "LABEL": "Widget Color", - "PLACEHOLDER": "Update the widget color used in widget" + "LABEL": "Widget Farve", + "PLACEHOLDER": "Opdater widget farve der bruges i widget" }, - "SUBMIT_BUTTON": "Create inbox" + "SUBMIT_BUTTON": "Opret indbakke" }, "TWILIO": { - "TITLE": "Twilio SMS/Whatsapp Channel", - "DESC": "Integrate Twilio and start supporting your customers via SMS or Whatsapp.", + "TITLE": "Twilio SMS/Whatsapp Kanal", + "DESC": "Integrer Twilio og start med at supportere dine kunder via SMS eller Whatsapp.", "ACCOUNT_SID": { - "LABEL": "Account SID", - "PLACEHOLDER": "Please enter your Twilio Account SID", - "ERROR": "This field is required" + "LABEL": "Konto SID", + "PLACEHOLDER": "Indtast venligst din Twilio konto SID", + "ERROR": "Dette felt er påkrævet" }, "CHANNEL_TYPE": { - "LABEL": "Channel Type", - "ERROR": "Please select your Channel Type" + "LABEL": "Kanaltype", + "ERROR": "Vælg venligst din kanaltype" }, "AUTH_TOKEN": { "LABEL": "Auth Token", - "PLACEHOLDER": "Please enter your Twilio Auth Token", - "ERROR": "This field is required" + "PLACEHOLDER": "Indtast venligst din Twilio Auth Token", + "ERROR": "Dette felt er påkrævet" }, "CHANNEL_NAME": { - "LABEL": "Channel Name", - "PLACEHOLDER": "Please enter a channel name", - "ERROR": "This field is required" + "LABEL": "Kanalnavn", + "PLACEHOLDER": "Indtast et kanalnavn", + "ERROR": "Dette felt er påkrævet" }, "PHONE_NUMBER": { - "LABEL": "Phone number", - "PLACEHOLDER": "Please enter the phone number from which message will be sent.", - "ERROR": "Please enter a valid value. Phone number should start with `+` sign." + "LABEL": "Telefonnummer", + "PLACEHOLDER": "Indtast venligst det telefonnummer, hvorfra beskeden vil blive sendt.", + "ERROR": "Angiv en gyldig værdi. Telefonnummer skal starte med `+` tegn." }, "API_CALLBACK": { "TITLE": "Callback URL", - "SUBTITLE": "You have to configure the message callback URL in Twilio with the URL mentioned here." + "SUBTITLE": "Du er nødt til at konfigurere besked callback URL i Twilio med den URL, der er nævnt her." }, - "SUBMIT_BUTTON": "Create Twilio Channel", + "SUBMIT_BUTTON": "Opret Twilio Kanal", "API": { - "ERROR_MESSAGE": "We were not able to authenticate Twilio credentials, please try again" + "ERROR_MESSAGE": "Vi var ikke i stand til at godkende Twilio legitimationsoplysninger, prøv igen" } }, "API_CHANNEL": { - "TITLE": "API Channel", - "DESC": "Integrate with API channel and start supporting your customers.", + "TITLE": "API Kanal", + "DESC": "Integrer med API-kanal og begynd at supportere dine kunder.", "CHANNEL_NAME": { - "LABEL": "Channel Name", - "PLACEHOLDER": "Please enter a channel name", - "ERROR": "This field is required" + "LABEL": "Kanalnavn", + "PLACEHOLDER": "Indtast et kanalnavn", + "ERROR": "Dette felt er påkrævet" }, "WEBHOOK_URL": { "LABEL": "Webhook URL", - "SUBTITLE": "Configure the URL where you want to recieve callbacks on events.", + "SUBTITLE": "Indstil URL'en hvor du vil modtage callbacks på begivenheder.", "PLACEHOLDER": "Webhook URL" }, - "SUBMIT_BUTTON": "Create API Channel", + "SUBMIT_BUTTON": "Opret API-kanal", "API": { - "ERROR_MESSAGE": "We were not able to save the api channel" + "ERROR_MESSAGE": "Vi var ikke i stand til at gemme api kanalen" } }, "EMAIL_CHANNEL": { - "TITLE": "Email Channel", - "DESC": "Integrate you email inbox.", + "TITLE": "E-mail Kanal", + "DESC": "Integrer din e-mail indbakke.", "CHANNEL_NAME": { - "LABEL": "Channel Name", - "PLACEHOLDER": "Please enter a channel name", - "ERROR": "This field is required" + "LABEL": "Kanalnavn", + "PLACEHOLDER": "Indtast et kanalnavn", + "ERROR": "Dette felt er påkrævet" }, "EMAIL": { - "LABEL": "Email", - "SUBTITLE": "Email where your customers sends you support tickets", - "PLACEHOLDER": "Email" + "LABEL": "E-mail", + "SUBTITLE": "E-mail hvor dine kunder sender dig support tickets", + "PLACEHOLDER": "E-mail" }, - "SUBMIT_BUTTON": "Create Email Channel", + "SUBMIT_BUTTON": "Opret E-Mail Kanal", "API": { - "ERROR_MESSAGE": "We were not able to save the email channel" + "ERROR_MESSAGE": "Vi kunne ikke gemme e-mailkanalen" }, - "FINISH_MESSAGE": "Start forwarding your emails to the following email address." + "FINISH_MESSAGE": "Begynd at videresende dine e-mails til følgende e-mailadresse." }, "AUTH": { - "TITLE": "Channels", + "TITLE": "Kanaler", "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." }, "AGENTS": { - "TITLE": "Agents", - "DESC": "Here you can add agents to manage your newly created inbox. Only these selected agents will have access to your inbox. Agents which are not part of this inbox will not be able to see or respond to messages in this inbox when they login.
PS: As an administrator, if you need access to all inboxes, you should add yourself as agent to all inboxes that you create." + "TITLE": "Agenter", + "DESC": "Her kan du tilføje agenter til at håndtere din nyoprettede indbakke. Kun disse valgte agenter vil have adgang til din indbakke. Agenter som ikke er en del af denne indbakke, vil ikke kunne se eller reagere på beskeder i denne indbakke, når de logger ind.
PS: Som administrator, hvis du har brug for adgang til alle indbakker, bør du tilføje dig selv som agent til alle indbakker, du opretter." }, "DETAILS": { - "TITLE": "Inbox Details", - "DESC": "From the dropdown below, select the Facebook Page you want to connect to Chatwoot. You can also give a custom name to your inbox for better identification." + "TITLE": "Indbakke Detaljer", + "DESC": "Vælg den Facebook-side, du vil forbinde til Chatwoot, fra dropdown listen nedenfor. Du kan også give et brugerdefineret navn til din indbakke for bedre identifikation." }, "FINISH": { - "TITLE": "Nailed It!", - "DESC": "You have successfully finished integrating your Facebook Page with Chatwoot. Next time a customer messages your Page, the conversation will automatically appear on your inbox.
We are also providing you with a widget script that you can easily add to your website. Once this is live on your website, customers can message you right from your website without the help of any external tool and the conversation will appear right here, on Chatwoot.
Cool, huh? Well, we sure try to be :)" + "TITLE": "Du klarede det!", + "DESC": "Du er færdig med at integrere din Facebook-side med Chatwoot. Næste gang en kunde sender en meddelelse til din side, vil samtalen automatisk dukke op i din indbakke.
Vi giver dig også et widget script, som du nemt kan tilføje til din hjemmeside. Når dette er live på din hjemmeside, kan kunder sende dig en besked direkte fra din hjemmeside uden hjælp fra et eksternt værktøj, og samtalen vises lige her, på Chatwoot.
Cool, var? Nå ikke, vi forsøge at være :)" } }, "DETAILS": { - "LOADING_FB": "Authenticating you with Facebook...", - "ERROR_FB_AUTH": "Something went wrong, Please refresh page...", - "CREATING_CHANNEL": "Creating your Inbox...", - "TITLE": "Configure Inbox Details", + "LOADING_FB": "Autentificerer dig med Facebook...", + "ERROR_FB_AUTH": "Noget gik galt, Opdatér siden...", + "CREATING_CHANNEL": "Opretter din indbakke...", + "TITLE": "Indstil Indbakkedetaljer", "DESC": "" }, "AGENTS": { - "BUTTON_TEXT": "Add agents", - "ADD_AGENTS": "Adding Agents to your Inbox..." + "BUTTON_TEXT": "Tilføj agenter", + "ADD_AGENTS": "Tilføjer agenter til din indbakke..." }, "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." + "TITLE": "Din indbakke er klar!", + "MESSAGE": "Du kan nu engagere dig med dine kunder gennem din nye kanal. Glædelig supportering ", + "BUTTON_TEXT": "Tag mig med dertil", + "WEBSITE_SUCCESS": "Du er færdig med at oprette en hjemmeside kanal. Kopier koden vist nedenfor og indsæt den på din hjemmeside. Næste gang en kunde bruger live chat, vil samtalen automatisk vises i din indbakke." }, - "REAUTH": "Reauthorize", - "VIEW": "View", + "REAUTH": "Genautorisér", + "VIEW": "Vis", "EDIT": { "API": { - "SUCCESS_MESSAGE": "Inbox settings updated successfully", - "AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Auto assignment updated successfully", - "ERROR_MESSAGE": "Could not update widget color. Please try again later." + "SUCCESS_MESSAGE": "Indbakkeindstillinger opdateret", + "AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Automatisk tildeling opdateret", + "ERROR_MESSAGE": "Kunne ikke opdatere widget farve. Prøv igen senere." }, "AUTO_ASSIGNMENT": { - "ENABLED": "Enabled", - "DISABLED": "Disabled" + "ENABLED": "Aktiveret", + "DISABLED": "Deaktiveret" } }, "DELETE": { - "BUTTON_TEXT": "Delete", + "BUTTON_TEXT": "Slet", "CONFIRM": { - "TITLE": "Confirm Deletion", - "MESSAGE": "Are you sure to delete ", - "YES": "Yes, Delete ", - "NO": "No, Keep " + "TITLE": "Bekræft Sletning", + "MESSAGE": "Er du sikker på du vil slette ", + "YES": "Ja, Slet ", + "NO": "Nej, Behold " }, "API": { - "SUCCESS_MESSAGE": "Inbox deleted successfully", - "ERROR_MESSAGE": "Could not delete inbox. Please try again later." + "SUCCESS_MESSAGE": "Indbakken blev slettet", + "ERROR_MESSAGE": "Kunne ikke slette indbakken. Prøv igen senere." } }, "TABS": { - "SETTINGS": "Settings", - "COLLABORATORS": "Collaborators", - "CONFIGURATION": "Configuration" + "SETTINGS": "Indstillinger", + "COLLABORATORS": "Samarbejdspartnere", + "CONFIGURATION": "Konfiguration" }, - "SETTINGS": "Settings", + "SETTINGS": "Indstillinger", "FEATURES": { - "LABEL": "Features", - "DISPLAY_FILE_PICKER": "Display file picker on the widget", - "DISPLAY_EMOJI_PICKER": "Display emoji picker on the widget" + "LABEL": "Funktioner", + "DISPLAY_FILE_PICKER": "Vis filvælger på widget'en", + "DISPLAY_EMOJI_PICKER": "Vis emoji-vælger på widget'en" }, "SETTINGS_POPUP": { - "MESSENGER_HEADING": "Messenger Script", - "MESSENGER_SUB_HEAD": "Place this button inside your body tag", - "INBOX_AGENTS": "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." + "MESSENGER_HEADING": "Messenger- Script", + "MESSENGER_SUB_HEAD": "Placer denne knap inde i din body tag", + "INBOX_AGENTS": "Agenter", + "INBOX_AGENTS_SUB_TEXT": "Tilføj eller fjern agenter fra denne indbakke", + "UPDATE": "Opdater", + "AUTO_ASSIGNMENT": "Aktiver automatisk tildeling", + "INBOX_UPDATE_TITLE": "Indbakke Indstillinger", + "INBOX_UPDATE_SUB_TEXT": "Opdater dine indbakkeindstillinger", + "AUTO_ASSIGNMENT_SUB_TEXT": "Aktiver eller deaktiver automatisk tildeling af nye samtaler til agenter tilføjet til denne indbakke." }, "FACEBOOK_REAUTHORIZE": { - "TITLE": "Reauthorize", - "SUBTITLE": "Your Facebook connection has expired, please reconnect your Facebook page to continue services", - "MESSAGE_SUCCESS": "Reconnection successful", - "MESSAGE_ERROR": "There was an error, please try again" + "TITLE": "Genautorisér", + "SUBTITLE": "Din Facebook-forbindelse er udløbet, tilslut venligst din Facebook-side igen for at fortsætte tjenesterne", + "MESSAGE_SUCCESS": "Genoprettelse lykkedes", + "MESSAGE_ERROR": "Der opstod en fejl, prøv igen" } } } diff --git a/app/javascript/dashboard/i18n/locale/da/integrations.json b/app/javascript/dashboard/i18n/locale/da/integrations.json index 17952efd1..6b73dcd11 100644 --- a/app/javascript/dashboard/i18n/locale/da/integrations.json +++ b/app/javascript/dashboard/i18n/locale/da/integrations.json @@ -1,63 +1,63 @@ { "INTEGRATION_SETTINGS": { - "HEADER": "Integrations", + "HEADER": "Integrationer", "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": "There are no items matching this query", - "SIDEBAR_TXT": "

Webhooks

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

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

", + "CONFIGURE": "Konfigurer", + "HEADER": "Webhook indstillinger", + "HEADER_BTN_TXT": "Tilføj ny webhook", + "INTEGRATION_TXT": "Webhook begivenheder giver dig realtid oplysninger om, hvad der sker på din Chatwoot konto. Du kan gøre brug af webhooks til at kommunikere begivenhederne til dine foretrukne apps som Slack eller Github. Klik på Konfigurer for at opsætte dine webhooks.", + "LOADING": "Henter vedhæftede webhooks", + "SEARCH_404": "Der er ingen elementer, der matcher denne forespørgsel", + "SIDEBAR_TXT": "

Webhooks

Webhooks er HTTP tilbagekald som kan defineres for hver konto. De udløses af begivenheder som oprettelse af beskeder i Chatwoot. Du kan oprette mere end én webhook for denne konto.

For at oprette en webhook, klik på Tilføj ny webhook knappen. Du kan også fjerne enhver eksisterende webhook ved at klikke på Slet knappen.

", "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.", + "404": "Der er ingen webhooks konfigureret til denne konto.", + "TITLE": "Administrer webhooks", + "DESC": "Webhooks er foruddefinerede svar skabeloner, som kan bruges til hurtigt at sende svar på tickets.", "TABLE_HEADER": [ - "Webhook endpoint", - "Actions" + "Webhook endepunkt", + "Handlinger" ] }, "ADD": { - "CANCEL": "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.", + "CANCEL": "Annuller", + "TITLE": "Tilføj ny webhook", + "DESC": "Webhook-begivenheder giver dig realtidsoplysninger om, hvad der sker på din Chatwoot-konto. Angiv en gyldig URL for at konfigurere et callback.", "FORM": { "END_POINT": { "LABEL": "Webhook URL", - "PLACEHOLDER": "Example: https://example/api/webhook", - "ERROR": "Please enter a valid URL" + "PLACEHOLDER": "Eksempel: https://example/api/webhook", + "ERROR": "Angiv en gyldig URL" }, - "SUBMIT": "Create webhook" + "SUBMIT": "Opret webhook" }, "API": { - "SUCCESS_MESSAGE": "Webhook added successfully", - "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" + "SUCCESS_MESSAGE": "Webhook blev tilføjet", + "ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere" } }, "DELETE": { - "BUTTON_TEXT": "Delete", + "BUTTON_TEXT": "Slet", "API": { - "SUCCESS_MESSAGE": "Webhook deleted successfully", - "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" + "SUCCESS_MESSAGE": "Webhook blev slettet", + "ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere" }, "CONFIRM": { - "TITLE": "Confirm Deletion", - "MESSAGE": "Are you sure to delete ", - "YES": "Yes, Delete ", - "NO": "No, Keep it" + "TITLE": "Bekræft Sletning", + "MESSAGE": "Er du sikker på du vil slette ", + "YES": "Ja, Slet ", + "NO": "Nej, behold det" } } }, "DELETE": { - "BUTTON_TEXT": "Delete", + "BUTTON_TEXT": "Slet", "API": { - "SUCCESS_MESSAGE": "Integration deleted successfully" + "SUCCESS_MESSAGE": "Integrationen blev slettet" } }, "CONNECT": { - "BUTTON_TEXT": "Connect" + "BUTTON_TEXT": "Tilslut" } } } diff --git a/app/javascript/dashboard/i18n/locale/da/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/da/labelsMgmt.json index b0dbe439f..09869d094 100644 --- a/app/javascript/dashboard/i18n/locale/da/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/da/labelsMgmt.json @@ -1,67 +1,67 @@ { "LABEL_MGMT": { - "HEADER": "Labels", - "HEADER_BTN_TXT": "Add label", - "LOADING": "Fetching labels", - "SEARCH_404": "There are no items matching this query", - "SIDEBAR_TXT": "

Labels

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

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

", + "HEADER": "Etiketter", + "HEADER_BTN_TXT": "Tilføj etiket", + "LOADING": "Henter etiketter", + "SEARCH_404": "Der er ingen elementer, der matcher denne forespørgsel", + "SIDEBAR_TXT": "

Etiketter

Etiketter hjælper dig med at kategorisere samtaler og prioritere dem. Du kan tildele etiket til en samtale fra dit sidepanel.

Etiketter er bundet til kontoen og kan bruges til at oprette brugerdefinerede arbejdsgange i din organisation. Du kan tildele brugerdefineret farve til en etiket, det gør det lettere at identificere etiketten. Du vil være i stand til at vise etiketten på sidepanelet for nemt at filtrere samtalerne.

", "LIST": { - "404": "There are no labels available in this account.", - "TITLE": "Manage labels", - "DESC": "Labels let you group the conversations together.", + "404": "Der er ingen tilgængelige etiketter på denne konto.", + "TITLE": "Administrer etiketter", + "DESC": "Etiketter lader dig gruppere samtalerne sammen.", "TABLE_HEADER": [ - "Name", - "Description", - "Color" + "Navn", + "Beskrivelse", + "Farve" ] }, "FORM": { "NAME": { - "LABEL": "Label Name", - "PLACEHOLDER": "Label name", - "ERROR": "Label Name is required" + "LABEL": "Etiket Navn", + "PLACEHOLDER": "Etiket Navn", + "ERROR": "Etiketnavn er påkrævet" }, "DESCRIPTION": { - "LABEL": "Description", - "PLACEHOLDER": "Label Description" + "LABEL": "Beskrivelse", + "PLACEHOLDER": "Etiket Beskrivelse" }, "COLOR": { - "LABEL": "Color" + "LABEL": "Farve" }, "SHOW_ON_SIDEBAR": { - "LABEL": "Show label on sidebar" + "LABEL": "Vis etiket på sidepanelet" }, - "EDIT": "Edit", - "CREATE": "Create", - "DELETE": "Delete", - "CANCEL": "Cancel" + "EDIT": "Rediger", + "CREATE": "Opret", + "DELETE": "Slet", + "CANCEL": "Annuller" }, "ADD": { - "TITLE": "Add label", - "DESC": "Labels let you group the conversations together.", + "TITLE": "Tilføj etiket", + "DESC": "Etiketter lader dig gruppere samtalerne sammen.", "API": { - "SUCCESS_MESSAGE": "Label added successfully", - "ERROR_MESSAGE": "There was an error, please try again" + "SUCCESS_MESSAGE": "Etiket blev tilføjet", + "ERROR_MESSAGE": "Der opstod en fejl. Prøv venligst igen" } }, "EDIT": { - "TITLE": "Edit label", + "TITLE": "Rediger etiket", "API": { - "SUCCESS_MESSAGE": "Label updated successfully", - "ERROR_MESSAGE": "There was an error, please try again" + "SUCCESS_MESSAGE": "Etiket blev opdateret", + "ERROR_MESSAGE": "Der opstod en fejl. Prøv venligst igen" } }, "DELETE": { - "BUTTON_TEXT": "Delete", + "BUTTON_TEXT": "Slet", "API": { - "SUCCESS_MESSAGE": "Label deleted successfully", - "ERROR_MESSAGE": "There was an error, please try again" + "SUCCESS_MESSAGE": "Etiket blev slettet", + "ERROR_MESSAGE": "Der opstod en fejl. Prøv venligst igen" }, "CONFIRM": { - "TITLE": "Confirm Deletion", - "MESSAGE": "Are you sure to delete ", - "YES": "Yes, Delete ", - "NO": "No, Keep " + "TITLE": "Bekræft Sletning", + "MESSAGE": "Er du sikker på du vil slette ", + "YES": "Ja, Slet ", + "NO": "Nej, Behold " } } } diff --git a/app/javascript/dashboard/i18n/locale/da/login.json b/app/javascript/dashboard/i18n/locale/da/login.json index 30f667052..f4a2dbf11 100644 --- a/app/javascript/dashboard/i18n/locale/da/login.json +++ b/app/javascript/dashboard/i18n/locale/da/login.json @@ -1,21 +1,21 @@ { "LOGIN": { - "TITLE": "Login to Chatwoot", + "TITLE": "Log ind på Chatwoot", "EMAIL": { - "LABEL": "Email", - "PLACEHOLDER": "Email eg: someone@example.com" + "LABEL": "E-mail", + "PLACEHOLDER": "E-mail, fx: navn@eksempel.dk" }, "PASSWORD": { - "LABEL": "Password", - "PLACEHOLDER": "Password" + "LABEL": "Adgangskode", + "PLACEHOLDER": "Adgangskode" }, "API": { - "SUCCESS_MESSAGE": "Login Successful", - "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later", - "UNAUTH": "Username / Password Incorrect. Please try again" + "SUCCESS_MESSAGE": "Login Lykkedes", + "ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere", + "UNAUTH": "Brugernavn / adgangskode forkert. Prøv igen" }, - "FORGOT_PASSWORD": "Forgot your password?", - "CREATE_NEW_ACCOUNT": "Create new account", - "SUBMIT": "Login" + "FORGOT_PASSWORD": "Glemt din adgangskode?", + "CREATE_NEW_ACCOUNT": "Opret ny konto", + "SUBMIT": "Log Ind" } } diff --git a/app/javascript/dashboard/i18n/locale/da/report.json b/app/javascript/dashboard/i18n/locale/da/report.json index 8a4d53485..9fff95cb7 100644 --- a/app/javascript/dashboard/i18n/locale/da/report.json +++ b/app/javascript/dashboard/i18n/locale/da/report.json @@ -1,42 +1,42 @@ { "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.", + "HEADER": "Rapporter", + "LOADING_CHART": "Indlæser diagramdata...", + "NO_ENOUGH_DATA": "Vi har ikke modtaget nok datapunkter til at generere rapport. Prøv igen senere.", "METRICS": { "CONVERSATIONS": { - "NAME": "Conversations", + "NAME": "Samtaler", "DESC": "( Total )" }, "INCOMING_MESSAGES": { - "NAME": "Incoming Messages", + "NAME": "Indkommende Beskeder", "DESC": "( Total )" }, "OUTGOING_MESSAGES": { - "NAME": "Outgoing Messages", + "NAME": "Udgående beskeder", "DESC": "( Total )" }, "FIRST_RESPONSE_TIME": { - "NAME": "First response time", - "DESC": "( Avg )" + "NAME": "Første svartid", + "DESC": "( Gns. )" }, "RESOLUTION_TIME": { - "NAME": "Resolution Time", - "DESC": "( Avg )" + "NAME": "Løsnings Tid", + "DESC": "( Gns. )" }, "RESOLUTION_COUNT": { - "NAME": "Resolution Count", + "NAME": "Antal Afsluttede", "DESC": "( Total )" } }, "DATE_RANGE": [ { "id": 0, - "name": "Last 7 days" + "name": "Seneste 7 dage" }, { "id": 1, - "name": "Last 30 days" + "name": "Seneste 30 dage" } ] } diff --git a/app/javascript/dashboard/i18n/locale/da/resetPassword.json b/app/javascript/dashboard/i18n/locale/da/resetPassword.json index bb678e809..4fd200d7c 100644 --- a/app/javascript/dashboard/i18n/locale/da/resetPassword.json +++ b/app/javascript/dashboard/i18n/locale/da/resetPassword.json @@ -1,15 +1,15 @@ { "RESET_PASSWORD": { - "TITLE": "Reset Password", + "TITLE": "Nulstil Adgangskode", "EMAIL": { - "LABEL": "Email", - "PLACEHOLDER": "Please enter your email", - "ERROR": "Please enter a valid email" + "LABEL": "E-mail", + "PLACEHOLDER": "Indtast venligst din e-mail", + "ERROR": "Indtast venligst en gyldig e-mail" }, "API": { - "SUCCESS_MESSAGE": "Password reset link has been sent to your email", - "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" + "SUCCESS_MESSAGE": "Link til nulstilling af adgangskode er blevet sendt til din e-mail", + "ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere" }, - "SUBMIT": "Submit" + "SUBMIT": "Send" } } diff --git a/app/javascript/dashboard/i18n/locale/da/setNewPassword.json b/app/javascript/dashboard/i18n/locale/da/setNewPassword.json index 94a3fd2e1..2c170f823 100644 --- a/app/javascript/dashboard/i18n/locale/da/setNewPassword.json +++ b/app/javascript/dashboard/i18n/locale/da/setNewPassword.json @@ -1,20 +1,20 @@ { "SET_NEW_PASSWORD": { - "TITLE": "Set New Password", + "TITLE": "Angiv Ny Adgangskode", "PASSWORD": { - "LABEL": "Password", - "PLACEHOLDER": "Password", - "ERROR": "Password is too short" + "LABEL": "Adgangskode", + "PLACEHOLDER": "Adgangskode", + "ERROR": "Adgangskoden er for kort" }, "CONFIRM_PASSWORD": { - "LABEL": "Confirm Password", - "PLACEHOLDER": "Confirm Password", - "ERROR": "Passwords do not match" + "LABEL": "Bekræft Adgangskode", + "PLACEHOLDER": "Bekræft Adgangskode", + "ERROR": "Adgangskoder stemmer ikke overens" }, "API": { - "SUCCESS_MESSAGE": "Successfully changed the password", - "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" + "SUCCESS_MESSAGE": "Adgangskoden blev ændret", + "ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere" }, - "SUBMIT": "Submit" + "SUBMIT": "Send" } } diff --git a/app/javascript/dashboard/i18n/locale/da/settings.json b/app/javascript/dashboard/i18n/locale/da/settings.json index e943912f4..acf2dad20 100644 --- a/app/javascript/dashboard/i18n/locale/da/settings.json +++ b/app/javascript/dashboard/i18n/locale/da/settings.json @@ -1,142 +1,142 @@ { "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", + "LINK": "Profilindstillinger", + "TITLE": "Profilindstillinger", + "BTN_TEXT": "Opdater Profil", + "AFTER_EMAIL_CHANGED": "Din profil er blevet opdateret. Log venligst ind igen, da dine loginoplysninger er ændret", "FORM": { - "AVATAR": "Profile Image", - "ERROR": "Please fix form errors", - "REMOVE_IMAGE": "Remove", - "UPLOAD_IMAGE": "Upload image", - "UPDATE_IMAGE": "Update image", + "AVATAR": "Profilbillede", + "ERROR": "Ret venligst formularfejl", + "REMOVE_IMAGE": "Fjern", + "UPLOAD_IMAGE": "Upload billede", + "UPDATE_IMAGE": "Opdater billede", "PROFILE_SECTION": { - "TITLE": "Profile", - "NOTE": "Your email address is your identity and is used to log in." + "TITLE": "Profil", + "NOTE": "Din e-mailadresse er din identitet og bruges til at logge ind." }, "PASSWORD_SECTION": { - "TITLE": "Password", - "NOTE": "Updating your password would reset your logins in multiple devices." + "TITLE": "Adgangskode", + "NOTE": "Opdatering af din adgangskode vil nulstille dine logins på flere enheder." }, "ACCESS_TOKEN": { - "TITLE": "Access Token", - "NOTE": "This token can be used if you are building an API based integration" + "TITLE": "Adgangs Token", + "NOTE": "Denne token kan bruges, hvis du bygger en API-baseret 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", - "ASSIGNED_CONVERSATION_NEW_MESSAGE": "Send email notifications when a new message is created in an assigned conversation" + "TITLE": "E-Mail Notifikationer", + "NOTE": "Opdater dine e-mail notifikationspræferencer her", + "CONVERSATION_ASSIGNMENT": "Send e-mail notifikationer når en samtale er tildelt mig", + "CONVERSATION_CREATION": "Send e-mail notifikationer når en ny samtale er oprettet", + "ASSIGNED_CONVERSATION_NEW_MESSAGE": "Send e-mail notifikationer når en ny besked er oprettet i en tildelt samtale" }, "API": { - "UPDATE_SUCCESS": "Your notification preferences are updated successfully", - "UPDATE_ERROR": "There is an error while updating the preferences, please try again" + "UPDATE_SUCCESS": "Dine notifikationsindstillinger er opdateret", + "UPDATE_ERROR": "Der er en fejl under opdatering af indstillingerne, prøv venligst igen" }, "PUSH_NOTIFICATIONS_SECTION": { - "TITLE": "Push Notifications", - "NOTE": "Update your push notification preferences here", - "CONVERSATION_ASSIGNMENT": "Send push notifications when a conversation is assigned to me", - "CONVERSATION_CREATION": "Send push notifications when a new conversation is created", - "ASSIGNED_CONVERSATION_NEW_MESSAGE": "Send push notifications when a new message is created in an assigned conversation", - "HAS_ENABLED_PUSH": "You have enabled push for this browser.", - "REQUEST_PUSH": "Enable push notifications" + "TITLE": "Push Notifikationer", + "NOTE": "Opdater dine push-notifikationspræferencer her", + "CONVERSATION_ASSIGNMENT": "Send push-notifikationer, når en samtale er tildelt mig", + "CONVERSATION_CREATION": "Send push-notifikationer, når en ny samtale er oprettet", + "ASSIGNED_CONVERSATION_NEW_MESSAGE": "Send push-notifikationer, når en ny besked oprettes i en tildelt samtale", + "HAS_ENABLED_PUSH": "Du har aktiveret push for denne browser.", + "REQUEST_PUSH": "Aktivér push-notifikationer" }, "PROFILE_IMAGE": { - "LABEL": "Profile Image" + "LABEL": "Profilbillede" }, "NAME": { - "LABEL": "Your full name", - "ERROR": "Please enter a valid full name", - "PLACEHOLDER": "Please enter your full name" + "LABEL": "Dit fulde navn", + "ERROR": "Indtast et gyldigt fuldt navn", + "PLACEHOLDER": "Indtast venligst dit fulde navn" }, "DISPLAY_NAME": { - "LABEL": "Display name", - "ERROR": "Please enter a valid display name", - "PLACEHOLDER": "Please enter a display name, this would be displayed in conversations" + "LABEL": "Display navn", + "ERROR": "Angiv et gyldigt displaynavn", + "PLACEHOLDER": "Angiv venligst et displaynavn, dette vil blive vist i samtaler" }, "AVAILABILITY": { - "LABEL": "Availability", + "LABEL": "Tilgængelighed", "STATUSES_LIST": [ "Online", - "Busy", + "Optaget", "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" + "LABEL": "Din e-mail adresse", + "ERROR": "Indtast venligst en gyldig e-mailadresse", + "PLACEHOLDER": "Indtast venligst din e-mailadresse, dette vil blive vist i samtaler" }, "PASSWORD": { - "LABEL": "Password", - "ERROR": "Please enter a password of length 6 or more", - "PLACEHOLDER": "Please enter a new password" + "LABEL": "Adgangskode", + "ERROR": "Indtast en adgangskode med længde 6 eller flere", + "PLACEHOLDER": "Indtast venligst en ny adgangskode" }, "PASSWORD_CONFIRMATION": { - "LABEL": "Confirm new password", - "ERROR": "Confirm password should match the password", - "PLACEHOLDER": "Please re-enter your password" + "LABEL": "Bekræft ny adgangskode", + "ERROR": "Bekræftelses adgangskoden skal matche adgangskoden", + "PLACEHOLDER": "Indtast venligst din adgangskode igen" } } }, "SIDEBAR_ITEMS": { - "CHANGE_AVAILABILITY_STATUS": "Change", - "CHANGE_ACCOUNTS": "Switch Account", - "SELECTOR_SUBTITLE": "Select an account from the following list", - "PROFILE_SETTINGS": "Profile Settings", - "LOGOUT": "Logout" + "CHANGE_AVAILABILITY_STATUS": "Skift", + "CHANGE_ACCOUNTS": "Skift Konto", + "SELECTOR_SUBTITLE": "Vælg en konto fra følgende liste", + "PROFILE_SETTINGS": "Profilindstillinger", + "LOGOUT": "Log Ud" }, "APP_GLOBAL": { - "TRIAL_MESSAGE": "days trial remaining.", - "TRAIL_BUTTON": "Buy Now" + "TRIAL_MESSAGE": "dage prøveperiode tilbage.", + "TRAIL_BUTTON": "Køb Nu" }, "COMPONENTS": { "CODE": { - "BUTTON_TEXT": "Copy", - "COPY_SUCCESSFUL": "Code copied to clipboard successfully" + "BUTTON_TEXT": "Kopiér", + "COPY_SUCCESSFUL": "Kode kopieret til udklipsholder med succes" }, "FILE_BUBBLE": { "DOWNLOAD": "Download", - "UPLOADING": "Uploading..." + "UPLOADING": "Uploader..." }, "FORM_BUBBLE": { - "SUBMIT": "Submit" + "SUBMIT": "Send" } }, - "CONFIRM_EMAIL": "Verifying...", + "CONFIRM_EMAIL": "Verificerer...", "SETTINGS": { "INBOXES": { - "NEW_INBOX": "Add Inbox" + "NEW_INBOX": "Tilføj Indbakke" } }, "SIDEBAR": { - "CONVERSATIONS": "Conversations", - "REPORTS": "Reports", - "CONTACTS": "Contacts (Beta)", - "SETTINGS": "Settings", - "HOME": "Home", - "AGENTS": "Agents", - "INBOXES": "Inboxes", - "CANNED_RESPONSES": "Canned Responses", - "INTEGRATIONS": "Integrations", - "ACCOUNT_SETTINGS": "Account Settings", - "LABELS": "Labels" + "CONVERSATIONS": "Samtaler", + "REPORTS": "Rapporter", + "CONTACTS": "Kontakter (Beta)", + "SETTINGS": "Indstillinger", + "HOME": "Hjem", + "AGENTS": "Agenter", + "INBOXES": "Indbakker", + "CANNED_RESPONSES": "Standardsvar Svar", + "INTEGRATIONS": "Integrationer", + "ACCOUNT_SETTINGS": "Kontoindstillinger", + "LABELS": "Etiketter" }, "CREATE_ACCOUNT": { - "NEW_ACCOUNT": "New Account", - "SELECTOR_SUBTITLE": "Create a new account", + "NEW_ACCOUNT": "Ny Konto", + "SELECTOR_SUBTITLE": "Opret en ny konto", "API": { - "SUCCESS_MESSAGE": "Account created successfully", - "EXIST_MESSAGE": "Account already exists", - "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" + "SUCCESS_MESSAGE": "Konto oprettet med succes", + "EXIST_MESSAGE": "Konto findes allerede", + "ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere" }, "FORM": { "NAME": { - "LABEL": "Account Name", + "LABEL": "Kontonavn", "PLACEHOLDER": "Wayne Enterprises" }, - "SUBMIT": "Submit" + "SUBMIT": "Send" } } } diff --git a/app/javascript/dashboard/i18n/locale/da/signup.json b/app/javascript/dashboard/i18n/locale/da/signup.json index e52705224..46604e8d1 100644 --- a/app/javascript/dashboard/i18n/locale/da/signup.json +++ b/app/javascript/dashboard/i18n/locale/da/signup.json @@ -1,32 +1,32 @@ { "REGISTER": { - "TRY_WOOT": "Register an account", - "TITLE": "Register", - "TERMS_ACCEPT": "By signing up, you agree to our T & C and Privacy policy", + "TRY_WOOT": "Registrer en konto", + "TITLE": "Registrer", + "TERMS_ACCEPT": "Ved at tilmelde dig, accepterer du vores T & C og Privatlivspolitik", "ACCOUNT_NAME": { - "LABEL": "Account Name", + "LABEL": "Kontonavn", "PLACEHOLDER": "Wayne Enterprises", - "ERROR": "Account Name is too short" + "ERROR": "Kontonavn er for kort" }, "EMAIL": { - "LABEL": "Email", + "LABEL": "E-mail", "PLACEHOLDER": "bruce@wayne.enterprises", - "ERROR": "Email is invalid" + "ERROR": "E-mail er ugyldig" }, "PASSWORD": { - "LABEL": "Password", - "PLACEHOLDER": "Password", - "ERROR": "Password is too short" + "LABEL": "Adgangskode", + "PLACEHOLDER": "Adgangskode", + "ERROR": "Adgangskoden er for kort" }, "CONFIRM_PASSWORD": { - "LABEL": "Confirm Password", - "PLACEHOLDER": "Confirm Password", - "ERROR": "Password doesnot match" + "LABEL": "Bekræft Adgangskode", + "PLACEHOLDER": "Bekræft Adgangskode", + "ERROR": "Adgangskode stemmer ikke overens" }, "API": { - "SUCCESS_MESSAGE": "Registration Successfull", - "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" + "SUCCESS_MESSAGE": "Registrering Succesfuld", + "ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere" }, - "SUBMIT": "Submit" + "SUBMIT": "Send" } } diff --git a/app/javascript/dashboard/i18n/locale/da/webhooks.json b/app/javascript/dashboard/i18n/locale/da/webhooks.json index 347c96893..1c598c767 100644 --- a/app/javascript/dashboard/i18n/locale/da/webhooks.json +++ b/app/javascript/dashboard/i18n/locale/da/webhooks.json @@ -1,5 +1,5 @@ { "WEBHOOKS_SETTINGS": { - "HEADER": "Webhook Settings" + "HEADER": "Webhook Indstillinger" } } diff --git a/app/javascript/dashboard/i18n/locale/de/settings.json b/app/javascript/dashboard/i18n/locale/de/settings.json index cc0fffaf8..7c10c3bc9 100644 --- a/app/javascript/dashboard/i18n/locale/de/settings.json +++ b/app/javascript/dashboard/i18n/locale/de/settings.json @@ -58,18 +58,9 @@ "AVAILABILITY": { "LABEL": "Verfügbarkeit", "STATUSES_LIST": [ - { - "value": "online", - "label": "Online" - }, - { - "value": "beschäftigt", - "label": "Beschäftigt" - }, - { - "value": "offline", - "label": "Offline" - } + "Online", + "Beschäftigt", + "Offline" ] }, "EMAIL": { diff --git a/app/javascript/dashboard/i18n/locale/el/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/el/inboxMgmt.json index 8ba4d36e0..9dccea501 100644 --- a/app/javascript/dashboard/i18n/locale/el/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/el/inboxMgmt.json @@ -161,7 +161,7 @@ }, "AUTH": { "TITLE": "Κανάλια", - "DESC": "Επι του παρόντος υποστηρίζονται widgets για Ιστοσελίδες,και σελιδες Facebook, Προφίλ Twitter ως πλατφόρμες. Εχουμε ακόμη περισσότερες πλατφόρμες όπως Whatsapp, Email, Telegram and Line υπό ανάπτυξη, οι οποίες θα είναι διαθέσιμες σύντομα." + "DESC": "Επί του παρόντος υποστηρίζονται widgets για Ιστοσελίδες, και σελίδες Facebook, Προφίλ Twitter ως πλατφόρμες. Έχουμε ακόμη περισσότερες πλατφόρμες όπως Whatsapp, Email, Telegram and Line υπό ανάπτυξη, οι οποίες θα είναι διαθέσιμες σύντομα." }, "AGENTS": { "TITLE": "Πράκτορες", diff --git a/app/javascript/dashboard/i18n/locale/fa/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/fa/inboxMgmt.json index 586e1bd33..f71a7a3ae 100644 --- a/app/javascript/dashboard/i18n/locale/fa/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/fa/inboxMgmt.json @@ -161,7 +161,7 @@ }, "AUTH": { "TITLE": "کانال‌ها", - "DESC": "در حال حاضر ما ویجت‌های پشتیبانی آنلاین سایت‌ها، صفحات فیس بوک و پروفایل‌های توییتر را پشتیبانی می‌کنیم. پلتفرم‌های دیگری مثل واتساپ، ایمیل، تلگرام و لاین در برنامه کاری ما قرار دارد و به زودی آماده خواهند شد." + "DESC": "در حال حاضر ما ابزارک‌های پشتیبانی آنلاین سایت‌ها، صفحات فیس‌بوک و پروفایل‌های توییتر را پشتیبانی می‌کنیم. پلتفرم‌های دیگری مثل واتس‌اپ، ایمیل، تلگرام و لاین در برنامه کاری ما قرار دارد و به زودی آماده خواهند شد." }, "AGENTS": { "TITLE": "اپراتورها", diff --git a/app/javascript/dashboard/i18n/locale/fi/settings.json b/app/javascript/dashboard/i18n/locale/fi/settings.json index e943912f4..ead56b170 100644 --- a/app/javascript/dashboard/i18n/locale/fi/settings.json +++ b/app/javascript/dashboard/i18n/locale/fi/settings.json @@ -98,7 +98,7 @@ }, "FILE_BUBBLE": { "DOWNLOAD": "Download", - "UPLOADING": "Uploading..." + "UPLOADING": "Lähetetään..." }, "FORM_BUBBLE": { "SUBMIT": "Submit" diff --git a/app/javascript/dashboard/i18n/locale/nl/settings.json b/app/javascript/dashboard/i18n/locale/nl/settings.json index 791e27115..9e28bb8bf 100644 --- a/app/javascript/dashboard/i18n/locale/nl/settings.json +++ b/app/javascript/dashboard/i18n/locale/nl/settings.json @@ -59,7 +59,7 @@ "LABEL": "Availability", "STATUSES_LIST": [ "Online", - "Druk", + "Busy", "Offline" ] }, diff --git a/app/javascript/dashboard/i18n/locale/pl/settings.json b/app/javascript/dashboard/i18n/locale/pl/settings.json index ddfc196de..3c9da20bd 100644 --- a/app/javascript/dashboard/i18n/locale/pl/settings.json +++ b/app/javascript/dashboard/i18n/locale/pl/settings.json @@ -58,18 +58,9 @@ "AVAILABILITY": { "LABEL": "Availability", "STATUSES_LIST": [ - { - "value": "online", - "label": "Online" - }, - { - "value": "busy", - "label": "Busy" - }, - { - "value": "offline", - "label": "Offline" - } + "Online", + "Busy", + "Offline" ] }, "EMAIL": { diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/agentMgmt.json b/app/javascript/dashboard/i18n/locale/zh_CN/agentMgmt.json index 8b1116e4b..d39695127 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/agentMgmt.json @@ -1,17 +1,17 @@ { "AGENT_MGMT": { - "HEADER": "客服代理们", - "HEADER_BTN_TXT": "添加客服代理", - "LOADING": "正在获取客服代理列表", - "SIDEBAR_TXT": "

客服代理

客服代理 是您的客户支持团队成员。

客服 代理人将能够查看和回复您用户的消息。 列表显示当前帐户中的所有客服代理人。

点击 添加客服代理 添加新客服代理人。 您添加的客服代理将收到一封含有确认链接的电子邮件来激活他们的帐户,然后他们可以访问Chatwoot 并回复消息。

聊天窗口的功能基于以下角色。

Agent - 具有此角色的代理只能访问收件箱、报告和会话。 他们可以将对话分配给其他客服代理人或自己,并解决会话。

管理员 - 管理员将可以访问您账户中所有已启用的聊天功能。 包括设置,以及所有正常客服代理的权限。

", + "HEADER": "客服", + "HEADER_BTN_TXT": "添加客服", + "LOADING": "正在获取客服列表", + "SIDEBAR_TXT": "

客服

客服 是您的客户支持团队成员。

客服将能够查看和回复您用户的消息。 列表显示当前帐户中的所有客服代理人。

点击 添加客服 添加新客服。 您添加的客服将收到一封含有确认链接的电子邮件来激活他们的帐户,然后他们可以访问并回复消息。

聊天窗口的功能基于以下角色。

客服 - 此角色的代理只能访问收件箱、报告和会话。 他们可以将对话分配给其他客服或自己,并解决会话。

管理员 - 管理员将可以访问您账户中所有已启用的聊天功能。 包括设置,以及所有客服的权限。

", "AGENT_TYPES": { "ADMINISTRATOR": "管理员", - "AGENT": "客服代理" + "AGENT": "客服" }, "LIST": { - "404": "没有与此账户关联的代理", - "TITLE": "管理您团队中的代理", - "DESC": "您可以添加/移除代理到您的团队。", + "404": "此账号没有关联客服", + "TITLE": "管理您团队中的客服", + "DESC": "您可以添加/移除您团队中的客服。", "NAME": "姓名:", "EMAIL": "电子邮件", "STATUS": "状态", @@ -20,64 +20,64 @@ "VERIFICATION_PENDING": "待验证" }, "ADD": { - "TITLE": "添加代理到你的团队", + "TITLE": "添加客服至您的团队", "DESC": "您可以添加能够处理支持您的收件箱的人。", - "CANCEL_BUTTON_TEXT": "取消操作", + "CANCEL_BUTTON_TEXT": "取消", "FORM": { "NAME": { - "LABEL": "代理人姓名", - "PLACEHOLDER": "请输入代理人名称" + "LABEL": "客服名称", + "PLACEHOLDER": "请输入客服名称" }, "AGENT_TYPE": { - "LABEL": "代理类型", - "PLACEHOLDER": "请选择一个类型", - "ERROR": "代理类型必填" + "LABEL": "角色", + "PLACEHOLDER": "请选择一个角色", + "ERROR": "角色类型必填" }, "EMAIL": { "LABEL": "电子邮件地址", - "PLACEHOLDER": "请输入代理的邮箱地址" + "PLACEHOLDER": "请输入客服的邮箱地址" }, - "SUBMIT": "添加客服代理" + "SUBMIT": "添加客服" }, "API": { - "SUCCESS_MESSAGE": "代理添加成功", - "EXIST_MESSAGE": "该邮箱已被注册,请重新输入新的电子邮箱", + "SUCCESS_MESSAGE": "添加客服成功", + "EXIST_MESSAGE": "该邮箱已被注册,请输入新的电子邮箱", "ERROR_MESSAGE": "无法连接服务器,请稍后再试" } }, "DELETE": { "BUTTON_TEXT": "删除", "API": { - "SUCCESS_MESSAGE": "代理添加成功", + "SUCCESS_MESSAGE": "删除客服成功", "ERROR_MESSAGE": "无法连接服务器,请稍后再试" }, "CONFIRM": { "TITLE": "确认删除", "MESSAGE": "您确定要删除吗? ", - "YES": "是,删除 ", + "YES": "是的,删除 ", "NO": "不,保留 " } }, "EDIT": { - "TITLE": "编辑代理", + "TITLE": "编辑客服信息", "FORM": { "NAME": { - "LABEL": "代理人姓名", - "PLACEHOLDER": "请输入代理人名称" + "LABEL": "客服名称", + "PLACEHOLDER": "请输入客服名称" }, "AGENT_TYPE": { - "LABEL": "代理类型", - "PLACEHOLDER": "请选择一个类型", - "ERROR": "代理类型必填" + "LABEL": "角色", + "PLACEHOLDER": "请选择一个角色", + "ERROR": "角色必填" }, "EMAIL": { "LABEL": "电子邮件地址", - "PLACEHOLDER": "请输入代理的邮箱地址" + "PLACEHOLDER": "请输入客服的邮箱地址" }, - "SUBMIT": "编辑代理" + "SUBMIT": "编辑客服" }, "BUTTON_TEXT": "编辑", - "CANCEL_BUTTON_TEXT": "取消操作", + "CANCEL_BUTTON_TEXT": "取消", "API": { "SUCCESS_MESSAGE": "更新客服信息成功", "ERROR_MESSAGE": "无法连接服务器,请稍后再试" diff --git a/app/javascript/widget/i18n/locale/da.json b/app/javascript/widget/i18n/locale/da.json index e56a43a8a..c6e32834c 100644 --- a/app/javascript/widget/i18n/locale/da.json +++ b/app/javascript/widget/i18n/locale/da.json @@ -2,30 +2,30 @@ "COMPONENTS": { "FILE_BUBBLE": { "DOWNLOAD": "Download", - "UPLOADING": "Uploading..." + "UPLOADING": "Uploader..." }, "FORM_BUBBLE": { - "SUBMIT": "Submit" + "SUBMIT": "Send" } }, "TEAM_AVAILABILITY": { - "ONLINE": "We are online", - "OFFLINE": "We are offline" + "ONLINE": "Vi er online", + "OFFLINE": "Vi er offline" }, "REPLY_TIME": { - "IN_A_FEW_MINUTES": "Typically replies in a few minutes", - "IN_A_FEW_HOURS": "Typically replies in a few hours", - "IN_A_DAY": "Typically replies in a day" + "IN_A_FEW_MINUTES": "Svarer typisk på et par minutter", + "IN_A_FEW_HOURS": "Svarer typisk på et par timer", + "IN_A_DAY": "Svarer typisk på en dag" }, - "START_CONVERSATION": "Start Conversation", + "START_CONVERSATION": "Start Samtale", "UNREAD_VIEW": { - "VIEW_MESSAGES_BUTTON": "See new messages", - "CLOSE_MESSAGES_BUTTON": "Close" + "VIEW_MESSAGES_BUTTON": "Se nye beskeder", + "CLOSE_MESSAGES_BUTTON": "Luk" }, "BUBBLE": { - "LABEL": "Chat with us" + "LABEL": "Chat med os" }, - "POWERED_BY": "Powered by Chatwoot", - "EMAIL_PLACEHOLDER": "Please enter your email", - "CHAT_PLACEHOLDER": "Type your message" + "POWERED_BY": "Drevet af Chatwoot", + "EMAIL_PLACEHOLDER": "Indtast venligst din e-mail", + "CHAT_PLACEHOLDER": "Skriv din besked" } diff --git a/app/javascript/widget/i18n/locale/fi.json b/app/javascript/widget/i18n/locale/fi.json index e56a43a8a..bc1c2f491 100644 --- a/app/javascript/widget/i18n/locale/fi.json +++ b/app/javascript/widget/i18n/locale/fi.json @@ -1,31 +1,31 @@ { "COMPONENTS": { "FILE_BUBBLE": { - "DOWNLOAD": "Download", - "UPLOADING": "Uploading..." + "DOWNLOAD": "Lataa", + "UPLOADING": "Lähetetään..." }, "FORM_BUBBLE": { - "SUBMIT": "Submit" + "SUBMIT": "Lähetä" } }, "TEAM_AVAILABILITY": { - "ONLINE": "We are online", - "OFFLINE": "We are offline" + "ONLINE": "Olemme online-tilassa", + "OFFLINE": "Olemme offline-tilassa" }, "REPLY_TIME": { - "IN_A_FEW_MINUTES": "Typically replies in a few minutes", - "IN_A_FEW_HOURS": "Typically replies in a few hours", - "IN_A_DAY": "Typically replies in a day" + "IN_A_FEW_MINUTES": "Tyypillisesti vastaa muutamassa minuutissa", + "IN_A_FEW_HOURS": "Tyypillisesti vastaa muutaman tunnin kuluessa", + "IN_A_DAY": "Tyypillisesti vastaa päivässä" }, - "START_CONVERSATION": "Start Conversation", + "START_CONVERSATION": "Aloita Keskustelu", "UNREAD_VIEW": { - "VIEW_MESSAGES_BUTTON": "See new messages", - "CLOSE_MESSAGES_BUTTON": "Close" + "VIEW_MESSAGES_BUTTON": "Katso uudet viestit", + "CLOSE_MESSAGES_BUTTON": "Sulje" }, "BUBBLE": { - "LABEL": "Chat with us" + "LABEL": "Keskustele kanssamme" }, - "POWERED_BY": "Powered by Chatwoot", - "EMAIL_PLACEHOLDER": "Please enter your email", - "CHAT_PLACEHOLDER": "Type your message" + "POWERED_BY": "Palvelun tarjoaa Chatwoot", + "EMAIL_PLACEHOLDER": "Ole hyvä ja syötä sähköpostiosoitteesi", + "CHAT_PLACEHOLDER": "Kirjoita viestisi" } diff --git a/app/javascript/widget/i18n/locale/ru.json b/app/javascript/widget/i18n/locale/ru.json index 84ea91f37..6bd732ede 100644 --- a/app/javascript/widget/i18n/locale/ru.json +++ b/app/javascript/widget/i18n/locale/ru.json @@ -9,15 +9,15 @@ } }, "TEAM_AVAILABILITY": { - "ONLINE": "We are online", - "OFFLINE": "We are offline" + "ONLINE": "Мы онлайн", + "OFFLINE": "Мы оффлайн" }, "REPLY_TIME": { - "IN_A_FEW_MINUTES": "Typically replies in a few minutes", - "IN_A_FEW_HOURS": "Typically replies in a few hours", - "IN_A_DAY": "Typically replies in a day" + "IN_A_FEW_MINUTES": "Обычно отвечаем в течение нескольких минут", + "IN_A_FEW_HOURS": "Обычно отвечаем в течение нескольких часов", + "IN_A_DAY": "Обычно отвечаем в течение дня" }, - "START_CONVERSATION": "Start Conversation", + "START_CONVERSATION": "Начать диалог", "UNREAD_VIEW": { "VIEW_MESSAGES_BUTTON": "Посмотреть новые сообщения", "CLOSE_MESSAGES_BUTTON": "Закрыть" diff --git a/app/javascript/widget/i18n/locale/zh_CN.json b/app/javascript/widget/i18n/locale/zh_CN.json index c44bb9cbb..f9d346183 100644 --- a/app/javascript/widget/i18n/locale/zh_CN.json +++ b/app/javascript/widget/i18n/locale/zh_CN.json @@ -9,21 +9,21 @@ } }, "TEAM_AVAILABILITY": { - "ONLINE": "We are online", - "OFFLINE": "We are offline" + "ONLINE": "在线", + "OFFLINE": "离线" }, "REPLY_TIME": { - "IN_A_FEW_MINUTES": "Typically replies in a few minutes", - "IN_A_FEW_HOURS": "Typically replies in a few hours", - "IN_A_DAY": "Typically replies in a day" + "IN_A_FEW_MINUTES": "通常在几分钟内回复您", + "IN_A_FEW_HOURS": "通常在几小时内回复您", + "IN_A_DAY": "通常在一天之内回复您" }, - "START_CONVERSATION": "Start Conversation", + "START_CONVERSATION": "开始会话", "UNREAD_VIEW": { "VIEW_MESSAGES_BUTTON": "查看新消息", "CLOSE_MESSAGES_BUTTON": "关闭" }, "BUBBLE": { - "LABEL": "Chat with us" + "LABEL": "联系我们" }, "POWERED_BY": "由 Chatwoot 支持", "EMAIL_PLACEHOLDER": "请输入您的电子邮件", diff --git a/config/initializers/languages.rb b/config/initializers/languages.rb index 1b0e32662..05a492d17 100644 --- a/config/initializers/languages.rb +++ b/config/initializers/languages.rb @@ -23,7 +23,8 @@ LANGUAGES_CONFIG = { 18 => { name: 'தமிழ் (ta)', iso_639_3_code: 'tam', iso_639_1_code: 'ta', enabled: true }, 19 => { name: 'فارسی (fa)', iso_639_3_code: 'fas', iso_639_1_code: 'fa', enabled: true }, 20 => { name: '中文 (台湾) (zh-TW)', iso_639_3_code: 'zho', iso_639_1_code: 'zh_TW', enabled: true }, - 21 => { name: 'Tiếng Việt (vi)', iso_639_3_code: 'vie', iso_639_1_code: 'vi', enabled: true } + 21 => { name: 'Tiếng Việt (vi)', iso_639_3_code: 'vie', iso_639_1_code: 'vi', enabled: true }, + 22 => { name: 'dansk (da)', iso_639_3_code: 'dan', iso_639_1_code: 'da', enabled: true } }.filter { |_key, val| val[:enabled] }.freeze Rails.configuration.i18n.available_locales = LANGUAGES_CONFIG.map { |_index, lang| lang[:iso_639_1_code].to_sym } diff --git a/config/locales/da.yml b/config/locales/da.yml index 0b1d69118..4eb8e145a 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -17,35 +17,35 @@ #To learn more, please read the Rails Internationalization guide #available at https://guides.rubyonrails.org/i18n.html. da: - hello: "Hello world" + hello: "Hej verden" messages: - reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. - reset_password_failure: Uh ho! We could not find any user with the specified email. + reset_password_success: Woot! Anmodning om nulstilling af adgangskode er vellykket. Tjek din mail for instruktioner. + reset_password_failure: Åh nej! Vi kunne ikke finde nogen bruger med den angivne e-mail. errors: signup: - disposable_email: We do not allow disposable emails - invalid_email: You have entered an invalid email - email_already_exists: "You have already signed up for an account with %{email}" - failed: Signup failed + disposable_email: Vi tillader ikke engangs e-mails + invalid_email: Du har indtastet en ugyldig e-mail + email_already_exists: "Du har allerede tilmeldt dig en konto med %{email}" + failed: Tilmelding mislykkedes conversations: activity: status: - resolved: "Conversation was marked resolved by %{user_name}" - open: "Conversation was reopened by %{user_name}" - auto_resolved: "Conversation was marked resolved by system due to %{duration} days of inactivity" + resolved: "Samtalen blev markeret som løst af %{user_name}" + open: "Samtalen blev genåbnet af %{user_name}" + auto_resolved: "Samtalen blev markeret som løst af systemet på grund af %{duration} dages inaktivitet" assignee: - self_assigned: "%{user_name} self-assigned this conversation" - assigned: "Assigned to %{assignee_name} by %{user_name}" - removed: "Conversation unassigned by %{user_name}" + self_assigned: "%{user_name} selv-tildelte denne samtale" + assigned: "Tildelt %{assignee_name} af %{user_name}" + removed: "Samtale fjernet tildeling af %{user_name}" labels: - added: "%{user_name} added %{labels}" - removed: "%{user_name} removed %{labels}" - muted: "%{user_name} has muted the conversation" - unmuted: "%{user_name} has unmuted the conversation" + added: "%{user_name} tilføjede %{labels}" + removed: "%{user_name} fjernede %{labels}" + muted: "%{user_name} har slukket for samtalen" + unmuted: "%{user_name} har genaktiveret samtalen" templates: - greeting_message_body: "%{account_name} typically replies in a few hours." - ways_to_reach_you_message_body: "Give the team a way to reach you." - email_input_box_message_body: "Get notified by email" + greeting_message_body: "%{account_name} svarer typisk på et par timer." + ways_to_reach_you_message_body: "Giv teamet en måde at kontakte dig på." + email_input_box_message_body: "Få besked via e-mail" reply: - email_subject: "New messages on this conversation" - transcript_subject: "Conversation Transcript" + email_subject: "Nye beskeder i denne samtale" + transcript_subject: "Samtaleudskrift" diff --git a/config/locales/devise.da.yml b/config/locales/devise.da.yml index fe5fb7196..dfa9a8613 100644 --- a/config/locales/devise.da.yml +++ b/config/locales/devise.da.yml @@ -2,60 +2,60 @@ da: devise: confirmations: - confirmed: "Your email address has been successfully confirmed." - send_instructions: "You will receive an email with instructions for how to confirm your email address in a few minutes." - send_paranoid_instructions: "If your email address exists in our database, you will receive an email with instructions for how to confirm your email address in a few minutes." + confirmed: "Din e-mailadresse er blevet bekræftet." + send_instructions: "Du vil modtage en e-mail med instruktioner til, hvordan du bekræfter din e-mail-adresse om et par minutter." + send_paranoid_instructions: "Hvis din e-mailadresse findes i vores database, du vil modtage en e-mail med instruktioner til, hvordan du bekræfter din e-mail-adresse om et par minutter." failure: - already_authenticated: "You are already signed in." - inactive: "Your account is not activated yet." - invalid: "Invalid %{authentication_keys}/password or account is not verified yet." - locked: "Your account is locked." - last_attempt: "You have one more attempt before your account is locked." - not_found_in_database: "Invalid %{authentication_keys} or password." - timeout: "Your session expired. Please sign in again to continue." - unauthenticated: "You need to sign in or sign up before continuing." - unconfirmed: "You have to confirm your email address before continuing." + already_authenticated: "Du er allerede logget ind." + inactive: "Din konto er ikke aktiveret endnu." + invalid: "Ugyldig %{authentication_keys}/password eller konto er ikke bekræftet endnu." + locked: "Din konto er låst." + last_attempt: "Du har et forsøg mere, før din konto er låst." + not_found_in_database: "Ugyldig %{authentication_keys} eller adgangskode." + timeout: "Din session er udløbet. Log ind igen for at fortsætte." + unauthenticated: "Du skal logge ind eller tilmelde dig, før du fortsætter." + unconfirmed: "Du skal bekræfte din e-mailadresse, før du fortsætter." mailer: confirmation_instructions: - subject: "Confirmation Instructions" + subject: "Bekræftelsesinstruktioner" reset_password_instructions: - subject: "Reset password instructions" + subject: "Nulstil adgangskodeinstruktioner" unlock_instructions: - subject: "Unlock instructions" + subject: "Lås instruktioner op" password_change: - subject: "Password Changed" + subject: "Adgangskode Ændret" omniauth_callbacks: - failure: "Could not authenticate you from %{kind} because \"%{reason}\"." - success: "Successfully authenticated from %{kind} account." + failure: "Kunne ikke godkende dig fra %{kind} fordi \"%{reason}\"." + success: "Godkendt fra %{kind} -kontoen." passwords: - no_token: "You can't access this page without coming from a password reset email. If you do come from a password reset email, please make sure you used the full URL provided." - send_instructions: "You will receive an email with instructions on how to reset your password in a few minutes." - send_paranoid_instructions: "If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes." - updated: "Your password has been changed successfully. You are now signed in." - updated_not_active: "Your password has been changed successfully." + no_token: "Du kan ikke få adgang til denne side uden at komme fra en e-mailen til nulstilling af adgangskoden. Hvis du kommer fra en e-mail til nulstilling af adgangskoden, skal du sørge for at bruge den fulde URL, der er angivet." + send_instructions: "Du vil om få minutter modtage en e-mail med instruktioner om, hvordan du nulstiller din adgangskode." + send_paranoid_instructions: "Hvis din e-mailadresse findes i vores database, vil du om få minutter modtage et link til genoprettelse af adgangskoden på din e-mailadresse." + updated: "Din adgangskode er blevet ændret. Du er nu logget ind." + updated_not_active: "Din adgangskode er blevet ændret." registrations: - destroyed: "Bye! Your account has been successfully cancelled. We hope to see you again soon." - signed_up: "Welcome! You have signed up successfully." - signed_up_but_inactive: "You have signed up successfully. However, we could not sign you in because your account is not yet activated." - signed_up_but_locked: "You have signed up successfully. However, we could not sign you in because your account is locked." - signed_up_but_unconfirmed: "A message with a confirmation link has been sent to your email address. Please follow the link to activate your account." - update_needs_confirmation: "You updated your account successfully, but we need to verify your new email address. Please check your email and follow the confirm link to confirm your new email address." - updated: "Your account has been updated successfully." + destroyed: "Farvel! Din konto er blevet annulleret. Vi håber snart at se dig igen." + signed_up: "Velkommen! Du er nu tilmeldt." + signed_up_but_inactive: "Du har tilmeldt dig. Vi kunne dog ikke logge dig på, fordi din konto endnu ikke er aktiveret." + signed_up_but_locked: "Du har tilmeldt dig. Vi kunne dog ikke logge dig ind, fordi din konto er låst." + signed_up_but_unconfirmed: "En besked med et bekræftelseslink er blevet sendt til din e-mailadresse. Følg linket for at aktivere din konto." + update_needs_confirmation: "Din konto er opdateret, men vi er nødt til at bekræfte din nye e-mailadresse. Tjek venligst din e-mail og følg linket for at bekræfte din nye e-mailadresse." + updated: "Din konto er blevet opdateret." sessions: - signed_in: "Signed in successfully." - signed_out: "Signed out successfully." - already_signed_out: "Signed out successfully." + signed_in: "Logget ind." + signed_out: "Logget ud." + already_signed_out: "Logget ud." unlocks: - send_instructions: "You will receive an email with instructions for how to unlock your account in a few minutes." - send_paranoid_instructions: "If your account exists, you will receive an email with instructions for how to unlock it in a few minutes." - unlocked: "Your account has been unlocked successfully. Please sign in to continue." + send_instructions: "Du vil modtage en e-mail med instruktioner til, hvordan du låser din konto op om et par minutter." + send_paranoid_instructions: "Hvis din konto findes, vil du modtage en e-mail med instruktioner til, hvordan du låser den op om et par minutter." + unlocked: "Din konto er blevet låst op. Log venligst ind for at fortsætte." errors: messages: - already_confirmed: "was already confirmed, please try signing in" - confirmation_period_expired: "needs to be confirmed within %{period}, please request a new one" - expired: "has expired, please request a new one" - not_found: "not found" - not_locked: "was not locked" + already_confirmed: "var allerede bekræftet, prøv venligst at logge ind" + confirmation_period_expired: "skal bekræftes inden for %{period}, anmod venligst om en ny" + expired: "er udløbet, anmod venligst om en ny" + not_found: "ikke fundet" + not_locked: "var ikke låst" not_saved: - one: "1 error prohibited this %{resource} from being saved:" - other: "%{count} errors prohibited this %{resource} from being saved:" + one: "1 fejl forhindrede denne %{resource} i at blive gemt:" + other: "%{count} fejl forhindrede denne %{resource} i at blive gemt:" diff --git a/config/locales/devise.zh_TW.yml b/config/locales/devise.zh_TW.yml index d31370d3b..f892bf796 100644 --- a/config/locales/devise.zh_TW.yml +++ b/config/locales/devise.zh_TW.yml @@ -1,4 +1,4 @@ -# Additional translations at https://github.com/plataformatec/devise/wiki/I18n +#Additional translations at https://github.com/plataformatec/devise/wiki/I18n zh_TW: devise: confirmations: diff --git a/config/locales/fi.yml b/config/locales/fi.yml index 584d961fd..8eed04b1f 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -48,4 +48,4 @@ fi: email_input_box_message_body: "Get notified by email" reply: email_subject: "New messages on this conversation" - transcript_subject: "Conversation Transcript" + transcript_subject: "Keskustelukopio" From 34c1091d55217d4faeb97d308b96a18014638aab Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 25 Nov 2020 12:50:34 +0530 Subject: [PATCH 10/42] chore: Bump highlight.js from 9.18.1 to 9.18.5 (#1453) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Pranav Raj Sreepuram --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index caae6fd58..7f9d268e2 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "date-fns": "^2.16.1", "dotenv": "^8.0.0", "foundation-sites": "~6.5.3", - "highlight.js": "^9.15.10", + "highlight.js": "~9.18.5", "ionicons": "~2.0.1", "js-cookie": "^2.2.1", "lodash.groupby": "^4.6.0", diff --git a/yarn.lock b/yarn.lock index 6a816b2ed..ae8ca5db4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5228,10 +5228,10 @@ hex-color-regex@^1.1.0: resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== -highlight.js@^9.15.10: - version "9.18.1" - resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.18.1.tgz#ed21aa001fe6252bb10a3d76d47573c6539fe13c" - integrity sha512-OrVKYz70LHsnCgmbXctv/bfuvntIKDz177h0Co37DQ5jamGZLVmoCVMtjMtNZY3X9DrCcKfklHPNeA0uPZhSJg== +highlight.js@~9.18.5: + version "9.18.5" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.18.5.tgz#d18a359867f378c138d6819edfc2a8acd5f29825" + integrity sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA== hmac-drbg@^1.0.0: version "1.0.1" From cb2a528be665dee6f98f1e6e373641cb8a844898 Mon Sep 17 00:00:00 2001 From: Vishal Pandey Date: Wed, 25 Nov 2020 12:52:39 +0530 Subject: [PATCH 11/42] fix: Label overflow using text-truncate (#1448) --- .../dashboard/assets/scss/widgets/_conversation-view.scss | 1 - app/javascript/dashboard/components/ChatList.vue | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/app/javascript/dashboard/assets/scss/widgets/_conversation-view.scss b/app/javascript/dashboard/assets/scss/widgets/_conversation-view.scss index ae89fe9a2..1514248f3 100644 --- a/app/javascript/dashboard/assets/scss/widgets/_conversation-view.scss +++ b/app/javascript/dashboard/assets/scss/widgets/_conversation-view.scss @@ -78,7 +78,6 @@ justify-content: space-between; .page-title { - @include flex; margin-bottom: $zero; margin-left: $space-normal; } diff --git a/app/javascript/dashboard/components/ChatList.vue b/app/javascript/dashboard/components/ChatList.vue index 27f89b550..06850ff38 100644 --- a/app/javascript/dashboard/components/ChatList.vue +++ b/app/javascript/dashboard/components/ChatList.vue @@ -2,7 +2,7 @@
-

+

{{ pageTitle }}

From a988724c91d01de4d72726217b2d1c53d9b7902f Mon Sep 17 00:00:00 2001 From: Sojan Jose Date: Wed, 25 Nov 2020 13:59:38 +0530 Subject: [PATCH 12/42] feat: Authenticate by SSO tokens (#1439) Co-authored-by: Pranav Raj Sreepuram --- app/builders/account_builder.rb | 3 +- .../devise_overrides/sessions_controller.rb | 30 ++++++++++++++++++ .../dashboard/routes/login/Login.vue | 25 ++++++++++++--- .../dashboard/routes/login/login.routes.js | 6 ++++ app/models/concerns/sso_authenticatable.rb | 23 ++++++++++++++ app/models/conversation.rb | 4 +-- app/models/user.rb | 1 + lib/redis/redis_keys.rb | 11 +++++++ .../devise/session_controller_spec.rb | 31 +++++++++++++++++++ spec/models/user_spec.rb | 21 +++++++++++++ 10 files changed, 147 insertions(+), 8 deletions(-) create mode 100644 app/models/concerns/sso_authenticatable.rb diff --git a/app/builders/account_builder.rb b/app/builders/account_builder.rb index 85a391c62..3d81a8e68 100644 --- a/app/builders/account_builder.rb +++ b/app/builders/account_builder.rb @@ -67,7 +67,8 @@ class AccountBuilder end def create_user - password = Time.now.to_i + password = SecureRandom.alphanumeric(12) + @user = User.new(email: @email, password: password, password_confirmation: password, diff --git a/app/controllers/devise_overrides/sessions_controller.rb b/app/controllers/devise_overrides/sessions_controller.rb index 9ebb3b435..289684f17 100644 --- a/app/controllers/devise_overrides/sessions_controller.rb +++ b/app/controllers/devise_overrides/sessions_controller.rb @@ -2,8 +2,38 @@ class DeviseOverrides::SessionsController < ::DeviseTokenAuth::SessionsControlle # Prevent session parameter from being passed # Unpermitted parameter: session wrap_parameters format: [] + before_action :process_sso_auth_token, only: [:create] + + def create + # Authenticate user via the temporary sso auth token + if params[:sso_auth_token].present? && @resource.present? + authenticate_resource_with_sso_token + yield @resource if block_given? + render_create_success + else + super + end + end def render_create_success render partial: 'devise/auth.json', locals: { resource: @resource } end + + private + + def authenticate_resource_with_sso_token + @token = @resource.create_token + @resource.save + + sign_in(:user, @resource, store: false, bypass: false) + # invalidate the token after the user is signed in + @resource.invalidate_sso_auth_token(params[:sso_auth_token]) + end + + def process_sso_auth_token + return if params[:email].blank? + + user = User.find_by(email: params[:email]) + @resource = user if user&.valid_sso_auth_token?(params[:sso_auth_token]) + end end diff --git a/app/javascript/dashboard/routes/login/Login.vue b/app/javascript/dashboard/routes/login/Login.vue index a905864f4..1dfa6625d 100644 --- a/app/javascript/dashboard/routes/login/Login.vue +++ b/app/javascript/dashboard/routes/login/Login.vue @@ -13,7 +13,7 @@
-
+
+
" + + " end def create_contact_inbox diff --git a/package.json b/package.json index 7f9d268e2..e0c9a1008 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "date-fns": "^2.16.1", "dotenv": "^8.0.0", "foundation-sites": "~6.5.3", - "highlight.js": "~9.18.5", + "highlight.js": "~10.4.1", "ionicons": "~2.0.1", "js-cookie": "^2.2.1", "lodash.groupby": "^4.6.0", @@ -40,7 +40,6 @@ "vue-chartjs": "^3.4.2", "vue-clickaway": "~2.1.0", "vue-color": "^2.7.1", - "vue-highlight.js": "^3.1.0", "vue-i18n": "~5.0.3", "vue-loader": "^15.7.0", "vue-multiselect": "~2.1.6", diff --git a/yarn.lock b/yarn.lock index ae8ca5db4..74da08735 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3747,11 +3747,6 @@ detect-file@^1.0.0: resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= -detect-indent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" - integrity sha1-OHHMCmoALow+Wzz38zYmRnXwa50= - detect-newline@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" @@ -5228,10 +5223,10 @@ hex-color-regex@^1.1.0: resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== -highlight.js@~9.18.5: - version "9.18.5" - resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.18.5.tgz#d18a359867f378c138d6819edfc2a8acd5f29825" - integrity sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA== +highlight.js@~10.4.1: + version "10.4.1" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.4.1.tgz#d48fbcf4a9971c4361b3f95f302747afe19dbad0" + integrity sha512-yR5lWvNz7c85OhVAEAeFhVCc/GV4C30Fjzc/rCP0aCWzc1UUOPUk55dK/qdwTZHBvMZo+eZ2jpk62ndX/xMFlg== hmac-drbg@^1.0.0: version "1.0.1" @@ -9238,14 +9233,6 @@ redent@^1.0.0: indent-string "^2.1.0" strip-indent "^1.0.1" -redent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa" - integrity sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo= - dependencies: - indent-string "^3.0.0" - strip-indent "^2.0.0" - reduce-css-calc@^2.1.6: version "2.1.7" resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-2.1.7.tgz#1ace2e02c286d78abcd01fd92bfe8097ab0602c2" @@ -10310,11 +10297,6 @@ strip-indent@^1.0.1: dependencies: get-stdin "^4.0.1" -strip-indent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" - integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= - strip-json-comments@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" @@ -10718,7 +10700,7 @@ tsconfig@^7.0.0: strip-bom "^3.0.0" strip-json-comments "^2.0.0" -tslib@^1.9.0, tslib@^1.9.3: +tslib@^1.9.0: version "1.11.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35" integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA== @@ -11062,15 +11044,6 @@ vue-eslint-parser@^7.0.0: esquery "^1.0.1" lodash "^4.17.15" -vue-highlight.js@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/vue-highlight.js/-/vue-highlight.js-3.1.0.tgz#87b60b4931fd310b318f2b2c9116fe71b69dd053" - integrity sha512-i55SERtdV0CYQppGo29iT6NOq+oOenOKVwkLWZRt7bSynbsQoj/e8GJy/5xL1s5OOYObC/CxA39bRadVyPQt1A== - dependencies: - detect-indent "^5.0.0" - redent "^2.0.0" - tslib "^1.9.3" - vue-hot-reload-api@^2.3.0: version "2.3.4" resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2" From 94c231366ae28aee1079f59ed92f4286fef17bbf Mon Sep 17 00:00:00 2001 From: Pranav Raj S Date: Mon, 7 Dec 2020 13:48:41 +0530 Subject: [PATCH 22/42] feat: Allow only image, pdf, audio, video, csv on file uploader (#1492) --- .../dashboard/components/widgets/conversation/ReplyBox.vue | 2 +- app/javascript/widget/components/ChatAttachment.vue | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/javascript/dashboard/components/widgets/conversation/ReplyBox.vue b/app/javascript/dashboard/components/widgets/conversation/ReplyBox.vue index 3c418f655..8d6b2c027 100644 --- a/app/javascript/dashboard/components/widgets/conversation/ReplyBox.vue +++ b/app/javascript/dashboard/components/widgets/conversation/ReplyBox.vue @@ -27,7 +27,7 @@ diff --git a/app/javascript/widget/components/ChatAttachment.vue b/app/javascript/widget/components/ChatAttachment.vue index 624d536fa..48f0463ef 100755 --- a/app/javascript/widget/components/ChatAttachment.vue +++ b/app/javascript/widget/components/ChatAttachment.vue @@ -1,5 +1,9 @@ diff --git a/app/javascript/dashboard/store/modules/reports.js b/app/javascript/dashboard/store/modules/reports.js index 9d2dbe997..a69a791cc 100644 --- a/app/javascript/dashboard/store/modules/reports.js +++ b/app/javascript/dashboard/store/modules/reports.js @@ -33,7 +33,7 @@ const getters = { }, }; -const actions = { +export const actions = { fetchAccountReport({ commit }, reportObj) { commit(types.default.TOGGLE_ACCOUNT_REPORT_LOADING, true); Report.getAccountReports( @@ -68,6 +68,17 @@ const actions = { commit(types.default.TOGGLE_ACCOUNT_REPORT_LOADING, false); }); }, + downloadAgentReports(_, reportObj) { + return Report.getAgentReports(reportObj.from, reportObj.to) + .then(response => { + let csvContent = 'data:text/csv;charset=utf-8,' + response.data; + var encodedUri = encodeURI(csvContent); + window.open(encodedUri); + }) + .catch(error => { + console.error(error); + }); + }, }; const mutations = { diff --git a/app/javascript/dashboard/store/modules/specs/reports/actions.spec.js b/app/javascript/dashboard/store/modules/specs/reports/actions.spec.js new file mode 100644 index 000000000..df768eb52 --- /dev/null +++ b/app/javascript/dashboard/store/modules/specs/reports/actions.spec.js @@ -0,0 +1,21 @@ +import axios from 'axios'; +import { actions } from '../../reports'; + +global.open = jest.fn(); +global.axios = axios; +jest.mock('axios'); + +describe('#actions', () => { + describe('#downloadAgentReports', () => { + it('open CSV download prompt if API is success', async () => { + axios.get.mockResolvedValue({ + data: `Agent name,Conversations count,Avg first response time (Minutes),Avg resolution time (Minutes) + Pranav,36,114,28411`, + }); + await actions.downloadAgentReports(1, 2); + expect(global.open).toBeCalledWith( + 'data:text/csv;charset=utf-8,Agent%20name,Conversations%20count,Avg%20first%20response%20time%20(Minutes),Avg%20resolution%20time%20(Minutes)%0A%20%20%20%20%20%20%20%20Pranav,36,114,28411' + ); + }); + }); +}); diff --git a/app/views/api/v2/accounts/reports/agents.csv.erb b/app/views/api/v2/accounts/reports/agents.csv.erb index 2986c6491..3675c0a66 100644 --- a/app/views/api/v2/accounts/reports/agents.csv.erb +++ b/app/views/api/v2/accounts/reports/agents.csv.erb @@ -8,5 +8,6 @@ until: params[:until] }).summary %> <% row = [ agent.name, agent_report[:conversations_count], (agent_report[:avg_first_response_time]/60).to_i, (agent_report[:avg_resolution_time]/60).to_i ] %> -<%= CSV.generate_line row %> -<% end %> \ No newline at end of file + <%= CSV.generate_line row %> +<% end %> +<%= CSV.generate_line [I18n.t('reports.period', { since: Date.strptime(params[:since], '%s'), until: Date.strptime(params[:until], '%s') })] %> diff --git a/config/locales/en.yml b/config/locales/en.yml index 870a0c6ef..f21b162f9 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -42,6 +42,9 @@ en: email_already_exists: "You have already signed up for an account with %{email}" failed: Signup failed + reports: + period: Reporting period %{since} to %{until} + conversations: activity: status: From ac7fdaa997106b4d1585f1623ea9518727cb4690 Mon Sep 17 00:00:00 2001 From: Pranav Raj S Date: Wed, 16 Dec 2020 00:32:05 +0530 Subject: [PATCH 40/42] chore: Add documentation for Maxmind geocoder setup (#1518) --- .../dashboard/i18n/locale/en/contact.json | 1 + .../dashboard/conversation/ContactPanel.vue | 12 +++++++ docs/self-hosted/enable-ip-logging.md | 32 +++++++++++++++++++ 3 files changed, 45 insertions(+) create mode 100644 docs/self-hosted/enable-ip-logging.md diff --git a/app/javascript/dashboard/i18n/locale/en/contact.json b/app/javascript/dashboard/i18n/locale/en/contact.json index 684a56ee5..da85ffab8 100644 --- a/app/javascript/dashboard/i18n/locale/en/contact.json +++ b/app/javascript/dashboard/i18n/locale/en/contact.json @@ -11,6 +11,7 @@ "OS": "Operating System", "INITIATED_FROM": "Initiated from", "INITIATED_AT": "Initiated at", + "IP_ADDRESS": "IP Address", "CONVERSATIONS": { "NO_RECORDS_FOUND": "There are no previous conversations associated to this contact.", "TITLE": "Previous Conversations" diff --git a/app/javascript/dashboard/routes/dashboard/conversation/ContactPanel.vue b/app/javascript/dashboard/routes/dashboard/conversation/ContactPanel.vue index 1c7572d44..50662ad9b 100644 --- a/app/javascript/dashboard/routes/dashboard/conversation/ContactPanel.vue +++ b/app/javascript/dashboard/routes/dashboard/conversation/ContactPanel.vue @@ -11,6 +11,12 @@ :value="location" icon="ion-map" /> + Date: Wed, 16 Dec 2020 00:35:40 +0530 Subject: [PATCH 41/42] chore: Enable Korean (ko) (#1514) --- .../i18n/locale/ar/conversation.json | 2 + .../dashboard/i18n/locale/ar/report.json | 1 + .../dashboard/i18n/locale/ca/contact.json | 4 +- .../i18n/locale/ca/conversation.json | 8 +- .../i18n/locale/ca/generalSettings.json | 6 +- .../dashboard/i18n/locale/ca/inboxMgmt.json | 4 +- .../dashboard/i18n/locale/ca/report.json | 1 + .../dashboard/i18n/locale/ca/settings.json | 2 +- .../dashboard/i18n/locale/ca/signup.json | 8 +- .../i18n/locale/cs/conversation.json | 2 + .../dashboard/i18n/locale/cs/report.json | 1 + .../i18n/locale/da/conversation.json | 2 + .../dashboard/i18n/locale/da/report.json | 1 + .../i18n/locale/de/conversation.json | 2 + .../dashboard/i18n/locale/de/report.json | 1 + .../i18n/locale/el/conversation.json | 2 + .../dashboard/i18n/locale/el/report.json | 1 + .../i18n/locale/es/conversation.json | 2 + .../dashboard/i18n/locale/es/report.json | 1 + .../i18n/locale/fa/conversation.json | 2 + .../dashboard/i18n/locale/fa/report.json | 1 + .../i18n/locale/fi/conversation.json | 2 + .../dashboard/i18n/locale/fi/report.json | 1 + .../i18n/locale/fr/conversation.json | 2 + .../dashboard/i18n/locale/fr/report.json | 1 + .../i18n/locale/hi/conversation.json | 2 + .../dashboard/i18n/locale/hi/report.json | 1 + .../i18n/locale/hu/conversation.json | 2 + .../dashboard/i18n/locale/hu/report.json | 1 + .../i18n/locale/id/conversation.json | 2 + .../dashboard/i18n/locale/id/report.json | 1 + .../i18n/locale/it/conversation.json | 2 + .../dashboard/i18n/locale/it/report.json | 1 + .../i18n/locale/ja/conversation.json | 2 + .../dashboard/i18n/locale/ja/report.json | 1 + .../dashboard/i18n/locale/ko/agentMgmt.json | 108 +++---- .../dashboard/i18n/locale/ko/cannedMgmt.json | 84 +++--- .../dashboard/i18n/locale/ko/chatlist.json | 48 +-- .../dashboard/i18n/locale/ko/contact.json | 136 ++++----- .../i18n/locale/ko/conversation.json | 102 +++---- .../i18n/locale/ko/generalSettings.json | 46 +-- .../dashboard/i18n/locale/ko/inboxMgmt.json | 280 +++++++++--------- .../i18n/locale/ko/integrations.json | 62 ++-- .../dashboard/i18n/locale/ko/labelsMgmt.json | 72 ++--- .../dashboard/i18n/locale/ko/login.json | 22 +- .../dashboard/i18n/locale/ko/report.json | 35 +-- .../i18n/locale/ko/resetPassword.json | 14 +- .../i18n/locale/ko/setNewPassword.json | 20 +- .../dashboard/i18n/locale/ko/settings.json | 162 +++++----- .../dashboard/i18n/locale/ko/signup.json | 42 +-- .../dashboard/i18n/locale/ko/webhooks.json | 2 +- .../i18n/locale/ml/conversation.json | 2 + .../dashboard/i18n/locale/ml/report.json | 1 + .../i18n/locale/nl/conversation.json | 2 + .../dashboard/i18n/locale/nl/report.json | 1 + .../i18n/locale/pl/conversation.json | 2 + .../dashboard/i18n/locale/pl/report.json | 1 + .../i18n/locale/pt/conversation.json | 2 + .../dashboard/i18n/locale/pt/report.json | 1 + .../i18n/locale/pt_BR/conversation.json | 2 + .../i18n/locale/pt_BR/labelsMgmt.json | 2 +- .../dashboard/i18n/locale/pt_BR/report.json | 1 + .../dashboard/i18n/locale/pt_BR/settings.json | 2 +- .../i18n/locale/ro/conversation.json | 2 + .../dashboard/i18n/locale/ro/report.json | 1 + .../i18n/locale/ru/conversation.json | 2 + .../dashboard/i18n/locale/ru/report.json | 1 + .../i18n/locale/sk/conversation.json | 2 + .../dashboard/i18n/locale/sk/report.json | 1 + .../i18n/locale/sv/conversation.json | 2 + .../dashboard/i18n/locale/sv/report.json | 1 + .../i18n/locale/ta/conversation.json | 2 + .../dashboard/i18n/locale/ta/report.json | 1 + .../i18n/locale/th/conversation.json | 2 + .../dashboard/i18n/locale/th/report.json | 1 + .../i18n/locale/tr/conversation.json | 8 +- .../i18n/locale/tr/generalSettings.json | 6 +- .../dashboard/i18n/locale/tr/inboxMgmt.json | 4 +- .../dashboard/i18n/locale/tr/report.json | 1 + .../dashboard/i18n/locale/tr/signup.json | 8 +- .../i18n/locale/uk/conversation.json | 2 + .../dashboard/i18n/locale/uk/report.json | 1 + .../i18n/locale/vi/conversation.json | 2 + .../dashboard/i18n/locale/vi/report.json | 1 + .../i18n/locale/zh_CN/conversation.json | 2 + .../dashboard/i18n/locale/zh_CN/report.json | 1 + .../i18n/locale/zh_TW/conversation.json | 2 + .../dashboard/i18n/locale/zh_TW/report.json | 1 + app/javascript/widget/i18n/locale/ar.json | 16 +- app/javascript/widget/i18n/locale/ko.json | 30 +- config/initializers/languages.rb | 2 +- config/locales/ar.yml | 2 + config/locales/ca.yml | 6 +- config/locales/cs.yml | 2 + config/locales/da.yml | 2 + config/locales/de.yml | 2 + config/locales/devise.zh_CN.yml | 2 +- config/locales/el.yml | 2 + config/locales/es.yml | 2 + config/locales/fa.yml | 2 + config/locales/fi.yml | 2 + config/locales/fr.yml | 2 + config/locales/hi.yml | 2 + config/locales/hu.yml | 2 + config/locales/id.yml | 2 + config/locales/it.yml | 2 + config/locales/ja.yml | 2 + config/locales/ko.yml | 2 + config/locales/ml.yml | 2 + config/locales/nl.yml | 2 + config/locales/pl.yml | 2 + config/locales/pt.yml | 2 + config/locales/pt_BR.yml | 2 + config/locales/ro.yml | 2 + config/locales/ru.yml | 2 + config/locales/sk.yml | 2 + config/locales/sv.yml | 2 + config/locales/ta.yml | 2 + config/locales/th.yml | 2 + config/locales/tr.yml | 2 + config/locales/uk.yml | 2 + config/locales/vi.yml | 2 + config/locales/zh_CN.yml | 4 +- config/locales/zh_TW.yml | 4 +- 124 files changed, 834 insertions(+), 674 deletions(-) diff --git a/app/javascript/dashboard/i18n/locale/ar/conversation.json b/app/javascript/dashboard/i18n/locale/ar/conversation.json index 47fcaa8a4..204e4f497 100644 --- a/app/javascript/dashboard/i18n/locale/ar/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ar/conversation.json @@ -13,6 +13,8 @@ "PLACEHOLDER": "Type any text to search messages", "NO_MATCHING_RESULTS": "There are no messages matching the search parameters." }, + "UNREAD_MESSAGES": "Unread Messages", + "UNREAD_MESSAGE": "Unread Message", "CLICK_HERE": "اضغط هنا", "LOADING_INBOXES": "جار تحميل صناديق الوارد", "LOADING_CONVERSATIONS": "جاري تحميل المحادثات", diff --git a/app/javascript/dashboard/i18n/locale/ar/report.json b/app/javascript/dashboard/i18n/locale/ar/report.json index 2ad11e009..a9c36cd74 100644 --- a/app/javascript/dashboard/i18n/locale/ar/report.json +++ b/app/javascript/dashboard/i18n/locale/ar/report.json @@ -3,6 +3,7 @@ "HEADER": "التقارير", "LOADING_CHART": "تحميل بيانات الرسم البياني...", "NO_ENOUGH_DATA": "لم يتم جمع بيانات بقدر كافي لإنشاء التقرير، الرجاء المحاولة مرة أخرى لاحقاً.", + "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "METRICS": { "CONVERSATIONS": { "NAME": "المحادثات", diff --git a/app/javascript/dashboard/i18n/locale/ca/contact.json b/app/javascript/dashboard/i18n/locale/ca/contact.json index 6b5969c3c..aa707bacc 100644 --- a/app/javascript/dashboard/i18n/locale/ca/contact.json +++ b/app/javascript/dashboard/i18n/locale/ca/contact.json @@ -101,8 +101,8 @@ "SEARCH_BUTTON": "Cercar", "SEARCH_INPUT_PLACEHOLDER": "Cerca de contactes", "LIST": { - "LOADING_MESSAGE": "Loading contacts...", - "404": "No contacts matches your search 🔍", + "LOADING_MESSAGE": "Carregant contactes...", + "404": "No hi ha cap contacte que coincideixi amb la vostra cerca 🔍", "TABLE_HEADER": [ "Nom", "Número de telèfon", diff --git a/app/javascript/dashboard/i18n/locale/ca/conversation.json b/app/javascript/dashboard/i18n/locale/ca/conversation.json index e7effbb7e..65882712f 100644 --- a/app/javascript/dashboard/i18n/locale/ca/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ca/conversation.json @@ -13,6 +13,8 @@ "PLACEHOLDER": "Escriu qualsevol text per cercar missatges", "NO_MATCHING_RESULTS": "No hi ha missatges que coincideixin amb els paràmetres de cerca." }, + "UNREAD_MESSAGES": "Unread Messages", + "UNREAD_MESSAGE": "Unread Message", "CLICK_HERE": "Clica aquí", "LOADING_INBOXES": "S'estan carregant les safates d'entrada", "LOADING_CONVERSATIONS": "S'estan carregant les converses", @@ -43,11 +45,11 @@ "VISIBLE_TO_AGENTS": "Nota privada: Només és visible per tu i el vostre equip", "CHANGE_STATUS": "Estat de la conversa canviat", "CHANGE_AGENT": "Assignació de la conversa canviat", - "SENT_BY": "Sent by:", + "SENT_BY": "Enviat per:", "ASSIGNMENT": { - "SELECT_AGENT": "Select Agent", + "SELECT_AGENT": "Seleccionar Agent", "REMOVE": "Suprimeix", - "ASSIGN": "Assign" + "ASSIGN": "Assignar" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/ca/generalSettings.json b/app/javascript/dashboard/i18n/locale/ca/generalSettings.json index 8d3f2d686..949267b11 100644 --- a/app/javascript/dashboard/i18n/locale/ca/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/ca/generalSettings.json @@ -46,9 +46,9 @@ }, "FORMS": { "MULTISELECT": { - "ENTER_TO_SELECT": "Press enter to select", - "ENTER_TO_REMOVE": "Press enter to remove", - "SELECT_ONE": "Select one" + "ENTER_TO_SELECT": "Presiona retorn (tecla enter) per seleccionar", + "ENTER_TO_REMOVE": "Presiona retorn (tecla enter) per eliminar", + "SELECT_ONE": "Selecciona un" } } } diff --git a/app/javascript/dashboard/i18n/locale/ca/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ca/inboxMgmt.json index 1e8e55298..cc827e9e7 100644 --- a/app/javascript/dashboard/i18n/locale/ca/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ca/inboxMgmt.json @@ -166,8 +166,8 @@ "AGENTS": { "TITLE": "Agents", "DESC": "Aquí podeu afegir agents per gestionar la vostra safata d'entrada de nova creació. Només aquests agents seleccionats tindran accés a la vostra safata d'entrada. Els agents que no formen part d'aquesta safata d'entrada no podran veure ni respondre als missatges d'aquesta safata d'entrada quan s’inicien.
PD: Com a administrador, si necessiteu accés a totes les bústies d’entrada, heu d’afegir-vos com a agent a totes les bústies de sortida que creeu.", - "VALIDATION_ERROR": "Add atleast one agent to your new Inbox", - "PICK_AGENTS": "Pick agents for the inbox" + "VALIDATION_ERROR": "Afageix almenys un agent a la teva safata d'entrada", + "PICK_AGENTS": "Tria agents per la safata d'entrada" }, "DETAILS": { "TITLE": "Detalls de la safata d'entrada", diff --git a/app/javascript/dashboard/i18n/locale/ca/report.json b/app/javascript/dashboard/i18n/locale/ca/report.json index ab2c94e8b..93813aa44 100644 --- a/app/javascript/dashboard/i18n/locale/ca/report.json +++ b/app/javascript/dashboard/i18n/locale/ca/report.json @@ -3,6 +3,7 @@ "HEADER": "Informes", "LOADING_CHART": "S'estan carregant dades del gràfic...", "NO_ENOUGH_DATA": "No hem rebut suficients punts de dades per generar l'informe. Torneu-ho a provar més endavant.", + "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "METRICS": { "CONVERSATIONS": { "NAME": "Converses", diff --git a/app/javascript/dashboard/i18n/locale/ca/settings.json b/app/javascript/dashboard/i18n/locale/ca/settings.json index 6a3494009..c0431495b 100644 --- a/app/javascript/dashboard/i18n/locale/ca/settings.json +++ b/app/javascript/dashboard/i18n/locale/ca/settings.json @@ -113,7 +113,7 @@ "SIDEBAR": { "CONVERSATIONS": "Converses", "REPORTS": "Informes", - "CONTACTS": "Contacts (Beta)", + "CONTACTS": "Contactes (Beta)", "SETTINGS": "Configuracions", "HOME": "Inici", "AGENTS": "Agents", diff --git a/app/javascript/dashboard/i18n/locale/ca/signup.json b/app/javascript/dashboard/i18n/locale/ca/signup.json index 930ab728d..aa87cf84c 100644 --- a/app/javascript/dashboard/i18n/locale/ca/signup.json +++ b/app/javascript/dashboard/i18n/locale/ca/signup.json @@ -29,11 +29,11 @@ }, "SUBMIT": "Envia", "FEATURES": { - "UNLIMITED_INBOXES": "Unlimited inboxes", - "ROBUST_REPORTING": "Robust Reporting", + "UNLIMITED_INBOXES": "Safates ilimitades", + "ROBUST_REPORTING": "Informa robust", "CANNED_RESPONSES": "Respostes predeterminades", - "AUTO_ASSIGNMENT": "Auto Assignment", - "SECURITY": "Enterprise level security" + "AUTO_ASSIGNMENT": "Tasca Automàtica", + "SECURITY": "Seguretat a nivell empreserial" } } } diff --git a/app/javascript/dashboard/i18n/locale/cs/conversation.json b/app/javascript/dashboard/i18n/locale/cs/conversation.json index a7afc704d..80fb50df8 100644 --- a/app/javascript/dashboard/i18n/locale/cs/conversation.json +++ b/app/javascript/dashboard/i18n/locale/cs/conversation.json @@ -13,6 +13,8 @@ "PLACEHOLDER": "Zadejte jakýkoli text k hledání", "NO_MATCHING_RESULTS": "Vašemu vyhledávání neodpovídají žádné zprávy." }, + "UNREAD_MESSAGES": "Unread Messages", + "UNREAD_MESSAGE": "Unread Message", "CLICK_HERE": "Klikněte zde", "LOADING_INBOXES": "Načítání krabic", "LOADING_CONVERSATIONS": "Načítání konverzací", diff --git a/app/javascript/dashboard/i18n/locale/cs/report.json b/app/javascript/dashboard/i18n/locale/cs/report.json index dc684dd37..6e9e7daf0 100644 --- a/app/javascript/dashboard/i18n/locale/cs/report.json +++ b/app/javascript/dashboard/i18n/locale/cs/report.json @@ -3,6 +3,7 @@ "HEADER": "Zprávy", "LOADING_CHART": "Načítání dat mapy...", "NO_ENOUGH_DATA": "Pro vytvoření hlášení jsme neobdrželi dostatek dat, zkuste to prosím později.", + "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "METRICS": { "CONVERSATIONS": { "NAME": "Konverzace", diff --git a/app/javascript/dashboard/i18n/locale/da/conversation.json b/app/javascript/dashboard/i18n/locale/da/conversation.json index dbe1e4c88..260238d29 100644 --- a/app/javascript/dashboard/i18n/locale/da/conversation.json +++ b/app/javascript/dashboard/i18n/locale/da/conversation.json @@ -13,6 +13,8 @@ "PLACEHOLDER": "Skriv tekst for at søge i beskeder", "NO_MATCHING_RESULTS": "Der er ingen meddelelser, der matcher søgeparametrene." }, + "UNREAD_MESSAGES": "Unread Messages", + "UNREAD_MESSAGE": "Unread Message", "CLICK_HERE": "Klik her", "LOADING_INBOXES": "Indlæser indbakker", "LOADING_CONVERSATIONS": "Indlæser Samtaler", diff --git a/app/javascript/dashboard/i18n/locale/da/report.json b/app/javascript/dashboard/i18n/locale/da/report.json index 9fff95cb7..44d645fbf 100644 --- a/app/javascript/dashboard/i18n/locale/da/report.json +++ b/app/javascript/dashboard/i18n/locale/da/report.json @@ -3,6 +3,7 @@ "HEADER": "Rapporter", "LOADING_CHART": "Indlæser diagramdata...", "NO_ENOUGH_DATA": "Vi har ikke modtaget nok datapunkter til at generere rapport. Prøv igen senere.", + "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "METRICS": { "CONVERSATIONS": { "NAME": "Samtaler", diff --git a/app/javascript/dashboard/i18n/locale/de/conversation.json b/app/javascript/dashboard/i18n/locale/de/conversation.json index a5d853270..4e57ce402 100644 --- a/app/javascript/dashboard/i18n/locale/de/conversation.json +++ b/app/javascript/dashboard/i18n/locale/de/conversation.json @@ -13,6 +13,8 @@ "PLACEHOLDER": "Type any text to search messages", "NO_MATCHING_RESULTS": "There are no messages matching the search parameters." }, + "UNREAD_MESSAGES": "Unread Messages", + "UNREAD_MESSAGE": "Unread Message", "CLICK_HERE": "Hier klicken", "LOADING_INBOXES": "Posteingänge laden", "LOADING_CONVERSATIONS": "Gespräche laden", diff --git a/app/javascript/dashboard/i18n/locale/de/report.json b/app/javascript/dashboard/i18n/locale/de/report.json index edb41cbd9..0c9adc698 100644 --- a/app/javascript/dashboard/i18n/locale/de/report.json +++ b/app/javascript/dashboard/i18n/locale/de/report.json @@ -3,6 +3,7 @@ "HEADER": "Berichte", "LOADING_CHART": "Diagrammdaten laden ...", "NO_ENOUGH_DATA": "Wir haben nicht genügend Datenpunkte erhalten, um einen Bericht zu erstellen. Bitte versuchen Sie es später erneut.", + "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "METRICS": { "CONVERSATIONS": { "NAME": "Gespräche", diff --git a/app/javascript/dashboard/i18n/locale/el/conversation.json b/app/javascript/dashboard/i18n/locale/el/conversation.json index ddbc7c5db..93275d913 100644 --- a/app/javascript/dashboard/i18n/locale/el/conversation.json +++ b/app/javascript/dashboard/i18n/locale/el/conversation.json @@ -13,6 +13,8 @@ "PLACEHOLDER": "Εισάγετε κείμενο για αναζήτηση μηνυμάτων", "NO_MATCHING_RESULTS": "Δεν βρέθηκαν μηνύματα που να ταιριάζουν με τους όρους αναζήτησης." }, + "UNREAD_MESSAGES": "Μη αναγνωσμένα μηνύματα", + "UNREAD_MESSAGE": "Μη αναγνωσμένο μήνυμα", "CLICK_HERE": "Πατήστε εδώ", "LOADING_INBOXES": "Φόρτωση εισερχομένων", "LOADING_CONVERSATIONS": "Φόρτωση Συζητήσεων", diff --git a/app/javascript/dashboard/i18n/locale/el/report.json b/app/javascript/dashboard/i18n/locale/el/report.json index 501cd25ac..6a5fbad6b 100644 --- a/app/javascript/dashboard/i18n/locale/el/report.json +++ b/app/javascript/dashboard/i18n/locale/el/report.json @@ -3,6 +3,7 @@ "HEADER": "Αναφορές", "LOADING_CHART": "Φόρτωση δεδομένων γραφήματος...", "NO_ENOUGH_DATA": "Δεν έχουν ληφθεί αρκετά σημεία δεδομένων για την δημιουργία της αναφοράς, Παρακαλώ προσπαθήστε αργότερα.", + "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "METRICS": { "CONVERSATIONS": { "NAME": "Συζητήσεις", diff --git a/app/javascript/dashboard/i18n/locale/es/conversation.json b/app/javascript/dashboard/i18n/locale/es/conversation.json index 2457d6148..5e7202691 100644 --- a/app/javascript/dashboard/i18n/locale/es/conversation.json +++ b/app/javascript/dashboard/i18n/locale/es/conversation.json @@ -13,6 +13,8 @@ "PLACEHOLDER": "Escriba cualquier texto para buscar mensajes", "NO_MATCHING_RESULTS": "No hay mensajes que coincidan con los parámetros de búsqueda." }, + "UNREAD_MESSAGES": "Unread Messages", + "UNREAD_MESSAGE": "Unread Message", "CLICK_HERE": "Haz clic aquí", "LOADING_INBOXES": "Cargando bandeja de entrada", "LOADING_CONVERSATIONS": "Cargando conversaciones", diff --git a/app/javascript/dashboard/i18n/locale/es/report.json b/app/javascript/dashboard/i18n/locale/es/report.json index b67ac670d..1506917ef 100644 --- a/app/javascript/dashboard/i18n/locale/es/report.json +++ b/app/javascript/dashboard/i18n/locale/es/report.json @@ -3,6 +3,7 @@ "HEADER": "Informes", "LOADING_CHART": "Cargando datos del gráfico...", "NO_ENOUGH_DATA": "No hemos recibido suficientes puntos de datos para generar el informe. Inténtalo de nuevo más tarde.", + "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "METRICS": { "CONVERSATIONS": { "NAME": "Conversaciones", diff --git a/app/javascript/dashboard/i18n/locale/fa/conversation.json b/app/javascript/dashboard/i18n/locale/fa/conversation.json index 26cf0ed3b..1ce73816a 100644 --- a/app/javascript/dashboard/i18n/locale/fa/conversation.json +++ b/app/javascript/dashboard/i18n/locale/fa/conversation.json @@ -13,6 +13,8 @@ "PLACEHOLDER": "متنی برای جستجو پیام تایپ کنید", "NO_MATCHING_RESULTS": "There are no messages matching the search parameters." }, + "UNREAD_MESSAGES": "Unread Messages", + "UNREAD_MESSAGE": "Unread Message", "CLICK_HERE": "اینجا کلیک کنید", "LOADING_INBOXES": "در حال بارگیری صندوق‌های ورودی", "LOADING_CONVERSATIONS": "در حال بارگیری گفتگو‌ها", diff --git a/app/javascript/dashboard/i18n/locale/fa/report.json b/app/javascript/dashboard/i18n/locale/fa/report.json index 02582dab3..76a5af375 100644 --- a/app/javascript/dashboard/i18n/locale/fa/report.json +++ b/app/javascript/dashboard/i18n/locale/fa/report.json @@ -3,6 +3,7 @@ "HEADER": "گزارشات", "LOADING_CHART": "در حال دریافت اطلاعات...", "NO_ENOUGH_DATA": "متاسفانه اطلاعات کافی دریافت نشد، لطفا بعدا دوباره امتحان کنید", + "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "METRICS": { "CONVERSATIONS": { "NAME": "گفتگوها", diff --git a/app/javascript/dashboard/i18n/locale/fi/conversation.json b/app/javascript/dashboard/i18n/locale/fi/conversation.json index 0bbc24dae..ca2709cac 100644 --- a/app/javascript/dashboard/i18n/locale/fi/conversation.json +++ b/app/javascript/dashboard/i18n/locale/fi/conversation.json @@ -13,6 +13,8 @@ "PLACEHOLDER": "Kirjoita mikä tahansa teksti etsiäksesi viestejä", "NO_MATCHING_RESULTS": "Hakuparametreja vastaavia viestejä ei ole." }, + "UNREAD_MESSAGES": "Unread Messages", + "UNREAD_MESSAGE": "Unread Message", "CLICK_HERE": "Klikkaa tästä", "LOADING_INBOXES": "Ladataan saapuneet-kansioita", "LOADING_CONVERSATIONS": "Ladataan keskusteluita", diff --git a/app/javascript/dashboard/i18n/locale/fi/report.json b/app/javascript/dashboard/i18n/locale/fi/report.json index ec853f3c9..0b999d3fc 100644 --- a/app/javascript/dashboard/i18n/locale/fi/report.json +++ b/app/javascript/dashboard/i18n/locale/fi/report.json @@ -3,6 +3,7 @@ "HEADER": "Raportit", "LOADING_CHART": "Ladataan kaaviotietoja...", "NO_ENOUGH_DATA": "Emme ole saaneet tarpeeksi dataa raportin luomiseen, yritä myöhemmin uudelleen.", + "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "METRICS": { "CONVERSATIONS": { "NAME": "Keskustelut", diff --git a/app/javascript/dashboard/i18n/locale/fr/conversation.json b/app/javascript/dashboard/i18n/locale/fr/conversation.json index c9c582106..7bfaf3ec4 100644 --- a/app/javascript/dashboard/i18n/locale/fr/conversation.json +++ b/app/javascript/dashboard/i18n/locale/fr/conversation.json @@ -13,6 +13,8 @@ "PLACEHOLDER": "Saisissez n'importe quel texte pour rechercher des messages", "NO_MATCHING_RESULTS": "Aucun message ne correspond aux paramètres de recherche." }, + "UNREAD_MESSAGES": "Unread Messages", + "UNREAD_MESSAGE": "Unread Message", "CLICK_HERE": "Cliquez ici", "LOADING_INBOXES": "Chargement des boîtes de réception", "LOADING_CONVERSATIONS": "Chargement des conversations", diff --git a/app/javascript/dashboard/i18n/locale/fr/report.json b/app/javascript/dashboard/i18n/locale/fr/report.json index fa11a0084..ed325d06c 100644 --- a/app/javascript/dashboard/i18n/locale/fr/report.json +++ b/app/javascript/dashboard/i18n/locale/fr/report.json @@ -3,6 +3,7 @@ "HEADER": "Rapports", "LOADING_CHART": "Chargement des données du graphique ...", "NO_ENOUGH_DATA": "Nous n'avons pas reçu assez de points de données pour générer un rapport. Veuillez réessayer plus tard.", + "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", diff --git a/app/javascript/dashboard/i18n/locale/hi/conversation.json b/app/javascript/dashboard/i18n/locale/hi/conversation.json index 2c588418c..710a5a301 100644 --- a/app/javascript/dashboard/i18n/locale/hi/conversation.json +++ b/app/javascript/dashboard/i18n/locale/hi/conversation.json @@ -13,6 +13,8 @@ "PLACEHOLDER": "Type any text to search messages", "NO_MATCHING_RESULTS": "There are no messages matching the search parameters." }, + "UNREAD_MESSAGES": "Unread Messages", + "UNREAD_MESSAGE": "Unread Message", "CLICK_HERE": "Click here", "LOADING_INBOXES": "Loading inboxes", "LOADING_CONVERSATIONS": "Loading Conversations", diff --git a/app/javascript/dashboard/i18n/locale/hi/report.json b/app/javascript/dashboard/i18n/locale/hi/report.json index 8a4d53485..22e4a1c75 100644 --- a/app/javascript/dashboard/i18n/locale/hi/report.json +++ b/app/javascript/dashboard/i18n/locale/hi/report.json @@ -3,6 +3,7 @@ "HEADER": "Reports", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", + "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", diff --git a/app/javascript/dashboard/i18n/locale/hu/conversation.json b/app/javascript/dashboard/i18n/locale/hu/conversation.json index 2c588418c..710a5a301 100644 --- a/app/javascript/dashboard/i18n/locale/hu/conversation.json +++ b/app/javascript/dashboard/i18n/locale/hu/conversation.json @@ -13,6 +13,8 @@ "PLACEHOLDER": "Type any text to search messages", "NO_MATCHING_RESULTS": "There are no messages matching the search parameters." }, + "UNREAD_MESSAGES": "Unread Messages", + "UNREAD_MESSAGE": "Unread Message", "CLICK_HERE": "Click here", "LOADING_INBOXES": "Loading inboxes", "LOADING_CONVERSATIONS": "Loading Conversations", diff --git a/app/javascript/dashboard/i18n/locale/hu/report.json b/app/javascript/dashboard/i18n/locale/hu/report.json index 8a4d53485..22e4a1c75 100644 --- a/app/javascript/dashboard/i18n/locale/hu/report.json +++ b/app/javascript/dashboard/i18n/locale/hu/report.json @@ -3,6 +3,7 @@ "HEADER": "Reports", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", + "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", diff --git a/app/javascript/dashboard/i18n/locale/id/conversation.json b/app/javascript/dashboard/i18n/locale/id/conversation.json index 5719161fb..a08e9a707 100644 --- a/app/javascript/dashboard/i18n/locale/id/conversation.json +++ b/app/javascript/dashboard/i18n/locale/id/conversation.json @@ -13,6 +13,8 @@ "PLACEHOLDER": "Ketik teks apa saja untuk mencari pesan", "NO_MATCHING_RESULTS": "Tidak ada pesan yang cocok dengan parameter pencarian." }, + "UNREAD_MESSAGES": "Pesan Belum Terbaca", + "UNREAD_MESSAGE": "Pesan Belum Terbaca", "CLICK_HERE": "Klik disini", "LOADING_INBOXES": "Memuat kotak masuk", "LOADING_CONVERSATIONS": "Memuat Percakapan", diff --git a/app/javascript/dashboard/i18n/locale/id/report.json b/app/javascript/dashboard/i18n/locale/id/report.json index 63b076ea1..14b39e8f5 100644 --- a/app/javascript/dashboard/i18n/locale/id/report.json +++ b/app/javascript/dashboard/i18n/locale/id/report.json @@ -3,6 +3,7 @@ "HEADER": "Laporan", "LOADING_CHART": "Memuat data grafik...", "NO_ENOUGH_DATA": "Kami belum menerima cukup data untuk membuat laporan, Silakan coba lagi nanti.", + "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "METRICS": { "CONVERSATIONS": { "NAME": "Percakapan", diff --git a/app/javascript/dashboard/i18n/locale/it/conversation.json b/app/javascript/dashboard/i18n/locale/it/conversation.json index b7a19f1ab..1079ee766 100644 --- a/app/javascript/dashboard/i18n/locale/it/conversation.json +++ b/app/javascript/dashboard/i18n/locale/it/conversation.json @@ -13,6 +13,8 @@ "PLACEHOLDER": "Type any text to search messages", "NO_MATCHING_RESULTS": "There are no messages matching the search parameters." }, + "UNREAD_MESSAGES": "Unread Messages", + "UNREAD_MESSAGE": "Unread Message", "CLICK_HERE": "Clicca qui", "LOADING_INBOXES": "Caricamento posta in arrivo", "LOADING_CONVERSATIONS": "Caricamento conversazioni", diff --git a/app/javascript/dashboard/i18n/locale/it/report.json b/app/javascript/dashboard/i18n/locale/it/report.json index f585ac532..134ba9e4e 100644 --- a/app/javascript/dashboard/i18n/locale/it/report.json +++ b/app/javascript/dashboard/i18n/locale/it/report.json @@ -3,6 +3,7 @@ "HEADER": "Segnalazioni", "LOADING_CHART": "Caricamento dati grafici...", "NO_ENOUGH_DATA": "Non abbiamo ricevuto abbastanza dati per generare la segnalazione, riprova più tardi.", + "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "METRICS": { "CONVERSATIONS": { "NAME": "Conversazioni", diff --git a/app/javascript/dashboard/i18n/locale/ja/conversation.json b/app/javascript/dashboard/i18n/locale/ja/conversation.json index c65a346f2..6096b7927 100644 --- a/app/javascript/dashboard/i18n/locale/ja/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ja/conversation.json @@ -13,6 +13,8 @@ "PLACEHOLDER": "Type any text to search messages", "NO_MATCHING_RESULTS": "There are no messages matching the search parameters." }, + "UNREAD_MESSAGES": "Unread Messages", + "UNREAD_MESSAGE": "Unread Message", "CLICK_HERE": "ここをクリック", "LOADING_INBOXES": "受信トレイを読み込み中", "LOADING_CONVERSATIONS": "会話データを読み込んでいます", diff --git a/app/javascript/dashboard/i18n/locale/ja/report.json b/app/javascript/dashboard/i18n/locale/ja/report.json index f05a01d91..ceb6e7fa8 100644 --- a/app/javascript/dashboard/i18n/locale/ja/report.json +++ b/app/javascript/dashboard/i18n/locale/ja/report.json @@ -3,6 +3,7 @@ "HEADER": "レポート", "LOADING_CHART": "グラフデータを読み込んでいます...", "NO_ENOUGH_DATA": "レポートを生成するための十分なデータポイントを受信していません。後でもう一度お試しください。", + "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "METRICS": { "CONVERSATIONS": { "NAME": "会話データ", diff --git a/app/javascript/dashboard/i18n/locale/ko/agentMgmt.json b/app/javascript/dashboard/i18n/locale/ko/agentMgmt.json index 2b2358c9a..aea59be19 100644 --- a/app/javascript/dashboard/i18n/locale/ko/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ko/agentMgmt.json @@ -1,96 +1,96 @@ { "AGENT_MGMT": { - "HEADER": "Agents", - "HEADER_BTN_TXT": "Add Agent", - "LOADING": "Fetching Agent List", - "SIDEBAR_TXT": "

Agents

An Agent is a member of your Customer Support team.

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

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

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

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

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

", + "HEADER": "에이전트", + "HEADER_BTN_TXT": "에이전트 추가", + "LOADING": "에이전트 목록을 가져오는 중", + "SIDEBAR_TXT": "

에이전트

에이전트는 고객 지원 팀의 구성원입니다.

에이전트는 사용자의 메시지를 보고 답장할 수 있습니다. 목록에 현재 계정에 있는 모든 에이전트가 표시됩니다.

새 에이전트를 추가하려면 [에이전트 추가]를 클릭하십시오. 사용자가 추가한 에이전트는 계정을 활성화하기 위한 확인 링크가 포함된 이메일을 받게 되며, 이후 챗부팅에 액세스하여 메시지에 응답할 수 있습니다.

Chatwoot의 기능에 대한 액세스는 다음 역할을 기반으로 한다.

에이전트 - 이 역할을 가진 에이전트는 받은 편지함, 보고서 및 대화에만 액세스할 수 있다. 그들은 다른 요원이나 자신들에게 대화를 할당하고 대화를 해결할 수 있습니다.

관리자 - 관리자는 일반 에이전트의 모든 권한과 함께 설정을 포함하여 계정에 대해 활성화된 모든 챗부팅 기능에 액세스할 수 있습니다.

", "AGENT_TYPES": { - "ADMINISTRATOR": "Administrator", - "AGENT": "Agent" + "ADMINISTRATOR": "관리자", + "AGENT": "에이전트" }, "LIST": { - "404": "There are no agents associated to this account", - "TITLE": "Manage agents in your team", - "DESC": "You can add/remove agents to/in your team.", - "NAME": "Name", - "EMAIL": "EMAIL", - "STATUS": "Status", - "ACTIONS": "Actions", - "VERIFIED": "Verified", - "VERIFICATION_PENDING": "Verification Pending" + "404": "이 계정에 연결된 에이전트가 없음", + "TITLE": "팀 내 에이전트 관리", + "DESC": "팀에 에이전트를 추가/제거할 수 있습니다.", + "NAME": "이름", + "EMAIL": "이메일", + "STATUS": "상태", + "ACTIONS": "액션", + "VERIFIED": "인증됨", + "VERIFICATION_PENDING": "인증 보류" }, "ADD": { - "TITLE": "Add agent to your team", - "DESC": "You can add people who will be able to handle support for your inboxes.", - "CANCEL_BUTTON_TEXT": "Cancel", + "TITLE": "팀에 에이전트 추가", + "DESC": "받은 메시지함에 대한 지원을 처리할 수 있는 사용자를 추가할 수 있습니다.", + "CANCEL_BUTTON_TEXT": "취소", "FORM": { "NAME": { - "LABEL": "Agent Name", - "PLACEHOLDER": "Please enter a name of the agent" + "LABEL": "에이전트 이름", + "PLACEHOLDER": "에이전트 이름을 입력하십시오." }, "AGENT_TYPE": { - "LABEL": "Agent Type", - "PLACEHOLDER": "Please select a type", - "ERROR": "Agent type is required" + "LABEL": "역할", + "PLACEHOLDER": "역할을 선택하십시오.", + "ERROR": "역할이 필요함" }, "EMAIL": { - "LABEL": "Email Address", - "PLACEHOLDER": "Please enter an email address of the agent" + "LABEL": "이메일 주소", + "PLACEHOLDER": "에이전트의 이메일 주소를 입력하십시오." }, - "SUBMIT": "Add Agent" + "SUBMIT": "에이전트 추가" }, "API": { - "SUCCESS_MESSAGE": "Agent added successfully", - "EXIST_MESSAGE": "Agent email already in use, Please try another email address", - "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" + "SUCCESS_MESSAGE": "에이전트가 성공적으로 추가됨", + "EXIST_MESSAGE": "에이전트 이메일이 이미 사용 중입니다. 다른 이메일 주소를 시도하십시오.", + "ERROR_MESSAGE": "Woot 서버에 연결할 수 없음. 나중에 다시 시도하십시오." } }, "DELETE": { - "BUTTON_TEXT": "Delete", + "BUTTON_TEXT": "삭제", "API": { - "SUCCESS_MESSAGE": "Agent deleted successfully", - "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" + "SUCCESS_MESSAGE": "에이전트가 성공적으로 삭제됨", + "ERROR_MESSAGE": "Woot 서버에 연결할 수 없음. 나중에 다시 시도하십시오." }, "CONFIRM": { - "TITLE": "Confirm Deletion", - "MESSAGE": "Are you sure to delete ", - "YES": "Yes, Delete ", - "NO": "No, Keep " + "TITLE": "삭제 확인", + "MESSAGE": "삭제하시겠습니까? ", + "YES": "예, 삭제합니다. ", + "NO": "아니요, 유지해주세요. " } }, "EDIT": { - "TITLE": "Edit agent", + "TITLE": "에이전트 수정", "FORM": { "NAME": { - "LABEL": "Agent Name", - "PLACEHOLDER": "Please enter a name of the agent" + "LABEL": "에이전트 이름", + "PLACEHOLDER": "에이전트 이름을 입력하십시오." }, "AGENT_TYPE": { - "LABEL": "Agent Type", - "PLACEHOLDER": "Please select a type", - "ERROR": "Agent type is required" + "LABEL": "역할", + "PLACEHOLDER": "역할을 선택하십시오.", + "ERROR": "역할이 필요함" }, "EMAIL": { - "LABEL": "Email Address", - "PLACEHOLDER": "Please enter an email address of the agent" + "LABEL": "이메일 주소", + "PLACEHOLDER": "에이전트의 이메일 주소를 입력하십시오." }, - "SUBMIT": "Edit Agent" + "SUBMIT": "에이전트 수정" }, - "BUTTON_TEXT": "Edit", - "CANCEL_BUTTON_TEXT": "Cancel", + "BUTTON_TEXT": "수정", + "CANCEL_BUTTON_TEXT": "취소", "API": { - "SUCCESS_MESSAGE": "Agent updated successfully", - "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" + "SUCCESS_MESSAGE": "에이전트가 성공적으로 업데이트됨", + "ERROR_MESSAGE": "Woot 서버에 연결할 수 없음. 나중에 다시 시도하십시오." }, "PASSWORD_RESET": { - "ADMIN_RESET_BUTTON": "Reset Password", - "ADMIN_SUCCESS_MESSAGE": "An email with reset password instructions has been sent to the agent", - "SUCCESS_MESSAGE": "Agent password reset successfully", - "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" + "ADMIN_RESET_BUTTON": "비밀번호 재설정", + "ADMIN_SUCCESS_MESSAGE": "비밀번호 재설정 지침이 포함된 이메일이 에이전트로 전송됨", + "SUCCESS_MESSAGE": "에이전트 비밀번호 재설정 성공", + "ERROR_MESSAGE": "Woot 서버에 연결할 수 없음. 나중에 다시 시도하십시오." } }, "SEARCH": { - "NO_RESULTS": "No agents found." + "NO_RESULTS": "에이전트를 찾을 수 없음." } } } diff --git a/app/javascript/dashboard/i18n/locale/ko/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/ko/cannedMgmt.json index bcab1dc6a..9f34854cb 100644 --- a/app/javascript/dashboard/i18n/locale/ko/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ko/cannedMgmt.json @@ -1,75 +1,75 @@ { "CANNED_MGMT": { - "HEADER": "Canned Responses", - "HEADER_BTN_TXT": "Add Canned Response", - "LOADING": "Fetching Canned Responses", - "SEARCH_404": "There are no items matching this query", - "SIDEBAR_TXT": "

Canned Responses

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

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

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

", + "HEADER": "미리 준비된 답변", + "HEADER_BTN_TXT": "미리 준비된 답변 추가", + "LOADING": "미리 준비된 답변 가져오기", + "SEARCH_404": "이 쿼리와 일치하는 항목이 없음", + "SIDEBAR_TXT": "

미리 준비된 답변

미리 준비된 답변은 신속하게 답변할 수 있는 저장된 답변 템플릿입니다.

\n

미리 준비된 답변을 만들기 위해 [미리 준비된 답변 추가]를 클릭하면 됩니다. 편집 또는 삭제 버튼을 클릭하여 미리 준비된 답변을 편집하거나 삭제할 수 있습니다.

미리 준비된 답변은 단축 코드의 도움으로 사용됩니다. 에이전트는 '/'를 입력 한 다음 짧은 코드를 입력하여 채팅에서 미리 준비된 답변에 액세스 할 수 있습니다.

", "LIST": { - "404": "There are no canned responses available in this account.", - "TITLE": "Manage canned responses", - "DESC": "Canned Responses are predefined reply templates which can be used to quickly send out replies to tickets.", + "404": "이 계정에는 미리 준비된 답변이 없습니다.", + "TITLE": "미리 준비된 답변 관리", + "DESC": "미리 준비된 답변은 티켓에 대한 답변을 빠르게 보내는 데 사용할 수있는 미리 정의된 답변 템플릿입니다.", "TABLE_HEADER": [ - "Short Code", - "Content", - "Actions" + "단축 코드", + "콘텐츠", + "액션" ] }, "ADD": { - "TITLE": "Add Canned Response", - "DESC": "Canned Responses are saved reply templates which can be used to quickly send out reply to conversation .", - "CANCEL_BUTTON_TEXT": "Cancel", + "TITLE": "미리 준비된 답변 추가", + "DESC": "미리 준비된 답변은 티켓에 대한 답변을 빠르게 보내는 데 사용할 수있는 미리 정의된 답변 템플릿입니다 .", + "CANCEL_BUTTON_TEXT": "취소", "FORM": { "SHORT_CODE": { - "LABEL": "Short Code", - "PLACEHOLDER": "Please enter a shortcode", - "ERROR": "Short Code is required" + "LABEL": "단축 코드", + "PLACEHOLDER": "단축 코드를 입력하십시오.", + "ERROR": "단축 코드가 필요함" }, "CONTENT": { - "LABEL": "Content", - "PLACEHOLDER": "Please enter a content", - "ERROR": "Content is required" + "LABEL": "내용", + "PLACEHOLDER": "내용을 입력하십시오.", + "ERROR": "내용이 필요함" }, - "SUBMIT": "Submit" + "SUBMIT": "보내기" }, "API": { - "SUCCESS_MESSAGE": "Canned Response added successfully", - "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" + "SUCCESS_MESSAGE": "미리 준비된 답변이 성공적으로 추가됨", + "ERROR_MESSAGE": "Woot 서버에 연결할 수 없음. 나중에 다시 시도하십시오." } }, "EDIT": { - "TITLE": "Edit Canned Response", - "CANCEL_BUTTON_TEXT": "Cancel", + "TITLE": "미리 준비된 답변 수정", + "CANCEL_BUTTON_TEXT": "취소", "FORM": { "SHORT_CODE": { - "LABEL": "Short Code", - "PLACEHOLDER": "Please enter a shortcode", - "ERROR": "Short Code is required" + "LABEL": "단축 코드", + "PLACEHOLDER": "단축 코드를 입력하십시오.", + "ERROR": "단축 코드가 필요함" }, "CONTENT": { - "LABEL": "Content", - "PLACEHOLDER": "Please enter a content", - "ERROR": "Content is required" + "LABEL": "내용", + "PLACEHOLDER": "내용을 입력하십시오.", + "ERROR": "내용이 필요함" }, - "SUBMIT": "Submit" + "SUBMIT": "보내기" }, - "BUTTON_TEXT": "Edit", + "BUTTON_TEXT": "수정", "API": { - "SUCCESS_MESSAGE": "Canned Response updated successfully", - "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" + "SUCCESS_MESSAGE": "미리 준비된 답변이 성공적으로 추가됨", + "ERROR_MESSAGE": "Woot 서버에 연결할 수 없음. 나중에 다시 시도하십시오." } }, "DELETE": { - "BUTTON_TEXT": "Delete", + "BUTTON_TEXT": "삭제", "API": { - "SUCCESS_MESSAGE": "Canned response deleted successfully", - "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" + "SUCCESS_MESSAGE": "미리 준비된 답변이 성공적으로 삭제됨", + "ERROR_MESSAGE": "Woot 서버에 연결할 수 없음. 나중에 다시 시도하십시오." }, "CONFIRM": { - "TITLE": "Confirm Deletion", - "MESSAGE": "Are you sure to delete ", - "YES": "Yes, Delete ", - "NO": "No, Keep " + "TITLE": "삭제 확인", + "MESSAGE": "삭제하시겠습니까? ", + "YES": "예, 삭제합니다. ", + "NO": "아니요, 유지해주세요. " } } } diff --git a/app/javascript/dashboard/i18n/locale/ko/chatlist.json b/app/javascript/dashboard/i18n/locale/ko/chatlist.json index a0b31427f..826c75939 100644 --- a/app/javascript/dashboard/i18n/locale/ko/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/ko/chatlist.json @@ -1,84 +1,84 @@ { "CHAT_LIST": { - "LOADING": "Fetching conversations", - "LOAD_MORE_CONVERSATIONS": "Load more conversations", - "EOF": "All conversations loaded 🎉", + "LOADING": "대화 가져오기", + "LOAD_MORE_CONVERSATIONS": "더 많은 대화 불러오기", + "EOF": "모든 대화 불러오기🎉", "LIST": { - "404": "There are no active conversations in this group." + "404": "이 그룹에는 활성 대화가 없습니다." }, - "TAB_HEADING": "Conversations", + "TAB_HEADING": "대화", "SEARCH": { - "INPUT": "Search for People, Chats, Saved Replies .." + "INPUT": "사람 검색, 채팅, 저장된 응답..." }, "STATUS_TABS": [ { - "NAME": "Open", + "NAME": "열기", "KEY": "openCount" }, { - "NAME": "Resolved", + "NAME": "해결됨", "KEY": "allConvCount" } ], "ASSIGNEE_TYPE_TABS": [ { - "NAME": "Mine", + "NAME": "나에게 할당", "KEY": "me", "COUNT_KEY": "mineCount" }, { - "NAME": "Unassigned", + "NAME": "지정되지 않음", "KEY": "unassigned", "COUNT_KEY": "unAssignedCount" }, { - "NAME": "All", + "NAME": "모두", "KEY": "all", "COUNT_KEY": "allCount" } ], "CHAT_STATUS_ITEMS": [ { - "TEXT": "Open", + "TEXT": "열기", "VALUE": "open" }, { - "TEXT": "Resolved", + "TEXT": "해결됨", "VALUE": "resolved" }, { - "TEXT": "Bot", - "VALUE": "bot" + "TEXT": "봇", + "VALUE": "봇" } ], "ATTACHMENTS": { "image": { "ICON": "ion-image", - "CONTENT": "Picture message" + "CONTENT": "사진 메시지" }, "audio": { "ICON": "ion-volume-high", - "CONTENT": "Audio message" + "CONTENT": "음성 메시지" }, "video": { "ICON": "ion-ios-videocam", - "CONTENT": "Video message" + "CONTENT": "영상 메시지" }, "file": { "ICON": "ion-document", - "CONTENT": "File Attachment" + "CONTENT": "파일 첨부" }, "location": { "ICON": "ion-ios-location", - "CONTENT": "Location" + "CONTENT": "장소" }, "fallback": { "ICON": "ion-link", - "CONTENT": "has shared a url" + "CONTENT": "URL을 공유함" } }, - "RECEIVED_VIA_EMAIL": "Received via email", - "VIEW_TWEET_IN_TWITTER": "View tweet in Twitter", - "REPLY_TO_TWEET": "Reply to this tweet" + "RECEIVED_VIA_EMAIL": "이메일을 통해 수신됨", + "VIEW_TWEET_IN_TWITTER": "트위터에서 트윗 보기", + "REPLY_TO_TWEET": "트윗에 응답하기" } } diff --git a/app/javascript/dashboard/i18n/locale/ko/contact.json b/app/javascript/dashboard/i18n/locale/ko/contact.json index 684a56ee5..1577d54fe 100644 --- a/app/javascript/dashboard/i18n/locale/ko/contact.json +++ b/app/javascript/dashboard/i18n/locale/ko/contact.json @@ -1,113 +1,113 @@ { "CONTACT_PANEL": { - "NOT_AVAILABLE": "Not Available", - "EMAIL_ADDRESS": "Email Address", - "PHONE_NUMBER": "Phone number", - "COPY_SUCCESSFUL": "Copied to clipboard successfully", - "COMPANY": "Company", - "LOCATION": "Location", - "CONVERSATION_TITLE": "Conversation Details", - "BROWSER": "Browser", - "OS": "Operating System", - "INITIATED_FROM": "Initiated from", - "INITIATED_AT": "Initiated at", + "NOT_AVAILABLE": "사용할 수 없음", + "EMAIL_ADDRESS": "이메일 주소", + "PHONE_NUMBER": "휴대폰 번호", + "COPY_SUCCESSFUL": "클립보드에 성공적으로 복사됨", + "COMPANY": "회사", + "LOCATION": "장소", + "CONVERSATION_TITLE": "대화 자세히", + "BROWSER": "브라우저", + "OS": "운영 체제", + "INITIATED_FROM": "시작 위치", + "INITIATED_AT": "시작 시간", "CONVERSATIONS": { - "NO_RECORDS_FOUND": "There are no previous conversations associated to this contact.", - "TITLE": "Previous Conversations" + "NO_RECORDS_FOUND": "이 연락처와 관련된 이전 대화가 없습니다.", + "TITLE": "이전 대화" }, "CUSTOM_ATTRIBUTES": { - "TITLE": "Custom Attributes" + "TITLE": "사용자 지정 특성" }, "LABELS": { - "TITLE": "Conversation Labels", + "TITLE": "대화 라벨", "MODAL": { - "TITLE": "Labels for", - "ACTIVE_LABELS": "Labels added to the conversation", - "INACTIVE_LABELS": "Labels available in the account", - "REMOVE": "Click on X icon to remove the label", - "ADD": "Click on + icon to add the label", - "UPDATE_BUTTON": "Update labels", - "UPDATE_ERROR": "Couldn't update labels, try again." + "TITLE": "라벨", + "ACTIVE_LABELS": "대화에 추가된 라벨", + "INACTIVE_LABELS": "계정에서 사용할 수 있는 라벨", + "REMOVE": "라벨을 제거하려면 X 아이콘을 클릭하십시오.", + "ADD": "라벨을 추가하려면 + 아이콘을 클릭하십시오.", + "UPDATE_BUTTON": "라벨 업데이트", + "UPDATE_ERROR": "라벨을 업데이트할 수 없습니다. 다시 시도하십시오." }, - "NO_LABELS_TO_ADD": "There are no more labels defined in the account.", - "NO_AVAILABLE_LABELS": "There are no labels added to this conversation." + "NO_LABELS_TO_ADD": "계정에는 더 이상 라벨이 정의되어 있지 않습니다.", + "NO_AVAILABLE_LABELS": "이 대화에 추가된 라벨이 없습니다." }, - "MUTE_CONTACT": "Mute Conversation", - "UNMUTE_CONTACT": "Unmute Conversation", - "MUTED_SUCCESS": "This conversation is muted for 6 hours", - "UNMUTED_SUCCESS": "This conversation is unmuted", - "SEND_TRANSCRIPT": "Send Transcript", - "EDIT_LABEL": "Edit" + "MUTE_CONTACT": "대화 음소거", + "UNMUTE_CONTACT": "대화 음소거 해제", + "MUTED_SUCCESS": "이 대화는 6시간 동안 중단됩니다.", + "UNMUTED_SUCCESS": "이 대화는 음소거 되었습니다.", + "SEND_TRANSCRIPT": "대화기록 보내기", + "EDIT_LABEL": "수정" }, "EDIT_CONTACT": { - "BUTTON_LABEL": "Edit Contact", - "TITLE": "Edit contact", - "DESC": "Edit contact details", + "BUTTON_LABEL": "연락처 수정", + "TITLE": "연락처 수정", + "DESC": "연락처 수정 자세히", "FORM": { - "SUBMIT": "Submit", - "CANCEL": "Cancel", + "SUBMIT": "보내기", + "CANCEL": "취소", "AVATAR": { - "LABEL": "Contact Avatar" + "LABEL": "연락처 아바타" }, "NAME": { - "PLACEHOLDER": "Enter the full name of the contact", - "LABEL": "Full Name" + "PLACEHOLDER": "연락처의 전체 이름 입력", + "LABEL": "전체 이름" }, "BIO": { - "PLACEHOLDER": "Enter the bio of the contact", - "LABEL": "Bio" + "PLACEHOLDER": "연락처의 자기 소개 입력", + "LABEL": "자기 소개" }, "EMAIL_ADDRESS": { - "PLACEHOLDER": "Enter the email address of the contact", - "LABEL": "Email Address" + "PLACEHOLDER": "연락처의 이메일 주소 입력", + "LABEL": "이메일 주소" }, "PHONE_NUMBER": { - "PLACEHOLDER": "Enter the phone number of the contact", - "LABEL": "Phone Number" + "PLACEHOLDER": "연락처의 전화 번호 입력", + "LABEL": "전화 번호" }, "LOCATION": { - "PLACEHOLDER": "Enter the location of the contact", - "LABEL": "Location" + "PLACEHOLDER": "연락처 위치 입력", + "LABEL": "장소" }, "COMPANY_NAME": { - "PLACEHOLDER": "Enter the company name", - "LABEL": "Company Name" + "PLACEHOLDER": "회사명 입력", + "LABEL": "회사명" }, "SOCIAL_PROFILES": { "FACEBOOK": { - "PLACEHOLDER": "Enter the Facebook username", - "LABEL": "Facebook" + "PLACEHOLDER": "페이스북 사용자 이름 입력", + "LABEL": "페이스북" }, "TWITTER": { - "PLACEHOLDER": "Enter the Twitter username", - "LABEL": "Twitter" + "PLACEHOLDER": "트위터 사용자 이름 입력", + "LABEL": "트위터" }, "LINKEDIN": { - "PLACEHOLDER": "Enter the LinkedIn username", - "LABEL": "LinkedIn" + "PLACEHOLDER": "링크드인 사용자 이름 입력", + "LABEL": "링크드인" }, "GITHUB": { - "PLACEHOLDER": "Enter the Github username", - "LABEL": "Github" + "PLACEHOLDER": "깃허브 사용자 이름 입력", + "LABEL": "깃허브" } } }, - "SUCCESS_MESSAGE": "Updated contact successfully", - "CONTACT_ALREADY_EXIST": "This email address is in use for another contact.", - "ERROR_MESSAGE": "There was an error updating the contact, please try again" + "SUCCESS_MESSAGE": "연락처 업데이트 완료", + "CONTACT_ALREADY_EXIST": "이 이메일 주소는 다른 연락처에 사용 중입니다.", + "ERROR_MESSAGE": "연락처를 업데이트하는 동안 오류가 발생했습니다. 다시 시도하십시오." }, "CONTACTS_PAGE": { - "HEADER": "Contacts", - "SEARCH_BUTTON": "Search", - "SEARCH_INPUT_PLACEHOLDER": "Search for contacts", + "HEADER": "연락처", + "SEARCH_BUTTON": "검색", + "SEARCH_INPUT_PLACEHOLDER": "연락처 검색", "LIST": { - "LOADING_MESSAGE": "Loading contacts...", - "404": "No contacts matches your search 🔍", + "LOADING_MESSAGE": "연락처를 불러오는 중...", + "404": "검색과 일치하는 연락처 없음 🔍", "TABLE_HEADER": [ - "Name", - "Phone Number", - "Conversations", - "Last Contacted" + "이름", + "전화 번호", + "대화", + "마지막으로 연락한 사람" ] } } diff --git a/app/javascript/dashboard/i18n/locale/ko/conversation.json b/app/javascript/dashboard/i18n/locale/ko/conversation.json index 2c588418c..e5e71e342 100644 --- a/app/javascript/dashboard/i18n/locale/ko/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ko/conversation.json @@ -1,69 +1,71 @@ { "CONVERSATION": { - "404": "Please select a conversation from left pane", - "NO_MESSAGE_1": "Uh oh! Looks like there are no messages from customers in your inbox.", - "NO_MESSAGE_2": " to send a message to your page!", - "NO_INBOX_1": "Hola! Looks like you haven't added any inboxes yet.", - "NO_INBOX_2": " to get started", - "NO_INBOX_AGENT": "Uh Oh! Looks like you are not part of any inbox. Please contact your administrator", - "SEARCH_MESSAGES": "Search for messages in conversations", + "404": "왼쪽 창에서 대화를 선택하십시오.", + "NO_MESSAGE_1": "어라! 받은 메시지함에 고객의 메시지가 없는 것 같아요.", + "NO_MESSAGE_2": " 페이지에 메시지를 보내기 위해서!", + "NO_INBOX_1": "안녕! 아직 받은 편지함을 하나도 추가하지 않은 것 같아요.", + "NO_INBOX_2": " 시작하려면", + "NO_INBOX_AGENT": "오! 어떤 받은 메시지함에도 속하지 않는 것 같습니다. 관리자에게 문의하십시오.", + "SEARCH_MESSAGES": "대화에서 메시지 검색", "SEARCH": { - "TITLE": "Search messages", - "LOADING_MESSAGE": "Crunching data...", - "PLACEHOLDER": "Type any text to search messages", - "NO_MATCHING_RESULTS": "There are no messages matching the search parameters." + "TITLE": "메시지 검색", + "LOADING_MESSAGE": "데이터 처리 중...", + "PLACEHOLDER": "메시지를 검색할 텍스트 입력", + "NO_MATCHING_RESULTS": "검색 매개 변수와 일치하는 메시지가 없음" }, - "CLICK_HERE": "Click here", - "LOADING_INBOXES": "Loading inboxes", - "LOADING_CONVERSATIONS": "Loading Conversations", - "CANNOT_REPLY": "You cannot reply due to", - "24_HOURS_WINDOW": "24 hour message window restriction", - "LAST_INCOMING_TWEET": "You are replying to the last incoming tweet", - "REPLYING_TO": "You are replying to:", - "REMOVE_SELECTION": "Remove Selection", - "DOWNLOAD": "Download", + "UNREAD_MESSAGES": "안 읽은 메시지", + "UNREAD_MESSAGE": "안 읽은 메시지", + "CLICK_HERE": "여기를 클릭하세요.", + "LOADING_INBOXES": "받은 메시지함 불러오는 중", + "LOADING_CONVERSATIONS": "대화 불러오는 중", + "CANNOT_REPLY": "당신은 답장을 할 수 없습니다", + "24_HOURS_WINDOW": "24시간 메시지 창 제한", + "LAST_INCOMING_TWEET": "마지막 수신 트윗에 회신하는 경우", + "REPLYING_TO": "회신할 대상:", + "REMOVE_SELECTION": "선택 항목 제거", + "DOWNLOAD": "다운로드", "HEADER": { - "RESOLVE_ACTION": "Resolve", - "REOPEN_ACTION": "Reopen", - "OPEN": "More", - "CLOSE": "Close", - "DETAILS": "details" + "RESOLVE_ACTION": "해결함", + "REOPEN_ACTION": "다시 열기", + "OPEN": "더보기", + "CLOSE": "닫기", + "DETAILS": "자세히" }, "FOOTER": { - "MSG_INPUT": "Shift + enter for new line. Start with '/' to select a Canned Response.", - "PRIVATE_MSG_INPUT": "Shift + enter for new line. This will be visible only to Agents" + "MSG_INPUT": "줄바꿈을 하시려면 Shift + enter 클릭하십시오. '/'로 시작하여 미리 준비된 답변을 사용할 수 있습니다.", + "PRIVATE_MSG_INPUT": "줄바꿈을 하시려면 Shift + enter 클릭하십시오. 에이전트만 볼 수 있습니다." }, "REPLYBOX": { - "REPLY": "Reply", - "PRIVATE_NOTE": "Private Note", - "SEND": "Send", - "CREATE": "Add Note", - "TWEET": "Tweet" + "REPLY": "답글", + "PRIVATE_NOTE": "개인 노트", + "SEND": "보내기", + "CREATE": "노트 추가", + "TWEET": "트윗" }, - "VISIBLE_TO_AGENTS": "Private Note: Only visible to you and your team", - "CHANGE_STATUS": "Conversation status changed", - "CHANGE_AGENT": "Conversation Assignee changed", - "SENT_BY": "Sent by:", + "VISIBLE_TO_AGENTS": "개인 노트: 귀하와 귀하의 팀만 볼 수 있음", + "CHANGE_STATUS": "대화 상태가 변경됨", + "CHANGE_AGENT": "대화 담당자가 변경됨", + "SENT_BY": "보낸 사람:", "ASSIGNMENT": { - "SELECT_AGENT": "Select Agent", - "REMOVE": "Remove", - "ASSIGN": "Assign" + "SELECT_AGENT": "에이전트 선택", + "REMOVE": "제거", + "ASSIGN": "할당하다" } }, "EMAIL_TRANSCRIPT": { - "TITLE": "Send conversation transcript", - "DESC": "Send a copy of the conversation transcript to the specified email address", - "SUBMIT": "Submit", - "CANCEL": "Cancel", - "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", - "SEND_EMAIL_ERROR": "There was an error, please try again", + "TITLE": "대화 내용 보내기", + "DESC": "지정된 이메일 주소로 대화 내용 사본 보내기", + "SUBMIT": "보내기", + "CANCEL": "취소", + "SEND_EMAIL_SUCCESS": "대화 내용이 성공적으로 전송됨", + "SEND_EMAIL_ERROR": "오류가 발생했습니다. 다시 시도하십시오.", "FORM": { - "SEND_TO_CONTACT": "Send the transcript to the customer", - "SEND_TO_AGENT": "Send the transcript to the assigned agent", - "SEND_TO_OTHER_EMAIL_ADDRESS": "Send the transcript to another email address", + "SEND_TO_CONTACT": "고객에게 대화기록 보내기", + "SEND_TO_AGENT": "할당된 에이전트로 스크립트 보내기", + "SEND_TO_OTHER_EMAIL_ADDRESS": "다른 이메일 주소로 대화기록 보내기", "EMAIL": { - "PLACEHOLDER": "Enter an email address", - "ERROR": "Please enter a valid email address" + "PLACEHOLDER": "이메일 주소 입력", + "ERROR": "올바른 전자 메일 주소를 입력하십시오." } } } diff --git a/app/javascript/dashboard/i18n/locale/ko/generalSettings.json b/app/javascript/dashboard/i18n/locale/ko/generalSettings.json index 152545467..e685f7450 100644 --- a/app/javascript/dashboard/i18n/locale/ko/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/ko/generalSettings.json @@ -1,54 +1,54 @@ { "GENERAL_SETTINGS": { - "TITLE": "Account settings", - "SUBMIT": "Update settings", - "BACK": "Back", + "TITLE": "계정 설정", + "SUBMIT": "설정 업데이트", + "BACK": "뒤로", "UPDATE": { - "ERROR": "Could not update settings, try again!", - "SUCCESS": "Successfully updated account settings" + "ERROR": "설정을 업데이트할 수 없습니다, 다시 시도하십시오!", + "SUCCESS": "계정 설정이 성공적으로 업데이트됨" }, "FORM": { - "ERROR": "Please fix form errors", + "ERROR": "양식 오류를 수정하십시오.", "GENERAL_SECTION": { - "TITLE": "General settings", + "TITLE": "일반 설정", "NOTE": "" }, "NAME": { - "LABEL": "Account name", - "PLACEHOLDER": "Your account name", - "ERROR": "Please enter a valid account name" + "LABEL": "계정 이름", + "PLACEHOLDER": "당신의 계정 이름", + "ERROR": "올바른 계정 이름을 입력하십시오." }, "LANGUAGE": { - "LABEL": "Site language (Beta)", - "PLACEHOLDER": "Your account name", + "LABEL": "사이트 언어 (베타)", + "PLACEHOLDER": "당신의 계정 이름", "ERROR": "" }, "DOMAIN": { - "LABEL": "Incoming Email Domain", - "PLACEHOLDER": "The domain where you will receive the emails", + "LABEL": "수신 이메일 도메인", + "PLACEHOLDER": "이메일을 수신할 도메인", "ERROR": "" }, "SUPPORT_EMAIL": { - "LABEL": "Support Email", - "PLACEHOLDER": "Your company's support email", + "LABEL": "이메일 지원", + "PLACEHOLDER": "회사 지원 이메일", "ERROR": "" }, "AUTO_RESOLVE_DURATION": { - "LABEL": "Number of days after a ticket should auto resolve if there is no activity", + "LABEL": "활동이 없는 경우 티켓이 자동으로 해결되는 일 수", "PLACEHOLDER": "30", - "ERROR": "Please enter a valid auto resolve duration (minimum 1 day)" + "ERROR": "올바른 자동 확인 기간을 입력하십시오. (최소 1일)" }, "FEATURES": { - "INBOUND_EMAIL_ENABLED": "Conversation continuity with emails is enabled for your account.", - "CUSTOM_EMAIL_DOMAIN_ENABLED": "You can receive emails in your custom domain now." + "INBOUND_EMAIL_ENABLED": "계정에 대해 이메일을 통한 대화 연속성이 활성화되었습니다.", + "CUSTOM_EMAIL_DOMAIN_ENABLED": "지금 사용자 지정 도메인에서 이메일을 받을 수 있다." } } }, "FORMS": { "MULTISELECT": { - "ENTER_TO_SELECT": "Press enter to select", - "ENTER_TO_REMOVE": "Press enter to remove", - "SELECT_ONE": "Select one" + "ENTER_TO_SELECT": "선택하려면 Enter 키를 누르십시오.", + "ENTER_TO_REMOVE": "제거하려면 Enter 키를 누르십시오.", + "SELECT_ONE": "하나 선택" } } } diff --git a/app/javascript/dashboard/i18n/locale/ko/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ko/inboxMgmt.json index 6598b2b6f..320d9435c 100644 --- a/app/javascript/dashboard/i18n/locale/ko/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ko/inboxMgmt.json @@ -1,253 +1,253 @@ { "INBOX_MGMT": { - "HEADER": "Inboxes", - "SIDEBAR_TXT": "

Inbox

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

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

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

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

", + "HEADER": "받은 메시지함", + "SIDEBAR_TXT": "

받은 메시지함

웹사이트나 페이스북 페이지를 Chatwoot에 연결한 것을 받은 메시지함이라고 합니다. 당신은 당신의 Chatwoot 계정에 무제한의 받은 편지함을 가질 수 있습니다.

받은 메시지함 추가를 클릭하여 웹 사이트 또는 Facebook 페이지를 연결하십시오.

대시보드에서는 모든 받은 메시지함의 모든 대화를 한 곳에서 볼 수 있으며 대화 탭에서는 이에 응답할 수 있습니다.\n

대시보드의 왼쪽 창에서 받은 메시지함 이름을 눌러 관련 대화를 볼 수 있습니다.\n

", "LIST": { - "404": "There are no inboxes attached to this account." + "404": "이 계정에는 첨부된 받은 메시지함이 없습니다." }, "CREATE_FLOW": [ { - "title": "Choose Channel", + "title": "채널 선택", "route": "settings_inbox_new", - "body": "Choose the provider you want to integrate with Chatwoot." + "body": "Chatwoot와 통합할 공급자를 선택하십시오." }, { - "title": "Create Inbox", + "title": "받은 메시지함 만들기", "route": "settings_inboxes_page_channel", - "body": "Authenticate your account and create an inbox." + "body": "계정을 인증하고 받은 메시지함을 만드십시오." }, { - "title": "Add Agents", + "title": "에이전트 추가", "route": "settings_inboxes_add_agents", - "body": "Add agents to the created inbox." + "body": "생성된 받은 메시지함에 에이전트를 추가하십시오." }, { - "title": "Voila!", + "title": "여기 있습니다.", "route": "settings_inbox_finish", - "body": "You are all set to go!" + "body": "준비가 완료되었습니다." } ], "ADD": { "FB": { - "HELP": "PS: By signing in, we only get access to your Page's messages. Your private messages can never be accessed by Chatwoot.", - "CHOOSE_PAGE": "Choose Page", - "CHOOSE_PLACEHOLDER": "Select a page from the list", - "INBOX_NAME": "Inbox Name", - "ADD_NAME": "Add a name for your inbox", - "PICK_NAME": "Pick A Name Your Inbox", - "PICK_A_VALUE": "Pick a value" + "HELP": "추신: 로그인을 함으로써, 우리는 오직 당신의 페이지의 메시지에 접근할 수 있다. 당신의 사적인 메시지에 Chatwoot는 절대 접근할 수 없습니다.", + "CHOOSE_PAGE": "페이지 선택", + "CHOOSE_PLACEHOLDER": "목록에서 페이지 선택", + "INBOX_NAME": "받은 메시지함 이름", + "ADD_NAME": "받은 메시지함의 이름 추가", + "PICK_NAME": "받은 편지함 이름 선택", + "PICK_A_VALUE": "값 선택" }, "TWITTER": { - "HELP": "To add your Twitter profile as a channel, you need to authenticate your Twitter Profile by clicking on 'Sign in with Twitter' " + "HELP": "트위터 프로필을 채널로 추가하려면 '트위터로 로그인'을 클릭하여 트위터 프로필을 인증해야 합니다. " }, "WEBSITE_CHANNEL": { - "TITLE": "Website channel", - "DESC": "Create a channel for your website and start supporting your customers via our website widget.", - "LOADING_MESSAGE": "Creating Website Support Channel", + "TITLE": "웹사이트 채널", + "DESC": "웹사이트를 위한 채널을 만들고 웹사이트 위젯을 통해 고객 지원을 시작하십시오.", + "LOADING_MESSAGE": "웹사이트 지원 채널 만들기", "CHANNEL_AVATAR": { - "LABEL": "Channel Avatar" + "LABEL": "채널 아바타" }, "CHANNEL_NAME": { - "LABEL": "Website Name", - "PLACEHOLDER": "Enter your website name (eg: Acme Inc)" + "LABEL": "웹사이트 이름", + "PLACEHOLDER": "웹사이트 이름 입력 (예: Acme Inc)" }, "CHANNEL_DOMAIN": { - "LABEL": "Website Domain", - "PLACEHOLDER": "Enter your website domain (eg: acme.com)" + "LABEL": "웹사이트 도메인", + "PLACEHOLDER": "웹사이트 도메인을 입력하십시오 (예: acme.com)" }, "CHANNEL_WELCOME_TITLE": { - "LABEL": "Welcome Heading", - "PLACEHOLDER": "Hi there !" + "LABEL": "헤드라인 입력", + "PLACEHOLDER": "안녕하세요!" }, "CHANNEL_WELCOME_TAGLINE": { - "LABEL": "Welcome Tagline", - "PLACEHOLDER": "We make it simple to connect with us. Ask us anything, or share your feedback." + "LABEL": "태그라인 입력", + "PLACEHOLDER": "우리는 간단하게 우리와 연결되도록 합니다. 우리에게 무엇이든 물어보거나 피드백을 공유하십시오." }, "CHANNEL_GREETING_MESSAGE": { - "LABEL": "Channel greeting message", - "PLACEHOLDER": "Acme Inc typically replies in a few hours." + "LABEL": "채널 인사말 메시지", + "PLACEHOLDER": "Acme Inc. 는 일반적으로 몇 시간 후에 회신합니다." }, "CHANNEL_GREETING_TOGGLE": { - "LABEL": "Enable channel greeting", - "HELP_TEXT": "Send a greeting message to the user when he starts the conversation.", - "ENABLED": "Enabled", - "DISABLED": "Disabled" + "LABEL": "채널 인사말 사용", + "HELP_TEXT": "대화를 시작할 때 사용자에게 인사말을 보내십시오.", + "ENABLED": "사용함", + "DISABLED": "사용 안 함" }, "REPLY_TIME": { - "TITLE": "Set Reply time", - "IN_A_FEW_MINUTES": "In a few minutes", - "IN_A_FEW_HOURS": "In a few hours", - "IN_A_DAY": "In a day", - "HELP_TEXT": "This reply time will be displayed on the live chat widget" + "TITLE": "응답 시간 설정", + "IN_A_FEW_MINUTES": "몇 분 후에", + "IN_A_FEW_HOURS": "몇 시간 안에", + "IN_A_DAY": "며칠 안에", + "HELP_TEXT": "이 응답 시간은 라이브 채팅 위젯에 표시됨" }, "WIDGET_COLOR": { - "LABEL": "Widget Color", - "PLACEHOLDER": "Update the widget color used in widget" + "LABEL": "위젯 색깔", + "PLACEHOLDER": "위젯에 사용된 위젯 색상 업데이트" }, - "SUBMIT_BUTTON": "Create inbox" + "SUBMIT_BUTTON": "받은 메시지함 만들기" }, "TWILIO": { - "TITLE": "Twilio SMS/Whatsapp Channel", - "DESC": "Integrate Twilio and start supporting your customers via SMS or Whatsapp.", + "TITLE": "Twilio SMS/Whatsapp 채널", + "DESC": "Twilio를 통합하고 SMS 또는 Whatsapp을 통해 고객을 지원하십시오.", "ACCOUNT_SID": { - "LABEL": "Account SID", - "PLACEHOLDER": "Please enter your Twilio Account SID", - "ERROR": "This field is required" + "LABEL": "계정 SID", + "PLACEHOLDER": "Twilio 계정 SID를 입력하십시오.", + "ERROR": "해당 입력란은 필수 입력 사항입니다." }, "CHANNEL_TYPE": { - "LABEL": "Channel Type", - "ERROR": "Please select your Channel Type" + "LABEL": "채널 유형", + "ERROR": "채널 유형을 선택하십시오." }, "AUTH_TOKEN": { - "LABEL": "Auth Token", - "PLACEHOLDER": "Please enter your Twilio Auth Token", - "ERROR": "This field is required" + "LABEL": "인증 토큰", + "PLACEHOLDER": "Twilio Auth 토큰을 입력하십시오.", + "ERROR": "해당 입력란은 필수 입력 사항입니다." }, "CHANNEL_NAME": { - "LABEL": "Channel Name", - "PLACEHOLDER": "Please enter a channel name", - "ERROR": "This field is required" + "LABEL": "채널 이름", + "PLACEHOLDER": "채널 이름을 입력하십시오.", + "ERROR": "해당 입력란은 필수 입력 사항입니다." }, "PHONE_NUMBER": { - "LABEL": "Phone number", - "PLACEHOLDER": "Please enter the phone number from which message will be sent.", - "ERROR": "Please enter a valid value. Phone number should start with `+` sign." + "LABEL": "휴대폰 번호", + "PLACEHOLDER": "메시지를 보낼 전화 번호를 입력하십시오.", + "ERROR": "올바른 값을 입력하십시오. 전화번호는 + 기호로 시작해야 한다." }, "API_CALLBACK": { - "TITLE": "Callback URL", - "SUBTITLE": "You have to configure the message callback URL in Twilio with the URL mentioned here." + "TITLE": "콜백 URL", + "SUBTITLE": "여기에 설치된 URL로 Twilio에서 메시지 콜백 URL을 구성해야 합니다." }, - "SUBMIT_BUTTON": "Create Twilio Channel", + "SUBMIT_BUTTON": "Twilio 채널 만들기", "API": { - "ERROR_MESSAGE": "We were not able to authenticate Twilio credentials, please try again" + "ERROR_MESSAGE": "Twilio 자격 증명을 인증할 수 없습니다. 다시 시도하십시오." } }, "API_CHANNEL": { - "TITLE": "API Channel", - "DESC": "Integrate with API channel and start supporting your customers.", + "TITLE": "API 채널", + "DESC": "API 채널과 통합하여 고객 지원을 시작하십시오.", "CHANNEL_NAME": { - "LABEL": "Channel Name", - "PLACEHOLDER": "Please enter a channel name", - "ERROR": "This field is required" + "LABEL": "채널 이름", + "PLACEHOLDER": "채널 이름을 입력하십시오.", + "ERROR": "해당 입력란은 필수 입력 사항입니다." }, "WEBHOOK_URL": { - "LABEL": "Webhook URL", - "SUBTITLE": "Configure the URL where you want to recieve callbacks on events.", - "PLACEHOLDER": "Webhook URL" + "LABEL": "웹훅 URL", + "SUBTITLE": "이벤트에 대한 콜백을 수신할 URL을 구성하십시오.", + "PLACEHOLDER": "웹훅 URL" }, - "SUBMIT_BUTTON": "Create API Channel", + "SUBMIT_BUTTON": "API 채널 만들기", "API": { - "ERROR_MESSAGE": "We were not able to save the api channel" + "ERROR_MESSAGE": "우리는 API 채널을 저장할 수 없습니다." } }, "EMAIL_CHANNEL": { - "TITLE": "Email Channel", - "DESC": "Integrate you email inbox.", + "TITLE": "이메일 채널", + "DESC": "이메일 받은 편지함을 통합하십시오.", "CHANNEL_NAME": { - "LABEL": "Channel Name", - "PLACEHOLDER": "Please enter a channel name", - "ERROR": "This field is required" + "LABEL": "채널 이름", + "PLACEHOLDER": "채널 이름을 입력하십시오.", + "ERROR": "해당 입력란은 필수 입력 사항입니다." }, "EMAIL": { - "LABEL": "Email", - "SUBTITLE": "Email where your customers sends you support tickets", - "PLACEHOLDER": "Email" + "LABEL": "이메일", + "SUBTITLE": "고객이 지원 티켓을 보내는 이메일", + "PLACEHOLDER": "이메일" }, - "SUBMIT_BUTTON": "Create Email Channel", + "SUBMIT_BUTTON": "이메일 채널 만들기", "API": { - "ERROR_MESSAGE": "We were not able to save the email channel" + "ERROR_MESSAGE": "이메일 채널을 저장할 수 없습니다." }, - "FINISH_MESSAGE": "Start forwarding your emails to the following email address." + "FINISH_MESSAGE": "당신의 이메일 주소로 이메일 전달을 시작하십시오." }, "AUTH": { - "TITLE": "Channels", - "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." + "TITLE": "채널", + "DESC": "현재 우리는 웹사이트 라이브 채팅 위젯, 페이스북 페이지 및 트위터 프로필을 플랫폼으로 지원한다. 우리는 곧 왓츠앱, 이메일, 텔레그램, 라인 같은 플랫폼이 출시될 예정입니다." }, "AGENTS": { - "TITLE": "Agents", - "DESC": "Here you can add agents to manage your newly created inbox. Only these selected agents will have access to your inbox. Agents which are not part of this inbox will not be able to see or respond to messages in this inbox when they login.
PS: As an administrator, if you need access to all inboxes, you should add yourself as agent to all inboxes that you create.", - "VALIDATION_ERROR": "Add atleast one agent to your new Inbox", - "PICK_AGENTS": "Pick agents for the inbox" + "TITLE": "에이전트", + "DESC": "여기서 에이전트를 추가하여 새로 만든 받은 메시지함을 관리할 수 있습니다. 선택된 에이전트만 받은 메시지함에 엑세스할 수 있습니다. 해당 받은 메시지함에 선택되지 않은 에이전트는 메시지를 보거나 응답할 수 없습니다.
추신: 관리자로서 모든 받은 문서에 대한 액세스 권한이 필요한 경우, 자신이 만든 모든 받은 문서에 자신을 에이전트로 추가해야 합니다.", + "VALIDATION_ERROR": "새 받은 메시지함에 하나 이상의 에이전트 추가", + "PICK_AGENTS": "받은 메시지함에 대한 에이전트 선택" }, "DETAILS": { - "TITLE": "Inbox Details", - "DESC": "From the dropdown below, select the Facebook Page you want to connect to Chatwoot. You can also give a custom name to your inbox for better identification." + "TITLE": "받은 메시지함 자세히", + "DESC": "아래 드롭다운에서 Chatwoot에 연결할 Facebook 페이지를 선택하십시오. 더 나은 식별을 위해 받은 메시지함에 사용자 정의 이름을 지정할 수 있습니다." }, "FINISH": { - "TITLE": "Nailed It!", - "DESC": "You have successfully finished integrating your Facebook Page with Chatwoot. Next time a customer messages your Page, the conversation will automatically appear on your inbox.
We are also providing you with a widget script that you can easily add to your website. Once this is live on your website, customers can message you right from your website without the help of any external tool and the conversation will appear right here, on Chatwoot.
Cool, huh? Well, we sure try to be :)" + "TITLE": "못 박았다!", + "DESC": "Facebook 페이지를 Chatwoot와 성공적으로 통합하셨습니다. 다음부터 고객이 페이지에 메시지를 보낼 때, 대화는 받은 메시지함에 자동으로 나타납니다.
웹사이트에 쉽게 추가할 수 있는 위젯 스크립트도 제공하고 있습니다. 일단 당신의 웹사이트에 생방송으로 접속하면, 고객들은 어떠한 외부 도구의 도움 없이도 당신의 웹사이트에서 바로 당신에게 메시지를 보낼 수 있고, 대화는 바로 여기 Chatwoot에 나타납니다.<
멋지죠? 음, 우리는 그럴려고 노력합니다 :)" } }, "DETAILS": { - "LOADING_FB": "Authenticating you with Facebook...", - "ERROR_FB_AUTH": "Something went wrong, Please refresh page...", - "CREATING_CHANNEL": "Creating your Inbox...", - "TITLE": "Configure Inbox Details", + "LOADING_FB": "페이스북 인증하는 중...", + "ERROR_FB_AUTH": "문제가 발생했습니다 페이지를 새로 고치십시오...", + "CREATING_CHANNEL": "받은 메시지함을 만드는 중...", + "TITLE": "받은 메시지함 세부 구성", "DESC": "" }, "AGENTS": { - "BUTTON_TEXT": "Add agents", - "ADD_AGENTS": "Adding Agents to your Inbox..." + "BUTTON_TEXT": "에이전트 추가", + "ADD_AGENTS": "받은 메시지함에 에이전트를 추가하는 중..." }, "FINISH": { - "TITLE": "Your Inbox is ready!", - "MESSAGE": "You can now engage with your customers through your new Channel. Happy supporting ", - "BUTTON_TEXT": "Take me there", - "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox." + "TITLE": "받은 메시지함이 준비됨!", + "MESSAGE": "이제 새로운 채널을 통해 고객과 대화할 수 있습니다. 행복한 지원 ", + "BUTTON_TEXT": "나를 그곳으로 데려주세요.", + "WEBSITE_SUCCESS": "웹사이트 채널 만들기를 완료하셨습니다. 아래 표시된 코드를 복사하여 웹사이트에 붙여 넣으십시오. 다음에 고객이 라이브 채팅을 사용할 때 대화는 받은 편지함에 자동으로 표시됩니다." }, - "REAUTH": "Reauthorize", - "VIEW": "View", + "REAUTH": "재승인", + "VIEW": "보기", "EDIT": { "API": { - "SUCCESS_MESSAGE": "Inbox settings updated successfully", - "AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Auto assignment updated successfully", - "ERROR_MESSAGE": "Could not update widget color. Please try again later." + "SUCCESS_MESSAGE": "받은 메시지함 설정이 성공적으로 업데이트됨", + "AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "자동 할당 업데이트 완료", + "ERROR_MESSAGE": "위젯 색상을 업데이트할 수 없음. 나중에 다시 시도해 주십시오." }, "AUTO_ASSIGNMENT": { - "ENABLED": "Enabled", - "DISABLED": "Disabled" + "ENABLED": "사용함", + "DISABLED": "사용 안 함" } }, "DELETE": { - "BUTTON_TEXT": "Delete", + "BUTTON_TEXT": "삭제", "CONFIRM": { - "TITLE": "Confirm Deletion", - "MESSAGE": "Are you sure to delete ", - "YES": "Yes, Delete ", - "NO": "No, Keep " + "TITLE": "삭제 확인", + "MESSAGE": "삭제하시겠습니까? ", + "YES": "예, 삭제합니다. ", + "NO": "아니요, 유지해주세요. " }, "API": { - "SUCCESS_MESSAGE": "Inbox deleted successfully", - "ERROR_MESSAGE": "Could not delete inbox. Please try again later." + "SUCCESS_MESSAGE": "받은 메시지함이 성공적으로 삭제됨.", + "ERROR_MESSAGE": "받은 편지함을 삭제할 수 없음. 나중에 다시 시도해 주십시오." } }, "TABS": { - "SETTINGS": "Settings", - "COLLABORATORS": "Collaborators", - "CONFIGURATION": "Configuration" + "SETTINGS": "설정", + "COLLABORATORS": "협력자", + "CONFIGURATION": "설치" }, - "SETTINGS": "Settings", + "SETTINGS": "설정", "FEATURES": { - "LABEL": "Features", - "DISPLAY_FILE_PICKER": "Display file picker on the widget", - "DISPLAY_EMOJI_PICKER": "Display emoji picker on the widget" + "LABEL": "특징", + "DISPLAY_FILE_PICKER": "위젯에 파일 선택기 표시", + "DISPLAY_EMOJI_PICKER": "위젯에 이모지 선택기 표시" }, "SETTINGS_POPUP": { - "MESSENGER_HEADING": "Messenger Script", - "MESSENGER_SUB_HEAD": "Place this button inside your body tag", - "INBOX_AGENTS": "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." + "MESSENGER_HEADING": "메신저 스크립트", + "MESSENGER_SUB_HEAD": "이 버튼을 당신의 body 태그 안에 넣으세요.", + "INBOX_AGENTS": "에이전트", + "INBOX_AGENTS_SUB_TEXT": "받은 메시지함에서 에이전트 추가 또는 제거", + "UPDATE": "업데이트", + "AUTO_ASSIGNMENT": "자동 할당 사용", + "INBOX_UPDATE_TITLE": "받은 메시지함 설정", + "INBOX_UPDATE_SUB_TEXT": "받은 메시지함 설정 업데이트", + "AUTO_ASSIGNMENT_SUB_TEXT": "받은 메시지에 추가된 에이전트에 새 대화를 자동으로 할당하거나 할당하지 않도록 설정하십시오." }, "FACEBOOK_REAUTHORIZE": { - "TITLE": "Reauthorize", - "SUBTITLE": "Your Facebook connection has expired, please reconnect your Facebook page to continue services", - "MESSAGE_SUCCESS": "Reconnection successful", - "MESSAGE_ERROR": "There was an error, please try again" + "TITLE": "재승인", + "SUBTITLE": "페이스북 연결이 만료되었습니다. 서비스를 계속하려면 페이스북 페이지를 다시 연결하십시오.", + "MESSAGE_SUCCESS": "다시 연결 성공", + "MESSAGE_ERROR": "오류가 발생했습니다. 다시 시도하십시오." } } } diff --git a/app/javascript/dashboard/i18n/locale/ko/integrations.json b/app/javascript/dashboard/i18n/locale/ko/integrations.json index 8e158982a..97034821e 100644 --- a/app/javascript/dashboard/i18n/locale/ko/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ko/integrations.json @@ -1,61 +1,61 @@ { "INTEGRATION_SETTINGS": { - "HEADER": "Integrations", + "HEADER": "통합", "WEBHOOK": { - "TITLE": "Webhook", - "CONFIGURE": "Configure", - "HEADER": "Webhook settings", - "HEADER_BTN_TXT": "Add new webhook", - "LOADING": "Fetching attached webhooks", - "SEARCH_404": "There are no items matching this query", - "SIDEBAR_TXT": "

Webhooks

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

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

", + "TITLE": "웹훅", + "CONFIGURE": "구성", + "HEADER": "웹훅 설정", + "HEADER_BTN_TXT": "새 웹훅 추가", + "LOADING": "첨부된 웹훅을 가져오는 중", + "SEARCH_404": "이 쿼리와 일치하는 항목이 없음", + "SIDEBAR_TXT": "

라벨

라벨은 대화를 분류하고 우선순위를 정하는 데 도움이 된다. 사이드패널에서 대화에 라벨을 할당할 수 있다.

라벨은 계정에 연결되며 조직에서 사용자 정의 워크플로우를 만드는 데 사용할 수 있다. 라벨에 사용자 정의 색상을 지정할 수 있으며, 라벨을 쉽게 식별할 수 있다. 사이드바에 라벨을 표시하여 대화를 쉽게 필터링할 수 있다.

", "LIST": { - "404": "There are no webhooks configured for this account.", - "TITLE": "Manage webhooks", + "404": "이 계정에 구성된 웹훅이 없음.", + "TITLE": "웹훅 관리", "TABLE_HEADER": [ - "Webhook endpoint", - "Actions" + "웹훅 엔드포인트", + "액션" ] }, "ADD": { - "CANCEL": "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.", + "CANCEL": "취소", + "TITLE": "새 웹훅 추가", + "DESC": "웹훅 이벤트는 Chatwoot 계정에서 일어나는 일에 대한 실시간 정보를 제공합니다. 콜백을 구성하려면 유효한 URL을 입력하십시오.", "FORM": { "END_POINT": { - "LABEL": "Webhook URL", - "PLACEHOLDER": "Example: https://example/api/webhook", - "ERROR": "Please enter a valid URL" + "LABEL": "웹훅 URL", + "PLACEHOLDER": "예시: https://example/api/webhook", + "ERROR": "올바른 URL을 입력하십시오." }, - "SUBMIT": "Create webhook" + "SUBMIT": "웹훅 만들기" }, "API": { - "SUCCESS_MESSAGE": "Webhook added successfully", - "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" + "SUCCESS_MESSAGE": "웹훅이 성공적으로 추가됨", + "ERROR_MESSAGE": "Woot 서버에 연결할 수 없음. 나중에 다시 시도하십시오." } }, "DELETE": { - "BUTTON_TEXT": "Delete", + "BUTTON_TEXT": "삭제", "API": { - "SUCCESS_MESSAGE": "Webhook deleted successfully", - "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" + "SUCCESS_MESSAGE": "웹훅이 성공적으로 삭제됨", + "ERROR_MESSAGE": "Woot 서버에 연결할 수 없음. 나중에 다시 시도하십시오." }, "CONFIRM": { - "TITLE": "Confirm Deletion", - "MESSAGE": "Are you sure to delete ", - "YES": "Yes, Delete ", - "NO": "No, Keep it" + "TITLE": "삭제 확인", + "MESSAGE": "삭제하시겠습니까? ", + "YES": "예, 삭제합니다. ", + "NO": "아니요, 유지합니다." } } }, "DELETE": { - "BUTTON_TEXT": "Delete", + "BUTTON_TEXT": "삭제", "API": { - "SUCCESS_MESSAGE": "Integration deleted successfully" + "SUCCESS_MESSAGE": "통합이 성공적으로 삭제됨." } }, "CONNECT": { - "BUTTON_TEXT": "Connect" + "BUTTON_TEXT": "연결" } } } diff --git a/app/javascript/dashboard/i18n/locale/ko/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/ko/labelsMgmt.json index b0dbe439f..b046ccaee 100644 --- a/app/javascript/dashboard/i18n/locale/ko/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ko/labelsMgmt.json @@ -1,67 +1,67 @@ { "LABEL_MGMT": { - "HEADER": "Labels", - "HEADER_BTN_TXT": "Add label", - "LOADING": "Fetching labels", - "SEARCH_404": "There are no items matching this query", - "SIDEBAR_TXT": "

Labels

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

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

", + "HEADER": "라벨", + "HEADER_BTN_TXT": "라벨 추가", + "LOADING": "라벨을 가져오는 중", + "SEARCH_404": "이 쿼리와 일치하는 항목이 없음", + "SIDEBAR_TXT": "

라벨

라벨은 대화를 분류하고 우선순위를 정하는 데 도움이 된다. 사이드패널에서 대화에 라벨을 할당할 수 있다.

라벨은 계정에 연결되며 조직에서 사용자 정의 워크플로우를 만드는 데 사용할 수 있다. 라벨에 사용자 정의 색상을 지정할 수 있으며, 라벨을 쉽게 식별할 수 있다. 사이드바에 라벨을 표시하여 대화를 쉽게 필터링할 수 있다.

", "LIST": { - "404": "There are no labels available in this account.", - "TITLE": "Manage labels", - "DESC": "Labels let you group the conversations together.", + "404": "이 계정에는 사용 가능한 라벨이 없다.", + "TITLE": "라벨 관리", + "DESC": "라벨을 사용하여 대화를 그룹화할 수 있다.", "TABLE_HEADER": [ - "Name", - "Description", - "Color" + "이름", + "내용", + "색깔" ] }, "FORM": { "NAME": { - "LABEL": "Label Name", - "PLACEHOLDER": "Label name", - "ERROR": "Label Name is required" + "LABEL": "라벨 이름", + "PLACEHOLDER": "라벨 이름", + "ERROR": "라벨 이름이 필요함" }, "DESCRIPTION": { - "LABEL": "Description", - "PLACEHOLDER": "Label Description" + "LABEL": "내용", + "PLACEHOLDER": "라벨 내용" }, "COLOR": { - "LABEL": "Color" + "LABEL": "색깔" }, "SHOW_ON_SIDEBAR": { - "LABEL": "Show label on sidebar" + "LABEL": "사이드바에 라벨 표시" }, - "EDIT": "Edit", - "CREATE": "Create", - "DELETE": "Delete", - "CANCEL": "Cancel" + "EDIT": "수정", + "CREATE": "만들기", + "DELETE": "삭제", + "CANCEL": "취소" }, "ADD": { - "TITLE": "Add label", - "DESC": "Labels let you group the conversations together.", + "TITLE": "라벨 추가", + "DESC": "라벨을 사용하여 대화를 그룹화할 수 있다.", "API": { - "SUCCESS_MESSAGE": "Label added successfully", - "ERROR_MESSAGE": "There was an error, please try again" + "SUCCESS_MESSAGE": "라벨이 성공적으로 추가됨", + "ERROR_MESSAGE": "오류가 발생했습니다. 다시 시도하십시오." } }, "EDIT": { - "TITLE": "Edit label", + "TITLE": "라벨 수정", "API": { - "SUCCESS_MESSAGE": "Label updated successfully", - "ERROR_MESSAGE": "There was an error, please try again" + "SUCCESS_MESSAGE": "라벨이 성공적으로 업데이트됨", + "ERROR_MESSAGE": "오류가 발생했습니다. 다시 시도하십시오." } }, "DELETE": { - "BUTTON_TEXT": "Delete", + "BUTTON_TEXT": "삭제", "API": { - "SUCCESS_MESSAGE": "Label deleted successfully", - "ERROR_MESSAGE": "There was an error, please try again" + "SUCCESS_MESSAGE": "라벨이 성공적으로 삭제됨.", + "ERROR_MESSAGE": "오류가 발생했습니다. 다시 시도하십시오." }, "CONFIRM": { - "TITLE": "Confirm Deletion", - "MESSAGE": "Are you sure to delete ", - "YES": "Yes, Delete ", - "NO": "No, Keep " + "TITLE": "삭제 확인", + "MESSAGE": "삭제하시겠습니까? ", + "YES": "예, 삭제합니다. ", + "NO": "아니요, 유지해주세요. " } } } diff --git a/app/javascript/dashboard/i18n/locale/ko/login.json b/app/javascript/dashboard/i18n/locale/ko/login.json index 30f667052..d48856863 100644 --- a/app/javascript/dashboard/i18n/locale/ko/login.json +++ b/app/javascript/dashboard/i18n/locale/ko/login.json @@ -1,21 +1,21 @@ { "LOGIN": { - "TITLE": "Login to Chatwoot", + "TITLE": "로그인", "EMAIL": { - "LABEL": "Email", - "PLACEHOLDER": "Email eg: someone@example.com" + "LABEL": "이메일", + "PLACEHOLDER": "이메일 예시: someone@example.com" }, "PASSWORD": { - "LABEL": "Password", - "PLACEHOLDER": "Password" + "LABEL": "비밀번호", + "PLACEHOLDER": "비밀번호" }, "API": { - "SUCCESS_MESSAGE": "Login Successful", - "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later", - "UNAUTH": "Username / Password Incorrect. Please try again" + "SUCCESS_MESSAGE": "로그인 성공", + "ERROR_MESSAGE": "Woot 서버에 연결할 수 없음. 나중에 다시 시도하십시오.", + "UNAUTH": "사용자 이름/암호가 잘못됨. 다시 시도하십시오." }, - "FORGOT_PASSWORD": "Forgot your password?", - "CREATE_NEW_ACCOUNT": "Create new account", - "SUBMIT": "Login" + "FORGOT_PASSWORD": "암호를 잊으셨나요?", + "CREATE_NEW_ACCOUNT": "계정 생성", + "SUBMIT": "로그인" } } diff --git a/app/javascript/dashboard/i18n/locale/ko/report.json b/app/javascript/dashboard/i18n/locale/ko/report.json index 8a4d53485..d7a91b44f 100644 --- a/app/javascript/dashboard/i18n/locale/ko/report.json +++ b/app/javascript/dashboard/i18n/locale/ko/report.json @@ -1,42 +1,43 @@ { "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.", + "HEADER": "보고서", + "LOADING_CHART": "차트 데이터 불러오는 중...", + "NO_ENOUGH_DATA": "보고서를 생성할 수 있는 데이터 포인트가 부족합니다. 나중에 다시 시도하십시오.", + "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "METRICS": { "CONVERSATIONS": { - "NAME": "Conversations", - "DESC": "( Total )" + "NAME": "대화", + "DESC": "( 총 )" }, "INCOMING_MESSAGES": { - "NAME": "Incoming Messages", - "DESC": "( Total )" + "NAME": "수신 메시지", + "DESC": "( 총 )" }, "OUTGOING_MESSAGES": { - "NAME": "Outgoing Messages", - "DESC": "( Total )" + "NAME": "발신 메시지", + "DESC": "( 총 )" }, "FIRST_RESPONSE_TIME": { - "NAME": "First response time", - "DESC": "( Avg )" + "NAME": "첫 번째 응답 시간", + "DESC": "( 평균 )" }, "RESOLUTION_TIME": { - "NAME": "Resolution Time", - "DESC": "( Avg )" + "NAME": "해결 시간", + "DESC": "( 평균 )" }, "RESOLUTION_COUNT": { - "NAME": "Resolution Count", - "DESC": "( Total )" + "NAME": "해결 수", + "DESC": "( 총 )" } }, "DATE_RANGE": [ { "id": 0, - "name": "Last 7 days" + "name": "지난 7일" }, { "id": 1, - "name": "Last 30 days" + "name": "지난 30일" } ] } diff --git a/app/javascript/dashboard/i18n/locale/ko/resetPassword.json b/app/javascript/dashboard/i18n/locale/ko/resetPassword.json index bb678e809..20498c881 100644 --- a/app/javascript/dashboard/i18n/locale/ko/resetPassword.json +++ b/app/javascript/dashboard/i18n/locale/ko/resetPassword.json @@ -1,15 +1,15 @@ { "RESET_PASSWORD": { - "TITLE": "Reset Password", + "TITLE": "비밀번호 재설정", "EMAIL": { - "LABEL": "Email", - "PLACEHOLDER": "Please enter your email", - "ERROR": "Please enter a valid email" + "LABEL": "이메일", + "PLACEHOLDER": "이메일 주소를 입력하세요.", + "ERROR": "올바른 이메일 주소를 입력하세요." }, "API": { - "SUCCESS_MESSAGE": "Password reset link has been sent to your email", - "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" + "SUCCESS_MESSAGE": "비밀번호 재설정 링크가 이메일로 전송됨", + "ERROR_MESSAGE": "Woot 서버에 연결할 수 없음. 나중에 다시 시도하십시오." }, - "SUBMIT": "Submit" + "SUBMIT": "보내기" } } diff --git a/app/javascript/dashboard/i18n/locale/ko/setNewPassword.json b/app/javascript/dashboard/i18n/locale/ko/setNewPassword.json index 94a3fd2e1..3c66f896f 100644 --- a/app/javascript/dashboard/i18n/locale/ko/setNewPassword.json +++ b/app/javascript/dashboard/i18n/locale/ko/setNewPassword.json @@ -1,20 +1,20 @@ { "SET_NEW_PASSWORD": { - "TITLE": "Set New Password", + "TITLE": "새 비밀번호 설정", "PASSWORD": { - "LABEL": "Password", - "PLACEHOLDER": "Password", - "ERROR": "Password is too short" + "LABEL": "비밀번호", + "PLACEHOLDER": "비밀번호", + "ERROR": "비밀번호가 너무 짧음" }, "CONFIRM_PASSWORD": { - "LABEL": "Confirm Password", - "PLACEHOLDER": "Confirm Password", - "ERROR": "Passwords do not match" + "LABEL": "비밀번호 확인", + "PLACEHOLDER": "비밀번호 확인", + "ERROR": "비밀번호가 일치하지 않음" }, "API": { - "SUCCESS_MESSAGE": "Successfully changed the password", - "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" + "SUCCESS_MESSAGE": "비밀번호 변경 성공", + "ERROR_MESSAGE": "Woot 서버에 연결할 수 없음. 나중에 다시 시도하십시오." }, - "SUBMIT": "Submit" + "SUBMIT": "보내기" } } diff --git a/app/javascript/dashboard/i18n/locale/ko/settings.json b/app/javascript/dashboard/i18n/locale/ko/settings.json index e943912f4..490a1fa4f 100644 --- a/app/javascript/dashboard/i18n/locale/ko/settings.json +++ b/app/javascript/dashboard/i18n/locale/ko/settings.json @@ -1,142 +1,142 @@ { "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", + "LINK": "프로필 설정", + "TITLE": "프로필 설정", + "BTN_TEXT": "프로필 업데이트", + "AFTER_EMAIL_CHANGED": "프로필이 성공적으로 업데이트되었습니다. 로그인 자격 증명이 변경된 경우 다시 로그인하십시오.", "FORM": { - "AVATAR": "Profile Image", - "ERROR": "Please fix form errors", - "REMOVE_IMAGE": "Remove", - "UPLOAD_IMAGE": "Upload image", - "UPDATE_IMAGE": "Update image", + "AVATAR": "프로필 이미지", + "ERROR": "양식 오류를 수정하십시오", + "REMOVE_IMAGE": "제거", + "UPLOAD_IMAGE": "이미지 업로드", + "UPDATE_IMAGE": "이미지 업데이트", "PROFILE_SECTION": { - "TITLE": "Profile", - "NOTE": "Your email address is your identity and is used to log in." + "TITLE": "프로필", + "NOTE": "당신의 이메일 주소는 당신의 신분이고 로그인에 사용됩니다." }, "PASSWORD_SECTION": { - "TITLE": "Password", - "NOTE": "Updating your password would reset your logins in multiple devices." + "TITLE": "비밀번호", + "NOTE": "암호를 업데이트하면 여러 장치의 로그인이 재설정됩니다." }, "ACCESS_TOKEN": { - "TITLE": "Access Token", - "NOTE": "This token can be used if you are building an API based integration" + "TITLE": "엑세스 토큰", + "NOTE": "API 기반 통합을 구축하는 경우 이 토큰을 사용할 수 있음" }, "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", - "ASSIGNED_CONVERSATION_NEW_MESSAGE": "Send email notifications when a new message is created in an assigned conversation" + "TITLE": "이메일 알림", + "NOTE": "여기서 이메일 알림 기본 설정 업데이트", + "CONVERSATION_ASSIGNMENT": "대화가 할당될 때 이메일 알림 보내기", + "CONVERSATION_CREATION": "새 대화가 생성될 때 이메일 알림 보내기", + "ASSIGNED_CONVERSATION_NEW_MESSAGE": "할당된 대화에서 새 메시지가 생성될 때 이메일 알림 보내기" }, "API": { - "UPDATE_SUCCESS": "Your notification preferences are updated successfully", - "UPDATE_ERROR": "There is an error while updating the preferences, please try again" + "UPDATE_SUCCESS": "알림 기본 설정이 성공적으로 업데이트됨", + "UPDATE_ERROR": "기본 설정을 업데이트하는 동안 오류가 발생했습니다. 다시 시도하십시오." }, "PUSH_NOTIFICATIONS_SECTION": { - "TITLE": "Push Notifications", - "NOTE": "Update your push notification preferences here", - "CONVERSATION_ASSIGNMENT": "Send push notifications when a conversation is assigned to me", - "CONVERSATION_CREATION": "Send push notifications when a new conversation is created", - "ASSIGNED_CONVERSATION_NEW_MESSAGE": "Send push notifications when a new message is created in an assigned conversation", - "HAS_ENABLED_PUSH": "You have enabled push for this browser.", - "REQUEST_PUSH": "Enable push notifications" + "TITLE": "푸시 알림", + "NOTE": "여기에서 푸시 알림 기본 설정 업데이트", + "CONVERSATION_ASSIGNMENT": "대화가 할당되면 푸시 알림 보내기", + "CONVERSATION_CREATION": "새 대화가 만들어질 때 푸시 알림 보내기", + "ASSIGNED_CONVERSATION_NEW_MESSAGE": "할당된 대화에서 새 메시지가 생성될 때 푸시 알림 보내기", + "HAS_ENABLED_PUSH": "이 브라우저에 대한 푸시를 사용 가능으로 설정하셨습니다.", + "REQUEST_PUSH": "푸시 알림 사용" }, "PROFILE_IMAGE": { - "LABEL": "Profile Image" + "LABEL": "프로필 이미지" }, "NAME": { - "LABEL": "Your full name", - "ERROR": "Please enter a valid full name", - "PLACEHOLDER": "Please enter your full name" + "LABEL": "전체 이름", + "ERROR": "올바른 전체 이름을 입력하십시오.", + "PLACEHOLDER": "전체 이름을 입력하십시오." }, "DISPLAY_NAME": { - "LABEL": "Display name", - "ERROR": "Please enter a valid display name", - "PLACEHOLDER": "Please enter a display name, this would be displayed in conversations" + "LABEL": "표기 이름", + "ERROR": "올바른 표시 이름을 입력하십시오.", + "PLACEHOLDER": "대화에서 표시되는 표시 이름을 입력하십시오." }, "AVAILABILITY": { - "LABEL": "Availability", + "LABEL": "유용성", "STATUSES_LIST": [ - "Online", - "Busy", - "Offline" + "온라인", + "바쁨", + "오프라인" ] }, "EMAIL": { - "LABEL": "Your email address", - "ERROR": "Please enter a valid email address", - "PLACEHOLDER": "Please enter your email address, this would be displayed in conversations" + "LABEL": "이메일 주소", + "ERROR": "올바른 전자 메일 주소를 입력하십시오.", + "PLACEHOLDER": "대화 중에 표시되는 이메일 주소를 입력하십시오." }, "PASSWORD": { - "LABEL": "Password", - "ERROR": "Please enter a password of length 6 or more", - "PLACEHOLDER": "Please enter a new password" + "LABEL": "비밀번호", + "ERROR": "6글자 이상의 비밀번호를 입력하십시오.", + "PLACEHOLDER": "새 비밀번호를 입력하십시오." }, "PASSWORD_CONFIRMATION": { - "LABEL": "Confirm new password", - "ERROR": "Confirm password should match the password", - "PLACEHOLDER": "Please re-enter your password" + "LABEL": "새 비밀번호 확인", + "ERROR": "비밀번호가 비밀번호와 일치하는지 확인", + "PLACEHOLDER": "비밀번호를 다시 입력하십시오." } } }, "SIDEBAR_ITEMS": { - "CHANGE_AVAILABILITY_STATUS": "Change", - "CHANGE_ACCOUNTS": "Switch Account", - "SELECTOR_SUBTITLE": "Select an account from the following list", - "PROFILE_SETTINGS": "Profile Settings", - "LOGOUT": "Logout" + "CHANGE_AVAILABILITY_STATUS": "변경", + "CHANGE_ACCOUNTS": "계정 전환", + "SELECTOR_SUBTITLE": "다음 목록에서 계정 선택", + "PROFILE_SETTINGS": "프로필 설정", + "LOGOUT": "로그아웃" }, "APP_GLOBAL": { - "TRIAL_MESSAGE": "days trial remaining.", - "TRAIL_BUTTON": "Buy Now" + "TRIAL_MESSAGE": "일 평가판이 남아 있습니다.", + "TRAIL_BUTTON": "지금 구입하기" }, "COMPONENTS": { "CODE": { - "BUTTON_TEXT": "Copy", - "COPY_SUCCESSFUL": "Code copied to clipboard successfully" + "BUTTON_TEXT": "복사", + "COPY_SUCCESSFUL": "코드가 클립보드에 복사됨" }, "FILE_BUBBLE": { - "DOWNLOAD": "Download", - "UPLOADING": "Uploading..." + "DOWNLOAD": "다운로드", + "UPLOADING": "업로드 중..." }, "FORM_BUBBLE": { - "SUBMIT": "Submit" + "SUBMIT": "보내기" } }, - "CONFIRM_EMAIL": "Verifying...", + "CONFIRM_EMAIL": "확인 중...", "SETTINGS": { "INBOXES": { - "NEW_INBOX": "Add Inbox" + "NEW_INBOX": "받은 메시지함 추가" } }, "SIDEBAR": { - "CONVERSATIONS": "Conversations", - "REPORTS": "Reports", - "CONTACTS": "Contacts (Beta)", - "SETTINGS": "Settings", - "HOME": "Home", - "AGENTS": "Agents", - "INBOXES": "Inboxes", - "CANNED_RESPONSES": "Canned Responses", - "INTEGRATIONS": "Integrations", - "ACCOUNT_SETTINGS": "Account Settings", - "LABELS": "Labels" + "CONVERSATIONS": "대화", + "REPORTS": "보고서", + "CONTACTS": "연락처 (베타)", + "SETTINGS": "설정", + "HOME": "홈", + "AGENTS": "에이전트", + "INBOXES": "받은 메시지함", + "CANNED_RESPONSES": "미리 준비된 답변", + "INTEGRATIONS": "통합", + "ACCOUNT_SETTINGS": "계정 설정", + "LABELS": "라벨" }, "CREATE_ACCOUNT": { - "NEW_ACCOUNT": "New Account", - "SELECTOR_SUBTITLE": "Create a new account", + "NEW_ACCOUNT": "새 계정", + "SELECTOR_SUBTITLE": "새 계정 만들기", "API": { - "SUCCESS_MESSAGE": "Account created successfully", - "EXIST_MESSAGE": "Account already exists", - "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" + "SUCCESS_MESSAGE": "계정이 성공적으로 생성됨", + "EXIST_MESSAGE": "계정이 이미 있음", + "ERROR_MESSAGE": "Woot 서버에 연결할 수 없음. 나중에 다시 시도하십시오." }, "FORM": { "NAME": { - "LABEL": "Account Name", + "LABEL": "계정 이름", "PLACEHOLDER": "Wayne Enterprises" }, - "SUBMIT": "Submit" + "SUBMIT": "보내기" } } } diff --git a/app/javascript/dashboard/i18n/locale/ko/signup.json b/app/javascript/dashboard/i18n/locale/ko/signup.json index 08366a1e3..9a48d6187 100644 --- a/app/javascript/dashboard/i18n/locale/ko/signup.json +++ b/app/javascript/dashboard/i18n/locale/ko/signup.json @@ -1,39 +1,39 @@ { "REGISTER": { - "TRY_WOOT": "Register an account", - "TITLE": "Register", - "TERMS_ACCEPT": "By signing up, you agree to our T & C and Privacy policy", + "TRY_WOOT": "계정 생성", + "TITLE": "회원가입", + "TERMS_ACCEPT": "회원가입 시, 당신은 우리의 T & C개인 정보 보호 정책에 동의하게 됩니다.", "ACCOUNT_NAME": { - "LABEL": "Account Name", + "LABEL": "계정 이름", "PLACEHOLDER": "Wayne Enterprises", - "ERROR": "Account Name is too short" + "ERROR": "계정 이름이 너무 짧음" }, "EMAIL": { - "LABEL": "Email", + "LABEL": "이메일", "PLACEHOLDER": "bruce@wayne.enterprises", - "ERROR": "Email is invalid" + "ERROR": "이메일이 잘못됨" }, "PASSWORD": { - "LABEL": "Password", - "PLACEHOLDER": "Password", - "ERROR": "Password is too short" + "LABEL": "비밀번호", + "PLACEHOLDER": "비밀번호", + "ERROR": "비밀번호가 너무 짧음" }, "CONFIRM_PASSWORD": { - "LABEL": "Confirm Password", - "PLACEHOLDER": "Confirm Password", - "ERROR": "Password doesnot match" + "LABEL": "비밀번호 확인", + "PLACEHOLDER": "비밀번호 확인", + "ERROR": "비밀번호가 일치하지 않음" }, "API": { - "SUCCESS_MESSAGE": "Registration Successfull", - "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" + "SUCCESS_MESSAGE": "등록 성공", + "ERROR_MESSAGE": "Woot Server에 연결할 수 없음. 나중에 다시 시도하십시오." }, - "SUBMIT": "Submit", + "SUBMIT": "보내기", "FEATURES": { - "UNLIMITED_INBOXES": "Unlimited inboxes", - "ROBUST_REPORTING": "Robust Reporting", - "CANNED_RESPONSES": "Canned Responses", - "AUTO_ASSIGNMENT": "Auto Assignment", - "SECURITY": "Enterprise level security" + "UNLIMITED_INBOXES": "받은 메시지함 무제한", + "ROBUST_REPORTING": "강력한 보고", + "CANNED_RESPONSES": "미리 준비된 답변", + "AUTO_ASSIGNMENT": "자동 할당", + "SECURITY": "엔터프라이즈급 보안" } } } diff --git a/app/javascript/dashboard/i18n/locale/ko/webhooks.json b/app/javascript/dashboard/i18n/locale/ko/webhooks.json index 347c96893..f6716387a 100644 --- a/app/javascript/dashboard/i18n/locale/ko/webhooks.json +++ b/app/javascript/dashboard/i18n/locale/ko/webhooks.json @@ -1,5 +1,5 @@ { "WEBHOOKS_SETTINGS": { - "HEADER": "Webhook Settings" + "HEADER": "웹훅 설정" } } diff --git a/app/javascript/dashboard/i18n/locale/ml/conversation.json b/app/javascript/dashboard/i18n/locale/ml/conversation.json index b57a937e7..9c6c38bc4 100644 --- a/app/javascript/dashboard/i18n/locale/ml/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ml/conversation.json @@ -13,6 +13,8 @@ "PLACEHOLDER": "Type any text to search messages", "NO_MATCHING_RESULTS": "There are no messages matching the search parameters." }, + "UNREAD_MESSAGES": "Unread Messages", + "UNREAD_MESSAGE": "Unread Message", "CLICK_HERE": "ഇവിടെ ക്ലിക്കു ചെയ്യുക", "LOADING_INBOXES": "ഇൻ‌ബോക്സുകൾ‌ ലോഡു ചെയ്യുന്നു", "LOADING_CONVERSATIONS": "സംഭാഷണങ്ങൾ ലോഡു ചെയ്യുന്നു", diff --git a/app/javascript/dashboard/i18n/locale/ml/report.json b/app/javascript/dashboard/i18n/locale/ml/report.json index 08c8753cd..4a598143c 100644 --- a/app/javascript/dashboard/i18n/locale/ml/report.json +++ b/app/javascript/dashboard/i18n/locale/ml/report.json @@ -3,6 +3,7 @@ "HEADER": "റിപ്പോർട്ടുകൾ", "LOADING_CHART": "ചാർട്ട് ഡാറ്റ ലോഡു ചെയ്യുകയാണ്...", "NO_ENOUGH_DATA": "റിപ്പോർട്ട് സൃഷ്ടിക്കുന്നതിന് ആവശ്യമായ ഡാറ്റ ഞങ്ങൾക്ക് ലഭിച്ചിട്ടില്ല, ദയവായി പിന്നീട് വീണ്ടും ശ്രമിക്കുക.", + "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "METRICS": { "CONVERSATIONS": { "NAME": "സംഭാഷണങ്ങൾ", diff --git a/app/javascript/dashboard/i18n/locale/nl/conversation.json b/app/javascript/dashboard/i18n/locale/nl/conversation.json index c80ba0c24..54aaa1c17 100644 --- a/app/javascript/dashboard/i18n/locale/nl/conversation.json +++ b/app/javascript/dashboard/i18n/locale/nl/conversation.json @@ -13,6 +13,8 @@ "PLACEHOLDER": "Type any text to search messages", "NO_MATCHING_RESULTS": "There are no messages matching the search parameters." }, + "UNREAD_MESSAGES": "Unread Messages", + "UNREAD_MESSAGE": "Unread Message", "CLICK_HERE": "Klik hier", "LOADING_INBOXES": "Inboxen laden", "LOADING_CONVERSATIONS": "Conversaties laden", diff --git a/app/javascript/dashboard/i18n/locale/nl/report.json b/app/javascript/dashboard/i18n/locale/nl/report.json index 5d9256372..bbe2293ab 100644 --- a/app/javascript/dashboard/i18n/locale/nl/report.json +++ b/app/javascript/dashboard/i18n/locale/nl/report.json @@ -3,6 +3,7 @@ "HEADER": "Rapporten", "LOADING_CHART": "Kaartgegevens laden...", "NO_ENOUGH_DATA": "We hebben niet genoeg datapunten ontvangen om een rapport te genereren, probeer het later opnieuw.", + "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "METRICS": { "CONVERSATIONS": { "NAME": "Gesprekken", diff --git a/app/javascript/dashboard/i18n/locale/pl/conversation.json b/app/javascript/dashboard/i18n/locale/pl/conversation.json index 8cf2a1743..e618d2be9 100644 --- a/app/javascript/dashboard/i18n/locale/pl/conversation.json +++ b/app/javascript/dashboard/i18n/locale/pl/conversation.json @@ -13,6 +13,8 @@ "PLACEHOLDER": "Wpisz dowolny tekst, aby wyszukać wiadomości", "NO_MATCHING_RESULTS": "Brak wiadomości pasujących do parametrów wyszukiwania." }, + "UNREAD_MESSAGES": "Unread Messages", + "UNREAD_MESSAGE": "Unread Message", "CLICK_HERE": "Kliknij tutaj", "LOADING_INBOXES": "Ładowanie skrzynek odbiorczych", "LOADING_CONVERSATIONS": "Ładowanie konwersacji", diff --git a/app/javascript/dashboard/i18n/locale/pl/report.json b/app/javascript/dashboard/i18n/locale/pl/report.json index f8465bb45..b7b7d29e9 100644 --- a/app/javascript/dashboard/i18n/locale/pl/report.json +++ b/app/javascript/dashboard/i18n/locale/pl/report.json @@ -3,6 +3,7 @@ "HEADER": "Raporty", "LOADING_CHART": "Ładowanie danych wykresów...", "NO_ENOUGH_DATA": "Nie otrzymaliśmy wystarczającej ilości punktów danych, aby wygenerować raport, spróbuj ponownie później.", + "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "METRICS": { "CONVERSATIONS": { "NAME": "Rozmowy", diff --git a/app/javascript/dashboard/i18n/locale/pt/conversation.json b/app/javascript/dashboard/i18n/locale/pt/conversation.json index 1f32cca60..9cfffdbb8 100644 --- a/app/javascript/dashboard/i18n/locale/pt/conversation.json +++ b/app/javascript/dashboard/i18n/locale/pt/conversation.json @@ -13,6 +13,8 @@ "PLACEHOLDER": "Type any text to search messages", "NO_MATCHING_RESULTS": "There are no messages matching the search parameters." }, + "UNREAD_MESSAGES": "Unread Messages", + "UNREAD_MESSAGE": "Unread Message", "CLICK_HERE": "Clique aqui", "LOADING_INBOXES": "Carregando caixas de entrada", "LOADING_CONVERSATIONS": "Carregando conversas", diff --git a/app/javascript/dashboard/i18n/locale/pt/report.json b/app/javascript/dashboard/i18n/locale/pt/report.json index 258e5a871..357928271 100644 --- a/app/javascript/dashboard/i18n/locale/pt/report.json +++ b/app/javascript/dashboard/i18n/locale/pt/report.json @@ -3,6 +3,7 @@ "HEADER": "relatórios", "LOADING_CHART": "Carregando dados da carta...", "NO_ENOUGH_DATA": "Não recebemos pontos de dados suficientes para gerar o relatório. Por favor, tente novamente mais tarde.", + "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "METRICS": { "CONVERSATIONS": { "NAME": "Conversas", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json b/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json index c273c06c9..ffd80338c 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json @@ -13,6 +13,8 @@ "PLACEHOLDER": "Digite qualquer texto para pesquisar mensagens", "NO_MATCHING_RESULTS": "Não há mensagens que correspondam aos parâmetros de pesquisa." }, + "UNREAD_MESSAGES": "Unread Messages", + "UNREAD_MESSAGE": "Unread Message", "CLICK_HERE": "Clique aqui", "LOADING_INBOXES": "Carregando caixas de entrada", "LOADING_CONVERSATIONS": "Carregando conversas", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/pt_BR/labelsMgmt.json index aa4984e6f..dc4bb1720 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/labelsMgmt.json @@ -4,7 +4,7 @@ "HEADER_BTN_TXT": "Adicionar marcador", "LOADING": "Buscando marcadores", "SEARCH_404": "Não existem itens correspondentes a esta consulta", - "SIDEBAR_TXT": "

Marcadores

Os marcadores o ajudam a categorizar as conversas e a priorizá-las. Você pode atribuir o marcador a uma conversa a partir do menu lateral.

Os marcadores estão vinculados à conta e podem ser usados para criar fluxos de trabalho personalizados em sua organização. Você pode atribuir uma cor personalizada para um marcador, facilitando a identificação. Você será capaz de exibir o marcador na barra lateral para filtrar as conversas facilmente.

", + "SIDEBAR_TXT": "

Marcadores

Os marcadores o ajudam a categorizar as conversas e a priorizá-las. Você pode atribuir o marcador a uma conversa a partir do menu lateral.

Os marcadores estão vinculados à conta e podem ser usados para criar fluxos de trabalho personalizados em sua organização. Você pode atribuir uma cor personalizada para um marcador, facilitando a identificação. Você será capaz de exibir o marcador na barra lateral para filtrar as conversas com mais facilidade.

", "LIST": { "404": "Não há marcadores disponíveis nesta conta.", "TITLE": "Gerenciar marcadores", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/report.json b/app/javascript/dashboard/i18n/locale/pt_BR/report.json index 31611d788..0e11f2624 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/report.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/report.json @@ -3,6 +3,7 @@ "HEADER": "Relatórios", "LOADING_CHART": "Carregando dados do gráfico...", "NO_ENOUGH_DATA": "Não existem dados suficientes para gerar o relatório. Tente novamente mais tarde.", + "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "METRICS": { "CONVERSATIONS": { "NAME": "Conversas", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/settings.json b/app/javascript/dashboard/i18n/locale/pt_BR/settings.json index 8b948ff10..8baf3a9f3 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/settings.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/settings.json @@ -114,7 +114,7 @@ "CONVERSATIONS": "Conversas", "REPORTS": "Relatórios", "CONTACTS": "Contatos (Beta)", - "SETTINGS": "Confirgurações", + "SETTINGS": "Configurações", "HOME": "Principal", "AGENTS": "Agentes", "INBOXES": "Caixas de Entrada", diff --git a/app/javascript/dashboard/i18n/locale/ro/conversation.json b/app/javascript/dashboard/i18n/locale/ro/conversation.json index a61b84f48..b20003bab 100644 --- a/app/javascript/dashboard/i18n/locale/ro/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ro/conversation.json @@ -13,6 +13,8 @@ "PLACEHOLDER": "Type any text to search messages", "NO_MATCHING_RESULTS": "There are no messages matching the search parameters." }, + "UNREAD_MESSAGES": "Unread Messages", + "UNREAD_MESSAGE": "Unread Message", "CLICK_HERE": "Click aici", "LOADING_INBOXES": "Încărcare mesaje primite", "LOADING_CONVERSATIONS": "Încărcare conversații", diff --git a/app/javascript/dashboard/i18n/locale/ro/report.json b/app/javascript/dashboard/i18n/locale/ro/report.json index 3e7c19065..9b23d543b 100644 --- a/app/javascript/dashboard/i18n/locale/ro/report.json +++ b/app/javascript/dashboard/i18n/locale/ro/report.json @@ -3,6 +3,7 @@ "HEADER": "Rapoarte", "LOADING_CHART": "Încărcare date grafic...", "NO_ENOUGH_DATA": "Nu am primit suficiente date pentru a genera raportul. Vă rugăm să încercați din nou mai târziu.", + "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "METRICS": { "CONVERSATIONS": { "NAME": "Conversații", diff --git a/app/javascript/dashboard/i18n/locale/ru/conversation.json b/app/javascript/dashboard/i18n/locale/ru/conversation.json index e72bf3087..a25007e74 100644 --- a/app/javascript/dashboard/i18n/locale/ru/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ru/conversation.json @@ -13,6 +13,8 @@ "PLACEHOLDER": "Введите любой текст для поиска сообщений", "NO_MATCHING_RESULTS": "Нет сообщений, соответствующих параметрам поиска." }, + "UNREAD_MESSAGES": "Unread Messages", + "UNREAD_MESSAGE": "Unread Message", "CLICK_HERE": "Нажмите здесь", "LOADING_INBOXES": "Загружаем источники", "LOADING_CONVERSATIONS": "Загрузка диалогов", diff --git a/app/javascript/dashboard/i18n/locale/ru/report.json b/app/javascript/dashboard/i18n/locale/ru/report.json index 71e12c279..ef0bfaead 100644 --- a/app/javascript/dashboard/i18n/locale/ru/report.json +++ b/app/javascript/dashboard/i18n/locale/ru/report.json @@ -3,6 +3,7 @@ "HEADER": "Отчёты", "LOADING_CHART": "Загрузка данных графика...", "NO_ENOUGH_DATA": "Недостаточно данных для создания отчета, пожалуйста, повторите попытку позже.", + "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "METRICS": { "CONVERSATIONS": { "NAME": "Диалоги", diff --git a/app/javascript/dashboard/i18n/locale/sk/conversation.json b/app/javascript/dashboard/i18n/locale/sk/conversation.json index 2c588418c..710a5a301 100644 --- a/app/javascript/dashboard/i18n/locale/sk/conversation.json +++ b/app/javascript/dashboard/i18n/locale/sk/conversation.json @@ -13,6 +13,8 @@ "PLACEHOLDER": "Type any text to search messages", "NO_MATCHING_RESULTS": "There are no messages matching the search parameters." }, + "UNREAD_MESSAGES": "Unread Messages", + "UNREAD_MESSAGE": "Unread Message", "CLICK_HERE": "Click here", "LOADING_INBOXES": "Loading inboxes", "LOADING_CONVERSATIONS": "Loading Conversations", diff --git a/app/javascript/dashboard/i18n/locale/sk/report.json b/app/javascript/dashboard/i18n/locale/sk/report.json index 8a4d53485..22e4a1c75 100644 --- a/app/javascript/dashboard/i18n/locale/sk/report.json +++ b/app/javascript/dashboard/i18n/locale/sk/report.json @@ -3,6 +3,7 @@ "HEADER": "Reports", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", + "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", diff --git a/app/javascript/dashboard/i18n/locale/sv/conversation.json b/app/javascript/dashboard/i18n/locale/sv/conversation.json index 552f7ff06..aaf3cf8c8 100644 --- a/app/javascript/dashboard/i18n/locale/sv/conversation.json +++ b/app/javascript/dashboard/i18n/locale/sv/conversation.json @@ -13,6 +13,8 @@ "PLACEHOLDER": "Type any text to search messages", "NO_MATCHING_RESULTS": "There are no messages matching the search parameters." }, + "UNREAD_MESSAGES": "Unread Messages", + "UNREAD_MESSAGE": "Unread Message", "CLICK_HERE": "Klicka här", "LOADING_INBOXES": "Laddar inkorgar", "LOADING_CONVERSATIONS": "Laddar konversationer", diff --git a/app/javascript/dashboard/i18n/locale/sv/report.json b/app/javascript/dashboard/i18n/locale/sv/report.json index 7d1c4080e..136247a8e 100644 --- a/app/javascript/dashboard/i18n/locale/sv/report.json +++ b/app/javascript/dashboard/i18n/locale/sv/report.json @@ -3,6 +3,7 @@ "HEADER": "Rapporter", "LOADING_CHART": "Laddar sjökortsdata...", "NO_ENOUGH_DATA": "Vi har inte fått tillräckligt många datapunkter för att generera rapport, försök igen senare.", + "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "METRICS": { "CONVERSATIONS": { "NAME": "Konversationer", diff --git a/app/javascript/dashboard/i18n/locale/ta/conversation.json b/app/javascript/dashboard/i18n/locale/ta/conversation.json index be56d699e..aa03ee06c 100644 --- a/app/javascript/dashboard/i18n/locale/ta/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ta/conversation.json @@ -13,6 +13,8 @@ "PLACEHOLDER": "Type any text to search messages", "NO_MATCHING_RESULTS": "There are no messages matching the search parameters." }, + "UNREAD_MESSAGES": "Unread Messages", + "UNREAD_MESSAGE": "Unread Message", "CLICK_HERE": "இங்கே கிளிக் செய்யவும்", "LOADING_INBOXES": "இன்பாக்ஸை ஏற்றுகிறது", "LOADING_CONVERSATIONS": "மேலும் உரையாடல்களை ஏற்றுகிறோம்", diff --git a/app/javascript/dashboard/i18n/locale/ta/report.json b/app/javascript/dashboard/i18n/locale/ta/report.json index af22e8b81..44ebe628d 100644 --- a/app/javascript/dashboard/i18n/locale/ta/report.json +++ b/app/javascript/dashboard/i18n/locale/ta/report.json @@ -3,6 +3,7 @@ "HEADER": "அறிக்கைகள்", "LOADING_CHART": "சார்ட்டுக்கான டேட்டாவை பெறுகிறது...", "NO_ENOUGH_DATA": "அறிக்கையை உருவாக்க போதுமான தரவுகளை பெறவில்லை, தயவுசெய்து மீண்டும் முயற்சிக்கவும்.", + "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "METRICS": { "CONVERSATIONS": { "NAME": "உரையாடல்கள்", diff --git a/app/javascript/dashboard/i18n/locale/th/conversation.json b/app/javascript/dashboard/i18n/locale/th/conversation.json index aaebfd81f..74b06e585 100644 --- a/app/javascript/dashboard/i18n/locale/th/conversation.json +++ b/app/javascript/dashboard/i18n/locale/th/conversation.json @@ -13,6 +13,8 @@ "PLACEHOLDER": "Type any text to search messages", "NO_MATCHING_RESULTS": "There are no messages matching the search parameters." }, + "UNREAD_MESSAGES": "Unread Messages", + "UNREAD_MESSAGE": "Unread Message", "CLICK_HERE": "กดที่นี้", "LOADING_INBOXES": "กำลังโหลดกล่องข้อความ", "LOADING_CONVERSATIONS": "กำลังโหลดการสนทนา", diff --git a/app/javascript/dashboard/i18n/locale/th/report.json b/app/javascript/dashboard/i18n/locale/th/report.json index fae584afe..0e8e66de2 100644 --- a/app/javascript/dashboard/i18n/locale/th/report.json +++ b/app/javascript/dashboard/i18n/locale/th/report.json @@ -3,6 +3,7 @@ "HEADER": "Reports", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", + "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "METRICS": { "CONVERSATIONS": { "NAME": "การสนทนา", diff --git a/app/javascript/dashboard/i18n/locale/tr/conversation.json b/app/javascript/dashboard/i18n/locale/tr/conversation.json index 4a14e87b1..d029406e0 100644 --- a/app/javascript/dashboard/i18n/locale/tr/conversation.json +++ b/app/javascript/dashboard/i18n/locale/tr/conversation.json @@ -13,6 +13,8 @@ "PLACEHOLDER": "Mesajları aramak için herhangi bir metin yazın", "NO_MATCHING_RESULTS": "Arama parametreleriyle eşleşen mesaj yok." }, + "UNREAD_MESSAGES": "Unread Messages", + "UNREAD_MESSAGE": "Unread Message", "CLICK_HERE": "Buraya Tıkla", "LOADING_INBOXES": "Gelen kutuları yükleniyor", "LOADING_CONVERSATIONS": "Loading Conversations\n", @@ -43,11 +45,11 @@ "VISIBLE_TO_AGENTS": "Özel Not: Yalnızca siz ve ekibiniz tarafından görülebilir", "CHANGE_STATUS": "Görüşme durumu değişti", "CHANGE_AGENT": "Görüşme Atanan kişiyi değiştirildi", - "SENT_BY": "Sent by:", + "SENT_BY": "Tarafından gönderildi:", "ASSIGNMENT": { - "SELECT_AGENT": "Select Agent", + "SELECT_AGENT": "Temsilci Seçin", "REMOVE": "Kaldır", - "ASSIGN": "Assign" + "ASSIGN": "Atama yap" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/tr/generalSettings.json b/app/javascript/dashboard/i18n/locale/tr/generalSettings.json index aac09e223..f3b51eb44 100644 --- a/app/javascript/dashboard/i18n/locale/tr/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/tr/generalSettings.json @@ -46,9 +46,9 @@ }, "FORMS": { "MULTISELECT": { - "ENTER_TO_SELECT": "Press enter to select", - "ENTER_TO_REMOVE": "Press enter to remove", - "SELECT_ONE": "Select one" + "ENTER_TO_SELECT": "Seçmek için enter tuşuna basın", + "ENTER_TO_REMOVE": "Kaldırmak için enter tuşuna basın", + "SELECT_ONE": "Birini seç" } } } diff --git a/app/javascript/dashboard/i18n/locale/tr/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/tr/inboxMgmt.json index e4acb449a..eeeba70b6 100644 --- a/app/javascript/dashboard/i18n/locale/tr/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/tr/inboxMgmt.json @@ -166,8 +166,8 @@ "AGENTS": { "TITLE": "Kullanıcılar", "DESC": "Burada yeni oluşturulan gelen kutunuzu yönetmek için aracılar ekleyebilirsiniz. Yalnızca bu seçilen temsilciler gelen kutunuza erişebilir. Bu gelen kutusunun parçası olmayan temsilciler, oturum açtıklarında bu gelen kutusundaki mesajları göremeyecek veya yanıtlayamayacak.
Not: Bir yönetici olarak, tüm gelen kutularına erişmeniz gerekiyorsa, kendinizi oluşturduğunuz tüm gelen kutularına aracı olarak eklemelisiniz.", - "VALIDATION_ERROR": "Add atleast one agent to your new Inbox", - "PICK_AGENTS": "Pick agents for the inbox" + "VALIDATION_ERROR": "Yeni Gelen Kutunuza en az bir temsilci ekleyin", + "PICK_AGENTS": "Gelen kutusu için aracı seçin" }, "DETAILS": { "TITLE": "Gelen Kutusu Ayrıntıları", diff --git a/app/javascript/dashboard/i18n/locale/tr/report.json b/app/javascript/dashboard/i18n/locale/tr/report.json index e66e58782..56d1a2619 100644 --- a/app/javascript/dashboard/i18n/locale/tr/report.json +++ b/app/javascript/dashboard/i18n/locale/tr/report.json @@ -3,6 +3,7 @@ "HEADER": "Raporlar", "LOADING_CHART": "Grafik verileri yükleniyor ...", "NO_ENOUGH_DATA": "Rapor oluşturmak için yeterli veri yok, Lütfen daha sonra tekrar deneyin.", + "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "METRICS": { "CONVERSATIONS": { "NAME": "Konuşmalar", diff --git a/app/javascript/dashboard/i18n/locale/tr/signup.json b/app/javascript/dashboard/i18n/locale/tr/signup.json index 98da28d42..83788609e 100644 --- a/app/javascript/dashboard/i18n/locale/tr/signup.json +++ b/app/javascript/dashboard/i18n/locale/tr/signup.json @@ -29,11 +29,11 @@ }, "SUBMIT": "Yolla", "FEATURES": { - "UNLIMITED_INBOXES": "Unlimited inboxes", - "ROBUST_REPORTING": "Robust Reporting", + "UNLIMITED_INBOXES": "Sınırsız gelen kutusu", + "ROBUST_REPORTING": "Sağlam Raporlama", "CANNED_RESPONSES": "Hazır Yanıtlar", - "AUTO_ASSIGNMENT": "Auto Assignment", - "SECURITY": "Enterprise level security" + "AUTO_ASSIGNMENT": "Otomatik Atama", + "SECURITY": "Kurumsal düzeyde güvenlik" } } } diff --git a/app/javascript/dashboard/i18n/locale/uk/conversation.json b/app/javascript/dashboard/i18n/locale/uk/conversation.json index 6f03cf571..e22e08948 100644 --- a/app/javascript/dashboard/i18n/locale/uk/conversation.json +++ b/app/javascript/dashboard/i18n/locale/uk/conversation.json @@ -13,6 +13,8 @@ "PLACEHOLDER": "Type any text to search messages", "NO_MATCHING_RESULTS": "There are no messages matching the search parameters." }, + "UNREAD_MESSAGES": "Unread Messages", + "UNREAD_MESSAGE": "Unread Message", "CLICK_HERE": "Натисніть тут", "LOADING_INBOXES": "Завантаження скриньок", "LOADING_CONVERSATIONS": "Завантаження бесід", diff --git a/app/javascript/dashboard/i18n/locale/uk/report.json b/app/javascript/dashboard/i18n/locale/uk/report.json index 58854f762..fc1a408f7 100644 --- a/app/javascript/dashboard/i18n/locale/uk/report.json +++ b/app/javascript/dashboard/i18n/locale/uk/report.json @@ -3,6 +3,7 @@ "HEADER": "Звіти", "LOADING_CHART": "Завантаження даних діаграми...", "NO_ENOUGH_DATA": "Ми не отримали достатньо даних для генерації звіту. Будь ласка, спробуйте ще раз пізніше.", + "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "METRICS": { "CONVERSATIONS": { "NAME": "Бесіди", diff --git a/app/javascript/dashboard/i18n/locale/vi/conversation.json b/app/javascript/dashboard/i18n/locale/vi/conversation.json index 832e8cfb9..4e0c52785 100644 --- a/app/javascript/dashboard/i18n/locale/vi/conversation.json +++ b/app/javascript/dashboard/i18n/locale/vi/conversation.json @@ -13,6 +13,8 @@ "PLACEHOLDER": "Type any text to search messages", "NO_MATCHING_RESULTS": "There are no messages matching the search parameters." }, + "UNREAD_MESSAGES": "Unread Messages", + "UNREAD_MESSAGE": "Unread Message", "CLICK_HERE": "Click vào đây", "LOADING_INBOXES": "Đang tải hộp thư đến", "LOADING_CONVERSATIONS": "Đang tải cuộc trò chuyện", diff --git a/app/javascript/dashboard/i18n/locale/vi/report.json b/app/javascript/dashboard/i18n/locale/vi/report.json index 16d1a927f..d881013cf 100644 --- a/app/javascript/dashboard/i18n/locale/vi/report.json +++ b/app/javascript/dashboard/i18n/locale/vi/report.json @@ -3,6 +3,7 @@ "HEADER": "Báo cáo", "LOADING_CHART": "Đang tải các biểu đồ dữ liệu...", "NO_ENOUGH_DATA": "Chúng tôi không nhận được đủ điểm dữ liệu để tạo báo cáo, Vui lòng thử lại sau.", + "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "METRICS": { "CONVERSATIONS": { "NAME": "Các cuộc trò chuyện", diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/conversation.json b/app/javascript/dashboard/i18n/locale/zh_CN/conversation.json index 50390bf01..8543d41d0 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/conversation.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/conversation.json @@ -13,6 +13,8 @@ "PLACEHOLDER": "Type any text to search messages", "NO_MATCHING_RESULTS": "There are no messages matching the search parameters." }, + "UNREAD_MESSAGES": "Unread Messages", + "UNREAD_MESSAGE": "Unread Message", "CLICK_HERE": "点击这里", "LOADING_INBOXES": "正在加载收件箱", "LOADING_CONVERSATIONS": "加载更多对话", diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/report.json b/app/javascript/dashboard/i18n/locale/zh_CN/report.json index 8df14d19b..4a1bc0812 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/report.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/report.json @@ -3,6 +3,7 @@ "HEADER": "报告", "LOADING_CHART": "正在载入图表数据...", "NO_ENOUGH_DATA": "我们没有收到足够的数据点来生成报告,请稍后再试。", + "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "METRICS": { "CONVERSATIONS": { "NAME": "会话", diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/conversation.json b/app/javascript/dashboard/i18n/locale/zh_TW/conversation.json index 2b414011a..9cda190e3 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/conversation.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/conversation.json @@ -13,6 +13,8 @@ "PLACEHOLDER": "Type any text to search messages", "NO_MATCHING_RESULTS": "There are no messages matching the search parameters." }, + "UNREAD_MESSAGES": "Unread Messages", + "UNREAD_MESSAGE": "Unread Message", "CLICK_HERE": "點擊這裡", "LOADING_INBOXES": "正在加載收件匣", "LOADING_CONVERSATIONS": "加載更多對話", diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/report.json b/app/javascript/dashboard/i18n/locale/zh_TW/report.json index 5ba878316..1cb98291f 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/report.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/report.json @@ -3,6 +3,7 @@ "HEADER": "報表", "LOADING_CHART": "正在載入图表數據...", "NO_ENOUGH_DATA": "我們没有收到足夠的數據來生成報表,請稍後再試。", + "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "METRICS": { "CONVERSATIONS": { "NAME": "會話", diff --git a/app/javascript/widget/i18n/locale/ar.json b/app/javascript/widget/i18n/locale/ar.json index 1e1009394..4eec2670b 100644 --- a/app/javascript/widget/i18n/locale/ar.json +++ b/app/javascript/widget/i18n/locale/ar.json @@ -9,23 +9,23 @@ } }, "TEAM_AVAILABILITY": { - "ONLINE": "We are online", - "OFFLINE": "We are offline" + "ONLINE": "متواجدون لخدمتك", + "OFFLINE": "نحن غير متصلين" }, "REPLY_TIME": { - "IN_A_FEW_MINUTES": "Typically replies in a few minutes", - "IN_A_FEW_HOURS": "Typically replies in a few hours", - "IN_A_DAY": "Typically replies in a day" + "IN_A_FEW_MINUTES": "عادة نقوم بالرد خلال بضع دقائق", + "IN_A_FEW_HOURS": "عادة نقوم بالرد خلال بضع ساعات", + "IN_A_DAY": "عادة نقوم بالرد خلال يوم واحد" }, - "START_CONVERSATION": "Start Conversation", + "START_CONVERSATION": "ابدأ المحادثة", "UNREAD_VIEW": { "VIEW_MESSAGES_BUTTON": "عرض الرسائل الجديدة", "CLOSE_MESSAGES_BUTTON": "أغلق" }, "BUBBLE": { - "LABEL": "تحدث معنا" + "LABEL": "تحدث الينا" }, - "POWERED_BY": "مدعوم بواسطة Chatwoot", + "POWERED_BY": "مدعوم بواسطة تشات وت", "EMAIL_PLACEHOLDER": "الرجاء إدخال بريدك الإلكتروني", "CHAT_PLACEHOLDER": "أكتب رسالتك" } diff --git a/app/javascript/widget/i18n/locale/ko.json b/app/javascript/widget/i18n/locale/ko.json index e56a43a8a..c176d3594 100644 --- a/app/javascript/widget/i18n/locale/ko.json +++ b/app/javascript/widget/i18n/locale/ko.json @@ -1,31 +1,31 @@ { "COMPONENTS": { "FILE_BUBBLE": { - "DOWNLOAD": "Download", - "UPLOADING": "Uploading..." + "DOWNLOAD": "다운로드", + "UPLOADING": "업로드 중..." }, "FORM_BUBBLE": { - "SUBMIT": "Submit" + "SUBMIT": "보내기" } }, "TEAM_AVAILABILITY": { - "ONLINE": "We are online", - "OFFLINE": "We are offline" + "ONLINE": "온라인", + "OFFLINE": "오프라인" }, "REPLY_TIME": { - "IN_A_FEW_MINUTES": "Typically replies in a few minutes", - "IN_A_FEW_HOURS": "Typically replies in a few hours", - "IN_A_DAY": "Typically replies in a day" + "IN_A_FEW_MINUTES": "일반적으로 몇 분 안에 응답", + "IN_A_FEW_HOURS": "일반적으로 몇 시간 내에 응답", + "IN_A_DAY": "일반적으로 하루 안에 응답" }, - "START_CONVERSATION": "Start Conversation", + "START_CONVERSATION": "대화 시작", "UNREAD_VIEW": { - "VIEW_MESSAGES_BUTTON": "See new messages", - "CLOSE_MESSAGES_BUTTON": "Close" + "VIEW_MESSAGES_BUTTON": "새 메시지 보기", + "CLOSE_MESSAGES_BUTTON": "닫기" }, "BUBBLE": { - "LABEL": "Chat with us" + "LABEL": "채팅하기" }, - "POWERED_BY": "Powered by Chatwoot", - "EMAIL_PLACEHOLDER": "Please enter your email", - "CHAT_PLACEHOLDER": "Type your message" + "POWERED_BY": "Chatwoot 에서 작동함", + "EMAIL_PLACEHOLDER": "이메일을 입력해주세요.", + "CHAT_PLACEHOLDER": "메시지 입력" } diff --git a/config/initializers/languages.rb b/config/initializers/languages.rb index 95ddd5154..92ab876e0 100644 --- a/config/initializers/languages.rb +++ b/config/initializers/languages.rb @@ -10,7 +10,7 @@ LANGUAGES_CONFIG = { 5 => { name: 'हिन्दी (hi)', iso_639_3_code: 'hin', iso_639_1_code: 'hi', enabled: false }, 6 => { name: 'Italiano (it)', iso_639_3_code: 'ita', iso_639_1_code: 'it', enabled: true }, 7 => { name: '日本語 (ja)', iso_639_3_code: 'jpn', iso_639_1_code: 'ja', enabled: true }, - 8 => { name: '한국어 (ko)', iso_639_3_code: 'kor', iso_639_1_code: 'ko', enabled: false }, + 8 => { name: '한국어 (ko)', iso_639_3_code: 'kor', iso_639_1_code: 'ko', enabled: true }, 9 => { name: 'Português (pt)', iso_639_3_code: 'por', iso_639_1_code: 'pt', enabled: true }, 10 => { name: 'русский (ru)', iso_639_3_code: 'rus', iso_639_1_code: 'ru', enabled: true }, 11 => { name: '中文 (zh)', iso_639_3_code: 'zho', iso_639_1_code: 'zh', enabled: false }, diff --git a/config/locales/ar.yml b/config/locales/ar.yml index 52754c325..6e2e8e5eb 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -27,6 +27,8 @@ ar: invalid_email: لقد قمت بإدخال عنوان بريد إلكتروني غير صالح email_already_exists: "لقد قمت بالفعل بتسجيل حساب سابقاً بالعنوان %{email}" failed: فشلت عملية التسجيل + reports: + period: Reporting period %{since} to %{until} conversations: activity: status: diff --git a/config/locales/ca.yml b/config/locales/ca.yml index fce002c1d..55ca5653e 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -27,6 +27,8 @@ ca: invalid_email: Heu introduït un correu electrònic no vàlid email_already_exists: "Ja us heu registrat amb el compte %{email}" failed: El registre ha fallat + reports: + period: Reporting period %{since} to %{until} conversations: activity: status: @@ -52,7 +54,7 @@ ca: integration_apps: slack: name: "Slack" - description: "Slack is a chat tool that brings all your communication together in one place. By integrating Slack, you can get notified of all the new conversations in your account right inside your Slack." + description: "Slack és una eina de xat que uneix tota la teva comunicació en un sol lloc. Integrant Slack, podràs rebre notificacions de totes les noves conversacions a la teva compte directament a dins l'Slack." webhooks: name: "Webhooks" - description: "Webhook events provide you the realtime information about what's happening in your 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." + description: "Els esdeveniments de Webhook us proporcionen informació en temps real sobre el que passa al vostre compte de Chatwoot. Podeu utilitzar els webhooks per comunicar els esdeveniments a les vostres aplicacions preferides com Slack o Github. Feu clic a Configura per configurar els enllaços web." diff --git a/config/locales/cs.yml b/config/locales/cs.yml index 3d27cd921..992b98b1d 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -27,6 +27,8 @@ cs: invalid_email: Zadali jste neplatný e-mail email_already_exists: "Již jste se zaregistrovali k účtu s %{email}" failed: Registrace se nezdařila + reports: + period: Reporting period %{since} to %{until} conversations: activity: status: diff --git a/config/locales/da.yml b/config/locales/da.yml index d25a16a55..144259dda 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -27,6 +27,8 @@ da: invalid_email: Du har indtastet en ugyldig e-mail email_already_exists: "Du har allerede tilmeldt dig en konto med %{email}" failed: Tilmelding mislykkedes + reports: + period: Reporting period %{since} to %{until} conversations: activity: status: diff --git a/config/locales/de.yml b/config/locales/de.yml index 86886e498..a5e71bd86 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -27,6 +27,8 @@ de: invalid_email: Sie haben eine ungültige E-Mail-Adresse eingegeben email_already_exists: "Sie haben sich bereits für ein Konto bei %{email} angemeldet." failed: Anmeldung gescheitert + reports: + period: Reporting period %{since} to %{until} conversations: activity: status: diff --git a/config/locales/devise.zh_CN.yml b/config/locales/devise.zh_CN.yml index f8613c84c..2bf2831a8 100644 --- a/config/locales/devise.zh_CN.yml +++ b/config/locales/devise.zh_CN.yml @@ -1,5 +1,5 @@ #Additional translations at https://github.com/plataformatec/devise/wiki/I18n -zh-CN: +zh_CN: devise: confirmations: confirmed: "您的电子邮件地址已成功确认。" diff --git a/config/locales/el.yml b/config/locales/el.yml index c86518bdb..a40efd8e2 100644 --- a/config/locales/el.yml +++ b/config/locales/el.yml @@ -27,6 +27,8 @@ el: invalid_email: Έχετε καταχωρήσει ακατάλληλο email email_already_exists: "Έχει ήδη καταχωρηθεί λογαριασμός στο %{email}" failed: Η εγγραφή απέτυχε + reports: + period: Reporting period %{since} to %{until} conversations: activity: status: diff --git a/config/locales/es.yml b/config/locales/es.yml index 7a595b83c..a8832a6ef 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -27,6 +27,8 @@ es: invalid_email: Ha introducido un correo electrónico no válido email_already_exists: "Ya te has registrado en una cuenta con %{email}" failed: Registro fallido + reports: + period: Reporting period %{since} to %{until} conversations: activity: status: diff --git a/config/locales/fa.yml b/config/locales/fa.yml index e3a1e09a7..59d102334 100644 --- a/config/locales/fa.yml +++ b/config/locales/fa.yml @@ -27,6 +27,8 @@ fa: invalid_email: ایمیل وارد شده معتبر نیست email_already_exists: "قبلا کاربری با ایمیل %{email} ثبت نام کرده است." failed: ثبت نام ناموفق بود + reports: + period: Reporting period %{since} to %{until} conversations: activity: status: diff --git a/config/locales/fi.yml b/config/locales/fi.yml index 0b42bd57e..c58ed7abc 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -27,6 +27,8 @@ fi: invalid_email: Olet syöttänyt virheellisen sähköpostin email_already_exists: "Olet jo rekisteröitynyt tiliin sähköpostin %{email} kanssa" failed: Rekisteröityminen epäonnistui + reports: + period: Reporting period %{since} to %{until} conversations: activity: status: diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 229db4562..4fcd33aad 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -27,6 +27,8 @@ fr: invalid_email: Vous avez entré un courriel non valide email_already_exists: "Vous avez déjà créé un compte avec %{email}" failed: L'inscription a échoué + reports: + period: Reporting period %{since} to %{until} conversations: activity: status: diff --git a/config/locales/hi.yml b/config/locales/hi.yml index f46c4af30..f6c69191d 100644 --- a/config/locales/hi.yml +++ b/config/locales/hi.yml @@ -27,6 +27,8 @@ hi: invalid_email: You have entered an invalid email email_already_exists: "You have already signed up for an account with %{email}" failed: Signup failed + reports: + period: Reporting period %{since} to %{until} conversations: activity: status: diff --git a/config/locales/hu.yml b/config/locales/hu.yml index e11d506b6..d885ab298 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -27,6 +27,8 @@ hu: invalid_email: You have entered an invalid email email_already_exists: "You have already signed up for an account with %{email}" failed: Signup failed + reports: + period: Reporting period %{since} to %{until} conversations: activity: status: diff --git a/config/locales/id.yml b/config/locales/id.yml index 93f228db8..acfc2f7ff 100644 --- a/config/locales/id.yml +++ b/config/locales/id.yml @@ -27,6 +27,8 @@ id: invalid_email: Anda telah memasukkan email yang tidak valid email_already_exists: "Anda telah mendaftar untuk sebuah akun dengan %{email}" failed: Pendaftaran gagal + reports: + period: Reporting period %{since} to %{until} conversations: activity: status: diff --git a/config/locales/it.yml b/config/locales/it.yml index a7cead8c3..de8617b46 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -27,6 +27,8 @@ it: invalid_email: Hai inserito un'email non valida email_already_exists: "Ti sei già registrato per un account con %{email}" failed: Iscrizione fallita + reports: + period: Reporting period %{since} to %{until} conversations: activity: status: diff --git a/config/locales/ja.yml b/config/locales/ja.yml index 11d8625ac..0dc2434fd 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -27,6 +27,8 @@ ja: invalid_email: 無効なメールアドレスを入力しました。 email_already_exists: "あなたは既に %{email} でアカウントにサインアップしています" failed: サインアップに失敗しました + reports: + period: Reporting period %{since} to %{until} conversations: activity: status: diff --git a/config/locales/ko.yml b/config/locales/ko.yml index cd2988af8..477719749 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -27,6 +27,8 @@ ko: invalid_email: You have entered an invalid email email_already_exists: "You have already signed up for an account with %{email}" failed: Signup failed + reports: + period: Reporting period %{since} to %{until} conversations: activity: status: diff --git a/config/locales/ml.yml b/config/locales/ml.yml index 39cc7db39..c88aa6550 100644 --- a/config/locales/ml.yml +++ b/config/locales/ml.yml @@ -27,6 +27,8 @@ ml: invalid_email: നിങ്ങൾ ഒരു അസാധുവായ ഇമെയിൽ നൽകി email_already_exists: "നിങ്ങൾ ഇതിനകം ഈ %{email} ഉപയോഗിച്ചു ഒരു അക്കൗണ്ടിനായി സൈൻ അപ്പ് ചെയ്തു" failed: സൈനപ്പ് പരാജയപ്പെട്ടു + reports: + period: Reporting period %{since} to %{until} conversations: activity: status: diff --git a/config/locales/nl.yml b/config/locales/nl.yml index c19510fdd..83d4e57a1 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -27,6 +27,8 @@ nl: invalid_email: Je hebt een ongeldig e-mailadres ingevoerd email_already_exists: "Je hebt je al aangemeld voor een account bij %{email}" failed: Aanmelden mislukt + reports: + period: Reporting period %{since} to %{until} conversations: activity: status: diff --git a/config/locales/pl.yml b/config/locales/pl.yml index 91dc7ec25..4a23b9082 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -27,6 +27,8 @@ pl: invalid_email: Wprowadzono nieprawidłowy adres e-mail email_already_exists: "Już zarejestrowałeś konto w %{email}" failed: Rejestracja nie powiodła się + reports: + period: Reporting period %{since} to %{until} conversations: activity: status: diff --git a/config/locales/pt.yml b/config/locales/pt.yml index f9d5e3a64..5d7bb4dd2 100644 --- a/config/locales/pt.yml +++ b/config/locales/pt.yml @@ -27,6 +27,8 @@ pt: invalid_email: Você digitou um email inválido email_already_exists: "Você já se inscreveu para uma conta com %{email}" failed: Falha na inscrição + reports: + period: Reporting period %{since} to %{until} conversations: activity: status: diff --git a/config/locales/pt_BR.yml b/config/locales/pt_BR.yml index 54eeffc93..0453ba863 100644 --- a/config/locales/pt_BR.yml +++ b/config/locales/pt_BR.yml @@ -27,6 +27,8 @@ pt_BR: invalid_email: Você digitou um email inválido email_already_exists: "Você já se cadastrou para uma conta com %{email}" failed: Registro falhou + reports: + period: Reporting period %{since} to %{until} conversations: activity: status: diff --git a/config/locales/ro.yml b/config/locales/ro.yml index 07261ae44..95918b8eb 100644 --- a/config/locales/ro.yml +++ b/config/locales/ro.yml @@ -27,6 +27,8 @@ ro: invalid_email: Ați introdus un e-mail invalid email_already_exists: "V-ați înregistrat deja cu un cont cu %{email}" failed: Înregistrare eșuată + reports: + period: Reporting period %{since} to %{until} conversations: activity: status: diff --git a/config/locales/ru.yml b/config/locales/ru.yml index fabc5142f..8a38431c9 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -27,6 +27,8 @@ ru: invalid_email: Вы ввели неверный email email_already_exists: "Вы уже зарегистрировались для учётной записи с %{email}" failed: Ошибка регистрации + reports: + period: Reporting period %{since} to %{until} conversations: activity: status: diff --git a/config/locales/sk.yml b/config/locales/sk.yml index b82fbf6b2..a0a77e3e4 100644 --- a/config/locales/sk.yml +++ b/config/locales/sk.yml @@ -27,6 +27,8 @@ sk: invalid_email: You have entered an invalid email email_already_exists: "You have already signed up for an account with %{email}" failed: Signup failed + reports: + period: Reporting period %{since} to %{until} conversations: activity: status: diff --git a/config/locales/sv.yml b/config/locales/sv.yml index 832b1e66c..078d0baf6 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -27,6 +27,8 @@ sv: invalid_email: Du har angett en ogiltig e-postadress email_already_exists: "Du har redan registrerat dig för ett konto med %{email}" failed: Registrering misslyckades + reports: + period: Reporting period %{since} to %{until} conversations: activity: status: diff --git a/config/locales/ta.yml b/config/locales/ta.yml index 2a9e194ec..bd1efbef0 100644 --- a/config/locales/ta.yml +++ b/config/locales/ta.yml @@ -27,6 +27,8 @@ ta: invalid_email: நீங்கள் தவறான ஈ-மெயிலை உள்ளிட்டுள்ளீர்கள் email_already_exists: "நீங்கள் ஏற்கனவே %{email} கொண்டு கணக்கிற்கு பதிவு செய்துள்ளீர்கள்" failed: உள்நுழையும் முயறிசி தோல்வி அடைந்துள்ளது + reports: + period: Reporting period %{since} to %{until} conversations: activity: status: diff --git a/config/locales/th.yml b/config/locales/th.yml index c41a2dd9a..0ebe59b74 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -27,6 +27,8 @@ th: invalid_email: You have entered an invalid email email_already_exists: "You have already signed up for an account with %{email}" failed: Signup failed + reports: + period: Reporting period %{since} to %{until} conversations: activity: status: diff --git a/config/locales/tr.yml b/config/locales/tr.yml index 31eb4c860..0ca0df313 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -27,6 +27,8 @@ tr: invalid_email: Geçersiz bir e-posta girdiniz email_already_exists: "%{email} ile zaten bir hesaba kaydoldunuz" failed: Kayıt başarısız oldu + reports: + period: Reporting period %{since} to %{until} conversations: activity: status: diff --git a/config/locales/uk.yml b/config/locales/uk.yml index 3b64e6b2c..09db2e5a2 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -27,6 +27,8 @@ uk: invalid_email: Ви ввели неправильну адресу електронної пошти email_already_exists: "Ви вже зареєстровані з адресою %{email}" failed: Помилка реєстрації + reports: + period: Reporting period %{since} to %{until} conversations: activity: status: diff --git a/config/locales/vi.yml b/config/locales/vi.yml index 15f13bc07..f1c521332 100644 --- a/config/locales/vi.yml +++ b/config/locales/vi.yml @@ -27,6 +27,8 @@ vi: invalid_email: Bạn đã nhập một email không hợp lệ email_already_exists: "Bạn đã đăng ký một tài khoản với %{email}" failed: Đăng ký thât bại + reports: + period: Reporting period %{since} to %{until} conversations: activity: status: diff --git a/config/locales/zh_CN.yml b/config/locales/zh_CN.yml index e09b519a1..64537ee01 100644 --- a/config/locales/zh_CN.yml +++ b/config/locales/zh_CN.yml @@ -16,7 +16,7 @@ #'true': 'foo' #To learn more, please read the Rails Internationalization guide #available at https://guides.rubyonrails.org/i18n.html. -zh-CN: +zh_CN: hello: "您好世界" messages: reset_password_success: 哇!密码重置请求成功。请检查您的邮件获取说明。 @@ -27,6 +27,8 @@ zh-CN: invalid_email: 您输入了一个无效的电子邮件 email_already_exists: "您已经注册了 %{email} 的帐户" failed: 注册失败 + reports: + period: Reporting period %{since} to %{until} conversations: activity: status: diff --git a/config/locales/zh_TW.yml b/config/locales/zh_TW.yml index eb7aa4520..46853545d 100644 --- a/config/locales/zh_TW.yml +++ b/config/locales/zh_TW.yml @@ -16,7 +16,7 @@ #'true': 'foo' #To learn more, please read the Rails Internationalization guide #available at https://guides.rubyonrails.org/i18n.html. -zh-TW: +zh_TW: hello: "你好。" messages: reset_password_success: 密碼重設成功,請確認您的信箱有收到重設信件。 @@ -27,6 +27,8 @@ zh-TW: invalid_email: 您輸入的電子郵件無效。 email_already_exists: "您已經註冊了一個帳號%{email}" failed: 註冊失敗。 + reports: + period: Reporting period %{since} to %{until} conversations: activity: status: From 49a12bd5604353bf912475250d2e523f2cf7836e Mon Sep 17 00:00:00 2001 From: Sojan Date: Wed, 16 Dec 2020 00:39:02 +0530 Subject: [PATCH 42/42] Bump version to 1.11.0 --- config/app.yml | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/app.yml b/config/app.yml index c6fcd07fc..c360ac4dd 100644 --- a/config/app.yml +++ b/config/app.yml @@ -1,5 +1,5 @@ shared: &shared - version: '1.10.0' + version: '1.11.0' development: <<: *shared diff --git a/package.json b/package.json index 7baa9f023..85a9b5bf8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@chatwoot/chatwoot", - "version": "1.10.0", + "version": "1.11.0", "license": "MIT", "scripts": { "eslint": "eslint app/javascript --fix",