Merge branch 'release/1.11.0' into master

This commit is contained in:
Sojan 2020-12-16 00:40:19 +05:30
commit 6373e6dec8
443 changed files with 6662 additions and 3532 deletions

View file

@ -7,7 +7,7 @@ defaults: &defaults
working_directory: ~/build working_directory: ~/build
docker: docker:
# specify the version you desire here # 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 # Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images # CircleCI maintains a library of pre-built images

51
.devcontainer/Dockerfile Normal file
View file

@ -0,0 +1,51 @@
# pre-build stage
ARG VARIANT=2.7
FROM mcr.microsoft.com/vscode/devcontainers/ruby:${VARIANT}
# Update args in docker-compose.yaml to set the UID/GID of the "vscode" user.
ARG USER_UID=1000
ARG USER_GID=$USER_UID
RUN if [ "$USER_GID" != "1000" ] || [ "$USER_UID" != "1000" ]; then \
groupmod --gid $USER_GID vscode \
&& usermod --uid $USER_UID --gid $USER_GID vscode \
&& chmod -R $USER_UID:$USER_GID /home/vscode; \
fi
# [Option] Install Node.js
ARG INSTALL_NODE="true"
ARG NODE_VERSION="lts/*"
RUN if [ "${INSTALL_NODE}" = "true" ]; then su vscode -c "source /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
# tmux is for overmind
# TODO : install foreman in future
# packages: postgresql-server-dev-all
# may be postgres in same machine
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
&& apt-get -y install --no-install-recommends \
libssl-dev \
tar \
tzdata \
postgresql-client \
yarn \
git \
imagemagick \
tmux \
zsh
# [Optional] Uncomment this line to install global node packages.
# RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g <your-package-here>" 2>&1
# Do the set up required for chatwoot app
WORKDIR /workspace
COPY . /workspace
# TODO: figure out installing rvm
# RUN rvm install
COPY Gemfile Gemfile.lock ./
RUN gem install bundler
RUN bundle install
COPY package.json yarn.lock ./
RUN yarn install

View file

@ -0,0 +1,33 @@
{
"name": "Chatwoot Development Codespace",
"service": "app",
"dockerComposeFile": "docker-compose.yml",
"settings": {
"terminal.integrated.shell.linux": "/bin/zsh"
},
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"rebornix.Ruby",
"misogi.ruby-rubocop",
"wingrunr21.vscode-ruby"
],
// TODO: figure whether we can get all this ports work properly
// 3000 rails
// 3035 webpacker
// 5432 postgres
// 6379 redis
// 1025,8025 mailhog
"forwardPorts": [5432, 6379, 1025, 8025],
//your application may need to listen on all interfaces (0.0.0.0) not just localhost for it to be available externally. Defaults to []
"appPort": [3000, 3035],
// Use 'postCreateCommand' to run commands after the container is created.
// #TODO: can we move logic of copy env file into dockerfile ?
"postCreateCommand": "cp .env.example .env",
}

View file

@ -0,0 +1,56 @@
# https://github.com/microsoft/vscode-dev-containers/blob/master/containers/python-3-postgres/.devcontainer/docker-compose.yml
# https://github.com/microsoft/vscode-dev-containers/blob/master/containers/ruby-rails/.devcontainer/devcontainer.json
#
version: '3'
services:
app:
build:
context: ..
dockerfile: .devcontainer/Dockerfile
args:
# Update 'VARIANT' to pick a Ruby version: 2, 2.7, 2.6, 2.5
VARIANT: 2.7
# [Choice] Install Node.js
INSTALL_NODE: "true"
NODE_VERSION: "lts/*"
# On Linux, you may need to update USER_UID and USER_GID below if not your local UID is not 1000.
USER_UID: 1000
USER_GID: 1000
volumes:
- ..:/workspace:cached
# Overrides default command so things don't shut down after the process ends.
command: sleep infinity
# Runs app on the same network as the database container, allows "forwardPorts" in devcontainer.json function.
network_mode: service:db
db:
image: postgres:latest
restart: unless-stopped
volumes:
- postgres-data:/var/lib/postgresql/data
environment:
POSTGRES_USER: postgres
POSTGRES_DB: postgres
POSTGRES_PASSWORD: postgres
redis:
image: redis:latest
restart: unless-stopped
network_mode: service:db
volumes:
- redis-data:/data
mailhog:
restart: unless-stopped
image: mailhog/mailhog
network_mode: service:db
volumes:
postgres-data:
redis-data:

View file

@ -4,6 +4,10 @@ SECRET_KEY_BASE=replace_with_lengthy_secure_hex
# Replace with the URL you are planning to use for your app # Replace with the URL you are planning to use for your app
FRONTEND_URL=http://0.0.0.0:3000 FRONTEND_URL=http://0.0.0.0:3000
# If 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 # If you plan to use CDN for your assets, set Asset CDN Host
ASSET_CDN_HOST= ASSET_CDN_HOST=
@ -129,5 +133,3 @@ USE_INBOX_AVATAR_FOR_BOT=true
## Development Only Config ## Development Only Config
# if you want to use letter_opener for local emails # if you want to use letter_opener for local emails
# LETTER_OPENER=true # LETTER_OPENER=true

View file

@ -1 +1 @@
2.7.1 2.7.2

View file

@ -1,6 +1,6 @@
source 'https://rubygems.org' source 'https://rubygems.org'
ruby '2.7.1' ruby '2.7.2'
##-- base gems for rails --## ##-- base gems for rails --##
gem 'rack-cors', require: 'rack/cors' gem 'rack-cors', require: 'rack/cors'

View file

@ -325,7 +325,7 @@ GEM
pry-rails (0.3.9) pry-rails (0.3.9)
pry (>= 0.10.4) pry (>= 0.10.4)
public_suffix (4.0.5) public_suffix (4.0.5)
puma (4.3.5) puma (4.3.6)
nio4r (~> 2.0) nio4r (~> 2.0)
pundit (2.1.0) pundit (2.1.0)
activesupport (>= 3.0.0) activesupport (>= 3.0.0)
@ -638,7 +638,7 @@ DEPENDENCIES
wisper (= 2.0.0) wisper (= 2.0.0)
RUBY VERSION RUBY VERSION
ruby 2.7.1p83 ruby 2.7.2p137
BUNDLED WITH BUNDLED WITH
2.1.4 2.1.4

View file

@ -62,6 +62,10 @@ Other features include:
Detailed documentation is available at [www.chatwoot.com/help-center](https://www.chatwoot.com/help-center). 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 ### Branching model

View file

@ -34,6 +34,10 @@
"web": { "web": {
"quantity": 1, "quantity": 1,
"size": "FREE" "size": "FREE"
},
"worker": {
"quantity": 1,
"size": "FREE"
} }
}, },
"image": "heroku/ruby", "image": "heroku/ruby",

View file

@ -40,7 +40,7 @@ class AccountBuilder
end end
def create_account def create_account
@account = Account.create!(name: @account_name) @account = Account.create!(name: @account_name, locale: I18n.locale)
Current.account = @account Current.account = @account
end end
@ -67,7 +67,8 @@ class AccountBuilder
end end
def create_user def create_user
password = Time.now.to_i password = SecureRandom.alphanumeric(12)
@user = User.new(email: @email, @user = User.new(email: @email,
password: password, password: password,
password_confirmation: password, password_confirmation: password,

View file

@ -1,5 +1,7 @@
class Api::V1::Accounts::BaseController < Api::BaseController class Api::V1::Accounts::BaseController < Api::BaseController
include SwitchLocale
before_action :current_account before_action :current_account
around_action :switch_locale_using_account_locale
private private

View file

@ -14,7 +14,10 @@ class Api::V1::Accounts::ContactsController < Api::V1::Accounts::BaseController
def search def search
render json: { error: 'Specify search string with parameter q' }, status: :unprocessable_entity if params[:q].blank? && return 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 ILIKE :search OR email ILIKE :search OR phone_number ILIKE :search',
search: "%#{params[:q]}%"
)
@contacts_count = contacts.count @contacts_count = contacts.count
@contacts = fetch_contact_last_seen_at(contacts) @contacts = fetch_contact_last_seen_at(contacts)
end end
@ -32,7 +35,6 @@ class Api::V1::Accounts::ContactsController < Api::V1::Accounts::BaseController
def create def create
ActiveRecord::Base.transaction do ActiveRecord::Base.transaction do
@contact = Current.account.contacts.new(contact_params) @contact = Current.account.contacts.new(contact_params)
set_ip
@contact.save! @contact.save!
@contact_inbox = build_contact_inbox @contact_inbox = build_contact_inbox
end end
@ -40,7 +42,6 @@ class Api::V1::Accounts::ContactsController < Api::V1::Accounts::BaseController
def update def update
@contact.assign_attributes(contact_update_params) @contact.assign_attributes(contact_update_params)
set_ip
@contact.save! @contact.save!
rescue ActiveRecord::RecordInvalid => e rescue ActiveRecord::RecordInvalid => e
render json: { render json: {
@ -96,11 +97,4 @@ class Api::V1::Accounts::ContactsController < Api::V1::Accounts::BaseController
def fetch_contact def fetch_contact
@contact = Current.account.contacts.includes(contact_inboxes: [:inbox]).find(params[:id]) @contact = Current.account.contacts.includes(contact_inboxes: [:inbox]).find(params[:id])
end end
def set_ip
return if @contact.account.feature_enabled?('ip_lookup')
@contact[:additional_attributes][:created_at_ip] ||= request.remote_ip
@contact[:additional_attributes][:updated_at_ip] = request.remote_ip
end
end end

View file

@ -2,6 +2,7 @@ class Api::V1::Accounts::Integrations::SlackController < Api::V1::Accounts::Base
before_action :fetch_hook, only: [:update, :destroy] before_action :fetch_hook, only: [:update, :destroy]
def create def create
ActiveRecord::Base.transaction do
builder = Integrations::Slack::HookBuilder.new( builder = Integrations::Slack::HookBuilder.new(
account: Current.account, account: Current.account,
code: params[:code], code: params[:code],
@ -10,6 +11,7 @@ class Api::V1::Accounts::Integrations::SlackController < Api::V1::Accounts::Base
@hook = builder.perform @hook = builder.perform
create_chatwoot_slack_channel create_chatwoot_slack_channel
end end
end
def update def update
create_chatwoot_slack_channel create_chatwoot_slack_channel

View file

@ -1,4 +1,6 @@
class Api::V1::Widget::BaseController < ApplicationController class Api::V1::Widget::BaseController < ApplicationController
include SwitchLocale
before_action :set_web_widget before_action :set_web_widget
before_action :set_contact before_action :set_contact

View file

@ -1,6 +1,7 @@
class ApplicationController < ActionController::Base class ApplicationController < ActionController::Base
include DeviseTokenAuth::Concerns::SetUserByToken include DeviseTokenAuth::Concerns::SetUserByToken
include Pundit include Pundit
include SwitchLocale
protect_from_forgery with: :null_session protect_from_forgery with: :null_session
@ -60,28 +61,6 @@ class ApplicationController < ActionController::Base
render json: exception.to_hash, status: exception.http_status render json: exception.to_hash, status: exception.http_status
end 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 def pundit_user
{ {
user: Current.user, user: Current.user,

View file

@ -0,0 +1,42 @@
module SwitchLocale
extend ActiveSupport::Concern
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 account, let's use DEFAULT_LOCALE env variable
locale ||= locale_from_env_variable
set_locale(locale, &action)
end
def switch_locale_using_account_locale(&action)
locale = locale_from_account(@current_account)
set_locale(locale, &action)
end
def set_locale(locale, &action)
# if locale is empty, use 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

View file

@ -1,6 +1,5 @@
class DashboardController < ActionController::Base class DashboardController < ActionController::Base
before_action :set_global_config before_action :set_global_config
layout 'vueapp' layout 'vueapp'
def index; end def index; end

View file

@ -2,8 +2,38 @@ class DeviseOverrides::SessionsController < ::DeviseTokenAuth::SessionsControlle
# Prevent session parameter from being passed # Prevent session parameter from being passed
# Unpermitted parameter: session # Unpermitted parameter: session
wrap_parameters format: [] 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 def render_create_success
render partial: 'devise/auth.json', locals: { resource: @resource } render partial: 'devise/auth.json', locals: { resource: @resource }
end 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 end

View file

@ -41,13 +41,21 @@ class WidgetsController < ActionController::Base
def build_contact def build_contact
return if @contact.present? return if @contact.present?
contact_inbox = @web_widget.create_contact_inbox contact_inbox = @web_widget.create_contact_inbox(additional_attributes)
@contact = contact_inbox.contact @contact = contact_inbox.contact
payload = { source_id: contact_inbox.source_id, inbox_id: @web_widget.inbox.id } payload = { source_id: contact_inbox.source_id, inbox_id: @web_widget.inbox.id }
@token = ::Widget::TokenService.new(payload: payload).generate_token @token = ::Widget::TokenService.new(payload: payload).generate_token
end end
def additional_attributes
if @web_widget.inbox.account.feature_enabled?('ip_lookup')
{ created_at_ip: request.remote_ip }
else
{}
end
end
def permitted_params def permitted_params
params.permit(:website_token, :cw_conversation) params.permit(:website_token, :cw_conversation)
end end

View file

@ -8,7 +8,6 @@
</template> </template>
<script> <script>
import Vue from 'vue';
import { mapGetters } from 'vuex'; import { mapGetters } from 'vuex';
import WootSnackbarBox from './components/SnackbarContainer'; import WootSnackbarBox from './components/SnackbarContainer';
import { accountIdFromPathname } from './helper/URLHelper'; import { accountIdFromPathname } from './helper/URLHelper';
@ -28,10 +27,15 @@ export default {
mounted() { mounted() {
this.$store.dispatch('setUser'); this.$store.dispatch('setUser');
this.setLocale(window.chatwootConfig.selectedLocale);
this.initializeAccount(); this.initializeAccount();
}, },
methods: { methods: {
setLocale(locale) {
this.$root.$i18n.locale = locale;
},
async initializeAccount() { async initializeAccount() {
const { pathname } = window.location; const { pathname } = window.location;
const accountId = accountIdFromPathname(pathname); const accountId = accountIdFromPathname(pathname);
@ -39,7 +43,7 @@ export default {
if (accountId) { if (accountId) {
await this.$store.dispatch('accounts/get'); await this.$store.dispatch('accounts/get');
const { locale } = this.getAccount(accountId); const { locale } = this.getAccount(accountId);
Vue.config.lang = locale; this.setLocale(locale);
} }
}, },
}, },

View file

@ -17,6 +17,12 @@ class ReportsAPI extends ApiClient {
params: { since, until }, params: { since, until },
}); });
} }
getAgentReports(since, until) {
return axios.get(`${this.url}/agents`, {
params: { since, until },
});
}
} }
export default new ReportsAPI(); export default new ReportsAPI();

View file

@ -12,5 +12,6 @@ describe('#Reports API', () => {
expect(reports).toHaveProperty('delete'); expect(reports).toHaveProperty('delete');
expect(reports).toHaveProperty('getAccountReports'); expect(reports).toHaveProperty('getAccountReports');
expect(reports).toHaveProperty('getAccountSummary'); expect(reports).toHaveProperty('getAccountSummary');
expect(reports).toHaveProperty('getAgentReports');
}); });
}); });

View file

@ -236,7 +236,7 @@ $breadcrumbs-item-slash: true;
// 11. Button // 11. Button
// ---------- // ----------
$button-padding: $space-one $space-two; $button-padding: $space-one $space-normal;
$button-margin: 0 0 $global-margin 0; $button-margin: 0 0 $global-margin 0;
$button-fill: solid; $button-fill: solid;
$button-background: $primary-color; $button-background: $primary-color;

View file

@ -88,8 +88,8 @@ $woot-snackbar-bg: #323232;
$woot-snackbar-button: #ffeb3b; $woot-snackbar-button: #ffeb3b;
$swift-ease-out-duration: .4s !default; $swift-ease-out-duration: .4s !default;
$swift-ease-out-timing-function: cubic-bezier(.25, .8, .25, 1) !default; $swift-ease-out-function: cubic-bezier(0.37, 0, 0.63, 1) !default;
$swift-ease-out: all $swift-ease-out-duration $swift-ease-out-timing-function !default; $swift-ease-out: all $swift-ease-out-duration $swift-ease-out-function !default;
// Ionicons // Ionicons
$ionicons-font-path: '~ionicons/fonts'; $ionicons-font-path: '~ionicons/fonts';

View file

@ -1,3 +1,5 @@
$resolve-button-width: 13.2rem;
// Conversation header - Light BG // Conversation header - Light BG
.conv-header { .conv-header {
@include padding($space-small $space-normal); @include padding($space-small $space-normal);
@ -71,7 +73,7 @@
.button.resolve--button { .button.resolve--button {
@include flex-align($x: center, $y: middle); @include flex-align($x: center, $y: middle);
width: 13.2rem; width: $resolve-button-width;
>.icon { >.icon {
font-size: $font-size-default; font-size: $font-size-default;

View file

@ -1,3 +1,15 @@
@keyframes left-shift-animation {
0%,
100% {
transform: translateX(0);
}
50% {
transform: translateX(1px);
}
}
.conversation { .conversation {
@include flex; @include flex;
@include flex-shrink; @include flex-shrink;
@ -10,6 +22,7 @@
position: relative; position: relative;
&.active { &.active {
animation: left-shift-animation .25s $swift-ease-out-function;
background: $color-background; background: $color-background;
border-bottom-color: $color-border-light; border-bottom-color: $color-border-light;
border-left-color: $color-woot; border-left-color: $color-woot;
@ -30,7 +43,7 @@
} }
} }
&:nth-last-child(2) { &:last-child {
.conversation--details { .conversation--details {
border-bottom-color: $color-border-light; border-bottom-color: $color-border-light;
} }

View file

@ -72,13 +72,12 @@
.chat-list__top { .chat-list__top {
@include flex; @include flex;
@include padding($zero $zero $space-small $zero); @include padding($zero $zero $space-micro $zero);
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
.page-title { .page-title {
@include flex;
margin-bottom: $zero; margin-bottom: $zero;
margin-left: $space-normal; margin-left: $space-normal;
} }

View file

@ -5,10 +5,12 @@
margin: $space-normal; margin: $space-normal;
margin-top: 0; margin-top: 0;
max-height: $space-mega * 3; max-height: $space-mega * 3;
transition: box-shadow .35s $ease-in-out-cubic, height 2s $ease-in-out-cubic; transition: box-shadow .35s $swift-ease-out-function,
height 2s $swift-ease-out-function;
&.is-focused { &.is-focused {
@include normal-shadow; @include shadow;
} }
.reply-box__top { .reply-box__top {
@ -47,7 +49,7 @@
&.is-private { &.is-private {
background: lighten($warning-color, 38%); background: lighten($warning-color, 38%);
> input { >input {
background: lighten($warning-color, 38%); background: lighten($warning-color, 38%);
} }
} }
@ -63,7 +65,7 @@
} }
} }
.file-uploads > label { .file-uploads>label {
cursor: pointer; cursor: pointer;
} }
@ -73,7 +75,7 @@
padding: 0 $space-small; padding: 0 $space-small;
} }
> textarea { >textarea {
@include ghost-input(); @include ghost-input();
@include margin(0); @include margin(0);
background: transparent; background: transparent;
@ -100,7 +102,7 @@
.tabs-title { .tabs-title {
margin: 0; margin: 0;
transition: all .2s $ease-in-out-cubic; transition: all .2s $swift-ease-out-function;
transition-property: color, background; transition-property: color, background;
a { a {
@ -124,12 +126,12 @@
&.is-active { &.is-active {
@include border-light-right; @include border-light-right;
border-left: 0; border-left: 0;
}
a { a {
border-bottom-left-radius: $space-small; border-bottom-left-radius: $space-small;
} }
} }
}
.is-active { .is-active {
@include background-white; @include background-white;

View file

@ -56,7 +56,7 @@
display: flex; display: flex;
flex-direction: row; flex-direction: row;
font-size: $font-size-small; font-size: $font-size-small;
transition: all .15s $ease-in-out-cubic; transition: border-color .15s $swift-ease-out-function;
} }
&.is-active { &.is-active {

View file

@ -24,7 +24,7 @@ table {
tr { tr {
.show-if-hover { .show-if-hover {
opacity: 0; opacity: 0;
transition: all 0.2s $ease-in-out-cubic; transition: opacity 0.2s $swift-ease-out-function;
} }
&:hover { &:hover {

View file

@ -2,7 +2,7 @@
<div class="conversations-sidebar medium-4 columns"> <div class="conversations-sidebar medium-4 columns">
<slot></slot> <slot></slot>
<div class="chat-list__top"> <div class="chat-list__top">
<h1 class="page-title"> <h1 class="page-title text-truncate" :title="pageTitle">
<woot-sidemenu-icon /> <woot-sidemenu-icon />
{{ pageTitle }} {{ pageTitle }}
</h1> </h1>

View file

@ -3,14 +3,11 @@
<button class="button small button--copy-code" @click="onCopy"> <button class="button small button--copy-code" @click="onCopy">
{{ $t('COMPONENTS.CODE.BUTTON_TEXT') }} {{ $t('COMPONENTS.CODE.BUTTON_TEXT') }}
</button> </button>
<highlight-code :lang="lang"> <highlightjs :language="lang" :code="script" />
{{ script }}
</highlight-code>
</div> </div>
</template> </template>
<script> <script>
/* global bus */
import 'highlight.js/styles/default.css'; import 'highlight.js/styles/default.css';
import copy from 'copy-text-to-clipboard'; import copy from 'copy-text-to-clipboard';

View file

@ -8,7 +8,11 @@ import i18n from 'dashboard/i18n';
const localVue = createLocalVue(); const localVue = createLocalVue();
localVue.use(Vuex); localVue.use(Vuex);
localVue.use(VueI18n); localVue.use(VueI18n);
localVue.locale('en', i18n.en);
const i18nConfig = new VueI18n({
locale: 'en',
messages: i18n,
});
describe('AvailabilityStatus', () => { describe('AvailabilityStatus', () => {
const currentUser = { availability_status: 'online' }; const currentUser = { availability_status: 'online' };
@ -40,6 +44,7 @@ describe('AvailabilityStatus', () => {
availabilityStatus = mount(AvailabilityStatus, { availabilityStatus = mount(AvailabilityStatus, {
store, store,
localVue, localVue,
i18n: i18nConfig,
}); });
}); });

View file

@ -39,7 +39,7 @@
<span class="timestamp"> <span class="timestamp">
{{ dynamicTime(chat.timestamp) }} {{ dynamicTime(chat.timestamp) }}
</span> </span>
<span class="unread">{{ getUnreadCount }}</span> <span class="unread">{{ unreadCount > 9 ? '9+' : unreadCount }}</span>
</div> </div>
</div> </div>
</div> </div>
@ -108,12 +108,12 @@ export default {
return this.currentChat.id === this.chat.id; return this.currentChat.id === this.chat.id;
}, },
getUnreadCount() { unreadCount() {
return this.unreadMessagesCount(this.chat); return this.unreadMessagesCount(this.chat);
}, },
hasUnread() { hasUnread() {
return this.getUnreadCount > 0; return this.unreadCount > 0;
}, },
isInboxNameVisible() { isInboxNameVisible() {

View file

@ -31,13 +31,13 @@
<div class="multiselect-box ion-headphone"> <div class="multiselect-box ion-headphone">
<multiselect <multiselect
v-model="currentChat.meta.assignee" v-model="currentChat.meta.assignee"
:options="agentList"
label="name"
:allow-empty="true" :allow-empty="true"
deselect-label="Remove" :deselect-label="$t('CONVERSATION.ASSIGNMENT.REMOVE')"
placeholder="Select Agent" :options="agentList"
:placeholder="$t('CONVERSATION.ASSIGNMENT.SELECT_AGENT')"
:select-label="$t('CONVERSATION.ASSIGNMENT.ASSIGN')"
label="name"
selected-label selected-label
select-label="Assign"
track-by="id" track-by="id"
@select="assignAgent" @select="assignAgent"
@remove="removeAgent" @remove="removeAgent"

View file

@ -121,7 +121,7 @@ export default {
return this.data.message_type === 1 && !this.isHovered && sender return this.data.message_type === 1 && !this.isHovered && sender
? { ? {
content: `Sent by: ${sender.name}`, content: `${this.$t('CONVERSATION.SENT_BY')} ${sender.name}`,
classes: 'top', classes: 'top',
} }
: false; : false;

View file

@ -47,8 +47,13 @@
:is-a-tweet="isATweet" :is-a-tweet="isATweet"
/> />
<li v-show="getUnreadCount != 0" class="unread--toast"> <li v-show="getUnreadCount != 0" class="unread--toast">
<span> <span class="text-uppercase">
{{ getUnreadCount }} UNREAD MESSAGE{{ getUnreadCount > 1 ? 'S' : '' }} {{ getUnreadCount }}
{{
getUnreadCount > 1
? $t('CONVERSATION.UNREAD_MESSAGES')
: $t('CONVERSATION.UNREAD_MESSAGE')
}}
</span> </span>
</li> </li>
<message <message

View file

@ -106,6 +106,10 @@ export default {
&.clear.more--button { &.clear.more--button {
color: var(--color-body); color: var(--color-body);
} }
&:hover {
color: var(--w-800);
}
} }
.actions--container { .actions--container {

View file

@ -19,13 +19,15 @@
class="input" class="input"
:placeholder="messagePlaceHolder" :placeholder="messagePlaceHolder"
:min-height="4" :min-height="4"
@typing-off="onTypingOff"
@typing-on="onTypingOn"
@focus="onFocus" @focus="onFocus"
@blur="onBlur" @blur="onBlur"
/> />
<file-upload <file-upload
v-if="showFileUpload" v-if="showFileUpload"
:size="4096 * 4096" :size="4096 * 4096"
accept="image/*, application/pdf, audio/mpeg, video/mp4, audio/ogg" accept="image/*, application/pdf, audio/mpeg, video/mp4, audio/ogg, text/csv"
@input-file="onFileUpload" @input-file="onFileUpload"
> >
<i v-if="!isUploading" class="icon ion-android-attach attachment" /> <i v-if="!isUploading" class="icon ion-android-attach attachment" />
@ -298,13 +300,17 @@ export default {
hideCannedResponse() { hideCannedResponse() {
this.showCannedResponsesList = false; this.showCannedResponsesList = false;
}, },
onTypingOn() {
this.toggleTyping('on');
},
onTypingOff() {
this.toggleTyping('off');
},
onBlur() { onBlur() {
this.isFocused = false; this.isFocused = false;
this.toggleTyping('off');
}, },
onFocus() { onFocus() {
this.isFocused = true; this.isFocused = true;
this.toggleTyping('on');
}, },
toggleTyping(status) { toggleTyping(status) {
if (this.isAWebWidgetInbox && !this.isPrivate) { if (this.isAWebWidgetInbox && !this.isPrivate) {

View file

@ -10,9 +10,14 @@ import MoreActions from '../MoreActions';
const localVue = createLocalVue(); const localVue = createLocalVue();
localVue.use(Vuex); localVue.use(Vuex);
localVue.use(VueI18n); localVue.use(VueI18n);
localVue.locale('en', i18n.en);
localVue.component('woot-button', Button); localVue.component('woot-button', Button);
const i18nConfig = new VueI18n({
locale: 'en',
messages: i18n,
});
describe('MoveActions', () => { describe('MoveActions', () => {
let currentChat = { id: 8, muted: false }; let currentChat = { id: 8, muted: false };
let state = null; let state = null;
@ -55,7 +60,7 @@ describe('MoveActions', () => {
getters, getters,
}); });
moreActions = mount(MoreActions, { store, localVue }); moreActions = mount(MoreActions, { store, localVue, i18n: i18nConfig });
}); });
it('opens the menu when user clicks "more"', async () => { it('opens the menu when user clicks "more"', async () => {

View file

@ -11,6 +11,7 @@ import fi from './locale/fi';
import fr from './locale/fr'; import fr from './locale/fr';
import hi from './locale/hi'; import hi from './locale/hi';
import hu from './locale/hu'; import hu from './locale/hu';
import id from './locale/id';
import it from './locale/it'; import it from './locale/it';
import ja from './locale/ja'; import ja from './locale/ja';
import ko from './locale/ko'; import ko from './locale/ko';
@ -44,6 +45,7 @@ export default {
fr, fr,
hi, hi,
hu, hu,
id,
it, it,
ja, ja,
ko, ko,

View file

@ -13,6 +13,8 @@
"PLACEHOLDER": "Type any text to search messages", "PLACEHOLDER": "Type any text to search messages",
"NO_MATCHING_RESULTS": "There are no messages matching the search parameters." "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": "جاري تحميل المحادثات",
@ -42,7 +44,13 @@
}, },
"VISIBLE_TO_AGENTS": "ملاحظة خاصة: مرئية فقط لأعضاء فريق العمل والموظفين", "VISIBLE_TO_AGENTS": "ملاحظة خاصة: مرئية فقط لأعضاء فريق العمل والموظفين",
"CHANGE_STATUS": "تم تغيير حالة المحادثة", "CHANGE_STATUS": "تم تغيير حالة المحادثة",
"CHANGE_AGENT": "تم تغيير الموظف الذي تم إحالة المحادثة إليه" "CHANGE_AGENT": "تم تغيير الموظف الذي تم إحالة المحادثة إليه",
"SENT_BY": "Sent by:",
"ASSIGNMENT": {
"SELECT_AGENT": "Select Agent",
"REMOVE": "حذف",
"ASSIGN": "Assign"
}
}, },
"EMAIL_TRANSCRIPT": { "EMAIL_TRANSCRIPT": {
"TITLE": "إرسال نص المحادثة", "TITLE": "إرسال نص المحادثة",

View file

@ -43,5 +43,12 @@
"CUSTOM_EMAIL_DOMAIN_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"
}
} }
} }

View file

@ -165,7 +165,9 @@
}, },
"AGENTS": { "AGENTS": {
"TITLE": "موظف الدعم", "TITLE": "موظف الدعم",
"DESC": "هنا يمكنك إضافة موظفين لإدارة صندوق الوارد الخاص بقناة تواصلك التي تم إنشاؤها حديثاً. الموظفين الذين يتم تحديدهم هنا هم فقط من يمكنهم الوصول إلى صندوق الوارد الخاص بتلك القناة. الموظفين الذين ليسوا جزءاً من صندوق الوارد هذا لن يكونوا قادرين على رؤية أو الرد على الرسائل في قناة التواصل هذه عند تسجيل الدخول. <br> <b>ملحوظة:</b> كمسؤول، إذا كنت بحاجة إلى الوصول إلى جميع صناديق الوارد، يجب عليك إضافة نفسك كموظف لجميع صناديق الوارد الخاصة بقنوات التواصل التي تنشئها." "DESC": "هنا يمكنك إضافة موظفين لإدارة صندوق الوارد الخاص بقناة تواصلك التي تم إنشاؤها حديثاً. الموظفين الذين يتم تحديدهم هنا هم فقط من يمكنهم الوصول إلى صندوق الوارد الخاص بتلك القناة. الموظفين الذين ليسوا جزءاً من صندوق الوارد هذا لن يكونوا قادرين على رؤية أو الرد على الرسائل في قناة التواصل هذه عند تسجيل الدخول. <br> <b>ملحوظة:</b> كمسؤول، إذا كنت بحاجة إلى الوصول إلى جميع صناديق الوارد، يجب عليك إضافة نفسك كموظف لجميع صناديق الوارد الخاصة بقنوات التواصل التي تنشئها.",
"VALIDATION_ERROR": "Add atleast one agent to your new Inbox",
"PICK_AGENTS": "Pick agents for the inbox"
}, },
"DETAILS": { "DETAILS": {
"TITLE": "تفاصيل قناة التواصل", "TITLE": "تفاصيل قناة التواصل",

View file

@ -6,14 +6,12 @@
"CONFIGURE": "تهيئة", "CONFIGURE": "تهيئة",
"HEADER": "إعدادات الـ Webhook", "HEADER": "إعدادات الـ Webhook",
"HEADER_BTN_TXT": "إضافة webhook جديد", "HEADER_BTN_TXT": "إضافة webhook جديد",
"INTEGRATION_TXT": "أحداث Webhook توفر لك معلومات في الوقت الحقيقي حول ما يحدث في حساب Chatwoot الخاص بك. يمكنك استخدام خاصية الـ Webhook لإيصال الأحداث إلى تطبيقاتك المفضلة مثل Slack أو Github. انقر على \"تهيئة\" لإعداد الـ Webhooks الخاصة بك.",
"LOADING": "جار جلب الـ Webhooks", "LOADING": "جار جلب الـ Webhooks",
"SEARCH_404": "لا توجد عناصر مطابقة لهذا الاستعلام", "SEARCH_404": "لا توجد عناصر مطابقة لهذا الاستعلام",
"SIDEBAR_TXT": "<p><b>Webhooks</b> </p> <p>Webhooks هي إعادات HTTP callbacks التي يمكن تعريفها لكل حساب. يتم تشغيلها بأحداث مثل إنشاء الرسائل في Chatwoot. يمكنك إنشاء أكثر من Webhook واحد لهذا الحساب. <br /><br /> لإنشاء <b>webhook</b>، انقر فوق <b>إضافة Webhooks جديد</b>. يمكنك أيضا إزالة أي رابط ويب موجود بالنقر على زر الحذف.</p>", "SIDEBAR_TXT": "<p><b>Webhooks</b> </p> <p>Webhooks هي إعادات HTTP callbacks التي يمكن تعريفها لكل حساب. يتم تشغيلها بأحداث مثل إنشاء الرسائل في Chatwoot. يمكنك إنشاء أكثر من Webhook واحد لهذا الحساب. <br /><br /> لإنشاء <b>webhook</b>، انقر فوق <b>إضافة Webhooks جديد</b>. يمكنك أيضا إزالة أي رابط ويب موجود بالنقر على زر الحذف.</p>",
"LIST": { "LIST": {
"404": "لا توجد webhooks مكونة لهذا الحساب.", "404": "لا توجد webhooks مكونة لهذا الحساب.",
"TITLE": "إدارة الـ webhooks", "TITLE": "إدارة الـ webhooks",
"DESC": "webhooks هي قوالب رد محددة مسبقاً ويمكن استخدامها لإرسال الردود على التذاكر بسرعة.",
"TABLE_HEADER": [ "TABLE_HEADER": [
"Webhook endpoint", "Webhook endpoint",
"الإجراءات" "الإجراءات"

View file

@ -3,6 +3,7 @@
"HEADER": "التقارير", "HEADER": "التقارير",
"LOADING_CHART": "تحميل بيانات الرسم البياني...", "LOADING_CHART": "تحميل بيانات الرسم البياني...",
"NO_ENOUGH_DATA": "لم يتم جمع بيانات بقدر كافي لإنشاء التقرير، الرجاء المحاولة مرة أخرى لاحقاً.", "NO_ENOUGH_DATA": "لم يتم جمع بيانات بقدر كافي لإنشاء التقرير، الرجاء المحاولة مرة أخرى لاحقاً.",
"DOWNLOAD_AGENT_REPORTS": "Download agent reports",
"METRICS": { "METRICS": {
"CONVERSATIONS": { "CONVERSATIONS": {
"NAME": "المحادثات", "NAME": "المحادثات",

View file

@ -27,6 +27,13 @@
"SUCCESS_MESSAGE": "تم التسجيل بنجاح", "SUCCESS_MESSAGE": "تم التسجيل بنجاح",
"ERROR_MESSAGE": "تعذر الاتصال بالخادم، الرجاء المحاولة مرة أخرى لاحقاً" "ERROR_MESSAGE": "تعذر الاتصال بالخادم، الرجاء المحاولة مرة أخرى لاحقاً"
}, },
"SUBMIT": "إرسال" "SUBMIT": "إرسال",
"FEATURES": {
"UNLIMITED_INBOXES": "Unlimited inboxes",
"ROBUST_REPORTING": "Robust Reporting",
"CANNED_RESPONSES": "الردود السريعة",
"AUTO_ASSIGNMENT": "Auto Assignment",
"SECURITY": "Enterprise level security"
}
} }
} }

View file

@ -101,8 +101,8 @@
"SEARCH_BUTTON": "Cercar", "SEARCH_BUTTON": "Cercar",
"SEARCH_INPUT_PLACEHOLDER": "Cerca de contactes", "SEARCH_INPUT_PLACEHOLDER": "Cerca de contactes",
"LIST": { "LIST": {
"LOADING_MESSAGE": "Loading contacts...", "LOADING_MESSAGE": "Carregant contactes...",
"404": "No contacts matches your search 🔍", "404": "No hi ha cap contacte que coincideixi amb la vostra cerca 🔍",
"TABLE_HEADER": [ "TABLE_HEADER": [
"Nom", "Nom",
"Número de telèfon", "Número de telèfon",

View file

@ -13,6 +13,8 @@
"PLACEHOLDER": "Escriu qualsevol text per cercar missatges", "PLACEHOLDER": "Escriu qualsevol text per cercar missatges",
"NO_MATCHING_RESULTS": "No hi ha missatges que coincideixin amb els paràmetres de cerca." "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í", "CLICK_HERE": "Clica aquí",
"LOADING_INBOXES": "S'estan carregant les safates d'entrada", "LOADING_INBOXES": "S'estan carregant les safates d'entrada",
"LOADING_CONVERSATIONS": "S'estan carregant les converses", "LOADING_CONVERSATIONS": "S'estan carregant les converses",
@ -42,7 +44,13 @@
}, },
"VISIBLE_TO_AGENTS": "Nota privada: Només és visible per tu i el vostre equip", "VISIBLE_TO_AGENTS": "Nota privada: Només és visible per tu i el vostre equip",
"CHANGE_STATUS": "Estat de la conversa canviat", "CHANGE_STATUS": "Estat de la conversa canviat",
"CHANGE_AGENT": "Assignació de la conversa canviat" "CHANGE_AGENT": "Assignació de la conversa canviat",
"SENT_BY": "Enviat per:",
"ASSIGNMENT": {
"SELECT_AGENT": "Seleccionar Agent",
"REMOVE": "Suprimeix",
"ASSIGN": "Assignar"
}
}, },
"EMAIL_TRANSCRIPT": { "EMAIL_TRANSCRIPT": {
"TITLE": "Envia la transcripció de la conversa", "TITLE": "Envia la transcripció de la conversa",
@ -53,7 +61,7 @@
"SEND_EMAIL_ERROR": "S'ha produït un error; tornau-ho a provar", "SEND_EMAIL_ERROR": "S'ha produït un error; tornau-ho a provar",
"FORM": { "FORM": {
"SEND_TO_CONTACT": "Envia la transcripció al client", "SEND_TO_CONTACT": "Envia la transcripció al client",
"SEND_TO_AGENT": "Envia la transcripció de l'agent assignat", "SEND_TO_AGENT": "Envia la transcripció a l'agent assignat",
"SEND_TO_OTHER_EMAIL_ADDRESS": "Envia la transcripció a una altra adreça electrònica", "SEND_TO_OTHER_EMAIL_ADDRESS": "Envia la transcripció a una altra adreça electrònica",
"EMAIL": { "EMAIL": {
"PLACEHOLDER": "Introdueix una adreça de correu electrònic", "PLACEHOLDER": "Introdueix una adreça de correu electrònic",

View file

@ -43,5 +43,12 @@
"CUSTOM_EMAIL_DOMAIN_ENABLED": "Ara podeu rebre correus electrònics al vostre domini personalitzat." "CUSTOM_EMAIL_DOMAIN_ENABLED": "Ara podeu rebre correus electrònics al vostre domini personalitzat."
} }
} }
},
"FORMS": {
"MULTISELECT": {
"ENTER_TO_SELECT": "Presiona retorn (tecla enter) per seleccionar",
"ENTER_TO_REMOVE": "Presiona retorn (tecla enter) per eliminar",
"SELECT_ONE": "Selecciona un"
}
} }
} }

View file

@ -165,7 +165,9 @@
}, },
"AGENTS": { "AGENTS": {
"TITLE": "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 sinicien. <br><b>PD:</b> Com a administrador, si necessiteu accés a totes les bústies dentrada, heu dafegir-vos com a agent a totes les bústies de sortida que creeu." "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 sinicien. <br><b>PD:</b> Com a administrador, si necessiteu accés a totes les bústies dentrada, heu dafegir-vos com a agent a totes les bústies de sortida que creeu.",
"VALIDATION_ERROR": "Afageix almenys un agent a la teva safata d'entrada",
"PICK_AGENTS": "Tria agents per la safata d'entrada"
}, },
"DETAILS": { "DETAILS": {
"TITLE": "Detalls de la safata d'entrada", "TITLE": "Detalls de la safata d'entrada",

View file

@ -6,14 +6,12 @@
"CONFIGURE": "Configura", "CONFIGURE": "Configura",
"HEADER": "Configuració Webhook", "HEADER": "Configuració Webhook",
"HEADER_BTN_TXT": "Afegeix un nou webhook", "HEADER_BTN_TXT": "Afegeix un nou webhook",
"INTEGRATION_TXT": "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.",
"LOADING": "S'estan recollint els webhooks adjunts", "LOADING": "S'estan recollint els webhooks adjunts",
"SEARCH_404": "No hi ha articles que coincideixin amb aquesta consulta", "SEARCH_404": "No hi ha articles que coincideixin amb aquesta consulta",
"SIDEBAR_TXT": "<p><b>Webhooks</b> </p> <p>Els webhooks són callbacks HTTP que es poden definir per a cada compte. Es produeixen per esdeveniments com la creació de missatges a Chatwoot. Podeu crear més d'un webhook per a aquest compte. <br /><br /> Per crear un <b>webhook</b>, feu clic al botó <b> Afegir nou webhook </b>. També podeu eliminar qualsevol webhook existent fent clic al botó Elimina.</p>", "SIDEBAR_TXT": "<p><b>Webhooks</b> </p> <p>Els webhooks són callbacks HTTP que es poden definir per a cada compte. Es produeixen per esdeveniments com la creació de missatges a Chatwoot. Podeu crear més d'un webhook per a aquest compte. <br /><br /> Per crear un <b>webhook</b>, feu clic al botó <b> Afegir nou webhook </b>. També podeu eliminar qualsevol webhook existent fent clic al botó Elimina.</p>",
"LIST": { "LIST": {
"404": "No hi ha cap webhooks configurat per a aquest compte.", "404": "No hi ha cap webhooks configurat per a aquest compte.",
"TITLE": "Gestiona els webhooks", "TITLE": "Gestiona els webhooks",
"DESC": "Els webhooks són plantilles de resposta predefinides que es poden utilitzar per enviar ràpidament respostes a una conversa.",
"TABLE_HEADER": [ "TABLE_HEADER": [
"Punt final del webhook", "Punt final del webhook",
"Accions" "Accions"

View file

@ -3,6 +3,7 @@
"HEADER": "Informes", "HEADER": "Informes",
"LOADING_CHART": "S'estan carregant dades del gràfic...", "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.", "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": { "METRICS": {
"CONVERSATIONS": { "CONVERSATIONS": {
"NAME": "Converses", "NAME": "Converses",

View file

@ -113,7 +113,7 @@
"SIDEBAR": { "SIDEBAR": {
"CONVERSATIONS": "Converses", "CONVERSATIONS": "Converses",
"REPORTS": "Informes", "REPORTS": "Informes",
"CONTACTS": "Contacts (Beta)", "CONTACTS": "Contactes (Beta)",
"SETTINGS": "Configuracions", "SETTINGS": "Configuracions",
"HOME": "Inici", "HOME": "Inici",
"AGENTS": "Agents", "AGENTS": "Agents",

View file

@ -27,6 +27,13 @@
"SUCCESS_MESSAGE": "Registrat correctament", "SUCCESS_MESSAGE": "Registrat correctament",
"ERROR_MESSAGE": "No s'ha pogut connectar amb el servidor Woot. Torna-ho a provar més endavant" "ERROR_MESSAGE": "No s'ha pogut connectar amb el servidor Woot. Torna-ho a provar més endavant"
}, },
"SUBMIT": "Envia" "SUBMIT": "Envia",
"FEATURES": {
"UNLIMITED_INBOXES": "Safates ilimitades",
"ROBUST_REPORTING": "Informa robust",
"CANNED_RESPONSES": "Respostes predeterminades",
"AUTO_ASSIGNMENT": "Tasca Automàtica",
"SECURITY": "Seguretat a nivell empreserial"
}
} }
} }

View file

@ -55,7 +55,7 @@
"TITLE": "Potvrdit odstranění", "TITLE": "Potvrdit odstranění",
"MESSAGE": "Opravdu chcete odstranit ", "MESSAGE": "Opravdu chcete odstranit ",
"YES": "Ano, odstranit ", "YES": "Ano, odstranit ",
"NO": "No, Keep " "NO": "Ne, zachovat "
} }
}, },
"EDIT": { "EDIT": {

View file

@ -69,7 +69,7 @@
"TITLE": "Potvrdit odstranění", "TITLE": "Potvrdit odstranění",
"MESSAGE": "Opravdu chcete odstranit ", "MESSAGE": "Opravdu chcete odstranit ",
"YES": "Ano, odstranit ", "YES": "Ano, odstranit ",
"NO": "No, Keep " "NO": "Ne, zachovat "
} }
} }
} }

View file

@ -77,8 +77,8 @@
"CONTENT": "sdílel URL" "CONTENT": "sdílel URL"
} }
}, },
"RECEIVED_VIA_EMAIL": "Received via email", "RECEIVED_VIA_EMAIL": "Obdrženo e-mailem",
"VIEW_TWEET_IN_TWITTER": "View tweet in Twitter", "VIEW_TWEET_IN_TWITTER": "Zobrazit tweet na Twitteru",
"REPLY_TO_TWEET": "Reply to this tweet" "REPLY_TO_TWEET": "Odpovědět na tento tweet"
} }
} }

View file

@ -1,10 +1,10 @@
{ {
"CONTACT_PANEL": { "CONTACT_PANEL": {
"NOT_AVAILABLE": "Not Available", "NOT_AVAILABLE": "Nedostupné",
"EMAIL_ADDRESS": "E-mailová adresa", "EMAIL_ADDRESS": "E-mailová adresa",
"PHONE_NUMBER": "Telefonní číslo", "PHONE_NUMBER": "Telefonní číslo",
"COPY_SUCCESSFUL": "Copied to clipboard successfully", "COPY_SUCCESSFUL": "Úspěšně zkopírováno do schránky",
"COMPANY": "Company", "COMPANY": "Společnost",
"LOCATION": "Poloha", "LOCATION": "Poloha",
"CONVERSATION_TITLE": "Podrobnosti konverzace", "CONVERSATION_TITLE": "Podrobnosti konverzace",
"BROWSER": "Prohlížeč", "BROWSER": "Prohlížeč",
@ -16,98 +16,98 @@
"TITLE": "Předchozí konverzace" "TITLE": "Předchozí konverzace"
}, },
"CUSTOM_ATTRIBUTES": { "CUSTOM_ATTRIBUTES": {
"TITLE": "Custom Attributes" "TITLE": "Vlastní atributy"
}, },
"LABELS": { "LABELS": {
"TITLE": "Štítky konverzace", "TITLE": "Štítky konverzace",
"MODAL": { "MODAL": {
"TITLE": "Labels for", "TITLE": "Štítky pro",
"ACTIVE_LABELS": "Labels added to the conversation", "ACTIVE_LABELS": "Štítky přidány do konverzace",
"INACTIVE_LABELS": "Labels available in the account", "INACTIVE_LABELS": "Štítky dostupné v účtu",
"REMOVE": "Click on X icon to remove the label", "REMOVE": "Kliknutím na ikonu X odstraníte štítek",
"ADD": "Click on + icon to add the label", "ADD": "Kliknutím na ikonu + přidáte štítek",
"UPDATE_BUTTON": "Update labels", "UPDATE_BUTTON": "Aktualizovat štítky",
"UPDATE_ERROR": "Couldn't update labels, try again." "UPDATE_ERROR": "Nelze aktualizovat štítky, zkuste to znovu."
}, },
"NO_LABELS_TO_ADD": "There are no more labels defined in the account.", "NO_LABELS_TO_ADD": "V účtu nejsou definovány žádné další štítky.",
"NO_AVAILABLE_LABELS": "There are no labels added to this conversation." "NO_AVAILABLE_LABELS": "Do této konverzace nebyly přidány žádné štítky."
}, },
"MUTE_CONTACT": "Mute Conversation", "MUTE_CONTACT": "Ztlumit konverzaci",
"UNMUTE_CONTACT": "Unmute Conversation", "UNMUTE_CONTACT": "Zrušit ztlumení konverzace",
"MUTED_SUCCESS": "This conversation is muted for 6 hours", "MUTED_SUCCESS": "Tato konverzace je ztlumena na 6 hodin",
"UNMUTED_SUCCESS": "This conversation is unmuted", "UNMUTED_SUCCESS": "Tato konverzace je odtlumena",
"SEND_TRANSCRIPT": "Send Transcript", "SEND_TRANSCRIPT": "Poslat přepis",
"EDIT_LABEL": "Upravit" "EDIT_LABEL": "Upravit"
}, },
"EDIT_CONTACT": { "EDIT_CONTACT": {
"BUTTON_LABEL": "Edit Contact", "BUTTON_LABEL": "Upravit kontakt",
"TITLE": "Edit contact", "TITLE": "Upravit kontakt",
"DESC": "Edit contact details", "DESC": "Upravit kontaktní údaje",
"FORM": { "FORM": {
"SUBMIT": "Odeslat", "SUBMIT": "Odeslat",
"CANCEL": "Zrušit", "CANCEL": "Zrušit",
"AVATAR": { "AVATAR": {
"LABEL": "Contact Avatar" "LABEL": "Avatar kontaktu"
}, },
"NAME": { "NAME": {
"PLACEHOLDER": "Enter the full name of the contact", "PLACEHOLDER": "Zadejte celé jméno kontaktu",
"LABEL": "Full Name" "LABEL": "Celé jméno"
}, },
"BIO": { "BIO": {
"PLACEHOLDER": "Enter the bio of the contact", "PLACEHOLDER": "Zadejte bio kontaktu",
"LABEL": "Bio" "LABEL": "Bio"
}, },
"EMAIL_ADDRESS": { "EMAIL_ADDRESS": {
"PLACEHOLDER": "Enter the email address of the contact", "PLACEHOLDER": "Zadejte e-mailovou adresu kontaktu",
"LABEL": "E-mailová adresa" "LABEL": "E-mailová adresa"
}, },
"PHONE_NUMBER": { "PHONE_NUMBER": {
"PLACEHOLDER": "Enter the phone number of the contact", "PLACEHOLDER": "Zadejte telefonní číslo kontaktu",
"LABEL": "Phone Number" "LABEL": "Telefonní číslo"
}, },
"LOCATION": { "LOCATION": {
"PLACEHOLDER": "Enter the location of the contact", "PLACEHOLDER": "Zadejte lokaci kontaktu",
"LABEL": "Poloha" "LABEL": "Poloha"
}, },
"COMPANY_NAME": { "COMPANY_NAME": {
"PLACEHOLDER": "Enter the company name", "PLACEHOLDER": "Zadejte název společnosti",
"LABEL": "Company Name" "LABEL": "Název společnosti"
}, },
"SOCIAL_PROFILES": { "SOCIAL_PROFILES": {
"FACEBOOK": { "FACEBOOK": {
"PLACEHOLDER": "Enter the Facebook username", "PLACEHOLDER": "Zadejte uživatelské jméno na Facebooku",
"LABEL": "Facebook" "LABEL": "Facebook"
}, },
"TWITTER": { "TWITTER": {
"PLACEHOLDER": "Enter the Twitter username", "PLACEHOLDER": "Zadejte uživatelské jméno na Twitteru",
"LABEL": "Twitter" "LABEL": "Twitter"
}, },
"LINKEDIN": { "LINKEDIN": {
"PLACEHOLDER": "Enter the LinkedIn username", "PLACEHOLDER": "Zadejte uživatelské jméno na LinkedInu",
"LABEL": "LinkedIn" "LABEL": "LinkedIn"
}, },
"GITHUB": { "GITHUB": {
"PLACEHOLDER": "Enter the Github username", "PLACEHOLDER": "Zadejte uživatelské jméno na GitHubu",
"LABEL": "Github" "LABEL": "GitHub"
} }
} }
}, },
"SUCCESS_MESSAGE": "Updated contact successfully", "SUCCESS_MESSAGE": "Kontakt byl úspěšně aktualizován",
"CONTACT_ALREADY_EXIST": "This email address is in use for another contact.", "CONTACT_ALREADY_EXIST": "Tuto e-mailovou adresu již používá jiný kontakt.",
"ERROR_MESSAGE": "There was an error updating the contact, please try again" "ERROR_MESSAGE": "Při aktualizaci kontaktu se vyskytla chyba, zkuste to prosím znovu"
}, },
"CONTACTS_PAGE": { "CONTACTS_PAGE": {
"HEADER": "Contacts", "HEADER": "Kontakty",
"SEARCH_BUTTON": "Search", "SEARCH_BUTTON": "Hledat",
"SEARCH_INPUT_PLACEHOLDER": "Search for contacts", "SEARCH_INPUT_PLACEHOLDER": "Hledat kontakty",
"LIST": { "LIST": {
"LOADING_MESSAGE": "Loading contacts...", "LOADING_MESSAGE": "Načítání kontaktů...",
"404": "No contacts matches your search 🔍", "404": "Vašemu hledání neodpovídají žádné kontakty 🔍",
"TABLE_HEADER": [ "TABLE_HEADER": [
"Název", "Název",
"Phone Number", "Telefonní číslo",
"Konverzace", "Konverzace",
"Last Contacted" "Naposledy kontaktováno"
] ]
} }
} }

View file

@ -6,21 +6,23 @@
"NO_INBOX_1": "Hola! Zdá se, že jste ještě nepřidali žádné schránky.", "NO_INBOX_1": "Hola! Zdá se, že jste ještě nepřidali žádné schránky.",
"NO_INBOX_2": " začít", "NO_INBOX_2": " začít",
"NO_INBOX_AGENT": "Uh Oh! Vypadá to, že nejste součástí žádné schránky. Obraťte se na správce", "NO_INBOX_AGENT": "Uh Oh! Vypadá to, že nejste součástí žádné schránky. Obraťte se na správce",
"SEARCH_MESSAGES": "Search for messages in conversations", "SEARCH_MESSAGES": "Hledat zprávy v konverzacích",
"SEARCH": { "SEARCH": {
"TITLE": "Search messages", "TITLE": "Hledat zprávy",
"LOADING_MESSAGE": "Crunching data...", "LOADING_MESSAGE": "Načítám data...",
"PLACEHOLDER": "Type any text to search messages", "PLACEHOLDER": "Zadejte jakýkoli text k hledání",
"NO_MATCHING_RESULTS": "There are no messages matching the search parameters." "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", "CLICK_HERE": "Klikněte zde",
"LOADING_INBOXES": "Načítání krabic", "LOADING_INBOXES": "Načítání krabic",
"LOADING_CONVERSATIONS": "Načítání konverzací", "LOADING_CONVERSATIONS": "Načítání konverzací",
"CANNOT_REPLY": "You cannot reply due to", "CANNOT_REPLY": "Nemůžete odpovědět z důvodu",
"24_HOURS_WINDOW": "24 hour message window restriction", "24_HOURS_WINDOW": "24 hodinové omezení okna",
"LAST_INCOMING_TWEET": "You are replying to the last incoming tweet", "LAST_INCOMING_TWEET": "Odpovídáte na poslední příchozí tweet",
"REPLYING_TO": "You are replying to:", "REPLYING_TO": "Odpovídáte uživateli:",
"REMOVE_SELECTION": "Remove Selection", "REMOVE_SELECTION": "Odstranit výběr",
"DOWNLOAD": "Stáhnout", "DOWNLOAD": "Stáhnout",
"HEADER": { "HEADER": {
"RESOLVE_ACTION": "Vyřešit", "RESOLVE_ACTION": "Vyřešit",
@ -42,21 +44,27 @@
}, },
"VISIBLE_TO_AGENTS": "Soukromá poznámka: Viditelné pouze pro vás a váš tým", "VISIBLE_TO_AGENTS": "Soukromá poznámka: Viditelné pouze pro vás a váš tým",
"CHANGE_STATUS": "Stav konverzace byl změněn", "CHANGE_STATUS": "Stav konverzace byl změněn",
"CHANGE_AGENT": "Konverzace pověřená osoba změněna" "CHANGE_AGENT": "Konverzace pověřená osoba změněna",
"SENT_BY": "Sent by:",
"ASSIGNMENT": {
"SELECT_AGENT": "Select Agent",
"REMOVE": "Odebrat",
"ASSIGN": "Assign"
}
}, },
"EMAIL_TRANSCRIPT": { "EMAIL_TRANSCRIPT": {
"TITLE": "Send conversation transcript", "TITLE": "Poslat přepis konverzace",
"DESC": "Send a copy of the conversation transcript to the specified email address", "DESC": "Poslat kopii přepisu konverzace na zadanou e-mailovou adresu",
"SUBMIT": "Odeslat", "SUBMIT": "Odeslat",
"CANCEL": "Zrušit", "CANCEL": "Zrušit",
"SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_SUCCESS": "Přepis chatu byl úspěšně odeslán",
"SEND_EMAIL_ERROR": "There was an error, please try again", "SEND_EMAIL_ERROR": "Došlo k chybě, zkuste to prosím znovu",
"FORM": { "FORM": {
"SEND_TO_CONTACT": "Send the transcript to the customer", "SEND_TO_CONTACT": "Poslat přepis zákazníkovi",
"SEND_TO_AGENT": "Send the transcript of the assigned agent", "SEND_TO_AGENT": "Zašlete přepis přidělenému agentovi",
"SEND_TO_OTHER_EMAIL_ADDRESS": "Send the transcript to another email address", "SEND_TO_OTHER_EMAIL_ADDRESS": "Poslat přepis na jinou e-mailovou adresu",
"EMAIL": { "EMAIL": {
"PLACEHOLDER": "Enter an email address", "PLACEHOLDER": "Zadejte e-mailovou adresu",
"ERROR": "Zadejte prosím platnou e-mailovou adresu" "ERROR": "Zadejte prosím platnou e-mailovou adresu"
} }
} }

View file

@ -2,7 +2,7 @@
"GENERAL_SETTINGS": { "GENERAL_SETTINGS": {
"TITLE": "Nastavení účtu", "TITLE": "Nastavení účtu",
"SUBMIT": "Aktualizovat nastavení", "SUBMIT": "Aktualizovat nastavení",
"BACK": "Back", "BACK": "Zpět",
"UPDATE": { "UPDATE": {
"ERROR": "Nelze aktualizovat nastavení, zkuste to znovu!", "ERROR": "Nelze aktualizovat nastavení, zkuste to znovu!",
"SUCCESS": "Nastavení účtu bylo úspěšně aktualizováno" "SUCCESS": "Nastavení účtu bylo úspěšně aktualizováno"
@ -24,24 +24,31 @@
"ERROR": "" "ERROR": ""
}, },
"DOMAIN": { "DOMAIN": {
"LABEL": "Incoming Email Domain", "LABEL": "Doména příchozích e-mailů",
"PLACEHOLDER": "The domain where you will receive the emails", "PLACEHOLDER": "Doména, na které přijímáte e-maily",
"ERROR": "" "ERROR": ""
}, },
"SUPPORT_EMAIL": { "SUPPORT_EMAIL": {
"LABEL": "Support Email", "LABEL": "E-mail podpory",
"PLACEHOLDER": "Your company's support email", "PLACEHOLDER": "E-mail podpory vaší společnosti",
"ERROR": "" "ERROR": ""
}, },
"AUTO_RESOLVE_DURATION": { "AUTO_RESOLVE_DURATION": {
"LABEL": "Number of days after a ticket should auto resolve if there is no activity", "LABEL": "Počet dnů, po kterých by měl být ticket automaticky vyřešen při žádné aktivitě",
"PLACEHOLDER": "30", "PLACEHOLDER": "30",
"ERROR": "Please enter a valid auto resolve duration (minimum 1 day)" "ERROR": "Zadejte platnou hodnotu automatického vyřešení (minimálně 1 den)"
}, },
"FEATURES": { "FEATURES": {
"INBOUND_EMAIL_ENABLED": "Conversation continuity with emails is enabled for your account.", "INBOUND_EMAIL_ENABLED": "E-mailová konverzace je u vašeho účtu povolena.",
"CUSTOM_EMAIL_DOMAIN_ENABLED": "You can receive emails in your custom domain now." "CUSTOM_EMAIL_DOMAIN_ENABLED": "Nyní můžete přijímat e-maily na vaši vlastní doménu."
} }
} }
},
"FORMS": {
"MULTISELECT": {
"ENTER_TO_SELECT": "Press enter to select",
"ENTER_TO_REMOVE": "Press enter to remove",
"SELECT_ONE": "Select one"
}
} }
} }

View file

@ -30,12 +30,12 @@
"ADD": { "ADD": {
"FB": { "FB": {
"HELP": "PS: Přihlášením získáme přístup pouze ke zprávám vaší stránky. Vaše soukromé zprávy nikdy nemohou být přístupné Chatwoot.", "HELP": "PS: Přihlášením získáme přístup pouze ke zprávám vaší stránky. Vaše soukromé zprávy nikdy nemohou být přístupné Chatwoot.",
"CHOOSE_PAGE": "Choose Page", "CHOOSE_PAGE": "Vybrat stránku",
"CHOOSE_PLACEHOLDER": "Select a page from the list", "CHOOSE_PLACEHOLDER": "Vyberte stránku ze seznamu",
"INBOX_NAME": "Inbox Name", "INBOX_NAME": "Název schránky",
"ADD_NAME": "Add a name for your inbox", "ADD_NAME": "Zadejte název schránky",
"PICK_NAME": "Pick A Name Your Inbox", "PICK_NAME": "Vyberte název schránky",
"PICK_A_VALUE": "Pick a value" "PICK_A_VALUE": "Vyberte hodnotu"
}, },
"TWITTER": { "TWITTER": {
"HELP": "Chcete-li přidat svůj Twitter profil jako kanál, musíte ověřit svůj Twitter profil kliknutím na tlačítko 'Přihlásit se přes Twitter' " "HELP": "Chcete-li přidat svůj Twitter profil jako kanál, musíte ověřit svůj Twitter profil kliknutím na tlačítko 'Přihlásit se přes Twitter' "
@ -45,7 +45,7 @@
"DESC": "Vytvořte si kanál pro vaše webové stránky a začněte podporovat své zákazníky prostřednictvím našeho widgetu.", "DESC": "Vytvořte si kanál pro vaše webové stránky a začněte podporovat své zákazníky prostřednictvím našeho widgetu.",
"LOADING_MESSAGE": "Vytváření podpůrného kanálu webových stránek", "LOADING_MESSAGE": "Vytváření podpůrného kanálu webových stránek",
"CHANNEL_AVATAR": { "CHANNEL_AVATAR": {
"LABEL": "Channel Avatar" "LABEL": "Avatar kanálu"
}, },
"CHANNEL_NAME": { "CHANNEL_NAME": {
"LABEL": "Název webu", "LABEL": "Název webu",
@ -64,17 +64,17 @@
"PLACEHOLDER": "Snadno se s námi spojujeme. Požádejte nás o cokoliv, nebo sdílejte svou zpětnou vazbu." "PLACEHOLDER": "Snadno se s námi spojujeme. Požádejte nás o cokoliv, nebo sdílejte svou zpětnou vazbu."
}, },
"CHANNEL_GREETING_MESSAGE": { "CHANNEL_GREETING_MESSAGE": {
"LABEL": "Channel greeting message", "LABEL": "Pozdrav",
"PLACEHOLDER": "Acme Inc typically replies in a few hours." "PLACEHOLDER": "Acme Inc obvykle odpovídá do několika hodin."
}, },
"CHANNEL_GREETING_TOGGLE": { "CHANNEL_GREETING_TOGGLE": {
"LABEL": "Enable channel greeting", "LABEL": "Povolit uvítání",
"HELP_TEXT": "Send a greeting message to the user when he starts the conversation.", "HELP_TEXT": "Poslat uvítací zprávu uživateli, když začne konverzaci.",
"ENABLED": "Povoleno", "ENABLED": "Povoleno",
"DISABLED": "Zakázáno" "DISABLED": "Zakázáno"
}, },
"REPLY_TIME": { "REPLY_TIME": {
"TITLE": "Set Reply time", "TITLE": "Nastavit čas odpovědi",
"IN_A_FEW_MINUTES": "In a few minutes", "IN_A_FEW_MINUTES": "In a few minutes",
"IN_A_FEW_HOURS": "In a few hours", "IN_A_FEW_HOURS": "In a few hours",
"IN_A_DAY": "In a day", "IN_A_DAY": "In a day",
@ -165,7 +165,9 @@
}, },
"AGENTS": { "AGENTS": {
"TITLE": "Agenti", "TITLE": "Agenti",
"DESC": "Zde můžete přidat agenty ke správě nově vytvořené schránky. Pouze tito vybraní agenti budou mít přístup do vaší schránky. Agenty, které nejsou součástí této schránky, nebudou moci při přihlášení vidět zprávy v této schránce ani na ně reagovat. <br> <b>PS:</b> Jako správce, pokud potřebujete přístup ke všem schránkám, byste se měli přidat jako agent do všech schránek, které vytváříte." "DESC": "Zde můžete přidat agenty ke správě nově vytvořené schránky. Pouze tito vybraní agenti budou mít přístup do vaší schránky. Agenty, které nejsou součástí této schránky, nebudou moci při přihlášení vidět zprávy v této schránce ani na ně reagovat. <br> <b>PS:</b> Jako správce, pokud potřebujete přístup ke všem schránkám, byste se měli přidat jako agent do všech schránek, které vytváříte.",
"VALIDATION_ERROR": "Add atleast one agent to your new Inbox",
"PICK_AGENTS": "Pick agents for the inbox"
}, },
"DETAILS": { "DETAILS": {
"TITLE": "Doručená pošta detaily", "TITLE": "Doručená pošta detaily",
@ -212,7 +214,7 @@
"TITLE": "Potvrdit odstranění", "TITLE": "Potvrdit odstranění",
"MESSAGE": "Opravdu chcete odstranit ", "MESSAGE": "Opravdu chcete odstranit ",
"YES": "Ano, odstranit ", "YES": "Ano, odstranit ",
"NO": "No, Keep " "NO": "Ne, zachovat "
}, },
"API": { "API": {
"SUCCESS_MESSAGE": "Doručená pošta byla úspěšně smazána", "SUCCESS_MESSAGE": "Doručená pošta byla úspěšně smazána",

View file

@ -6,14 +6,12 @@
"CONFIGURE": "Konfigurace", "CONFIGURE": "Konfigurace",
"HEADER": "Nastavení webhooku", "HEADER": "Nastavení webhooku",
"HEADER_BTN_TXT": "Přidat nový webový háček", "HEADER_BTN_TXT": "Přidat nový webový háček",
"INTEGRATION_TXT": "Události webhooku vám poskytují reálné informace o tom, co se děje ve vašem Chatwoot účtu. Můžete využít webové háčky k komunikaci s vašimi oblíbenými aplikacemi, jako je Slack nebo Github. Klepnutím na tlačítko Konfigurace nastavíte své webové háčky.",
"LOADING": "Načítání připojených webhooků", "LOADING": "Načítání připojených webhooků",
"SEARCH_404": "Neexistují žádné položky odpovídající tomuto dotazu", "SEARCH_404": "Neexistují žádné položky odpovídající tomuto dotazu",
"SIDEBAR_TXT": "<p><b>Webové háčky</b> </p> <p>jsou HTTP zpětné volání, které lze definovat pro každý účet. Jsou spouštěny událostmi, jako je vytváření zpráv v Chatwoot. Můžete vytvořit více než jeden webový háček pro tento účet. <br /><br /> Pro vytvoření webového háčku <b></b>klikněte na tlačítko <b>Přidat nový webhook</b> . Kliknutím na tlačítko Odstranit můžete také odstranit jakýkoli existující webový háček.</p>", "SIDEBAR_TXT": "<p><b>Webové háčky</b> </p> <p>jsou HTTP zpětné volání, které lze definovat pro každý účet. Jsou spouštěny událostmi, jako je vytváření zpráv v Chatwoot. Můžete vytvořit více než jeden webový háček pro tento účet. <br /><br /> Pro vytvoření webového háčku <b></b>klikněte na tlačítko <b>Přidat nový webhook</b> . Kliknutím na tlačítko Odstranit můžete také odstranit jakýkoli existující webový háček.</p>",
"LIST": { "LIST": {
"404": "Pro tento účet nejsou nakonfigurovány žádné webové háčky.", "404": "Pro tento účet nejsou nakonfigurovány žádné webové háčky.",
"TITLE": "Spravovat webové háčky", "TITLE": "Spravovat webové háčky",
"DESC": "Webové háčky jsou předdefinované šablony odpovědí, které mohou být použity k rychlému zasílání odpovědí na tikety.",
"TABLE_HEADER": [ "TABLE_HEADER": [
"Koncový bod webhooku", "Koncový bod webhooku",
"Akce" "Akce"

View file

@ -61,7 +61,7 @@
"TITLE": "Potvrdit odstranění", "TITLE": "Potvrdit odstranění",
"MESSAGE": "Opravdu chcete odstranit ", "MESSAGE": "Opravdu chcete odstranit ",
"YES": "Ano, odstranit ", "YES": "Ano, odstranit ",
"NO": "No, Keep " "NO": "Ne, zachovat "
} }
} }
} }

View file

@ -3,6 +3,7 @@
"HEADER": "Zprávy", "HEADER": "Zprávy",
"LOADING_CHART": "Načítání dat mapy...", "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.", "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": { "METRICS": {
"CONVERSATIONS": { "CONVERSATIONS": {
"NAME": "Konverzace", "NAME": "Konverzace",

View file

@ -27,6 +27,13 @@
"SUCCESS_MESSAGE": "Registrace byla úspěšná", "SUCCESS_MESSAGE": "Registrace byla úspěšná",
"ERROR_MESSAGE": "Nelze se připojit k Woot serveru, opakujte akci později" "ERROR_MESSAGE": "Nelze se připojit k Woot serveru, opakujte akci později"
}, },
"SUBMIT": "Odeslat" "SUBMIT": "Odeslat",
"FEATURES": {
"UNLIMITED_INBOXES": "Unlimited inboxes",
"ROBUST_REPORTING": "Robust Reporting",
"CANNED_RESPONSES": "Konzervované odpovědi",
"AUTO_ASSIGNMENT": "Auto Assignment",
"SECURITY": "Enterprise level security"
}
} }
} }

View file

@ -1,96 +1,96 @@
{ {
"AGENT_MGMT": { "AGENT_MGMT": {
"HEADER": "Agents", "HEADER": "Agenter",
"HEADER_BTN_TXT": "Add Agent", "HEADER_BTN_TXT": "Tilføj Agent",
"LOADING": "Fetching Agent List", "LOADING": "Henter Agent Liste",
"SIDEBAR_TXT": "<p><b>Agents</b></p> <p> An <b>Agent</b> is a member of your Customer Support team. </p><p> Agents will be able to view and reply to messages from your users. The list shows all agents currently in your account. </p><p> Click on <b>Add Agent</b> 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. </p><p> Access to Chatwoot's features are based on following roles. </p><p> <b>Agent</b> - Agents with this role can only access inboxes, reports and conversations. They can assign conversations to other agents or themselves and resolve conversations.</p><p> <b>Administrator</b> - Administrator will have access to all Chatwoot features enabled for your account, including settings, along with all of a normal agents' privileges.</p>", "SIDEBAR_TXT": "<p><b>Agenter</b></p> <p> En <b>Agent</b> er medlemmer af dit kundesupportteam. </p><p> Agenter vil være i stand til at se og besvare beskeder fra dine brugere. Listen viser alle agenter i øjeblikket på din konto. </p><p> Klik på <b>Tilføj agent</b> 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. </p><p> Adgang til Chatwoot's funktioner er baseret på følgende roller. </p><p> <b>Agent</b> - 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.</p><p> <b>Administrator</b> - Administrator vil have adgang til alle Chatwoot-funktioner aktiveret for din konto, herunder indstillinger sammen med alle normale agenters privilegier.</p>",
"AGENT_TYPES": { "AGENT_TYPES": {
"ADMINISTRATOR": "Administrator", "ADMINISTRATOR": "Administrator",
"AGENT": "Agent" "AGENT": "Agent"
}, },
"LIST": { "LIST": {
"404": "There are no agents associated to this account", "404": "Der er ingen agenter tilknyttet denne konto",
"TITLE": "Manage agents in your team", "TITLE": "Administrer agenter i dit team",
"DESC": "You can add/remove agents to/in your team.", "DESC": "Du kan tilføje/fjerne agenter til/fra dit team.",
"NAME": "Name", "NAME": "Navn",
"EMAIL": "EMAIL", "EMAIL": "E-MAIL",
"STATUS": "Status", "STATUS": "Status",
"ACTIONS": "Actions", "ACTIONS": "Handlinger",
"VERIFIED": "Verified", "VERIFIED": "Verificeret",
"VERIFICATION_PENDING": "Verification Pending" "VERIFICATION_PENDING": "Verifikation Afventer"
}, },
"ADD": { "ADD": {
"TITLE": "Add agent to your team", "TITLE": "Tilføj agent til dit team",
"DESC": "You can add people who will be able to handle support for your inboxes.", "DESC": "Du kan tilføje personer, der vil være i stand til at håndtere support i dine indbakker.",
"CANCEL_BUTTON_TEXT": "Cancel", "CANCEL_BUTTON_TEXT": "Annuller",
"FORM": { "FORM": {
"NAME": { "NAME": {
"LABEL": "Agent Name", "LABEL": "Agentens Navn",
"PLACEHOLDER": "Please enter a name of the agent" "PLACEHOLDER": "Indtast et navn på agenten"
}, },
"AGENT_TYPE": { "AGENT_TYPE": {
"LABEL": "Role", "LABEL": "Rolle",
"PLACEHOLDER": "Please select a role", "PLACEHOLDER": "Vælg venligst en rolle",
"ERROR": "Role is required" "ERROR": "Rolle er påkrævet"
}, },
"EMAIL": { "EMAIL": {
"LABEL": "Email Address", "LABEL": "E-Mail Adresse",
"PLACEHOLDER": "Please enter an email address of the agent" "PLACEHOLDER": "Indtast venligst en e-mail adresse på agenten"
}, },
"SUBMIT": "Add Agent" "SUBMIT": "Tilføj Agent"
}, },
"API": { "API": {
"SUCCESS_MESSAGE": "Agent added successfully", "SUCCESS_MESSAGE": "Agenten blev tilføjet",
"EXIST_MESSAGE": "Agent email already in use, Please try another email address", "EXIST_MESSAGE": "Agent e-mail allerede i brug, Prøv venligst en anden e-mail adresse",
"ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" "ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere"
} }
}, },
"DELETE": { "DELETE": {
"BUTTON_TEXT": "Delete", "BUTTON_TEXT": "Slet",
"API": { "API": {
"SUCCESS_MESSAGE": "Agent deleted successfully", "SUCCESS_MESSAGE": "Agenten blev slettet",
"ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" "ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere"
}, },
"CONFIRM": { "CONFIRM": {
"TITLE": "Confirm Deletion", "TITLE": "Bekræft Sletning",
"MESSAGE": "Are you sure to delete ", "MESSAGE": "Er du sikker på du vil slette ",
"YES": "Yes, Delete ", "YES": "Ja, Slet ",
"NO": "No, Keep " "NO": "Nej, Behold "
} }
}, },
"EDIT": { "EDIT": {
"TITLE": "Edit agent", "TITLE": "Rediger agent",
"FORM": { "FORM": {
"NAME": { "NAME": {
"LABEL": "Agent Name", "LABEL": "Agentens Navn",
"PLACEHOLDER": "Please enter a name of the agent" "PLACEHOLDER": "Indtast et navn på agenten"
}, },
"AGENT_TYPE": { "AGENT_TYPE": {
"LABEL": "Role", "LABEL": "Rolle",
"PLACEHOLDER": "Please select a role", "PLACEHOLDER": "Vælg venligst en rolle",
"ERROR": "Role is required" "ERROR": "Rolle er påkrævet"
}, },
"EMAIL": { "EMAIL": {
"LABEL": "Email Address", "LABEL": "E-Mail Adresse",
"PLACEHOLDER": "Please enter an email address of the agent" "PLACEHOLDER": "Indtast venligst en e-mail adresse på agenten"
}, },
"SUBMIT": "Edit Agent" "SUBMIT": "Rediger Agent"
}, },
"BUTTON_TEXT": "Edit", "BUTTON_TEXT": "Rediger",
"CANCEL_BUTTON_TEXT": "Cancel", "CANCEL_BUTTON_TEXT": "Annuller",
"API": { "API": {
"SUCCESS_MESSAGE": "Agent updated successfully", "SUCCESS_MESSAGE": "Agenten blev opdateret",
"ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" "ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere"
}, },
"PASSWORD_RESET": { "PASSWORD_RESET": {
"ADMIN_RESET_BUTTON": "Reset Password", "ADMIN_RESET_BUTTON": "Nulstil Adgangskode",
"ADMIN_SUCCESS_MESSAGE": "An email with reset password instructions has been sent to the agent", "ADMIN_SUCCESS_MESSAGE": "En e-mail med nulstilling af adgangskodeinstruktioner er blevet sendt til agenten",
"SUCCESS_MESSAGE": "Agent password reset successfully", "SUCCESS_MESSAGE": "Agentens adgangskode nulstillet",
"ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" "ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere"
} }
}, },
"SEARCH": { "SEARCH": {
"NO_RESULTS": "No agents found." "NO_RESULTS": "Ingen agenter fundet."
} }
} }
} }

View file

@ -1,75 +1,75 @@
{ {
"CANNED_MGMT": { "CANNED_MGMT": {
"HEADER": "Canned Responses", "HEADER": "Standardsvar Svar",
"HEADER_BTN_TXT": "Add Canned Response", "HEADER_BTN_TXT": "Tilføj Standardsvar",
"LOADING": "Fetching Canned Responses", "LOADING": "Henter Standardsvar",
"SEARCH_404": "There are no items matching this query", "SEARCH_404": "Der er ingen elementer, der matcher denne forespørgsel",
"SIDEBAR_TXT": "<p><b>Canned Responses</b> </p><p> Canned Responses are saved reply templates which can be used to quickly send out a reply to a conversation . </p><p> For creating a Canned Response, just click on the <b>Add Canned Response</b>. You can also edit or delete an existing Canned Response by clicking on the Edit or Delete button </p><p> Canned responses are used with the help of <b>Short Codes</b>. Agents can access canned responses while on a chat by typing <b>'/'</b> followed by the short code. </p>", "SIDEBAR_TXT": "<p><b>Standardsvar</b> </p><p> Standardsvar er gemte svarskabeloner, som kan bruges til hurtigt at sende et svar på en samtale. </p><p> For at oprette et standardsvar, klik blot på <b>Tilføj standardsvar</b>. Du kan også redigere eller slette et eksisterende standardsvar ved at klikke på Rediger eller Slet knappen </p><p> Standardsvar bruges ved hjælp af <b>Short Codes</b>. Agenter kan tilgå standardsvar på en chat ved at skrive <b>'/'</b> efterfulgt af din short code </p>",
"LIST": { "LIST": {
"404": "There are no canned responses available in this account.", "404": "Der er ingen tilgængelige standardsvar på denne konto.",
"TITLE": "Manage canned responses", "TITLE": "Administrer standardsvar",
"DESC": "Canned Responses are predefined reply templates which can be used to quickly send out replies to tickets.", "DESC": "Standardsvar er foruddefinerede svarskabeloner, som kan bruges til hurtigt at sende svar på tickets.",
"TABLE_HEADER": [ "TABLE_HEADER": [
"Short Code", "Short Code",
"Content", "Indhold",
"Actions" "Handlinger"
] ]
}, },
"ADD": { "ADD": {
"TITLE": "Add Canned Response", "TITLE": "Tilføj Standardsvar",
"DESC": "Canned Responses are saved reply templates which can be used to quickly send out reply to conversation .", "DESC": "Standardsvar er gemte svarskabeloner, som kan bruges til hurtigt at sende svar til samtalen .",
"CANCEL_BUTTON_TEXT": "Cancel", "CANCEL_BUTTON_TEXT": "Annuller",
"FORM": { "FORM": {
"SHORT_CODE": { "SHORT_CODE": {
"LABEL": "Short Code", "LABEL": "Short Code",
"PLACEHOLDER": "Please enter a shortcode", "PLACEHOLDER": "Indtast venligst en shortcode",
"ERROR": "Short Code is required" "ERROR": "Short Code er påkrævet"
}, },
"CONTENT": { "CONTENT": {
"LABEL": "Content", "LABEL": "Indhold",
"PLACEHOLDER": "Please enter a content", "PLACEHOLDER": "Indtast venligst indhold",
"ERROR": "Content is required" "ERROR": "Indhold er påkrævet"
}, },
"SUBMIT": "Submit" "SUBMIT": "Send"
}, },
"API": { "API": {
"SUCCESS_MESSAGE": "Canned Response added successfully", "SUCCESS_MESSAGE": "Standardsvar tilføjet",
"ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" "ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere"
} }
}, },
"EDIT": { "EDIT": {
"TITLE": "Edit Canned Response", "TITLE": "Rediger Standardsvar",
"CANCEL_BUTTON_TEXT": "Cancel", "CANCEL_BUTTON_TEXT": "Annuller",
"FORM": { "FORM": {
"SHORT_CODE": { "SHORT_CODE": {
"LABEL": "Short Code", "LABEL": "Short Code",
"PLACEHOLDER": "Please enter a shortcode", "PLACEHOLDER": "Indtast venligst en shortcode",
"ERROR": "Short Code is required" "ERROR": "Short Code er påkrævet"
}, },
"CONTENT": { "CONTENT": {
"LABEL": "Content", "LABEL": "Indhold",
"PLACEHOLDER": "Please enter a content", "PLACEHOLDER": "Indtast venligst indhold",
"ERROR": "Content is required" "ERROR": "Indhold er påkrævet"
}, },
"SUBMIT": "Submit" "SUBMIT": "Send"
}, },
"BUTTON_TEXT": "Edit", "BUTTON_TEXT": "Rediger",
"API": { "API": {
"SUCCESS_MESSAGE": "Canned Response updated successfully", "SUCCESS_MESSAGE": "Standardsvar opdateret",
"ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" "ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere"
} }
}, },
"DELETE": { "DELETE": {
"BUTTON_TEXT": "Delete", "BUTTON_TEXT": "Slet",
"API": { "API": {
"SUCCESS_MESSAGE": "Canned response deleted successfully", "SUCCESS_MESSAGE": "Standardsvar slettet",
"ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" "ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere"
}, },
"CONFIRM": { "CONFIRM": {
"TITLE": "Confirm Deletion", "TITLE": "Bekræft Sletning",
"MESSAGE": "Are you sure to delete ", "MESSAGE": "Er du sikker på du vil slette ",
"YES": "Yes, Delete ", "YES": "Ja, Slet ",
"NO": "No, Keep " "NO": "Nej, Behold "
} }
} }
} }

View file

@ -1,22 +1,22 @@
{ {
"CHAT_LIST": { "CHAT_LIST": {
"LOADING": "Fetching conversations", "LOADING": "Henter samtaler",
"LOAD_MORE_CONVERSATIONS": "Load more conversations", "LOAD_MORE_CONVERSATIONS": "Indlæs flere samtaler",
"EOF": "All conversations loaded 🎉", "EOF": "Alle samtaler indlæst 🎉",
"LIST": { "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": { "SEARCH": {
"INPUT": "Search for People, Chats, Saved Replies .." "INPUT": "Søg efter Mennesker, Chats, Gemte svar .."
}, },
"STATUS_TABS": [ "STATUS_TABS": [
{ {
"NAME": "Open", "NAME": "Åbn",
"KEY": "openCount" "KEY": "openCount"
}, },
{ {
"NAME": "Resolved", "NAME": "Løst",
"KEY": "allConvCount" "KEY": "allConvCount"
} }
], ],
@ -27,23 +27,23 @@
"COUNT_KEY": "mineCount" "COUNT_KEY": "mineCount"
}, },
{ {
"NAME": "Unassigned", "NAME": "Ikke Tildelt",
"KEY": "unassigned", "KEY": "unassigned",
"COUNT_KEY": "unAssignedCount" "COUNT_KEY": "unAssignedCount"
}, },
{ {
"NAME": "All", "NAME": "Alle",
"KEY": "all", "KEY": "all",
"COUNT_KEY": "allCount" "COUNT_KEY": "allCount"
} }
], ],
"CHAT_STATUS_ITEMS": [ "CHAT_STATUS_ITEMS": [
{ {
"TEXT": "Open", "TEXT": "Åbn",
"VALUE": "open" "VALUE": "open"
}, },
{ {
"TEXT": "Resolved", "TEXT": "Løst",
"VALUE": "resolved" "VALUE": "resolved"
}, },
{ {
@ -54,31 +54,31 @@
"ATTACHMENTS": { "ATTACHMENTS": {
"image": { "image": {
"ICON": "ion-image", "ICON": "ion-image",
"CONTENT": "Picture message" "CONTENT": "Billedbesked"
}, },
"audio": { "audio": {
"ICON": "ion-volume-high", "ICON": "ion-volume-high",
"CONTENT": "Audio message" "CONTENT": "Lydbesked"
}, },
"video": { "video": {
"ICON": "ion-ios-videocam", "ICON": "ion-ios-videocam",
"CONTENT": "Video message" "CONTENT": "Video besked"
}, },
"file": { "file": {
"ICON": "ion-document", "ICON": "ion-document",
"CONTENT": "File Attachment" "CONTENT": "Fil Vedhæftning"
}, },
"location": { "location": {
"ICON": "ion-ios-location", "ICON": "ion-ios-location",
"CONTENT": "Location" "CONTENT": "Lokation"
}, },
"fallback": { "fallback": {
"ICON": "ion-link", "ICON": "ion-link",
"CONTENT": "has shared a url" "CONTENT": "har delt en URL"
} }
}, },
"RECEIVED_VIA_EMAIL": "Received via email", "RECEIVED_VIA_EMAIL": "Modtaget via e-mail",
"VIEW_TWEET_IN_TWITTER": "View tweet in Twitter", "VIEW_TWEET_IN_TWITTER": "Se tweet på Twitter",
"REPLY_TO_TWEET": "Reply to this tweet" "REPLY_TO_TWEET": "Svar på dette tweet"
} }
} }

View file

@ -1,113 +1,113 @@
{ {
"CONTACT_PANEL": { "CONTACT_PANEL": {
"NOT_AVAILABLE": "Not Available", "NOT_AVAILABLE": "Ikke Tilgængelig",
"EMAIL_ADDRESS": "Email Address", "EMAIL_ADDRESS": "E-Mail Adresse",
"PHONE_NUMBER": "Phone number", "PHONE_NUMBER": "Telefonnummer",
"COPY_SUCCESSFUL": "Copied to clipboard successfully", "COPY_SUCCESSFUL": "Kopiering til udklipsholder lykkedes",
"COMPANY": "Company", "COMPANY": "Virksomhed",
"LOCATION": "Location", "LOCATION": "Lokation",
"CONVERSATION_TITLE": "Conversation Details", "CONVERSATION_TITLE": "Samtaledetaljer",
"BROWSER": "Browser", "BROWSER": "Browser",
"OS": "Operating System", "OS": "Operativsystem",
"INITIATED_FROM": "Initiated from", "INITIATED_FROM": "Startet fra",
"INITIATED_AT": "Initiated at", "INITIATED_AT": "Startet fra",
"CONVERSATIONS": { "CONVERSATIONS": {
"NO_RECORDS_FOUND": "There are no previous conversations associated to this contact.", "NO_RECORDS_FOUND": "Der er ingen tidligere samtaler tilknyttet denne kontakt.",
"TITLE": "Previous Conversations" "TITLE": "Tidligere Samtaler"
}, },
"CUSTOM_ATTRIBUTES": { "CUSTOM_ATTRIBUTES": {
"TITLE": "Custom Attributes" "TITLE": "Brugerdefinerede Egenskaber"
}, },
"LABELS": { "LABELS": {
"TITLE": "Conversation Labels", "TITLE": "Samtale Etiketter",
"MODAL": { "MODAL": {
"TITLE": "Labels for", "TITLE": "Etiketter til",
"ACTIVE_LABELS": "Labels added to the conversation", "ACTIVE_LABELS": "Etiketter føjet til samtalen",
"INACTIVE_LABELS": "Labels available in the account", "INACTIVE_LABELS": "Etiketter tilgængelige på kontoen",
"REMOVE": "Click on X icon to remove the label", "REMOVE": "Klik på X-ikonet for at fjerne etiketten",
"ADD": "Click on + icon to add the label", "ADD": "Klik på + ikonet for at tilføje etiketten",
"UPDATE_BUTTON": "Update labels", "UPDATE_BUTTON": "Opdater etiketter",
"UPDATE_ERROR": "Couldn't update labels, try again." "UPDATE_ERROR": "Etiketter kunne ikke opdateres. Prøv igen."
}, },
"NO_LABELS_TO_ADD": "There are no more labels defined in the account.", "NO_LABELS_TO_ADD": "Der er ikke defineret flere etiketter på kontoen.",
"NO_AVAILABLE_LABELS": "There are no labels added to this conversation." "NO_AVAILABLE_LABELS": "Der er ingen etiketter tilføjet til denne samtale."
}, },
"MUTE_CONTACT": "Mute Conversation", "MUTE_CONTACT": "Gør Samtale Lydløs",
"UNMUTE_CONTACT": "Unmute Conversation", "UNMUTE_CONTACT": "Fjern Lydløs",
"MUTED_SUCCESS": "This conversation is muted for 6 hours", "MUTED_SUCCESS": "Denne samtale er gjort tavs i 6 timer",
"UNMUTED_SUCCESS": "This conversation is unmuted", "UNMUTED_SUCCESS": "Denne samtale er genaktiveret",
"SEND_TRANSCRIPT": "Send Transcript", "SEND_TRANSCRIPT": "Send Udskrift",
"EDIT_LABEL": "Edit" "EDIT_LABEL": "Rediger"
}, },
"EDIT_CONTACT": { "EDIT_CONTACT": {
"BUTTON_LABEL": "Edit Contact", "BUTTON_LABEL": "Rediger Kontakt",
"TITLE": "Edit contact", "TITLE": "Rediger Kontakt",
"DESC": "Edit contact details", "DESC": "Rediger kontaktoplysninger",
"FORM": { "FORM": {
"SUBMIT": "Submit", "SUBMIT": "Send",
"CANCEL": "Cancel", "CANCEL": "Annuller",
"AVATAR": { "AVATAR": {
"LABEL": "Contact Avatar" "LABEL": "Kontakt Avatar"
}, },
"NAME": { "NAME": {
"PLACEHOLDER": "Enter the full name of the contact", "PLACEHOLDER": "Indtast det fulde navn på kontaktpersonen",
"LABEL": "Full Name" "LABEL": "Fulde Navn"
}, },
"BIO": { "BIO": {
"PLACEHOLDER": "Enter the bio of the contact", "PLACEHOLDER": "Indtast kontaktens bio",
"LABEL": "Bio" "LABEL": "Bio"
}, },
"EMAIL_ADDRESS": { "EMAIL_ADDRESS": {
"PLACEHOLDER": "Enter the email address of the contact", "PLACEHOLDER": "Indtast e-mailadressen på kontaktpersonen",
"LABEL": "Email Address" "LABEL": "E-Mail Adresse"
}, },
"PHONE_NUMBER": { "PHONE_NUMBER": {
"PLACEHOLDER": "Enter the phone number of the contact", "PLACEHOLDER": "Indtast telefonnummeret på kontaktpersonen",
"LABEL": "Phone Number" "LABEL": "Telefonnummer"
}, },
"LOCATION": { "LOCATION": {
"PLACEHOLDER": "Enter the location of the contact", "PLACEHOLDER": "Angiv placeringen af kontaktpersonen",
"LABEL": "Location" "LABEL": "Lokation"
}, },
"COMPANY_NAME": { "COMPANY_NAME": {
"PLACEHOLDER": "Enter the company name", "PLACEHOLDER": "Indtast virksomhedens navn",
"LABEL": "Company Name" "LABEL": "Virksomhedens Navn"
}, },
"SOCIAL_PROFILES": { "SOCIAL_PROFILES": {
"FACEBOOK": { "FACEBOOK": {
"PLACEHOLDER": "Enter the Facebook username", "PLACEHOLDER": "Indtast Facebook brugernavn",
"LABEL": "Facebook" "LABEL": "Facebook"
}, },
"TWITTER": { "TWITTER": {
"PLACEHOLDER": "Enter the Twitter username", "PLACEHOLDER": "Indtast brugernavn til Twitter",
"LABEL": "Twitter" "LABEL": "Twitter"
}, },
"LINKEDIN": { "LINKEDIN": {
"PLACEHOLDER": "Enter the LinkedIn username", "PLACEHOLDER": "Indtast LinkedIn brugernavn",
"LABEL": "LinkedIn" "LABEL": "LinkedIn"
}, },
"GITHUB": { "GITHUB": {
"PLACEHOLDER": "Enter the Github username", "PLACEHOLDER": "Indtast Github brugernavn",
"LABEL": "Github" "LABEL": "Github"
} }
} }
}, },
"SUCCESS_MESSAGE": "Updated contact successfully", "SUCCESS_MESSAGE": "Kontakt opdateret",
"CONTACT_ALREADY_EXIST": "This email address is in use for another contact.", "CONTACT_ALREADY_EXIST": "Denne e-mail adresse er i brug for en anden kontakt.",
"ERROR_MESSAGE": "There was an error updating the contact, please try again" "ERROR_MESSAGE": "Der opstod en fejl under opdatering af kontakten. Prøv igen"
}, },
"CONTACTS_PAGE": { "CONTACTS_PAGE": {
"HEADER": "Contacts", "HEADER": "Kontakter",
"SEARCH_BUTTON": "Search", "SEARCH_BUTTON": "Søg",
"SEARCH_INPUT_PLACEHOLDER": "Search for contacts", "SEARCH_INPUT_PLACEHOLDER": "Søg efter kontakter",
"LIST": { "LIST": {
"LOADING_MESSAGE": "Loading contacts...", "LOADING_MESSAGE": "Indlæser kontakter...",
"404": "No contacts matches your search 🔍", "404": "Ingen kontakter matcher din søgning 🔍",
"TABLE_HEADER": [ "TABLE_HEADER": [
"Name", "Navn",
"Phone Number", "Telefonnummer",
"Conversations", "Samtaler",
"Last Contacted" "Sidst Kontaktet"
] ]
} }
} }

View file

@ -1,63 +1,71 @@
{ {
"CONVERSATION": { "CONVERSATION": {
"404": "Please select a conversation from left pane", "404": "Vælg venligst en samtale fra venstre rude",
"NO_MESSAGE_1": "Uh oh! Looks like there are no messages from customers in your inbox.", "NO_MESSAGE_1": "Åh oh! Det ser ud til, at der ikke er nogen beskeder fra kunder i din indbakke.",
"NO_MESSAGE_2": " to send a message to your page!", "NO_MESSAGE_2": " for at sende en besked til din side!",
"NO_INBOX_1": "Hola! Looks like you haven't added any inboxes yet.", "NO_INBOX_1": "Hola! Det ser ud til, at du endnu ikke har tilføjet indbakker.",
"NO_INBOX_2": " to get started", "NO_INBOX_2": " for at komme i gang",
"NO_INBOX_AGENT": "Uh Oh! Looks like you are not part of any inbox. Please contact your administrator", "NO_INBOX_AGENT": "Åh Åh! Det ser ud til, at du ikke er en del af en indbakke. Kontakt venligst din administrator",
"SEARCH_MESSAGES": "Search for messages in conversations", "SEARCH_MESSAGES": "Søg efter beskeder i samtaler",
"SEARCH": { "SEARCH": {
"TITLE": "Search messages", "TITLE": "Søg efter beskeder",
"LOADING_MESSAGE": "Crunching data...", "LOADING_MESSAGE": "Behandler data...",
"PLACEHOLDER": "Type any text to search messages", "PLACEHOLDER": "Skriv tekst for at søge i beskeder",
"NO_MATCHING_RESULTS": "There are no messages matching the search parameters." "NO_MATCHING_RESULTS": "Der er ingen meddelelser, der matcher søgeparametrene."
}, },
"CLICK_HERE": "Click here", "UNREAD_MESSAGES": "Unread Messages",
"LOADING_INBOXES": "Loading inboxes", "UNREAD_MESSAGE": "Unread Message",
"LOADING_CONVERSATIONS": "Loading Conversations", "CLICK_HERE": "Klik her",
"CANNOT_REPLY": "You cannot reply due to", "LOADING_INBOXES": "Indlæser indbakker",
"24_HOURS_WINDOW": "24 hour message window restriction", "LOADING_CONVERSATIONS": "Indlæser Samtaler",
"LAST_INCOMING_TWEET": "You are replying to the last incoming tweet", "CANNOT_REPLY": "Du kan ikke svare på grund af",
"REPLYING_TO": "You are replying to:", "24_HOURS_WINDOW": "24 timers beskedvindue begrænsning",
"REMOVE_SELECTION": "Remove Selection", "LAST_INCOMING_TWEET": "Du svarer på det sidste indgående tweet",
"REPLYING_TO": "Du svarer til:",
"REMOVE_SELECTION": "Fjern Markering",
"DOWNLOAD": "Download", "DOWNLOAD": "Download",
"HEADER": { "HEADER": {
"RESOLVE_ACTION": "Resolve", "RESOLVE_ACTION": "Løs",
"REOPEN_ACTION": "Reopen", "REOPEN_ACTION": "Genåben",
"OPEN": "More", "OPEN": "Mere",
"CLOSE": "Close", "CLOSE": "Luk",
"DETAILS": "details" "DETAILS": "detaljer"
}, },
"FOOTER": { "FOOTER": {
"MSG_INPUT": "Shift + enter for new line. Start with '/' to select a Canned Response.", "MSG_INPUT": "Shift + enter for ny linje. Start med '/' for at vælge et standardsvar.",
"PRIVATE_MSG_INPUT": "Shift + enter for new line. This will be visible only to Agents" "PRIVATE_MSG_INPUT": "Shift + enter for ny linje. Dette vil kun være synligt for Agenter"
}, },
"REPLYBOX": { "REPLYBOX": {
"REPLY": "Reply", "REPLY": "Svar",
"PRIVATE_NOTE": "Private Note", "PRIVATE_NOTE": "Privat Note",
"SEND": "Send", "SEND": "Send",
"CREATE": "Add Note", "CREATE": "Tilføj Note",
"TWEET": "Tweet" "TWEET": "Tweet"
}, },
"VISIBLE_TO_AGENTS": "Private Note: Only visible to you and your team", "VISIBLE_TO_AGENTS": "Privat Note: Kun synlig for dig og dit team",
"CHANGE_STATUS": "Conversation status changed", "CHANGE_STATUS": "Samtalestatus ændret",
"CHANGE_AGENT": "Conversation Assignee changed" "CHANGE_AGENT": "Samtaleansvarlig ændret",
"SENT_BY": "Sent by:",
"ASSIGNMENT": {
"SELECT_AGENT": "Select Agent",
"REMOVE": "Fjern",
"ASSIGN": "Assign"
}
}, },
"EMAIL_TRANSCRIPT": { "EMAIL_TRANSCRIPT": {
"TITLE": "Send conversation transcript", "TITLE": "Send samtaleudskrift",
"DESC": "Send a copy of the conversation transcript to the specified email address", "DESC": "Send en kopi af samtaleudskriften til den angivne e-mailadresse",
"SUBMIT": "Submit", "SUBMIT": "Send",
"CANCEL": "Cancel", "CANCEL": "Annuller",
"SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_SUCCESS": "Chatudskriften blev sendt med succes",
"SEND_EMAIL_ERROR": "There was an error, please try again", "SEND_EMAIL_ERROR": "Der opstod en fejl. Prøv venligst igen",
"FORM": { "FORM": {
"SEND_TO_CONTACT": "Send the transcript to the customer", "SEND_TO_CONTACT": "Send udskrift til kunden",
"SEND_TO_AGENT": "Send the transcript of the assigned agent", "SEND_TO_AGENT": "Send udskrift til den tildelte agent",
"SEND_TO_OTHER_EMAIL_ADDRESS": "Send the transcript to another email address", "SEND_TO_OTHER_EMAIL_ADDRESS": "Send udskriften til en anden e-mailadresse",
"EMAIL": { "EMAIL": {
"PLACEHOLDER": "Enter an email address", "PLACEHOLDER": "Indtast en e-mail adresse",
"ERROR": "Please enter a valid email address" "ERROR": "Indtast venligst en gyldig e-mailadresse"
} }
} }
} }

View file

@ -1,47 +1,54 @@
{ {
"GENERAL_SETTINGS": { "GENERAL_SETTINGS": {
"TITLE": "Account settings", "TITLE": "Kontoindstillinger",
"SUBMIT": "Update settings", "SUBMIT": "Opdater indstillinger",
"BACK": "Back", "BACK": "Tilbage",
"UPDATE": { "UPDATE": {
"ERROR": "Could not update settings, try again!", "ERROR": "Kunne ikke opdatere indstillinger, prøv igen!",
"SUCCESS": "Successfully updated account settings" "SUCCESS": "Kontoindstillinger blev opdateret"
}, },
"FORM": { "FORM": {
"ERROR": "Please fix form errors", "ERROR": "Ret venligst formularfejl",
"GENERAL_SECTION": { "GENERAL_SECTION": {
"TITLE": "General settings", "TITLE": "Generelle indstillinger",
"NOTE": "" "NOTE": ""
}, },
"NAME": { "NAME": {
"LABEL": "Account name", "LABEL": "Kontonavn",
"PLACEHOLDER": "Your account name", "PLACEHOLDER": "Dit kontonavn",
"ERROR": "Please enter a valid account name" "ERROR": "Angiv et gyldigt kontonavn"
}, },
"LANGUAGE": { "LANGUAGE": {
"LABEL": "Site language (Beta)", "LABEL": "Websted sprog (Beta)",
"PLACEHOLDER": "Your account name", "PLACEHOLDER": "Dit kontonavn",
"ERROR": "" "ERROR": ""
}, },
"DOMAIN": { "DOMAIN": {
"LABEL": "Incoming Email Domain", "LABEL": "Indkommende E-Mail Domæne",
"PLACEHOLDER": "The domain where you will receive the emails", "PLACEHOLDER": "Domænet, hvor du vil modtage e-mails",
"ERROR": "" "ERROR": ""
}, },
"SUPPORT_EMAIL": { "SUPPORT_EMAIL": {
"LABEL": "Support Email", "LABEL": "Support E-Mail",
"PLACEHOLDER": "Your company's support email", "PLACEHOLDER": "Din virksomheds support e-mail",
"ERROR": "" "ERROR": ""
}, },
"AUTO_RESOLVE_DURATION": { "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", "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": { "FEATURES": {
"INBOUND_EMAIL_ENABLED": "Conversation continuity with emails is enabled for your account.", "INBOUND_EMAIL_ENABLED": "Samtale kontinuitet med e-mails er aktiveret for din konto.",
"CUSTOM_EMAIL_DOMAIN_ENABLED": "You can receive emails in your custom domain now." "CUSTOM_EMAIL_DOMAIN_ENABLED": "Du kan modtage e-mails på dit brugerdefinerede domæne nu."
} }
} }
},
"FORMS": {
"MULTISELECT": {
"ENTER_TO_SELECT": "Press enter to select",
"ENTER_TO_REMOVE": "Press enter to remove",
"SELECT_ONE": "Select one"
}
} }
} }

View file

@ -1,251 +1,253 @@
{ {
"INBOX_MGMT": { "INBOX_MGMT": {
"HEADER": "Inboxes", "HEADER": "Indbakker",
"SIDEBAR_TXT": "<p><b>Inbox</b></p> <p> When you connect a website or a facebook Page to Chatwoot, it is called an <b>Inbox</b>. You can have unlimited inboxes in your Chatwoot account. </p><p> Click on <b>Add Inbox</b> to connect a website or a Facebook Page. </p><p> In the Dashboard, you can see all the conversations from all your inboxes in a single place and respond to them under the `Conversations` tab. </p><p> You can also see conversations specific to an inbox by clicking on the inbox name on the left pane of the dashboard. </p>", "SIDEBAR_TXT": "<p><b>Indbakke</b></p> <p> Når du forbinder en hjemmeside eller en facebook side til Chatwoot, det kaldes en <b>Indbakke</b>. Du kan have ubegrænset indbakker på din Chatwoot-konto. </p><p> Klik på <b>Tilføj indbakke</b> for at forbinde en hjemmeside eller en Facebook-side. </p><p> I betjeningspanelet du kan se alle samtalerne fra alle dine indbakker på et enkelt sted og svare på dem under fanen 'Samtaler'. </p><p> Du kan også se samtaler, der er specifikke for en indbakke, ved at klikke på indbakkens navn i dashboardets venstre rude. </p>",
"LIST": { "LIST": {
"404": "There are no inboxes attached to this account." "404": "Der er ingen indbakker tilknyttet denne konto."
}, },
"CREATE_FLOW": [ "CREATE_FLOW": [
{ {
"title": "Choose Channel", "title": "Vælg Kanal",
"route": "settings_inbox_new", "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", "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", "route": "settings_inboxes_add_agents",
"body": "Add agents to the created inbox." "body": "Tilføj agenter til den oprettede indbakke."
}, },
{ {
"title": "Voila!", "title": "Voila!",
"route": "settings_inbox_finish", "route": "settings_inbox_finish",
"body": "You are all set to go!" "body": "Så er alt klart!"
} }
], ],
"ADD": { "ADD": {
"FB": { "FB": {
"HELP": "PS: By signing in, we only get access to your Page's messages. Your private messages can never be accessed by Chatwoot.", "HELP": "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": "Choose Page", "CHOOSE_PAGE": "Vælg Side",
"CHOOSE_PLACEHOLDER": "Select a page from the list", "CHOOSE_PLACEHOLDER": "Vælg en side fra listen",
"INBOX_NAME": "Inbox Name", "INBOX_NAME": "Indbakke Navn",
"ADD_NAME": "Add a name for your inbox", "ADD_NAME": "Tilføj et navn til din indbakke",
"PICK_NAME": "Pick A Name Your Inbox", "PICK_NAME": "Vælg et navn til din indbakke",
"PICK_A_VALUE": "Pick a value" "PICK_A_VALUE": "Vælg en værdi"
}, },
"TWITTER": { "TWITTER": {
"HELP": "To add your Twitter profile as a channel, you need to authenticate your Twitter Profile by clicking on 'Sign in with Twitter' " "HELP": "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": { "WEBSITE_CHANNEL": {
"TITLE": "Website channel", "TITLE": "Hjemmesidekanal",
"DESC": "Create a channel for your website and start supporting your customers via our website widget.", "DESC": "Opret en kanal til din hjemmeside og begynde at supporte dine kunder via vores hjemmeside widget.",
"LOADING_MESSAGE": "Creating Website Support Channel", "LOADING_MESSAGE": "Opretter Website Support Kanal",
"CHANNEL_AVATAR": { "CHANNEL_AVATAR": {
"LABEL": "Channel Avatar" "LABEL": "Kanal Avatar"
}, },
"CHANNEL_NAME": { "CHANNEL_NAME": {
"LABEL": "Website Name", "LABEL": "Websted Navn",
"PLACEHOLDER": "Enter your website name (eg: Acme Inc)" "PLACEHOLDER": "Indtast dit websted navn (fx: Firma ApS)"
}, },
"CHANNEL_DOMAIN": { "CHANNEL_DOMAIN": {
"LABEL": "Website Domain", "LABEL": "Hjemmeside Domæne",
"PLACEHOLDER": "Enter your website domain (eg: acme.com)" "PLACEHOLDER": "Indtast dit website domæne (fx: ditfirma.dk)"
}, },
"CHANNEL_WELCOME_TITLE": { "CHANNEL_WELCOME_TITLE": {
"LABEL": "Welcome Heading", "LABEL": "Velkomstoverskrift",
"PLACEHOLDER": "Hi there !" "PLACEHOLDER": "Hejsa!"
}, },
"CHANNEL_WELCOME_TAGLINE": { "CHANNEL_WELCOME_TAGLINE": {
"LABEL": "Welcome Tagline", "LABEL": "Velkomst Tagline",
"PLACEHOLDER": "We make it simple to connect with us. Ask us anything, or share your feedback." "PLACEHOLDER": "Vi gør det nemt at komme i kontakt med os. Spørg os om noget, eller del din feedback."
}, },
"CHANNEL_GREETING_MESSAGE": { "CHANNEL_GREETING_MESSAGE": {
"LABEL": "Channel greeting message", "LABEL": "Kanal start hilsen besked",
"PLACEHOLDER": "Acme Inc typically replies in a few hours." "PLACEHOLDER": "Dit firma ApS svarer typisk på et par timer."
}, },
"CHANNEL_GREETING_TOGGLE": { "CHANNEL_GREETING_TOGGLE": {
"LABEL": "Enable channel greeting", "LABEL": "Aktivér kanal start hilsen",
"HELP_TEXT": "Send a greeting message to the user when he starts the conversation.", "HELP_TEXT": "Send en hilsen til brugeren, når han starter samtalen.",
"ENABLED": "Enabled", "ENABLED": "Aktiveret",
"DISABLED": "Disabled" "DISABLED": "Deaktiveret"
}, },
"REPLY_TIME": { "REPLY_TIME": {
"TITLE": "Set Reply time", "TITLE": "Angiv svartid",
"IN_A_FEW_MINUTES": "In a few minutes", "IN_A_FEW_MINUTES": "På nogle få minutter",
"IN_A_FEW_HOURS": "In a few hours", "IN_A_FEW_HOURS": "Om et par timer",
"IN_A_DAY": "In a day", "IN_A_DAY": "På en dag",
"HELP_TEXT": "This reply time will be displayed on the live chat widget" "HELP_TEXT": "Denne svartid vil blive vist på live chat widget"
}, },
"WIDGET_COLOR": { "WIDGET_COLOR": {
"LABEL": "Widget Color", "LABEL": "Widget Farve",
"PLACEHOLDER": "Update the widget color used in widget" "PLACEHOLDER": "Opdater widget farve der bruges i widget"
}, },
"SUBMIT_BUTTON": "Create inbox" "SUBMIT_BUTTON": "Opret indbakke"
}, },
"TWILIO": { "TWILIO": {
"TITLE": "Twilio SMS/Whatsapp Channel", "TITLE": "Twilio SMS/Whatsapp Kanal",
"DESC": "Integrate Twilio and start supporting your customers via SMS or Whatsapp.", "DESC": "Integrer Twilio og start med at supportere dine kunder via SMS eller Whatsapp.",
"ACCOUNT_SID": { "ACCOUNT_SID": {
"LABEL": "Account SID", "LABEL": "Konto SID",
"PLACEHOLDER": "Please enter your Twilio Account SID", "PLACEHOLDER": "Indtast venligst din Twilio konto SID",
"ERROR": "This field is required" "ERROR": "Dette felt er påkrævet"
}, },
"CHANNEL_TYPE": { "CHANNEL_TYPE": {
"LABEL": "Channel Type", "LABEL": "Kanaltype",
"ERROR": "Please select your Channel Type" "ERROR": "Vælg venligst din kanaltype"
}, },
"AUTH_TOKEN": { "AUTH_TOKEN": {
"LABEL": "Auth Token", "LABEL": "Auth Token",
"PLACEHOLDER": "Please enter your Twilio Auth Token", "PLACEHOLDER": "Indtast venligst din Twilio Auth Token",
"ERROR": "This field is required" "ERROR": "Dette felt er påkrævet"
}, },
"CHANNEL_NAME": { "CHANNEL_NAME": {
"LABEL": "Channel Name", "LABEL": "Kanalnavn",
"PLACEHOLDER": "Please enter a channel name", "PLACEHOLDER": "Indtast et kanalnavn",
"ERROR": "This field is required" "ERROR": "Dette felt er påkrævet"
}, },
"PHONE_NUMBER": { "PHONE_NUMBER": {
"LABEL": "Phone number", "LABEL": "Telefonnummer",
"PLACEHOLDER": "Please enter the phone number from which message will be sent.", "PLACEHOLDER": "Indtast venligst det telefonnummer, hvorfra beskeden vil blive sendt.",
"ERROR": "Please enter a valid value. Phone number should start with `+` sign." "ERROR": "Angiv en gyldig værdi. Telefonnummer skal starte med `+` tegn."
}, },
"API_CALLBACK": { "API_CALLBACK": {
"TITLE": "Callback URL", "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": { "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": { "API_CHANNEL": {
"TITLE": "API Channel", "TITLE": "API Kanal",
"DESC": "Integrate with API channel and start supporting your customers.", "DESC": "Integrer med API-kanal og begynd at supportere dine kunder.",
"CHANNEL_NAME": { "CHANNEL_NAME": {
"LABEL": "Channel Name", "LABEL": "Kanalnavn",
"PLACEHOLDER": "Please enter a channel name", "PLACEHOLDER": "Indtast et kanalnavn",
"ERROR": "This field is required" "ERROR": "Dette felt er påkrævet"
}, },
"WEBHOOK_URL": { "WEBHOOK_URL": {
"LABEL": "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" "PLACEHOLDER": "Webhook URL"
}, },
"SUBMIT_BUTTON": "Create API Channel", "SUBMIT_BUTTON": "Opret API-kanal",
"API": { "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": { "EMAIL_CHANNEL": {
"TITLE": "Email Channel", "TITLE": "E-mail Kanal",
"DESC": "Integrate you email inbox.", "DESC": "Integrer din e-mail indbakke.",
"CHANNEL_NAME": { "CHANNEL_NAME": {
"LABEL": "Channel Name", "LABEL": "Kanalnavn",
"PLACEHOLDER": "Please enter a channel name", "PLACEHOLDER": "Indtast et kanalnavn",
"ERROR": "This field is required" "ERROR": "Dette felt er påkrævet"
}, },
"EMAIL": { "EMAIL": {
"LABEL": "Email", "LABEL": "E-mail",
"SUBTITLE": "Email where your customers sends you support tickets", "SUBTITLE": "E-mail hvor dine kunder sender dig support tickets",
"PLACEHOLDER": "Email" "PLACEHOLDER": "E-mail"
}, },
"SUBMIT_BUTTON": "Create Email Channel", "SUBMIT_BUTTON": "Opret E-Mail Kanal",
"API": { "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": { "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." "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": { "AGENTS": {
"TITLE": "Agents", "TITLE": "Agenter",
"DESC": "Here you can add agents to manage your newly created inbox. Only these selected agents will have access to your inbox. Agents which are not part of this inbox will not be able to see or respond to messages in this inbox when they login. <br> <b>PS:</b> As an administrator, if you need access to all inboxes, you should add yourself as agent to all inboxes that you create." "DESC": "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. <br> <b>PS:</b> 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.",
"VALIDATION_ERROR": "Add atleast one agent to your new Inbox",
"PICK_AGENTS": "Pick agents for the inbox"
}, },
"DETAILS": { "DETAILS": {
"TITLE": "Inbox Details", "TITLE": "Indbakke Detaljer",
"DESC": "From the dropdown below, select the Facebook Page you want to connect to Chatwoot. You can also give a custom name to your inbox for better identification." "DESC": "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": { "FINISH": {
"TITLE": "Nailed It!", "TITLE": "Du klarede det!",
"DESC": "You have successfully finished integrating your Facebook Page with Chatwoot. Next time a customer messages your Page, the conversation will automatically appear on your inbox.<br>We are also providing you with a widget script that you can easily add to your website. Once this is live on your website, customers can message you right from your website without the help of any external tool and the conversation will appear right here, on Chatwoot.<br>Cool, huh? Well, we sure try to be :)" "DESC": "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.<br>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.<br>Cool, var? Nå ikke, vi forsøge at være :)"
} }
}, },
"DETAILS": { "DETAILS": {
"LOADING_FB": "Authenticating you with Facebook...", "LOADING_FB": "Autentificerer dig med Facebook...",
"ERROR_FB_AUTH": "Something went wrong, Please refresh page...", "ERROR_FB_AUTH": "Noget gik galt, Opdatér siden...",
"CREATING_CHANNEL": "Creating your Inbox...", "CREATING_CHANNEL": "Opretter din indbakke...",
"TITLE": "Configure Inbox Details", "TITLE": "Indstil Indbakkedetaljer",
"DESC": "" "DESC": ""
}, },
"AGENTS": { "AGENTS": {
"BUTTON_TEXT": "Add agents", "BUTTON_TEXT": "Tilføj agenter",
"ADD_AGENTS": "Adding Agents to your Inbox..." "ADD_AGENTS": "Tilføjer agenter til din indbakke..."
}, },
"FINISH": { "FINISH": {
"TITLE": "Your Inbox is ready!", "TITLE": "Din indbakke er klar!",
"MESSAGE": "You can now engage with your customers through your new Channel. Happy supporting ", "MESSAGE": "Du kan nu engagere dig med dine kunder gennem din nye kanal. Glædelig supportering ",
"BUTTON_TEXT": "Take me there", "BUTTON_TEXT": "Tag mig med dertil",
"WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox." "WEBSITE_SUCCESS": "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", "REAUTH": "Genautorisér",
"VIEW": "View", "VIEW": "Vis",
"EDIT": { "EDIT": {
"API": { "API": {
"SUCCESS_MESSAGE": "Inbox settings updated successfully", "SUCCESS_MESSAGE": "Indbakkeindstillinger opdateret",
"AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Auto assignment updated successfully", "AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "Automatisk tildeling opdateret",
"ERROR_MESSAGE": "Could not update widget color. Please try again later." "ERROR_MESSAGE": "Kunne ikke opdatere widget farve. Prøv igen senere."
}, },
"AUTO_ASSIGNMENT": { "AUTO_ASSIGNMENT": {
"ENABLED": "Enabled", "ENABLED": "Aktiveret",
"DISABLED": "Disabled" "DISABLED": "Deaktiveret"
} }
}, },
"DELETE": { "DELETE": {
"BUTTON_TEXT": "Delete", "BUTTON_TEXT": "Slet",
"CONFIRM": { "CONFIRM": {
"TITLE": "Confirm Deletion", "TITLE": "Bekræft Sletning",
"MESSAGE": "Are you sure to delete ", "MESSAGE": "Er du sikker på du vil slette ",
"YES": "Yes, Delete ", "YES": "Ja, Slet ",
"NO": "No, Keep " "NO": "Nej, Behold "
}, },
"API": { "API": {
"SUCCESS_MESSAGE": "Inbox deleted successfully", "SUCCESS_MESSAGE": "Indbakken blev slettet",
"ERROR_MESSAGE": "Could not delete inbox. Please try again later." "ERROR_MESSAGE": "Kunne ikke slette indbakken. Prøv igen senere."
} }
}, },
"TABS": { "TABS": {
"SETTINGS": "Settings", "SETTINGS": "Indstillinger",
"COLLABORATORS": "Collaborators", "COLLABORATORS": "Samarbejdspartnere",
"CONFIGURATION": "Configuration" "CONFIGURATION": "Konfiguration"
}, },
"SETTINGS": "Settings", "SETTINGS": "Indstillinger",
"FEATURES": { "FEATURES": {
"LABEL": "Features", "LABEL": "Funktioner",
"DISPLAY_FILE_PICKER": "Display file picker on the widget", "DISPLAY_FILE_PICKER": "Vis filvælger på widget'en",
"DISPLAY_EMOJI_PICKER": "Display emoji picker on the widget" "DISPLAY_EMOJI_PICKER": "Vis emoji-vælger på widget'en"
}, },
"SETTINGS_POPUP": { "SETTINGS_POPUP": {
"MESSENGER_HEADING": "Messenger Script", "MESSENGER_HEADING": "Messenger- Script",
"MESSENGER_SUB_HEAD": "Place this button inside your body tag", "MESSENGER_SUB_HEAD": "Placer denne knap inde i din body tag",
"INBOX_AGENTS": "Agents", "INBOX_AGENTS": "Agenter",
"INBOX_AGENTS_SUB_TEXT": "Add or remove agents from this inbox", "INBOX_AGENTS_SUB_TEXT": "Tilføj eller fjern agenter fra denne indbakke",
"UPDATE": "Update", "UPDATE": "Opdater",
"AUTO_ASSIGNMENT": "Enable auto assignment", "AUTO_ASSIGNMENT": "Aktiver automatisk tildeling",
"INBOX_UPDATE_TITLE": "Inbox Settings", "INBOX_UPDATE_TITLE": "Indbakke Indstillinger",
"INBOX_UPDATE_SUB_TEXT": "Update your inbox settings", "INBOX_UPDATE_SUB_TEXT": "Opdater dine indbakkeindstillinger",
"AUTO_ASSIGNMENT_SUB_TEXT": "Enable or disable the automatic assignment of new conversations to the agents added to this inbox." "AUTO_ASSIGNMENT_SUB_TEXT": "Aktiver eller deaktiver automatisk tildeling af nye samtaler til agenter tilføjet til denne indbakke."
}, },
"FACEBOOK_REAUTHORIZE": { "FACEBOOK_REAUTHORIZE": {
"TITLE": "Reauthorize", "TITLE": "Genautorisér",
"SUBTITLE": "Your Facebook connection has expired, please reconnect your Facebook page to continue services", "SUBTITLE": "Din Facebook-forbindelse er udløbet, tilslut venligst din Facebook-side igen for at fortsætte tjenesterne",
"MESSAGE_SUCCESS": "Reconnection successful", "MESSAGE_SUCCESS": "Genoprettelse lykkedes",
"MESSAGE_ERROR": "There was an error, please try again" "MESSAGE_ERROR": "Der opstod en fejl, prøv igen"
} }
} }
} }

View file

@ -1,63 +1,61 @@
{ {
"INTEGRATION_SETTINGS": { "INTEGRATION_SETTINGS": {
"HEADER": "Integrations", "HEADER": "Integrationer",
"WEBHOOK": { "WEBHOOK": {
"TITLE": "Webhook", "TITLE": "Webhook",
"CONFIGURE": "Configure", "CONFIGURE": "Konfigurer",
"HEADER": "Webhook settings", "HEADER": "Webhook indstillinger",
"HEADER_BTN_TXT": "Add new webhook", "HEADER_BTN_TXT": "Tilføj ny 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": "Henter vedhæftede webhooks",
"LOADING": "Fetching attached webhooks", "SEARCH_404": "Der er ingen elementer, der matcher denne forespørgsel",
"SEARCH_404": "There are no items matching this query", "SIDEBAR_TXT": "<p><b>Webhooks</b> </p> <p>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. <br /><br /> For at oprette en <b>webhook</b>, klik på <b>Tilføj ny webhook</b> knappen. Du kan også fjerne enhver eksisterende webhook ved at klikke på Slet knappen.</p>",
"SIDEBAR_TXT": "<p><b>Webhooks</b> </p> <p>Webhooks are HTTP callbacks which can be defined for every account. They are triggered by events like message creation in Chatwoot. You can create more than one webhook for this account. <br /><br /> For creating a <b>webhook</b>, click on the <b>Add new webhook</b> button. You can also remove any existing webhook by clicking on the Delete button.</p>",
"LIST": { "LIST": {
"404": "There are no webhooks configured for this account.", "404": "Der er ingen webhooks konfigureret til denne konto.",
"TITLE": "Manage webhooks", "TITLE": "Administrer webhooks",
"DESC": "Webhooks are predefined reply templates which can be used to quickly send out replies to tickets.",
"TABLE_HEADER": [ "TABLE_HEADER": [
"Webhook endpoint", "Webhook endepunkt",
"Actions" "Handlinger"
] ]
}, },
"ADD": { "ADD": {
"CANCEL": "Cancel", "CANCEL": "Annuller",
"TITLE": "Add new webhook", "TITLE": "Tilføj ny webhook",
"DESC": "Webhook events provide you the realtime information about what's happening in your Chatwoot account. Please enter a valid URL to configure a callback.", "DESC": "Webhook-begivenheder giver dig realtidsoplysninger om, hvad der sker på din Chatwoot-konto. Angiv en gyldig URL for at konfigurere et callback.",
"FORM": { "FORM": {
"END_POINT": { "END_POINT": {
"LABEL": "Webhook URL", "LABEL": "Webhook URL",
"PLACEHOLDER": "Example: https://example/api/webhook", "PLACEHOLDER": "Eksempel: https://example/api/webhook",
"ERROR": "Please enter a valid URL" "ERROR": "Angiv en gyldig URL"
}, },
"SUBMIT": "Create webhook" "SUBMIT": "Opret webhook"
}, },
"API": { "API": {
"SUCCESS_MESSAGE": "Webhook added successfully", "SUCCESS_MESSAGE": "Webhook blev tilføjet",
"ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" "ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere"
} }
}, },
"DELETE": { "DELETE": {
"BUTTON_TEXT": "Delete", "BUTTON_TEXT": "Slet",
"API": { "API": {
"SUCCESS_MESSAGE": "Webhook deleted successfully", "SUCCESS_MESSAGE": "Webhook blev slettet",
"ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" "ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere"
}, },
"CONFIRM": { "CONFIRM": {
"TITLE": "Confirm Deletion", "TITLE": "Bekræft Sletning",
"MESSAGE": "Are you sure to delete ", "MESSAGE": "Er du sikker på du vil slette ",
"YES": "Yes, Delete ", "YES": "Ja, Slet ",
"NO": "No, Keep it" "NO": "Nej, behold det"
} }
} }
}, },
"DELETE": { "DELETE": {
"BUTTON_TEXT": "Delete", "BUTTON_TEXT": "Slet",
"API": { "API": {
"SUCCESS_MESSAGE": "Integration deleted successfully" "SUCCESS_MESSAGE": "Integrationen blev slettet"
} }
}, },
"CONNECT": { "CONNECT": {
"BUTTON_TEXT": "Connect" "BUTTON_TEXT": "Tilslut"
} }
} }
} }

View file

@ -1,67 +1,67 @@
{ {
"LABEL_MGMT": { "LABEL_MGMT": {
"HEADER": "Labels", "HEADER": "Etiketter",
"HEADER_BTN_TXT": "Add label", "HEADER_BTN_TXT": "Tilføj etiket",
"LOADING": "Fetching labels", "LOADING": "Henter etiketter",
"SEARCH_404": "There are no items matching this query", "SEARCH_404": "Der er ingen elementer, der matcher denne forespørgsel",
"SIDEBAR_TXT": "<p><b>Labels</b> <p>Labels help you to categorize conversations and prioritize them. You can assign label to a conversation from the sidepanel. <br /><br />Labels are tied to the account and can be used to create custom workflows in your organization. You can assign custom color to a label, it makes it easier to identify the label. You will be able to display the label on the sidebar to filter the conversations easily.</p>", "SIDEBAR_TXT": "<p><b>Etiketter</b> <p>Etiketter hjælper dig med at kategorisere samtaler og prioritere dem. Du kan tildele etiket til en samtale fra dit sidepanel. <br /><br />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.</p>",
"LIST": { "LIST": {
"404": "There are no labels available in this account.", "404": "Der er ingen tilgængelige etiketter på denne konto.",
"TITLE": "Manage labels", "TITLE": "Administrer etiketter",
"DESC": "Labels let you group the conversations together.", "DESC": "Etiketter lader dig gruppere samtalerne sammen.",
"TABLE_HEADER": [ "TABLE_HEADER": [
"Name", "Navn",
"Description", "Beskrivelse",
"Color" "Farve"
] ]
}, },
"FORM": { "FORM": {
"NAME": { "NAME": {
"LABEL": "Label Name", "LABEL": "Etiket Navn",
"PLACEHOLDER": "Label name", "PLACEHOLDER": "Etiket Navn",
"ERROR": "Label Name is required" "ERROR": "Etiketnavn er påkrævet"
}, },
"DESCRIPTION": { "DESCRIPTION": {
"LABEL": "Description", "LABEL": "Beskrivelse",
"PLACEHOLDER": "Label Description" "PLACEHOLDER": "Etiket Beskrivelse"
}, },
"COLOR": { "COLOR": {
"LABEL": "Color" "LABEL": "Farve"
}, },
"SHOW_ON_SIDEBAR": { "SHOW_ON_SIDEBAR": {
"LABEL": "Show label on sidebar" "LABEL": "Vis etiket på sidepanelet"
}, },
"EDIT": "Edit", "EDIT": "Rediger",
"CREATE": "Create", "CREATE": "Opret",
"DELETE": "Delete", "DELETE": "Slet",
"CANCEL": "Cancel" "CANCEL": "Annuller"
}, },
"ADD": { "ADD": {
"TITLE": "Add label", "TITLE": "Tilføj etiket",
"DESC": "Labels let you group the conversations together.", "DESC": "Etiketter lader dig gruppere samtalerne sammen.",
"API": { "API": {
"SUCCESS_MESSAGE": "Label added successfully", "SUCCESS_MESSAGE": "Etiket blev tilføjet",
"ERROR_MESSAGE": "There was an error, please try again" "ERROR_MESSAGE": "Der opstod en fejl. Prøv venligst igen"
} }
}, },
"EDIT": { "EDIT": {
"TITLE": "Edit label", "TITLE": "Rediger etiket",
"API": { "API": {
"SUCCESS_MESSAGE": "Label updated successfully", "SUCCESS_MESSAGE": "Etiket blev opdateret",
"ERROR_MESSAGE": "There was an error, please try again" "ERROR_MESSAGE": "Der opstod en fejl. Prøv venligst igen"
} }
}, },
"DELETE": { "DELETE": {
"BUTTON_TEXT": "Delete", "BUTTON_TEXT": "Slet",
"API": { "API": {
"SUCCESS_MESSAGE": "Label deleted successfully", "SUCCESS_MESSAGE": "Etiket blev slettet",
"ERROR_MESSAGE": "There was an error, please try again" "ERROR_MESSAGE": "Der opstod en fejl. Prøv venligst igen"
}, },
"CONFIRM": { "CONFIRM": {
"TITLE": "Confirm Deletion", "TITLE": "Bekræft Sletning",
"MESSAGE": "Are you sure to delete ", "MESSAGE": "Er du sikker på du vil slette ",
"YES": "Yes, Delete ", "YES": "Ja, Slet ",
"NO": "No, Keep " "NO": "Nej, Behold "
} }
} }
} }

View file

@ -1,21 +1,21 @@
{ {
"LOGIN": { "LOGIN": {
"TITLE": "Login to Chatwoot", "TITLE": "Log ind på Chatwoot",
"EMAIL": { "EMAIL": {
"LABEL": "Email", "LABEL": "E-mail",
"PLACEHOLDER": "Email eg: someone@example.com" "PLACEHOLDER": "E-mail, fx: navn@eksempel.dk"
}, },
"PASSWORD": { "PASSWORD": {
"LABEL": "Password", "LABEL": "Adgangskode",
"PLACEHOLDER": "Password" "PLACEHOLDER": "Adgangskode"
}, },
"API": { "API": {
"SUCCESS_MESSAGE": "Login Successful", "SUCCESS_MESSAGE": "Login Lykkedes",
"ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later", "ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere",
"UNAUTH": "Username / Password Incorrect. Please try again" "UNAUTH": "Brugernavn / adgangskode forkert. Prøv igen"
}, },
"FORGOT_PASSWORD": "Forgot your password?", "FORGOT_PASSWORD": "Glemt din adgangskode?",
"CREATE_NEW_ACCOUNT": "Create new account", "CREATE_NEW_ACCOUNT": "Opret ny konto",
"SUBMIT": "Login" "SUBMIT": "Log Ind"
} }
} }

View file

@ -1,42 +1,43 @@
{ {
"REPORT": { "REPORT": {
"HEADER": "Reports", "HEADER": "Rapporter",
"LOADING_CHART": "Loading chart data...", "LOADING_CHART": "Indlæser diagramdata...",
"NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "NO_ENOUGH_DATA": "Vi har ikke modtaget nok datapunkter til at generere rapport. Prøv igen senere.",
"DOWNLOAD_AGENT_REPORTS": "Download agent reports",
"METRICS": { "METRICS": {
"CONVERSATIONS": { "CONVERSATIONS": {
"NAME": "Conversations", "NAME": "Samtaler",
"DESC": "( Total )" "DESC": "( Total )"
}, },
"INCOMING_MESSAGES": { "INCOMING_MESSAGES": {
"NAME": "Incoming Messages", "NAME": "Indkommende Beskeder",
"DESC": "( Total )" "DESC": "( Total )"
}, },
"OUTGOING_MESSAGES": { "OUTGOING_MESSAGES": {
"NAME": "Outgoing Messages", "NAME": "Udgående beskeder",
"DESC": "( Total )" "DESC": "( Total )"
}, },
"FIRST_RESPONSE_TIME": { "FIRST_RESPONSE_TIME": {
"NAME": "First response time", "NAME": "Første svartid",
"DESC": "( Avg )" "DESC": "( Gns. )"
}, },
"RESOLUTION_TIME": { "RESOLUTION_TIME": {
"NAME": "Resolution Time", "NAME": "Løsnings Tid",
"DESC": "( Avg )" "DESC": "( Gns. )"
}, },
"RESOLUTION_COUNT": { "RESOLUTION_COUNT": {
"NAME": "Resolution Count", "NAME": "Antal Afsluttede",
"DESC": "( Total )" "DESC": "( Total )"
} }
}, },
"DATE_RANGE": [ "DATE_RANGE": [
{ {
"id": 0, "id": 0,
"name": "Last 7 days" "name": "Seneste 7 dage"
}, },
{ {
"id": 1, "id": 1,
"name": "Last 30 days" "name": "Seneste 30 dage"
} }
] ]
} }

View file

@ -1,15 +1,15 @@
{ {
"RESET_PASSWORD": { "RESET_PASSWORD": {
"TITLE": "Reset Password", "TITLE": "Nulstil Adgangskode",
"EMAIL": { "EMAIL": {
"LABEL": "Email", "LABEL": "E-mail",
"PLACEHOLDER": "Please enter your email", "PLACEHOLDER": "Indtast venligst din e-mail",
"ERROR": "Please enter a valid email" "ERROR": "Indtast venligst en gyldig e-mail"
}, },
"API": { "API": {
"SUCCESS_MESSAGE": "Password reset link has been sent to your email", "SUCCESS_MESSAGE": "Link til nulstilling af adgangskode er blevet sendt til din e-mail",
"ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" "ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere"
}, },
"SUBMIT": "Submit" "SUBMIT": "Send"
} }
} }

View file

@ -1,20 +1,20 @@
{ {
"SET_NEW_PASSWORD": { "SET_NEW_PASSWORD": {
"TITLE": "Set New Password", "TITLE": "Angiv Ny Adgangskode",
"PASSWORD": { "PASSWORD": {
"LABEL": "Password", "LABEL": "Adgangskode",
"PLACEHOLDER": "Password", "PLACEHOLDER": "Adgangskode",
"ERROR": "Password is too short" "ERROR": "Adgangskoden er for kort"
}, },
"CONFIRM_PASSWORD": { "CONFIRM_PASSWORD": {
"LABEL": "Confirm Password", "LABEL": "Bekræft Adgangskode",
"PLACEHOLDER": "Confirm Password", "PLACEHOLDER": "Bekræft Adgangskode",
"ERROR": "Passwords do not match" "ERROR": "Adgangskoder stemmer ikke overens"
}, },
"API": { "API": {
"SUCCESS_MESSAGE": "Successfully changed the password", "SUCCESS_MESSAGE": "Adgangskoden blev ændret",
"ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" "ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere"
}, },
"SUBMIT": "Submit" "SUBMIT": "Send"
} }
} }

View file

@ -1,142 +1,142 @@
{ {
"PROFILE_SETTINGS": { "PROFILE_SETTINGS": {
"LINK": "Profile Settings", "LINK": "Profilindstillinger",
"TITLE": "Profile Settings", "TITLE": "Profilindstillinger",
"BTN_TEXT": "Update Profile", "BTN_TEXT": "Opdater Profil",
"AFTER_EMAIL_CHANGED": "Your profile has been updated successfully, please login again as your login credentials are changed", "AFTER_EMAIL_CHANGED": "Din profil er blevet opdateret. Log venligst ind igen, da dine loginoplysninger er ændret",
"FORM": { "FORM": {
"AVATAR": "Profile Image", "AVATAR": "Profilbillede",
"ERROR": "Please fix form errors", "ERROR": "Ret venligst formularfejl",
"REMOVE_IMAGE": "Remove", "REMOVE_IMAGE": "Fjern",
"UPLOAD_IMAGE": "Upload image", "UPLOAD_IMAGE": "Upload billede",
"UPDATE_IMAGE": "Update image", "UPDATE_IMAGE": "Opdater billede",
"PROFILE_SECTION": { "PROFILE_SECTION": {
"TITLE": "Profile", "TITLE": "Profil",
"NOTE": "Your email address is your identity and is used to log in." "NOTE": "Din e-mailadresse er din identitet og bruges til at logge ind."
}, },
"PASSWORD_SECTION": { "PASSWORD_SECTION": {
"TITLE": "Password", "TITLE": "Adgangskode",
"NOTE": "Updating your password would reset your logins in multiple devices." "NOTE": "Opdatering af din adgangskode vil nulstille dine logins på flere enheder."
}, },
"ACCESS_TOKEN": { "ACCESS_TOKEN": {
"TITLE": "Access Token", "TITLE": "Adgangs Token",
"NOTE": "This token can be used if you are building an API based integration" "NOTE": "Denne token kan bruges, hvis du bygger en API-baseret integration"
}, },
"EMAIL_NOTIFICATIONS_SECTION": { "EMAIL_NOTIFICATIONS_SECTION": {
"TITLE": "Email Notifications", "TITLE": "E-Mail Notifikationer",
"NOTE": "Update your email notification preferences here", "NOTE": "Opdater dine e-mail notifikationspræferencer her",
"CONVERSATION_ASSIGNMENT": "Send email notifications when a conversation is assigned to me", "CONVERSATION_ASSIGNMENT": "Send e-mail notifikationer når en samtale er tildelt mig",
"CONVERSATION_CREATION": "Send email notifications when a new conversation is created", "CONVERSATION_CREATION": "Send e-mail notifikationer når en ny samtale er oprettet",
"ASSIGNED_CONVERSATION_NEW_MESSAGE": "Send email notifications when a new message is created in an assigned conversation" "ASSIGNED_CONVERSATION_NEW_MESSAGE": "Send e-mail notifikationer når en ny besked er oprettet i en tildelt samtale"
}, },
"API": { "API": {
"UPDATE_SUCCESS": "Your notification preferences are updated successfully", "UPDATE_SUCCESS": "Dine notifikationsindstillinger er opdateret",
"UPDATE_ERROR": "There is an error while updating the preferences, please try again" "UPDATE_ERROR": "Der er en fejl under opdatering af indstillingerne, prøv venligst igen"
}, },
"PUSH_NOTIFICATIONS_SECTION": { "PUSH_NOTIFICATIONS_SECTION": {
"TITLE": "Push Notifications", "TITLE": "Push Notifikationer",
"NOTE": "Update your push notification preferences here", "NOTE": "Opdater dine push-notifikationspræferencer her",
"CONVERSATION_ASSIGNMENT": "Send push notifications when a conversation is assigned to me", "CONVERSATION_ASSIGNMENT": "Send push-notifikationer, når en samtale er tildelt mig",
"CONVERSATION_CREATION": "Send push notifications when a new conversation is created", "CONVERSATION_CREATION": "Send push-notifikationer, når en ny samtale er oprettet",
"ASSIGNED_CONVERSATION_NEW_MESSAGE": "Send push notifications when a new message is created in an assigned conversation", "ASSIGNED_CONVERSATION_NEW_MESSAGE": "Send push-notifikationer, når en ny besked oprettes i en tildelt samtale",
"HAS_ENABLED_PUSH": "You have enabled push for this browser.", "HAS_ENABLED_PUSH": "Du har aktiveret push for denne browser.",
"REQUEST_PUSH": "Enable push notifications" "REQUEST_PUSH": "Aktivér push-notifikationer"
}, },
"PROFILE_IMAGE": { "PROFILE_IMAGE": {
"LABEL": "Profile Image" "LABEL": "Profilbillede"
}, },
"NAME": { "NAME": {
"LABEL": "Your full name", "LABEL": "Dit fulde navn",
"ERROR": "Please enter a valid full name", "ERROR": "Indtast et gyldigt fuldt navn",
"PLACEHOLDER": "Please enter your full name" "PLACEHOLDER": "Indtast venligst dit fulde navn"
}, },
"DISPLAY_NAME": { "DISPLAY_NAME": {
"LABEL": "Display name", "LABEL": "Display navn",
"ERROR": "Please enter a valid display name", "ERROR": "Angiv et gyldigt displaynavn",
"PLACEHOLDER": "Please enter a display name, this would be displayed in conversations" "PLACEHOLDER": "Angiv venligst et displaynavn, dette vil blive vist i samtaler"
}, },
"AVAILABILITY": { "AVAILABILITY": {
"LABEL": "Availability", "LABEL": "Tilgængelighed",
"STATUSES_LIST": [ "STATUSES_LIST": [
"Online", "Online",
"Busy", "Optaget",
"Offline" "Offline"
] ]
}, },
"EMAIL": { "EMAIL": {
"LABEL": "Your email address", "LABEL": "Din e-mail adresse",
"ERROR": "Please enter a valid email address", "ERROR": "Indtast venligst en gyldig e-mailadresse",
"PLACEHOLDER": "Please enter your email address, this would be displayed in conversations" "PLACEHOLDER": "Indtast venligst din e-mailadresse, dette vil blive vist i samtaler"
}, },
"PASSWORD": { "PASSWORD": {
"LABEL": "Password", "LABEL": "Adgangskode",
"ERROR": "Please enter a password of length 6 or more", "ERROR": "Indtast en adgangskode med længde 6 eller flere",
"PLACEHOLDER": "Please enter a new password" "PLACEHOLDER": "Indtast venligst en ny adgangskode"
}, },
"PASSWORD_CONFIRMATION": { "PASSWORD_CONFIRMATION": {
"LABEL": "Confirm new password", "LABEL": "Bekræft ny adgangskode",
"ERROR": "Confirm password should match the password", "ERROR": "Bekræftelses adgangskoden skal matche adgangskoden",
"PLACEHOLDER": "Please re-enter your password" "PLACEHOLDER": "Indtast venligst din adgangskode igen"
} }
} }
}, },
"SIDEBAR_ITEMS": { "SIDEBAR_ITEMS": {
"CHANGE_AVAILABILITY_STATUS": "Change", "CHANGE_AVAILABILITY_STATUS": "Skift",
"CHANGE_ACCOUNTS": "Switch Account", "CHANGE_ACCOUNTS": "Skift Konto",
"SELECTOR_SUBTITLE": "Select an account from the following list", "SELECTOR_SUBTITLE": "Vælg en konto fra følgende liste",
"PROFILE_SETTINGS": "Profile Settings", "PROFILE_SETTINGS": "Profilindstillinger",
"LOGOUT": "Logout" "LOGOUT": "Log Ud"
}, },
"APP_GLOBAL": { "APP_GLOBAL": {
"TRIAL_MESSAGE": "days trial remaining.", "TRIAL_MESSAGE": "dage prøveperiode tilbage.",
"TRAIL_BUTTON": "Buy Now" "TRAIL_BUTTON": "Køb Nu"
}, },
"COMPONENTS": { "COMPONENTS": {
"CODE": { "CODE": {
"BUTTON_TEXT": "Copy", "BUTTON_TEXT": "Kopiér",
"COPY_SUCCESSFUL": "Code copied to clipboard successfully" "COPY_SUCCESSFUL": "Kode kopieret til udklipsholder med succes"
}, },
"FILE_BUBBLE": { "FILE_BUBBLE": {
"DOWNLOAD": "Download", "DOWNLOAD": "Download",
"UPLOADING": "Uploading..." "UPLOADING": "Uploader..."
}, },
"FORM_BUBBLE": { "FORM_BUBBLE": {
"SUBMIT": "Submit" "SUBMIT": "Send"
} }
}, },
"CONFIRM_EMAIL": "Verifying...", "CONFIRM_EMAIL": "Verificerer...",
"SETTINGS": { "SETTINGS": {
"INBOXES": { "INBOXES": {
"NEW_INBOX": "Add Inbox" "NEW_INBOX": "Tilføj Indbakke"
} }
}, },
"SIDEBAR": { "SIDEBAR": {
"CONVERSATIONS": "Conversations", "CONVERSATIONS": "Samtaler",
"REPORTS": "Reports", "REPORTS": "Rapporter",
"CONTACTS": "Contacts (Beta)", "CONTACTS": "Kontakter (Beta)",
"SETTINGS": "Settings", "SETTINGS": "Indstillinger",
"HOME": "Home", "HOME": "Hjem",
"AGENTS": "Agents", "AGENTS": "Agenter",
"INBOXES": "Inboxes", "INBOXES": "Indbakker",
"CANNED_RESPONSES": "Canned Responses", "CANNED_RESPONSES": "Standardsvar Svar",
"INTEGRATIONS": "Integrations", "INTEGRATIONS": "Integrationer",
"ACCOUNT_SETTINGS": "Account Settings", "ACCOUNT_SETTINGS": "Kontoindstillinger",
"LABELS": "Labels" "LABELS": "Etiketter"
}, },
"CREATE_ACCOUNT": { "CREATE_ACCOUNT": {
"NEW_ACCOUNT": "New Account", "NEW_ACCOUNT": "Ny Konto",
"SELECTOR_SUBTITLE": "Create a new account", "SELECTOR_SUBTITLE": "Opret en ny konto",
"API": { "API": {
"SUCCESS_MESSAGE": "Account created successfully", "SUCCESS_MESSAGE": "Konto oprettet med succes",
"EXIST_MESSAGE": "Account already exists", "EXIST_MESSAGE": "Konto findes allerede",
"ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" "ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere"
}, },
"FORM": { "FORM": {
"NAME": { "NAME": {
"LABEL": "Account Name", "LABEL": "Kontonavn",
"PLACEHOLDER": "Wayne Enterprises" "PLACEHOLDER": "Wayne Enterprises"
}, },
"SUBMIT": "Submit" "SUBMIT": "Send"
} }
} }
} }

View file

@ -1,32 +1,39 @@
{ {
"REGISTER": { "REGISTER": {
"TRY_WOOT": "Register an account", "TRY_WOOT": "Registrer en konto",
"TITLE": "Register", "TITLE": "Registrer",
"TERMS_ACCEPT": "By signing up, you agree to our <a href=\"https://www.chatwoot.com/terms\">T & C</a> and <a href=\"https://www.chatwoot.com/privacy-policy\">Privacy policy</a>", "TERMS_ACCEPT": "Ved at tilmelde dig, accepterer du vores <a href=\"https://www.chatwoot.com/terms\">T & C</a> og <a href=\"https://www.chatwoot.com/privacy-policy\">Privatlivspolitik</a>",
"ACCOUNT_NAME": { "ACCOUNT_NAME": {
"LABEL": "Account Name", "LABEL": "Kontonavn",
"PLACEHOLDER": "Wayne Enterprises", "PLACEHOLDER": "Wayne Enterprises",
"ERROR": "Account Name is too short" "ERROR": "Kontonavn er for kort"
}, },
"EMAIL": { "EMAIL": {
"LABEL": "Email", "LABEL": "E-mail",
"PLACEHOLDER": "bruce@wayne.enterprises", "PLACEHOLDER": "bruce@wayne.enterprises",
"ERROR": "Email is invalid" "ERROR": "E-mail er ugyldig"
}, },
"PASSWORD": { "PASSWORD": {
"LABEL": "Password", "LABEL": "Adgangskode",
"PLACEHOLDER": "Password", "PLACEHOLDER": "Adgangskode",
"ERROR": "Password is too short" "ERROR": "Adgangskoden er for kort"
}, },
"CONFIRM_PASSWORD": { "CONFIRM_PASSWORD": {
"LABEL": "Confirm Password", "LABEL": "Bekræft Adgangskode",
"PLACEHOLDER": "Confirm Password", "PLACEHOLDER": "Bekræft Adgangskode",
"ERROR": "Password doesnot match" "ERROR": "Adgangskode stemmer ikke overens"
}, },
"API": { "API": {
"SUCCESS_MESSAGE": "Registration Successfull", "SUCCESS_MESSAGE": "Registrering Succesfuld",
"ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" "ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere"
}, },
"SUBMIT": "Submit" "SUBMIT": "Send",
"FEATURES": {
"UNLIMITED_INBOXES": "Unlimited inboxes",
"ROBUST_REPORTING": "Robust Reporting",
"CANNED_RESPONSES": "Standardsvar Svar",
"AUTO_ASSIGNMENT": "Auto Assignment",
"SECURITY": "Enterprise level security"
}
} }
} }

View file

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

View file

@ -13,6 +13,8 @@
"PLACEHOLDER": "Type any text to search messages", "PLACEHOLDER": "Type any text to search messages",
"NO_MATCHING_RESULTS": "There are no messages matching the search parameters." "NO_MATCHING_RESULTS": "There are no messages matching the search parameters."
}, },
"UNREAD_MESSAGES": "Unread Messages",
"UNREAD_MESSAGE": "Unread Message",
"CLICK_HERE": "Hier klicken", "CLICK_HERE": "Hier klicken",
"LOADING_INBOXES": "Posteingänge laden", "LOADING_INBOXES": "Posteingänge laden",
"LOADING_CONVERSATIONS": "Gespräche laden", "LOADING_CONVERSATIONS": "Gespräche laden",
@ -42,7 +44,13 @@
}, },
"VISIBLE_TO_AGENTS": "Privater Hinweis: Nur für Sie und Ihr Team sichtbar", "VISIBLE_TO_AGENTS": "Privater Hinweis: Nur für Sie und Ihr Team sichtbar",
"CHANGE_STATUS": "Gesprächsstatus geändert", "CHANGE_STATUS": "Gesprächsstatus geändert",
"CHANGE_AGENT": "Konversationsempfänger geändert" "CHANGE_AGENT": "Konversationsempfänger geändert",
"SENT_BY": "Sent by:",
"ASSIGNMENT": {
"SELECT_AGENT": "Select Agent",
"REMOVE": "Entfernen",
"ASSIGN": "Assign"
}
}, },
"EMAIL_TRANSCRIPT": { "EMAIL_TRANSCRIPT": {
"TITLE": "Send conversation transcript", "TITLE": "Send conversation transcript",
@ -53,7 +61,7 @@
"SEND_EMAIL_ERROR": "There was an error, please try again", "SEND_EMAIL_ERROR": "There was an error, please try again",
"FORM": { "FORM": {
"SEND_TO_CONTACT": "Send the transcript to the customer", "SEND_TO_CONTACT": "Send the transcript to the customer",
"SEND_TO_AGENT": "Send the transcript of the assigned agent", "SEND_TO_AGENT": "Send the transcript to the assigned agent",
"SEND_TO_OTHER_EMAIL_ADDRESS": "Send the transcript to another email address", "SEND_TO_OTHER_EMAIL_ADDRESS": "Send the transcript to another email address",
"EMAIL": { "EMAIL": {
"PLACEHOLDER": "Enter an email address", "PLACEHOLDER": "Enter an email address",

View file

@ -43,5 +43,12 @@
"CUSTOM_EMAIL_DOMAIN_ENABLED": "You can receive emails in your custom domain now." "CUSTOM_EMAIL_DOMAIN_ENABLED": "You can receive emails in your custom domain now."
} }
} }
},
"FORMS": {
"MULTISELECT": {
"ENTER_TO_SELECT": "Press enter to select",
"ENTER_TO_REMOVE": "Press enter to remove",
"SELECT_ONE": "Select one"
}
} }
} }

View file

@ -165,7 +165,9 @@
}, },
"AGENTS": { "AGENTS": {
"TITLE": "Agenten", "TITLE": "Agenten",
"DESC": "Hier können Sie Agenten hinzufügen, um Ihren neu erstellten Posteingang zu verwalten. Nur diese ausgewählten Agenten haben Zugriff auf Ihren Posteingang. Agenten, die nicht Teil dieses Posteingangs sind, können bei der Anmeldung keine Nachrichten in diesem Posteingang sehen oder darauf antworten. <br> <b> PS: </b> Wenn Sie als Administrator Zugriff auf alle Posteingänge benötigen, sollten Sie sich als Agent zu allen von Ihnen erstellten Posteingängen hinzufügen." "DESC": "Hier können Sie Agenten hinzufügen, um Ihren neu erstellten Posteingang zu verwalten. Nur diese ausgewählten Agenten haben Zugriff auf Ihren Posteingang. Agenten, die nicht Teil dieses Posteingangs sind, können bei der Anmeldung keine Nachrichten in diesem Posteingang sehen oder darauf antworten. <br> <b> PS: </b> Wenn Sie als Administrator Zugriff auf alle Posteingänge benötigen, sollten Sie sich als Agent zu allen von Ihnen erstellten Posteingängen hinzufügen.",
"VALIDATION_ERROR": "Add atleast one agent to your new Inbox",
"PICK_AGENTS": "Pick agents for the inbox"
}, },
"DETAILS": { "DETAILS": {
"TITLE": "Posteingangsdetails", "TITLE": "Posteingangsdetails",

View file

@ -6,14 +6,12 @@
"CONFIGURE": "Konfigurieren", "CONFIGURE": "Konfigurieren",
"HEADER": "Webhook-Einstellungen", "HEADER": "Webhook-Einstellungen",
"HEADER_BTN_TXT": "Neuen Webhook hinzufügen", "HEADER_BTN_TXT": "Neuen Webhook hinzufügen",
"INTEGRATION_TXT": "Webhook-Ereignisse bieten Ihnen Echtzeitinformationen darüber, was in Ihrem Chatwoot-Konto passiert. Sie können die Webhooks verwenden, um die Ereignisse an Ihre Lieblings-Apps wie Slack oder Github zu kommunizieren. Klicken Sie auf Konfigurieren, um Ihre Webhooks einzurichten.",
"LOADING": "Angehängte Webhooks abrufen", "LOADING": "Angehängte Webhooks abrufen",
"SEARCH_404": "Es gibt keine Elemente, die dieser Abfrage entsprechen", "SEARCH_404": "Es gibt keine Elemente, die dieser Abfrage entsprechen",
"SIDEBAR_TXT": "<p> <b> Webhooks </b> </p> <p> Webhooks sind HTTP-Rückrufe, die für jedes Konto definiert werden können. Sie werden durch Ereignisse wie die Erstellung von Nachrichten in Chatwoot ausgelöst. Sie können mehr als einen Webhook für dieses Konto erstellen. <br /> <br /> Um einen <b> Webhook </b> zu erstellen, klicken Sie auf die Schaltfläche <b> Neuen Webhook hinzufügen </b>. Sie können auch vorhandene Webhooks entfernen, indem Sie auf die Schaltfläche Löschen klicken. </p>", "SIDEBAR_TXT": "<p> <b> Webhooks </b> </p> <p> Webhooks sind HTTP-Rückrufe, die für jedes Konto definiert werden können. Sie werden durch Ereignisse wie die Erstellung von Nachrichten in Chatwoot ausgelöst. Sie können mehr als einen Webhook für dieses Konto erstellen. <br /> <br /> Um einen <b> Webhook </b> zu erstellen, klicken Sie auf die Schaltfläche <b> Neuen Webhook hinzufügen </b>. Sie können auch vorhandene Webhooks entfernen, indem Sie auf die Schaltfläche Löschen klicken. </p>",
"LIST": { "LIST": {
"404": "Für dieses Konto sind keine Webhooks konfiguriert.", "404": "Für dieses Konto sind keine Webhooks konfiguriert.",
"TITLE": "Webhooks verwalten", "TITLE": "Webhooks verwalten",
"DESC": "Webhooks sind vordefinierte Antwortvorlagen, mit denen schnell Antworten auf Tickets gesendet werden können.",
"TABLE_HEADER": [ "TABLE_HEADER": [
"Webhook-Endpunkt", "Webhook-Endpunkt",
"Aktionen" "Aktionen"

View file

@ -3,6 +3,7 @@
"HEADER": "Berichte", "HEADER": "Berichte",
"LOADING_CHART": "Diagrammdaten laden ...", "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.", "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": { "METRICS": {
"CONVERSATIONS": { "CONVERSATIONS": {
"NAME": "Gespräche", "NAME": "Gespräche",

View file

@ -58,18 +58,9 @@
"AVAILABILITY": { "AVAILABILITY": {
"LABEL": "Verfügbarkeit", "LABEL": "Verfügbarkeit",
"STATUSES_LIST": [ "STATUSES_LIST": [
{ "Online",
"value": "online", "Beschäftigt",
"label": "Online" "Offline"
},
{
"value": "beschäftigt",
"label": "Beschäftigt"
},
{
"value": "offline",
"label": "Offline"
}
] ]
}, },
"EMAIL": { "EMAIL": {

View file

@ -27,6 +27,13 @@
"SUCCESS_MESSAGE": "Registrierung erfolgreich", "SUCCESS_MESSAGE": "Registrierung erfolgreich",
"ERROR_MESSAGE": "Es konnte keine Verbindung zum Woot Server hergestellt werden. Bitte versuchen Sie es später erneut" "ERROR_MESSAGE": "Es konnte keine Verbindung zum Woot Server hergestellt werden. Bitte versuchen Sie es später erneut"
}, },
"SUBMIT": "Einreichen" "SUBMIT": "Einreichen",
"FEATURES": {
"UNLIMITED_INBOXES": "Unlimited inboxes",
"ROBUST_REPORTING": "Robust Reporting",
"CANNED_RESPONSES": "Vorgefertigte Antworten",
"AUTO_ASSIGNMENT": "Auto Assignment",
"SECURITY": "Enterprise level security"
}
} }
} }

View file

@ -13,6 +13,8 @@
"PLACEHOLDER": "Εισάγετε κείμενο για αναζήτηση μηνυμάτων", "PLACEHOLDER": "Εισάγετε κείμενο για αναζήτηση μηνυμάτων",
"NO_MATCHING_RESULTS": "Δεν βρέθηκαν μηνύματα που να ταιριάζουν με τους όρους αναζήτησης." "NO_MATCHING_RESULTS": "Δεν βρέθηκαν μηνύματα που να ταιριάζουν με τους όρους αναζήτησης."
}, },
"UNREAD_MESSAGES": "Μη αναγνωσμένα μηνύματα",
"UNREAD_MESSAGE": "Μη αναγνωσμένο μήνυμα",
"CLICK_HERE": "Πατήστε εδώ", "CLICK_HERE": "Πατήστε εδώ",
"LOADING_INBOXES": "Φόρτωση εισερχομένων", "LOADING_INBOXES": "Φόρτωση εισερχομένων",
"LOADING_CONVERSATIONS": "Φόρτωση Συζητήσεων", "LOADING_CONVERSATIONS": "Φόρτωση Συζητήσεων",
@ -42,7 +44,13 @@
}, },
"VISIBLE_TO_AGENTS": "Ιδιωτική Σημείωση: Ορατή μόνο σε σας και την ομάδα σας", "VISIBLE_TO_AGENTS": "Ιδιωτική Σημείωση: Ορατή μόνο σε σας και την ομάδα σας",
"CHANGE_STATUS": "Η κατάσταση της συνομιλίας άλλαξε", "CHANGE_STATUS": "Η κατάσταση της συνομιλίας άλλαξε",
"CHANGE_AGENT": "Η εκπροσώπηση για την συνομιλία άλλαξε" "CHANGE_AGENT": "Η εκπροσώπηση για την συνομιλία άλλαξε",
"SENT_BY": "Αποστολή από:",
"ASSIGNMENT": {
"SELECT_AGENT": "Επιλογή πράκτορα",
"REMOVE": "Διαγραφή",
"ASSIGN": "Αντιστοίχιση"
}
}, },
"EMAIL_TRANSCRIPT": { "EMAIL_TRANSCRIPT": {
"TITLE": "Στείλτε την μεταγραφή της σινομιλίας", "TITLE": "Στείλτε την μεταγραφή της σινομιλίας",

View file

@ -43,5 +43,12 @@
"CUSTOM_EMAIL_DOMAIN_ENABLED": "Τώρα μπορείτε να λαμβάνετε emails στον τομέα (domain) σας." "CUSTOM_EMAIL_DOMAIN_ENABLED": "Τώρα μπορείτε να λαμβάνετε emails στον τομέα (domain) σας."
} }
} }
},
"FORMS": {
"MULTISELECT": {
"ENTER_TO_SELECT": "Πάτησε enter για επιλογή",
"ENTER_TO_REMOVE": "Πάτησε enter για αφαίρεση",
"SELECT_ONE": "Επιλέξτε ένα"
}
} }
} }

View file

@ -161,11 +161,13 @@
}, },
"AUTH": { "AUTH": {
"TITLE": "Κανάλια", "TITLE": "Κανάλια",
"DESC": "Επι του παρόντος υποστηρίζονται widgets για Ιστοσελίδες,και σελιδες Facebook, Προφίλ Twitter ως πλατφόρμες. Εχουμε ακόμη περισσότερες πλατφόρμες όπως Whatsapp, Email, Telegram and Line υπό ανάπτυξη, οι οποίες θα είναι διαθέσιμες σύντομα." "DESC": "Επί του παρόντος υποστηρίζονται widgets για Ιστοσελίδες, και σελίδες Facebook, Προφίλ Twitter ως πλατφόρμες. Έχουμε ακόμη περισσότερες πλατφόρμες όπως Whatsapp, Email, Telegram and Line υπό ανάπτυξη, οι οποίες θα είναι διαθέσιμες σύντομα."
}, },
"AGENTS": { "AGENTS": {
"TITLE": "Πράκτορες", "TITLE": "Πράκτορες",
"DESC": "Εδώ μπορείτε να προσθέσετε πράκτορες στο κιβώτιο που μόλις δημιουργήσατε. Μονο αυτοί οι επιλεγμένοι πράκτορες θα έχουν πρόσβαση στο κιβώτιο. Οι πράκτορες που δεν ανήκουν σε αυτο το κιβώτιο δεν θα έχουν την δυνατότητα να ανταποκρίνονται σε μηνήματα αυτού του κιβωτίου όταν κάνουν login στο σύστημα. <br> <b>ΥΓ:</b> Ως Διαχειριστής, αν θέλετε πρόσβαση σε όλα τα κιβώτια, θα πρέπει να προσθέσετε τον εαυτό σας σε όλα τα κιβώτια που δημιουργείτε." "DESC": "Εδώ μπορείτε να προσθέσετε πράκτορες στο κιβώτιο που μόλις δημιουργήσατε. Μονο αυτοί οι επιλεγμένοι πράκτορες θα έχουν πρόσβαση στο κιβώτιο. Οι πράκτορες που δεν ανήκουν σε αυτο το κιβώτιο δεν θα έχουν την δυνατότητα να ανταποκρίνονται σε μηνήματα αυτού του κιβωτίου όταν κάνουν login στο σύστημα. <br> <b>ΥΓ:</b> Ως Διαχειριστής, αν θέλετε πρόσβαση σε όλα τα κιβώτια, θα πρέπει να προσθέσετε τον εαυτό σας σε όλα τα κιβώτια που δημιουργείτε.",
"VALIDATION_ERROR": "Προσθέστε τουλάχιστον ένα πράκτορα στο κιβώτιο εισερχομένων",
"PICK_AGENTS": "Επιλέξτε πράκτορες για το κιβώτιο"
}, },
"DETAILS": { "DETAILS": {
"TITLE": "Λεπτομέρειες Κιβωτίου", "TITLE": "Λεπτομέρειες Κιβωτίου",

View file

@ -6,14 +6,12 @@
"CONFIGURE": "Διαμόρφωση", "CONFIGURE": "Διαμόρφωση",
"HEADER": "Ρυθμίσεις Webhook", "HEADER": "Ρυθμίσεις Webhook",
"HEADER_BTN_TXT": "Προσθήκη Webhook", "HEADER_BTN_TXT": "Προσθήκη Webhook",
"INTEGRATION_TXT": "Τα συμβάντα Webhook μας εφοδιάζουν με πληροφορίες πραγματικού χρόνου σχετικά με το τι συμβαίνει στο λογαριασμό σας στο Chatwoot. Μπορείτε να χρησιμοποιήσετε τα webhooks για να μεταφέρετε τα συμβάντα σε άλλες εφαρμογές ή υπηρεσίες όπως το Slack ή Github. Πατήστε στην Διαμόρφωση για να ενημερώστε τα δικά σας webhooks.",
"LOADING": "Λήψη σχετικών webhooks", "LOADING": "Λήψη σχετικών webhooks",
"SEARCH_404": "Δεν υπάρχουν δεδομένα που να ταιριάζουν με αυτό το ερώτημα", "SEARCH_404": "Δεν υπάρχουν δεδομένα που να ταιριάζουν με αυτό το ερώτημα",
"SIDEBAR_TXT": "<p><b>Webhooks</b> </p> <p>Τα Webhooks είναι κλήσεις HTTP οι οποίες μπορούν να οριστούν για κάθε λογαριασμό. Ενεργοποιούνται από τα συμβάντα στο Chatwoot όπως για παράδειγμα την έναρξη μια συνομιλίας. Μπορείτε να δημιουργείσετε πάνω από ένα για τον λογαριασμό σας. <br /><br /> Για την δημιουργία ενός <b>webhook</b>, Πατήστε στο κουμπί <b>Προσθήκη webhook</b>. Μπορείτε επίσης να αφαιρέσετε ένα υπάρχων webhook πατώντας στο σχετική κουμπί Διαγραφή.</p>", "SIDEBAR_TXT": "<p><b>Webhooks</b> </p> <p>Τα Webhooks είναι κλήσεις HTTP οι οποίες μπορούν να οριστούν για κάθε λογαριασμό. Ενεργοποιούνται από τα συμβάντα στο Chatwoot όπως για παράδειγμα την έναρξη μια συνομιλίας. Μπορείτε να δημιουργείσετε πάνω από ένα για τον λογαριασμό σας. <br /><br /> Για την δημιουργία ενός <b>webhook</b>, Πατήστε στο κουμπί <b>Προσθήκη webhook</b>. Μπορείτε επίσης να αφαιρέσετε ένα υπάρχων webhook πατώντας στο σχετική κουμπί Διαγραφή.</p>",
"LIST": { "LIST": {
"404": "Δεν έχουν δημιουργηθεί webhooks για αυτόν το λογαριασμό.", "404": "Δεν έχουν δημιουργηθεί webhooks για αυτόν το λογαριασμό.",
"TITLE": "Διαχείριση webhooks", "TITLE": "Διαχείριση webhooks",
"DESC": "Τα webhooks είναι σύνδεσμοι στους οποίους ενημερώνεται η κίνηση στο chatwoot.",
"TABLE_HEADER": [ "TABLE_HEADER": [
"ΣΥΝΔΕΣΜΟΣ Webhook", "ΣΥΝΔΕΣΜΟΣ Webhook",
"ΕΝΕΡΓΕΙΕΣ" "ΕΝΕΡΓΕΙΕΣ"

View file

@ -3,6 +3,7 @@
"HEADER": "Αναφορές", "HEADER": "Αναφορές",
"LOADING_CHART": "Φόρτωση δεδομένων γραφήματος...", "LOADING_CHART": "Φόρτωση δεδομένων γραφήματος...",
"NO_ENOUGH_DATA": "Δεν έχουν ληφθεί αρκετά σημεία δεδομένων για την δημιουργία της αναφοράς, Παρακαλώ προσπαθήστε αργότερα.", "NO_ENOUGH_DATA": "Δεν έχουν ληφθεί αρκετά σημεία δεδομένων για την δημιουργία της αναφοράς, Παρακαλώ προσπαθήστε αργότερα.",
"DOWNLOAD_AGENT_REPORTS": "Download agent reports",
"METRICS": { "METRICS": {
"CONVERSATIONS": { "CONVERSATIONS": {
"NAME": "Συζητήσεις", "NAME": "Συζητήσεις",

View file

@ -27,6 +27,13 @@
"SUCCESS_MESSAGE": "Επιτυχής καταχώρηση", "SUCCESS_MESSAGE": "Επιτυχής καταχώρηση",
"ERROR_MESSAGE": "Αδυναμία σύνδεσης με τον Woot Server, Παρακαλώ προσπαθήστε αργότερα" "ERROR_MESSAGE": "Αδυναμία σύνδεσης με τον Woot Server, Παρακαλώ προσπαθήστε αργότερα"
}, },
"SUBMIT": "Καταχώρηση" "SUBMIT": "Καταχώρηση",
"FEATURES": {
"UNLIMITED_INBOXES": "Απεριόριστα κιβώτια",
"ROBUST_REPORTING": "Ισχυρές Αναφορές",
"CANNED_RESPONSES": "Έτοιμες Απαντήσεις",
"AUTO_ASSIGNMENT": "Αυτόματη Αντιστοίχιση",
"SECURITY": "Ασφάλεια επιπέδου Enterprise"
}
} }
} }

View file

@ -11,6 +11,7 @@
"OS": "Operating System", "OS": "Operating System",
"INITIATED_FROM": "Initiated from", "INITIATED_FROM": "Initiated from",
"INITIATED_AT": "Initiated at", "INITIATED_AT": "Initiated at",
"IP_ADDRESS": "IP Address",
"CONVERSATIONS": { "CONVERSATIONS": {
"NO_RECORDS_FOUND": "There are no previous conversations associated to this contact.", "NO_RECORDS_FOUND": "There are no previous conversations associated to this contact.",
"TITLE": "Previous Conversations" "TITLE": "Previous Conversations"

View file

@ -13,6 +13,8 @@
"PLACEHOLDER": "Type any text to search messages", "PLACEHOLDER": "Type any text to search messages",
"NO_MATCHING_RESULTS": "There are no messages matching the search parameters." "NO_MATCHING_RESULTS": "There are no messages matching the search parameters."
}, },
"UNREAD_MESSAGES": "Unread Messages",
"UNREAD_MESSAGE": "Unread Message",
"CLICK_HERE": "Click here", "CLICK_HERE": "Click here",
"LOADING_INBOXES": "Loading inboxes", "LOADING_INBOXES": "Loading inboxes",
"LOADING_CONVERSATIONS": "Loading Conversations", "LOADING_CONVERSATIONS": "Loading Conversations",
@ -42,7 +44,13 @@
}, },
"VISIBLE_TO_AGENTS": "Private Note: Only visible to you and your team", "VISIBLE_TO_AGENTS": "Private Note: Only visible to you and your team",
"CHANGE_STATUS": "Conversation status changed", "CHANGE_STATUS": "Conversation status changed",
"CHANGE_AGENT": "Conversation Assignee changed" "CHANGE_AGENT": "Conversation Assignee changed",
"SENT_BY": "Sent by:",
"ASSIGNMENT": {
"SELECT_AGENT": "Select Agent",
"REMOVE": "Remove",
"ASSIGN": "Assign"
}
}, },
"EMAIL_TRANSCRIPT": { "EMAIL_TRANSCRIPT": {
"TITLE": "Send conversation transcript", "TITLE": "Send conversation transcript",
@ -53,7 +61,7 @@
"SEND_EMAIL_ERROR": "There was an error, please try again", "SEND_EMAIL_ERROR": "There was an error, please try again",
"FORM": { "FORM": {
"SEND_TO_CONTACT": "Send the transcript to the customer", "SEND_TO_CONTACT": "Send the transcript to the customer",
"SEND_TO_AGENT": "Send the transcript of the assigned agent", "SEND_TO_AGENT": "Send the transcript to the assigned agent",
"SEND_TO_OTHER_EMAIL_ADDRESS": "Send the transcript to another email address", "SEND_TO_OTHER_EMAIL_ADDRESS": "Send the transcript to another email address",
"EMAIL": { "EMAIL": {
"PLACEHOLDER": "Enter an email address", "PLACEHOLDER": "Enter an email address",

View file

@ -43,5 +43,12 @@
"CUSTOM_EMAIL_DOMAIN_ENABLED": "You can receive emails in your custom domain now." "CUSTOM_EMAIL_DOMAIN_ENABLED": "You can receive emails in your custom domain now."
} }
} }
},
"FORMS": {
"MULTISELECT": {
"ENTER_TO_SELECT": "Press enter to select",
"ENTER_TO_REMOVE": "Press enter to remove",
"SELECT_ONE": "Select one"
}
} }
} }

View file

@ -165,7 +165,9 @@
}, },
"AGENTS": { "AGENTS": {
"TITLE": "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. <br> <b>PS:</b> As an administrator, if you need access to all inboxes, you should add yourself as agent to all inboxes that you create." "DESC": "Here you can add agents to manage your newly created inbox. Only these selected agents will have access to your inbox. Agents which are not part of this inbox will not be able to see or respond to messages in this inbox when they login. <br> <b>PS:</b> As an administrator, if you need access to all inboxes, you should add yourself as agent to all inboxes that you create.",
"VALIDATION_ERROR": "Add atleast one agent to your new Inbox",
"PICK_AGENTS": "Pick agents for the inbox"
}, },
"DETAILS": { "DETAILS": {
"TITLE": "Inbox Details", "TITLE": "Inbox Details",

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