Merge branch 'develop' into feat/upgrade_ruby
This commit is contained in:
commit
4e2d8422d0
327 changed files with 2986 additions and 866 deletions
8
Gemfile
8
Gemfile
|
@ -4,7 +4,7 @@ ruby '3.1.2'
|
||||||
|
|
||||||
##-- base gems for rails --##
|
##-- base gems for rails --##
|
||||||
gem 'rack-cors', require: 'rack/cors'
|
gem 'rack-cors', require: 'rack/cors'
|
||||||
gem 'rails', '~>6.1'
|
gem 'rails', '~> 6.1', '>= 6.1.6.1'
|
||||||
# Reduces boot times through caching; required in config/boot.rb
|
# Reduces boot times through caching; required in config/boot.rb
|
||||||
gem 'bootsnap', require: false
|
gem 'bootsnap', require: false
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@ gem 'activerecord-import'
|
||||||
gem 'dotenv-rails'
|
gem 'dotenv-rails'
|
||||||
gem 'foreman'
|
gem 'foreman'
|
||||||
gem 'puma'
|
gem 'puma'
|
||||||
gem 'webpacker', '~> 5.x'
|
gem 'webpacker', '~> 5.4', '>= 5.4.3'
|
||||||
# metrics on heroku
|
# metrics on heroku
|
||||||
gem 'barnes'
|
gem 'barnes'
|
||||||
|
|
||||||
|
@ -94,7 +94,7 @@ gem 'ddtrace'
|
||||||
gem 'elastic-apm'
|
gem 'elastic-apm'
|
||||||
gem 'newrelic_rpm'
|
gem 'newrelic_rpm'
|
||||||
gem 'scout_apm'
|
gem 'scout_apm'
|
||||||
gem 'sentry-rails', '~> 5.3'
|
gem 'sentry-rails', '~> 5.3', '>= 5.3.1'
|
||||||
gem 'sentry-ruby', '~> 5.3'
|
gem 'sentry-ruby', '~> 5.3'
|
||||||
gem 'sentry-sidekiq', '~> 5.3'
|
gem 'sentry-sidekiq', '~> 5.3'
|
||||||
|
|
||||||
|
@ -185,7 +185,7 @@ group :development, :test do
|
||||||
gem 'mock_redis'
|
gem 'mock_redis'
|
||||||
gem 'pry-rails'
|
gem 'pry-rails'
|
||||||
gem 'rspec_junit_formatter'
|
gem 'rspec_junit_formatter'
|
||||||
gem 'rspec-rails', '~> 5.0.0'
|
gem 'rspec-rails', '~> 5.0.3'
|
||||||
gem 'rubocop', require: false
|
gem 'rubocop', require: false
|
||||||
gem 'rubocop-performance', require: false
|
gem 'rubocop-performance', require: false
|
||||||
gem 'rubocop-rails', require: false
|
gem 'rubocop-rails', require: false
|
||||||
|
|
16
Gemfile.lock
16
Gemfile.lock
|
@ -407,7 +407,7 @@ GEM
|
||||||
llhttp-ffi (0.4.0)
|
llhttp-ffi (0.4.0)
|
||||||
ffi-compiler (~> 1.0)
|
ffi-compiler (~> 1.0)
|
||||||
rake (~> 13.0)
|
rake (~> 13.0)
|
||||||
loofah (2.18.0)
|
loofah (2.19.1)
|
||||||
crass (~> 1.0.2)
|
crass (~> 1.0.2)
|
||||||
nokogiri (>= 1.5.9)
|
nokogiri (>= 1.5.9)
|
||||||
mail (2.7.1)
|
mail (2.7.1)
|
||||||
|
@ -505,8 +505,8 @@ GEM
|
||||||
rails-dom-testing (2.0.3)
|
rails-dom-testing (2.0.3)
|
||||||
activesupport (>= 4.2.0)
|
activesupport (>= 4.2.0)
|
||||||
nokogiri (>= 1.6)
|
nokogiri (>= 1.6)
|
||||||
rails-html-sanitizer (1.4.3)
|
rails-html-sanitizer (1.4.4)
|
||||||
loofah (~> 2.3)
|
loofah (~> 2.19, >= 2.19.1)
|
||||||
railties (6.1.6.1)
|
railties (6.1.6.1)
|
||||||
actionpack (= 6.1.6.1)
|
actionpack (= 6.1.6.1)
|
||||||
activesupport (= 6.1.6.1)
|
activesupport (= 6.1.6.1)
|
||||||
|
@ -783,12 +783,12 @@ DEPENDENCIES
|
||||||
rack-attack
|
rack-attack
|
||||||
rack-cors
|
rack-cors
|
||||||
rack-timeout
|
rack-timeout
|
||||||
rails (~> 6.1)
|
rails (~> 6.1, >= 6.1.6.1)
|
||||||
redis
|
redis
|
||||||
redis-namespace
|
redis-namespace
|
||||||
responders
|
responders
|
||||||
rest-client
|
rest-client
|
||||||
rspec-rails (~> 5.0.0)
|
rspec-rails (~> 5.0.3)
|
||||||
rspec_junit_formatter
|
rspec_junit_formatter
|
||||||
rubocop
|
rubocop
|
||||||
rubocop-performance
|
rubocop-performance
|
||||||
|
@ -796,7 +796,7 @@ DEPENDENCIES
|
||||||
rubocop-rspec
|
rubocop-rspec
|
||||||
scout_apm
|
scout_apm
|
||||||
seed_dump
|
seed_dump
|
||||||
sentry-rails (~> 5.3)
|
sentry-rails (~> 5.3, >= 5.3.1)
|
||||||
sentry-ruby (~> 5.3)
|
sentry-ruby (~> 5.3)
|
||||||
sentry-sidekiq (~> 5.3)
|
sentry-sidekiq (~> 5.3)
|
||||||
shoulda-matchers
|
shoulda-matchers
|
||||||
|
@ -817,8 +817,8 @@ DEPENDENCIES
|
||||||
valid_email2
|
valid_email2
|
||||||
web-console
|
web-console
|
||||||
webmock
|
webmock
|
||||||
webpacker (~> 5.x)
|
webpacker (~> 5.4, >= 5.4.3)
|
||||||
webpush!
|
webpush
|
||||||
wisper (= 2.0.0)
|
wisper (= 2.0.0)
|
||||||
working_hours
|
working_hours
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,10 @@ class Api::V1::ProfilesController < Api::BaseController
|
||||||
head :ok
|
head :ok
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def auto_offline
|
||||||
|
@user.account_users.find_by!(account_id: auto_offline_params[:account_id]).update!(auto_offline: auto_offline_params[:auto_offline] || false)
|
||||||
|
end
|
||||||
|
|
||||||
def availability
|
def availability
|
||||||
@user.account_users.find_by!(account_id: availability_params[:account_id]).update!(availability: availability_params[:availability])
|
@user.account_users.find_by!(account_id: availability_params[:account_id]).update!(availability: availability_params[:availability])
|
||||||
end
|
end
|
||||||
|
@ -37,6 +41,10 @@ class Api::V1::ProfilesController < Api::BaseController
|
||||||
params.require(:profile).permit(:account_id, :availability)
|
params.require(:profile).permit(:account_id, :availability)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def auto_offline_params
|
||||||
|
params.require(:profile).permit(:account_id, :auto_offline)
|
||||||
|
end
|
||||||
|
|
||||||
def profile_params
|
def profile_params
|
||||||
params.require(:profile).permit(
|
params.require(:profile).permit(
|
||||||
:email,
|
:email,
|
||||||
|
|
|
@ -24,7 +24,6 @@ class DashboardController < ActionController::Base
|
||||||
'API_CHANNEL_NAME',
|
'API_CHANNEL_NAME',
|
||||||
'API_CHANNEL_THUMBNAIL',
|
'API_CHANNEL_THUMBNAIL',
|
||||||
'ANALYTICS_TOKEN',
|
'ANALYTICS_TOKEN',
|
||||||
'ANALYTICS_HOST',
|
|
||||||
'DIRECT_UPLOADS_ENABLED',
|
'DIRECT_UPLOADS_ENABLED',
|
||||||
'HCAPTCHA_SITE_KEY',
|
'HCAPTCHA_SITE_KEY',
|
||||||
'LOGOUT_REDIRECT_LINK',
|
'LOGOUT_REDIRECT_LINK',
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
class Platform::Api::V1::AccountsController < PlatformController
|
class Platform::Api::V1::AccountsController < PlatformController
|
||||||
def create
|
def create
|
||||||
@resource = Account.new(account_params)
|
@resource = Account.create!(account_params)
|
||||||
update_resource_features
|
update_resource_features
|
||||||
@resource.save!
|
|
||||||
@platform_app.platform_app_permissibles.find_or_create_by(permissible: @resource)
|
@platform_app.platform_app_permissibles.find_or_create_by(permissible: @resource)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -144,6 +144,12 @@ export default {
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
updateAutoOffline(accountId, autoOffline = false) {
|
||||||
|
return axios.post(endPoints('autoOffline').url, {
|
||||||
|
profile: { account_id: accountId, auto_offline: autoOffline },
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
deleteAvatar() {
|
deleteAvatar() {
|
||||||
return axios.delete(endPoints('deleteAvatar').url);
|
return axios.delete(endPoints('deleteAvatar').url);
|
||||||
},
|
},
|
||||||
|
|
|
@ -16,6 +16,9 @@ const endPoints = {
|
||||||
availabilityUpdate: {
|
availabilityUpdate: {
|
||||||
url: '/api/v1/profile/availability',
|
url: '/api/v1/profile/availability',
|
||||||
},
|
},
|
||||||
|
autoOffline: {
|
||||||
|
url: '/api/v1/profile/auto_offline',
|
||||||
|
},
|
||||||
logout: {
|
logout: {
|
||||||
url: 'auth/sign_out',
|
url: 'auth/sign_out',
|
||||||
},
|
},
|
||||||
|
|
|
@ -74,8 +74,8 @@ Tahoma,
|
||||||
Arial,
|
Arial,
|
||||||
sans-serif;
|
sans-serif;
|
||||||
$body-antialiased: true;
|
$body-antialiased: true;
|
||||||
$global-margin: $space-one;
|
$global-margin: $space-small;
|
||||||
$global-padding: $space-one;
|
$global-padding: $space-micro;
|
||||||
$global-weight-normal: normal;
|
$global-weight-normal: normal;
|
||||||
$global-weight-bold: bold;
|
$global-weight-bold: bold;
|
||||||
$global-radius: 0;
|
$global-radius: 0;
|
||||||
|
|
|
@ -20,6 +20,24 @@
|
||||||
|
|
||||||
@include foundation-everything($flex: true);
|
@include foundation-everything($flex: true);
|
||||||
|
|
||||||
|
@include foundation-prototype-text-utilities;
|
||||||
|
@include foundation-prototype-text-transformation;
|
||||||
|
@include foundation-prototype-text-decoration;
|
||||||
|
@include foundation-prototype-font-styling;
|
||||||
|
@include foundation-prototype-list-style-type;
|
||||||
|
@include foundation-prototype-rounded;
|
||||||
|
@include foundation-prototype-bordered;
|
||||||
|
@include foundation-prototype-shadow;
|
||||||
|
@include foundation-prototype-separator;
|
||||||
|
@include foundation-prototype-overflow;
|
||||||
|
@include foundation-prototype-display;
|
||||||
|
@include foundation-prototype-position;
|
||||||
|
@include foundation-prototype-border-box;
|
||||||
|
@include foundation-prototype-border-none;
|
||||||
|
@include foundation-prototype-sizing;
|
||||||
|
@include foundation-prototype-spacing;
|
||||||
|
|
||||||
|
|
||||||
@import 'typography';
|
@import 'typography';
|
||||||
@import 'layout';
|
@import 'layout';
|
||||||
@import 'animations';
|
@import 'animations';
|
||||||
|
|
|
@ -18,12 +18,35 @@
|
||||||
</woot-button>
|
</woot-button>
|
||||||
</woot-dropdown-item>
|
</woot-dropdown-item>
|
||||||
<woot-dropdown-divider />
|
<woot-dropdown-divider />
|
||||||
|
<woot-dropdown-item class="auto-offline--toggle">
|
||||||
|
<div class="info-wrap">
|
||||||
|
<fluent-icon
|
||||||
|
v-tooltip.right-start="$t('SIDEBAR.SET_AUTO_OFFLINE.INFO_TEXT')"
|
||||||
|
icon="info"
|
||||||
|
size="14"
|
||||||
|
class="info-icon"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<span class="auto-offline--text">
|
||||||
|
{{ $t('SIDEBAR.SET_AUTO_OFFLINE.TEXT') }}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<woot-switch
|
||||||
|
size="small"
|
||||||
|
class="auto-offline--switch"
|
||||||
|
:value="currentUserAutoOffline"
|
||||||
|
@input="updateAutoOffline"
|
||||||
|
/>
|
||||||
|
</woot-dropdown-item>
|
||||||
|
<woot-dropdown-divider />
|
||||||
</woot-dropdown-menu>
|
</woot-dropdown-menu>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
import { mixin as clickaway } from 'vue-clickaway';
|
import { mixin as clickaway } from 'vue-clickaway';
|
||||||
|
import alertMixin from 'shared/mixins/alertMixin';
|
||||||
import WootDropdownItem from 'shared/components/ui/dropdown/DropdownItem';
|
import WootDropdownItem from 'shared/components/ui/dropdown/DropdownItem';
|
||||||
import WootDropdownMenu from 'shared/components/ui/dropdown/DropdownMenu';
|
import WootDropdownMenu from 'shared/components/ui/dropdown/DropdownMenu';
|
||||||
import WootDropdownHeader from 'shared/components/ui/dropdown/DropdownHeader';
|
import WootDropdownHeader from 'shared/components/ui/dropdown/DropdownHeader';
|
||||||
|
@ -41,7 +64,7 @@ export default {
|
||||||
AvailabilityStatusBadge,
|
AvailabilityStatusBadge,
|
||||||
},
|
},
|
||||||
|
|
||||||
mixins: [clickaway],
|
mixins: [clickaway, alertMixin],
|
||||||
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
@ -54,6 +77,7 @@ export default {
|
||||||
...mapGetters({
|
...mapGetters({
|
||||||
getCurrentUserAvailability: 'getCurrentUserAvailability',
|
getCurrentUserAvailability: 'getCurrentUserAvailability',
|
||||||
currentAccountId: 'getCurrentAccountId',
|
currentAccountId: 'getCurrentAccountId',
|
||||||
|
currentUserAutoOffline: 'getCurrentUserAutoOffline',
|
||||||
}),
|
}),
|
||||||
availabilityDisplayLabel() {
|
availabilityDisplayLabel() {
|
||||||
const availabilityIndex = AVAILABILITY_STATUS_KEYS.findIndex(
|
const availabilityIndex = AVAILABILITY_STATUS_KEYS.findIndex(
|
||||||
|
@ -85,21 +109,30 @@ export default {
|
||||||
closeStatusMenu() {
|
closeStatusMenu() {
|
||||||
this.isStatusMenuOpened = false;
|
this.isStatusMenuOpened = false;
|
||||||
},
|
},
|
||||||
|
updateAutoOffline(autoOffline) {
|
||||||
|
this.$store.dispatch('updateAutoOffline', {
|
||||||
|
accountId: this.currentAccountId,
|
||||||
|
autoOffline,
|
||||||
|
});
|
||||||
|
},
|
||||||
changeAvailabilityStatus(availability) {
|
changeAvailabilityStatus(availability) {
|
||||||
const accountId = this.currentAccountId;
|
|
||||||
if (this.isUpdating) {
|
if (this.isUpdating) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.isUpdating = true;
|
this.isUpdating = true;
|
||||||
this.$store
|
try {
|
||||||
.dispatch('updateAvailability', {
|
this.$store.dispatch('updateAvailability', {
|
||||||
availability: availability,
|
availability,
|
||||||
account_id: accountId,
|
account_id: this.currentAccountId,
|
||||||
})
|
|
||||||
.finally(() => {
|
|
||||||
this.isUpdating = false;
|
|
||||||
});
|
});
|
||||||
|
} catch (error) {
|
||||||
|
this.showAlert(
|
||||||
|
this.$t('PROFILE_SETTINGS.FORM.AVAILABILITY.SET_AVAILABILITY_ERROR')
|
||||||
|
);
|
||||||
|
} finally {
|
||||||
|
this.isUpdating = false;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -143,4 +176,32 @@ export default {
|
||||||
align-items: baseline;
|
align-items: baseline;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.auto-offline--toggle {
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: var(--space-smaller) 0 var(--space-smaller) var(--space-small);
|
||||||
|
margin: 0;
|
||||||
|
|
||||||
|
.info-wrap {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.info-icon {
|
||||||
|
margin-top: -1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.auto-offline--switch {
|
||||||
|
margin: -1px var(--space-micro) 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.auto-offline--text {
|
||||||
|
margin: 0 var(--space-smaller);
|
||||||
|
font-size: var(--font-size-mini);
|
||||||
|
font-weight: var(--font-weight-medium);
|
||||||
|
color: var(--s-700);
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -29,6 +29,7 @@ const primaryMenuItems = accountId => [
|
||||||
icon: 'megaphone',
|
icon: 'megaphone',
|
||||||
key: 'campaigns',
|
key: 'campaigns',
|
||||||
label: 'CAMPAIGNS',
|
label: 'CAMPAIGNS',
|
||||||
|
featureFlag: 'campaigns',
|
||||||
toState: frontendURL(`accounts/${accountId}/campaigns`),
|
toState: frontendURL(`accounts/${accountId}/campaigns`),
|
||||||
toStateName: 'settings_account_campaigns',
|
toStateName: 'settings_account_campaigns',
|
||||||
roles: ['administrator'],
|
roles: ['administrator'],
|
||||||
|
|
|
@ -135,7 +135,7 @@ export default {
|
||||||
.dropdown-pane {
|
.dropdown-pane {
|
||||||
left: var(--space-slab);
|
left: var(--space-slab);
|
||||||
bottom: var(--space-larger);
|
bottom: var(--space-larger);
|
||||||
min-width: 16.8rem;
|
min-width: 22rem;
|
||||||
z-index: var(--z-index-much-higher);
|
z-index: var(--z-index-low);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -199,8 +199,8 @@ export default {
|
||||||
|
|
||||||
&.smooth {
|
&.smooth {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
border: 1px solid var(--s-75);
|
border: 1px solid var(--s-100);
|
||||||
color: var(--s-800);
|
color: var(--s-700);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
class="toggle-button"
|
class="toggle-button"
|
||||||
:class="{ active: value }"
|
:class="{ active: value, small: size === 'small' }"
|
||||||
role="switch"
|
role="switch"
|
||||||
:aria-checked="value.toString()"
|
:aria-checked="value.toString()"
|
||||||
@click="onClick"
|
@click="onClick"
|
||||||
|
@ -15,6 +15,7 @@
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
value: { type: Boolean, default: false },
|
value: { type: Boolean, default: false },
|
||||||
|
size: { type: String, default: '' },
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
onClick() {
|
onClick() {
|
||||||
|
@ -45,6 +46,20 @@ export default {
|
||||||
background-color: var(--w-500);
|
background-color: var(--w-500);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&.small {
|
||||||
|
width: 22px;
|
||||||
|
height: 14px;
|
||||||
|
|
||||||
|
span {
|
||||||
|
height: var(--space-one);
|
||||||
|
width: var(--space-one);
|
||||||
|
|
||||||
|
&.active {
|
||||||
|
transform: translate(var(--space-small), var(--space-zero));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
span {
|
span {
|
||||||
--space-one-point-five: 1.5rem;
|
--space-one-point-five: 1.5rem;
|
||||||
background-color: var(--white);
|
background-color: var(--white);
|
||||||
|
|
|
@ -67,6 +67,9 @@ export default {
|
||||||
if (Object.keys(this.enabledFeatures).length === 0) {
|
if (Object.keys(this.enabledFeatures).length === 0) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if (key === 'website') {
|
||||||
|
return this.enabledFeatures.channel_website;
|
||||||
|
}
|
||||||
if (key === 'facebook') {
|
if (key === 'facebook') {
|
||||||
return this.enabledFeatures.channel_facebook;
|
return this.enabledFeatures.channel_facebook;
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,6 +61,7 @@ export default {
|
||||||
}
|
}
|
||||||
|
|
||||||
.colorpicker--selected {
|
.colorpicker--selected {
|
||||||
|
border: 1px solid var(--color-border-light);
|
||||||
border-radius: $space-smaller;
|
border-radius: $space-smaller;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
height: $space-large;
|
height: $space-large;
|
||||||
|
|
|
@ -47,6 +47,9 @@ import {
|
||||||
import eventListenerMixins from 'shared/mixins/eventListenerMixins';
|
import eventListenerMixins from 'shared/mixins/eventListenerMixins';
|
||||||
import uiSettingsMixin from 'dashboard/mixins/uiSettings';
|
import uiSettingsMixin from 'dashboard/mixins/uiSettings';
|
||||||
import { isEditorHotKeyEnabled } from 'dashboard/mixins/uiSettings';
|
import { isEditorHotKeyEnabled } from 'dashboard/mixins/uiSettings';
|
||||||
|
import AnalyticsHelper, {
|
||||||
|
ANALYTICS_EVENTS,
|
||||||
|
} from '../../../helper/AnalyticsHelper';
|
||||||
|
|
||||||
const createState = (content, placeholder, plugins = []) => {
|
const createState = (content, placeholder, plugins = []) => {
|
||||||
return EditorState.create({
|
return EditorState.create({
|
||||||
|
@ -268,6 +271,7 @@ export default {
|
||||||
);
|
);
|
||||||
this.state = this.editorView.state.apply(tr);
|
this.state = this.editorView.state.apply(tr);
|
||||||
this.emitOnChange();
|
this.emitOnChange();
|
||||||
|
AnalyticsHelper.track(ANALYTICS_EVENTS.USED_MENTIONS);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
|
@ -297,6 +301,7 @@ export default {
|
||||||
this.emitOnChange();
|
this.emitOnChange();
|
||||||
|
|
||||||
tr.scrollIntoView();
|
tr.scrollIntoView();
|
||||||
|
AnalyticsHelper.track(ANALYTICS_EVENTS.INSERTED_A_CANNED_RESPONSE);
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -91,6 +91,7 @@
|
||||||
</span>
|
</span>
|
||||||
<span class="unread">{{ unreadCount > 9 ? '9+' : unreadCount }}</span>
|
<span class="unread">{{ unreadCount > 9 ? '9+' : unreadCount }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
<card-labels :conversation-id="chat.id" />
|
||||||
</div>
|
</div>
|
||||||
<woot-context-menu
|
<woot-context-menu
|
||||||
v-if="showContextMenu"
|
v-if="showContextMenu"
|
||||||
|
@ -125,8 +126,8 @@ import InboxName from '../InboxName';
|
||||||
import inboxMixin from 'shared/mixins/inboxMixin';
|
import inboxMixin from 'shared/mixins/inboxMixin';
|
||||||
import ConversationContextMenu from './contextMenu/Index.vue';
|
import ConversationContextMenu from './contextMenu/Index.vue';
|
||||||
import alertMixin from 'shared/mixins/alertMixin';
|
import alertMixin from 'shared/mixins/alertMixin';
|
||||||
import timeAgo from 'dashboard/components/ui/TimeAgo';
|
import TimeAgo from 'dashboard/components/ui/TimeAgo';
|
||||||
|
import CardLabels from './conversationCardComponents/CardLabels.vue';
|
||||||
const ATTACHMENT_ICONS = {
|
const ATTACHMENT_ICONS = {
|
||||||
image: 'image',
|
image: 'image',
|
||||||
audio: 'headphones-sound-wave',
|
audio: 'headphones-sound-wave',
|
||||||
|
@ -138,10 +139,11 @@ const ATTACHMENT_ICONS = {
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
|
CardLabels,
|
||||||
InboxName,
|
InboxName,
|
||||||
Thumbnail,
|
Thumbnail,
|
||||||
ConversationContextMenu,
|
ConversationContextMenu,
|
||||||
timeAgo,
|
TimeAgo,
|
||||||
},
|
},
|
||||||
|
|
||||||
mixins: [
|
mixins: [
|
||||||
|
@ -370,11 +372,15 @@ export default {
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.conversation {
|
.conversation {
|
||||||
align-items: center;
|
align-items: flex-start;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background: var(--color-background-light);
|
background: var(--color-background-light);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&::v-deep .user-thumbnail-box {
|
||||||
|
margin-top: var(--space-normal);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.conversation-selected {
|
.conversation-selected {
|
||||||
|
@ -383,8 +389,10 @@ export default {
|
||||||
|
|
||||||
.has-inbox-name {
|
.has-inbox-name {
|
||||||
&::v-deep .user-thumbnail-box {
|
&::v-deep .user-thumbnail-box {
|
||||||
margin-top: var(--space-normal);
|
margin-top: var(--space-large);
|
||||||
align-items: flex-start;
|
}
|
||||||
|
.checkbox-wrapper {
|
||||||
|
margin-top: var(--space-large);
|
||||||
}
|
}
|
||||||
.conversation--meta {
|
.conversation--meta {
|
||||||
margin-top: var(--space-normal);
|
margin-top: var(--space-normal);
|
||||||
|
@ -429,6 +437,7 @@ export default {
|
||||||
margin-top: var(--space-minus-micro);
|
margin-top: var(--space-minus-micro);
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
|
|
||||||
.checkbox-wrapper {
|
.checkbox-wrapper {
|
||||||
height: 40px;
|
height: 40px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
|
@ -438,6 +447,7 @@ export default {
|
||||||
border-radius: 100%;
|
border-radius: 100%;
|
||||||
margin-top: var(--space-normal);
|
margin-top: var(--space-normal);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background-color: var(--w-100);
|
background-color: var(--w-100);
|
||||||
}
|
}
|
||||||
|
|
|
@ -161,6 +161,9 @@ import { LocalStorage, LOCAL_STORAGE_KEYS } from '../../../helper/localStorage';
|
||||||
import { trimContent, debounce } from '@chatwoot/utils';
|
import { trimContent, debounce } from '@chatwoot/utils';
|
||||||
import wootConstants from 'dashboard/constants';
|
import wootConstants from 'dashboard/constants';
|
||||||
import { isEditorHotKeyEnabled } from 'dashboard/mixins/uiSettings';
|
import { isEditorHotKeyEnabled } from 'dashboard/mixins/uiSettings';
|
||||||
|
import AnalyticsHelper, {
|
||||||
|
ANALYTICS_EVENTS,
|
||||||
|
} from '../../../helper/AnalyticsHelper';
|
||||||
|
|
||||||
const EmojiInput = () => import('shared/components/emoji/EmojiInput');
|
const EmojiInput = () => import('shared/components/emoji/EmojiInput');
|
||||||
|
|
||||||
|
@ -698,6 +701,7 @@ export default {
|
||||||
},
|
},
|
||||||
replaceText(message) {
|
replaceText(message) {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
AnalyticsHelper.track(ANALYTICS_EVENTS.INSERTED_A_CANNED_RESPONSE);
|
||||||
this.message = message;
|
this.message = message;
|
||||||
}, 100);
|
}, 100);
|
||||||
},
|
},
|
||||||
|
|
|
@ -0,0 +1,133 @@
|
||||||
|
<template>
|
||||||
|
<div
|
||||||
|
v-show="activeLabels.length"
|
||||||
|
ref="labelContainer"
|
||||||
|
class="label-container"
|
||||||
|
>
|
||||||
|
<div class="labels-wrap" :class="{ expand: showAllLabels }">
|
||||||
|
<woot-label
|
||||||
|
v-for="(label, index) in activeLabels"
|
||||||
|
:key="label.id"
|
||||||
|
:title="label.title"
|
||||||
|
:description="label.description"
|
||||||
|
:color="label.color"
|
||||||
|
variant="smooth"
|
||||||
|
small
|
||||||
|
:class="{ hidden: !showAllLabels && index > labelPosition }"
|
||||||
|
/>
|
||||||
|
<woot-button
|
||||||
|
v-if="showExpandLabelButton"
|
||||||
|
:title="
|
||||||
|
showAllLabels
|
||||||
|
? $t('CONVERSATION.CARD.HIDE_LABELS')
|
||||||
|
: $t('CONVERSATION.CARD.SHOW_LABELS')
|
||||||
|
"
|
||||||
|
class="show-more--button"
|
||||||
|
color-scheme="secondary"
|
||||||
|
variant="hollow"
|
||||||
|
:icon="showAllLabels ? 'chevron-left' : 'chevron-right'"
|
||||||
|
size="tiny"
|
||||||
|
@click="onShowLabels"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import conversationLabelMixin from 'dashboard/mixins/conversation/labelMixin';
|
||||||
|
export default {
|
||||||
|
mixins: [conversationLabelMixin],
|
||||||
|
props: {
|
||||||
|
conversationId: {
|
||||||
|
type: Number,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
showAllLabels: false,
|
||||||
|
showExpandLabelButton: false,
|
||||||
|
labelPosition: -1,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
activeLabels() {
|
||||||
|
this.$nextTick(() => this.computeVisibleLabelPosition());
|
||||||
|
},
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.computeVisibleLabelPosition();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
onShowLabels(e) {
|
||||||
|
e.stopPropagation();
|
||||||
|
this.showAllLabels = !this.showAllLabels;
|
||||||
|
},
|
||||||
|
computeVisibleLabelPosition() {
|
||||||
|
const labelContainer = this.$refs.labelContainer;
|
||||||
|
const labels = this.$refs.labelContainer.querySelectorAll('.label');
|
||||||
|
let labelOffset = 0;
|
||||||
|
Array.from(labels).forEach((label, index) => {
|
||||||
|
labelOffset += label.offsetWidth + 8;
|
||||||
|
|
||||||
|
if (labelOffset < labelContainer.clientWidth - 16) {
|
||||||
|
this.labelPosition = index;
|
||||||
|
} else {
|
||||||
|
this.showExpandLabelButton = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.show-more--button {
|
||||||
|
height: var(--space-medium);
|
||||||
|
position: sticky;
|
||||||
|
flex-shrink: 0;
|
||||||
|
margin-right: var(--space-medium);
|
||||||
|
|
||||||
|
&.secondary:focus {
|
||||||
|
color: var(--s-700);
|
||||||
|
border-color: var(--s-300);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.label-container {
|
||||||
|
margin-top: var(--space-micro);
|
||||||
|
}
|
||||||
|
|
||||||
|
.labels-wrap {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
min-width: 0;
|
||||||
|
flex-shrink: 1;
|
||||||
|
|
||||||
|
&.expand {
|
||||||
|
height: auto;
|
||||||
|
overflow: visible;
|
||||||
|
flex-flow: row wrap;
|
||||||
|
|
||||||
|
.label {
|
||||||
|
margin-bottom: var(--space-smaller);
|
||||||
|
}
|
||||||
|
|
||||||
|
.show-more--button {
|
||||||
|
margin-bottom: var(--space-smaller);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.secondary {
|
||||||
|
border: 1px solid var(--s-100);
|
||||||
|
}
|
||||||
|
|
||||||
|
.label {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.hidden {
|
||||||
|
visibility: hidden;
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,9 @@
|
||||||
|
export const EXECUTED_A_MACRO = 'Executed a macro';
|
||||||
|
export const SENT_MESSAGE = 'Sent a message';
|
||||||
|
export const SENT_PRIVATE_NOTE = 'Sent a private note';
|
||||||
|
export const INSERTED_A_CANNED_RESPONSE = 'Inserted a canned response';
|
||||||
|
export const USED_MENTIONS = 'Used mentions';
|
||||||
|
export const MERGED_CONTACTS = 'Used merge contact option';
|
||||||
|
export const ADDED_TO_CANNED_RESPONSE = 'Used added to canned response option';
|
||||||
|
export const ADDED_A_CUSTOM_ATTRIBUTE = 'Added a custom attribute';
|
||||||
|
export const ADDED_AN_INBOX = 'Added an inbox';
|
67
app/javascript/dashboard/helper/AnalyticsHelper/index.js
Normal file
67
app/javascript/dashboard/helper/AnalyticsHelper/index.js
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
import { AnalyticsBrowser } from '@june-so/analytics-next';
|
||||||
|
|
||||||
|
class AnalyticsHelper {
|
||||||
|
constructor({ token: analyticsToken } = {}) {
|
||||||
|
this.analyticsToken = analyticsToken;
|
||||||
|
this.analytics = null;
|
||||||
|
this.user = {};
|
||||||
|
}
|
||||||
|
|
||||||
|
async init() {
|
||||||
|
if (!this.analyticsToken) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let [analytics] = await AnalyticsBrowser.load({
|
||||||
|
writeKey: this.analyticsToken,
|
||||||
|
});
|
||||||
|
this.analytics = analytics;
|
||||||
|
}
|
||||||
|
|
||||||
|
identify(user) {
|
||||||
|
if (!this.analytics) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.user = user;
|
||||||
|
this.analytics.identify(this.user.email, {
|
||||||
|
userId: this.user.id,
|
||||||
|
email: this.user.email,
|
||||||
|
name: this.user.name,
|
||||||
|
avatar: this.user.avatar_url,
|
||||||
|
});
|
||||||
|
|
||||||
|
const { accounts, account_id: accountId } = this.user;
|
||||||
|
const [currentAccount] = accounts.filter(
|
||||||
|
account => account.id === accountId
|
||||||
|
);
|
||||||
|
if (currentAccount) {
|
||||||
|
this.analytics.group(currentAccount.id, this.user.id, {
|
||||||
|
name: currentAccount.name,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
track(eventName, properties = {}) {
|
||||||
|
if (!this.analytics) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.analytics.track({
|
||||||
|
userId: this.user.id,
|
||||||
|
event: eventName,
|
||||||
|
properties,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
page(params) {
|
||||||
|
if (!this.analytics) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.analytics.page(params);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export * as ANALYTICS_EVENTS from './events';
|
||||||
|
|
||||||
|
export default new AnalyticsHelper(window.analyticsConfig);
|
|
@ -17,13 +17,22 @@ const formatArray = params => {
|
||||||
return params;
|
return params;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const generatePayloadForObject = item => {
|
||||||
|
if (item.action_params.id) {
|
||||||
|
item.action_params = [item.action_params.id];
|
||||||
|
} else {
|
||||||
|
item.action_params = [item.action_params];
|
||||||
|
}
|
||||||
|
return item.action_params;
|
||||||
|
};
|
||||||
|
|
||||||
const generatePayload = data => {
|
const generatePayload = data => {
|
||||||
const actions = JSON.parse(JSON.stringify(data));
|
const actions = JSON.parse(JSON.stringify(data));
|
||||||
let payload = actions.map(item => {
|
let payload = actions.map(item => {
|
||||||
if (Array.isArray(item.action_params)) {
|
if (Array.isArray(item.action_params)) {
|
||||||
item.action_params = formatArray(item.action_params);
|
item.action_params = formatArray(item.action_params);
|
||||||
} else if (typeof item.action_params === 'object') {
|
} else if (typeof item.action_params === 'object') {
|
||||||
item.action_params = [item.action_params.id];
|
item.action_params = generatePayloadForObject(item);
|
||||||
} else if (!item.action_params) {
|
} else if (!item.action_params) {
|
||||||
item.action_params = [];
|
item.action_params = [];
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -60,15 +60,11 @@ export const getFormattedPreChatFields = ({ preChatFields }) => {
|
||||||
return {
|
return {
|
||||||
...item,
|
...item,
|
||||||
label: getLabel({
|
label: getLabel({
|
||||||
key: standardFieldKeys[item.name]
|
key: item.name,
|
||||||
? standardFieldKeys[item.name].key
|
|
||||||
: item.name,
|
|
||||||
label: item.label ? item.label : item.name,
|
label: item.label ? item.label : item.name,
|
||||||
}),
|
}),
|
||||||
placeholder: getPlaceHolder({
|
placeholder: getPlaceHolder({
|
||||||
key: standardFieldKeys[item.name]
|
key: item.name,
|
||||||
? standardFieldKeys[item.name].key
|
|
||||||
: item.name,
|
|
||||||
placeholder: item.placeholder ? item.placeholder : item.name,
|
placeholder: item.placeholder ? item.placeholder : item.name,
|
||||||
}),
|
}),
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import posthog from 'posthog-js';
|
import AnalyticsHelper from './AnalyticsHelper';
|
||||||
|
|
||||||
export const CHATWOOT_SET_USER = 'CHATWOOT_SET_USER';
|
export const CHATWOOT_SET_USER = 'CHATWOOT_SET_USER';
|
||||||
export const CHATWOOT_RESET = 'CHATWOOT_RESET';
|
export const CHATWOOT_RESET = 'CHATWOOT_RESET';
|
||||||
|
@ -8,16 +8,9 @@ export const ANALYTICS_RESET = 'ANALYTICS_RESET';
|
||||||
|
|
||||||
export const initializeAnalyticsEvents = () => {
|
export const initializeAnalyticsEvents = () => {
|
||||||
window.bus.$on(ANALYTICS_IDENTITY, ({ user }) => {
|
window.bus.$on(ANALYTICS_IDENTITY, ({ user }) => {
|
||||||
if (window.analyticsConfig) {
|
AnalyticsHelper.identify(user);
|
||||||
posthog.identify(user.id, { name: user.name, email: user.email });
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
window.bus.$on(ANALYTICS_RESET, () => {
|
|
||||||
if (window.analyticsConfig) {
|
|
||||||
posthog.reset();
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
window.bus.$on(ANALYTICS_RESET, () => {});
|
||||||
};
|
};
|
||||||
|
|
||||||
export const initializeChatwootEvents = () => {
|
export const initializeChatwootEvents = () => {
|
||||||
|
|
6
app/javascript/dashboard/i18n/locale/ar/emoji.json
Normal file
6
app/javascript/dashboard/i18n/locale/ar/emoji.json
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"EMOJI": {
|
||||||
|
"PLACEHOLDER": "Search emojis",
|
||||||
|
"NOT_FOUND": "No emoji match your search"
|
||||||
|
}
|
||||||
|
}
|
|
@ -134,7 +134,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "رقم الهاتف",
|
"LABEL": "رقم الهاتف",
|
||||||
"PLACEHOLDER": "الرجاء إدخال رقم الهاتف الذي سيتم إرسال الرسائل منه.",
|
"PLACEHOLDER": "الرجاء إدخال رقم الهاتف الذي سيتم إرسال الرسائل منه.",
|
||||||
"ERROR": "الرجاء إدخال قيمة صحيحة. يجب أن يبدأ رقم الهاتف بعلامة `+`."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"API_CALLBACK": {
|
"API_CALLBACK": {
|
||||||
"TITLE": "عنوان Callback URL",
|
"TITLE": "عنوان Callback URL",
|
||||||
|
@ -185,7 +185,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "رقم الهاتف",
|
"LABEL": "رقم الهاتف",
|
||||||
"PLACEHOLDER": "الرجاء إدخال رقم الهاتف الذي سيتم إرسال الرسائل منه.",
|
"PLACEHOLDER": "الرجاء إدخال رقم الهاتف الذي سيتم إرسال الرسائل منه.",
|
||||||
"ERROR": "الرجاء إدخال قيمة صحيحة. يجب أن يبدأ رقم الهاتف بعلامة `+`."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"SUBMIT_BUTTON": "إنشاء قناة عرض التردد",
|
"SUBMIT_BUTTON": "إنشاء قناة عرض التردد",
|
||||||
"API": {
|
"API": {
|
||||||
|
@ -214,7 +214,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "رقم الهاتف",
|
"LABEL": "رقم الهاتف",
|
||||||
"PLACEHOLDER": "الرجاء إدخال رقم الهاتف الذي سيتم إرسال الرسائل منه.",
|
"PLACEHOLDER": "الرجاء إدخال رقم الهاتف الذي سيتم إرسال الرسائل منه.",
|
||||||
"ERROR": "الرجاء إدخال قيمة صحيحة. يجب أن يبدأ رقم الهاتف بعلامة `+`."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"PHONE_NUMBER_ID": {
|
"PHONE_NUMBER_ID": {
|
||||||
"LABEL": "رقم الهاتف",
|
"LABEL": "رقم الهاتف",
|
||||||
|
|
|
@ -257,7 +257,7 @@
|
||||||
},
|
},
|
||||||
"FORM": {
|
"FORM": {
|
||||||
"NAME": {
|
"NAME": {
|
||||||
"LABEL": "اسم الحساب",
|
"LABEL": "اسم الشركة",
|
||||||
"PLACEHOLDER": "مؤسسة Wayne"
|
"PLACEHOLDER": "مؤسسة Wayne"
|
||||||
},
|
},
|
||||||
"SUBMIT": "إرسال"
|
"SUBMIT": "إرسال"
|
||||||
|
|
|
@ -2,11 +2,13 @@
|
||||||
"REGISTER": {
|
"REGISTER": {
|
||||||
"TRY_WOOT": "تسجيل حساب",
|
"TRY_WOOT": "تسجيل حساب",
|
||||||
"TITLE": "تسجيل",
|
"TITLE": "تسجيل",
|
||||||
|
"TESTIMONIAL_HEADER": "All it takes is one step to move forward",
|
||||||
|
"TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.",
|
||||||
"TERMS_ACCEPT": "من خلال التسجيل، فإنك توافق على <a href=\"https://www.chatwoot.com/terms\">شروط الخدمة</a> و <a href=\"https://www.chatwoot.com/privacy-policy\">سياسة الخصوصية</a>",
|
"TERMS_ACCEPT": "من خلال التسجيل، فإنك توافق على <a href=\"https://www.chatwoot.com/terms\">شروط الخدمة</a> و <a href=\"https://www.chatwoot.com/privacy-policy\">سياسة الخصوصية</a>",
|
||||||
"ACCOUNT_NAME": {
|
"COMPANY_NAME": {
|
||||||
"LABEL": "اسم الحساب",
|
"LABEL": "Company name",
|
||||||
"PLACEHOLDER": "أدخل اسم الحساب. مثال: Wayne Enterprises",
|
"PLACEHOLDER": "Enter your company name. eg: Wayne Enterprises",
|
||||||
"ERROR": "اسم الحساب قصير جداً"
|
"ERROR": "Company name is too short"
|
||||||
},
|
},
|
||||||
"FULL_NAME": {
|
"FULL_NAME": {
|
||||||
"LABEL": "الاسم الكامل",
|
"LABEL": "الاسم الكامل",
|
||||||
|
@ -16,7 +18,7 @@
|
||||||
"EMAIL": {
|
"EMAIL": {
|
||||||
"LABEL": "البريد الإلكتروني للعمل",
|
"LABEL": "البريد الإلكتروني للعمل",
|
||||||
"PLACEHOLDER": "أدخل عنوان بريدك الإلكتروني للعمل. مثال: bruce@wayne.enterprises",
|
"PLACEHOLDER": "أدخل عنوان بريدك الإلكتروني للعمل. مثال: bruce@wayne.enterprises",
|
||||||
"ERROR": "عنوان البريد الإلكتروني غير صالح"
|
"ERROR": "Please enter a valid work email address"
|
||||||
},
|
},
|
||||||
"PASSWORD": {
|
"PASSWORD": {
|
||||||
"LABEL": "كلمة المرور",
|
"LABEL": "كلمة المرور",
|
||||||
|
|
6
app/javascript/dashboard/i18n/locale/bg/emoji.json
Normal file
6
app/javascript/dashboard/i18n/locale/bg/emoji.json
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"EMOJI": {
|
||||||
|
"PLACEHOLDER": "Search emojis",
|
||||||
|
"NOT_FOUND": "No emoji match your search"
|
||||||
|
}
|
||||||
|
}
|
|
@ -134,7 +134,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Phone number",
|
"LABEL": "Phone number",
|
||||||
"PLACEHOLDER": "Please enter the phone number from which message will be sent.",
|
"PLACEHOLDER": "Please enter the phone number from which message will be sent.",
|
||||||
"ERROR": "Please enter a valid value. Phone number should start with `+` sign."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"API_CALLBACK": {
|
"API_CALLBACK": {
|
||||||
"TITLE": "Callback URL",
|
"TITLE": "Callback URL",
|
||||||
|
@ -185,7 +185,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Телефон",
|
"LABEL": "Телефон",
|
||||||
"PLACEHOLDER": "Please enter the phone number from which message will be sent.",
|
"PLACEHOLDER": "Please enter the phone number from which message will be sent.",
|
||||||
"ERROR": "Please enter a valid value. Phone number should start with `+` sign."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"SUBMIT_BUTTON": "Create Bandwidth Channel",
|
"SUBMIT_BUTTON": "Create Bandwidth Channel",
|
||||||
"API": {
|
"API": {
|
||||||
|
@ -214,7 +214,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Phone number",
|
"LABEL": "Phone number",
|
||||||
"PLACEHOLDER": "Please enter the phone number from which message will be sent.",
|
"PLACEHOLDER": "Please enter the phone number from which message will be sent.",
|
||||||
"ERROR": "Please enter a valid value. Phone number should start with `+` sign."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"PHONE_NUMBER_ID": {
|
"PHONE_NUMBER_ID": {
|
||||||
"LABEL": "Phone number ID",
|
"LABEL": "Phone number ID",
|
||||||
|
|
|
@ -257,7 +257,7 @@
|
||||||
},
|
},
|
||||||
"FORM": {
|
"FORM": {
|
||||||
"NAME": {
|
"NAME": {
|
||||||
"LABEL": "Account Name",
|
"LABEL": "Име на фирма",
|
||||||
"PLACEHOLDER": "Wayne Enterprises"
|
"PLACEHOLDER": "Wayne Enterprises"
|
||||||
},
|
},
|
||||||
"SUBMIT": "Изпращане"
|
"SUBMIT": "Изпращане"
|
||||||
|
|
|
@ -2,11 +2,13 @@
|
||||||
"REGISTER": {
|
"REGISTER": {
|
||||||
"TRY_WOOT": "Register an account",
|
"TRY_WOOT": "Register an account",
|
||||||
"TITLE": "Register",
|
"TITLE": "Register",
|
||||||
|
"TESTIMONIAL_HEADER": "All it takes is one step to move forward",
|
||||||
|
"TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.",
|
||||||
"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": "By signing up, you agree to our <a href=\"https://www.chatwoot.com/terms\">T & C</a> and <a href=\"https://www.chatwoot.com/privacy-policy\">Privacy policy</a>",
|
||||||
"ACCOUNT_NAME": {
|
"COMPANY_NAME": {
|
||||||
"LABEL": "Account name",
|
"LABEL": "Company name",
|
||||||
"PLACEHOLDER": "Enter an account name. eg: Wayne Enterprises",
|
"PLACEHOLDER": "Enter your company name. eg: Wayne Enterprises",
|
||||||
"ERROR": "Account name is too short"
|
"ERROR": "Company name is too short"
|
||||||
},
|
},
|
||||||
"FULL_NAME": {
|
"FULL_NAME": {
|
||||||
"LABEL": "Full name",
|
"LABEL": "Full name",
|
||||||
|
@ -16,7 +18,7 @@
|
||||||
"EMAIL": {
|
"EMAIL": {
|
||||||
"LABEL": "Work email",
|
"LABEL": "Work email",
|
||||||
"PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises",
|
"PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises",
|
||||||
"ERROR": "Email address is invalid"
|
"ERROR": "Please enter a valid work email address"
|
||||||
},
|
},
|
||||||
"PASSWORD": {
|
"PASSWORD": {
|
||||||
"LABEL": "Password",
|
"LABEL": "Password",
|
||||||
|
|
6
app/javascript/dashboard/i18n/locale/ca/emoji.json
Normal file
6
app/javascript/dashboard/i18n/locale/ca/emoji.json
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"EMOJI": {
|
||||||
|
"PLACEHOLDER": "Search emojis",
|
||||||
|
"NOT_FOUND": "No emoji match your search"
|
||||||
|
}
|
||||||
|
}
|
|
@ -134,7 +134,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Número de telèfon",
|
"LABEL": "Número de telèfon",
|
||||||
"PLACEHOLDER": "Introduïu el número de telèfon des del qual serà enviat el missatge.",
|
"PLACEHOLDER": "Introduïu el número de telèfon des del qual serà enviat el missatge.",
|
||||||
"ERROR": "Introduïu un valor vàlid. El número de telèfon hauria de començar amb el signe `+`."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"API_CALLBACK": {
|
"API_CALLBACK": {
|
||||||
"TITLE": "Callback URL",
|
"TITLE": "Callback URL",
|
||||||
|
@ -185,7 +185,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Número de telèfon",
|
"LABEL": "Número de telèfon",
|
||||||
"PLACEHOLDER": "Introduïu el número de telèfon des del qual serà enviat el missatge.",
|
"PLACEHOLDER": "Introduïu el número de telèfon des del qual serà enviat el missatge.",
|
||||||
"ERROR": "Introduïu un valor vàlid. El número de telèfon hauria de començar amb el signe `+`."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"SUBMIT_BUTTON": "Create Bandwidth Channel",
|
"SUBMIT_BUTTON": "Create Bandwidth Channel",
|
||||||
"API": {
|
"API": {
|
||||||
|
@ -214,7 +214,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Número de telèfon",
|
"LABEL": "Número de telèfon",
|
||||||
"PLACEHOLDER": "Introduïu el número de telèfon des del qual serà enviat el missatge.",
|
"PLACEHOLDER": "Introduïu el número de telèfon des del qual serà enviat el missatge.",
|
||||||
"ERROR": "Introduïu un valor vàlid. El número de telèfon hauria de començar amb el signe `+`."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"PHONE_NUMBER_ID": {
|
"PHONE_NUMBER_ID": {
|
||||||
"LABEL": "Phone number ID",
|
"LABEL": "Phone number ID",
|
||||||
|
|
|
@ -257,7 +257,7 @@
|
||||||
},
|
},
|
||||||
"FORM": {
|
"FORM": {
|
||||||
"NAME": {
|
"NAME": {
|
||||||
"LABEL": "Nom del compte",
|
"LABEL": "Nom de la companyia",
|
||||||
"PLACEHOLDER": "Wayne Enterprises"
|
"PLACEHOLDER": "Wayne Enterprises"
|
||||||
},
|
},
|
||||||
"SUBMIT": "Envia"
|
"SUBMIT": "Envia"
|
||||||
|
|
|
@ -2,11 +2,13 @@
|
||||||
"REGISTER": {
|
"REGISTER": {
|
||||||
"TRY_WOOT": "Registra un compte",
|
"TRY_WOOT": "Registra un compte",
|
||||||
"TITLE": "Registre",
|
"TITLE": "Registre",
|
||||||
|
"TESTIMONIAL_HEADER": "All it takes is one step to move forward",
|
||||||
|
"TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.",
|
||||||
"TERMS_ACCEPT": "En registrar-vos, esteu d’acord amb el nostre <a href=\"https://www.chatwoot.com/terms\">T & C</a> i <a href=\"https://www.chatwoot.com/privacy-policy\">Polítiques de Privadesa</a>",
|
"TERMS_ACCEPT": "En registrar-vos, esteu d’acord amb el nostre <a href=\"https://www.chatwoot.com/terms\">T & C</a> i <a href=\"https://www.chatwoot.com/privacy-policy\">Polítiques de Privadesa</a>",
|
||||||
"ACCOUNT_NAME": {
|
"COMPANY_NAME": {
|
||||||
"LABEL": "Nom del compte",
|
"LABEL": "Company name",
|
||||||
"PLACEHOLDER": "Introdueix el nom del compte. ex: Wayne Enterprises",
|
"PLACEHOLDER": "Enter your company name. eg: Wayne Enterprises",
|
||||||
"ERROR": "El nom del compte és massa curt"
|
"ERROR": "Company name is too short"
|
||||||
},
|
},
|
||||||
"FULL_NAME": {
|
"FULL_NAME": {
|
||||||
"LABEL": "Nom complet",
|
"LABEL": "Nom complet",
|
||||||
|
@ -16,7 +18,7 @@
|
||||||
"EMAIL": {
|
"EMAIL": {
|
||||||
"LABEL": "Email de treball",
|
"LABEL": "Email de treball",
|
||||||
"PLACEHOLDER": "Introdueix la teva adreça email de treball. ex: bruce@wayne.enterprises",
|
"PLACEHOLDER": "Introdueix la teva adreça email de treball. ex: bruce@wayne.enterprises",
|
||||||
"ERROR": "Adreça email invàlida"
|
"ERROR": "Please enter a valid work email address"
|
||||||
},
|
},
|
||||||
"PASSWORD": {
|
"PASSWORD": {
|
||||||
"LABEL": "Contrasenya",
|
"LABEL": "Contrasenya",
|
||||||
|
|
6
app/javascript/dashboard/i18n/locale/cs/emoji.json
Normal file
6
app/javascript/dashboard/i18n/locale/cs/emoji.json
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"EMOJI": {
|
||||||
|
"PLACEHOLDER": "Search emojis",
|
||||||
|
"NOT_FOUND": "No emoji match your search"
|
||||||
|
}
|
||||||
|
}
|
|
@ -134,7 +134,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Telefonní číslo",
|
"LABEL": "Telefonní číslo",
|
||||||
"PLACEHOLDER": "Zadejte prosím telefonní číslo, ze kterého bude zpráva odeslána.",
|
"PLACEHOLDER": "Zadejte prosím telefonní číslo, ze kterého bude zpráva odeslána.",
|
||||||
"ERROR": "Zadejte platnou hodnotu. Telefonní číslo by mělo začínat znakem `+`."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"API_CALLBACK": {
|
"API_CALLBACK": {
|
||||||
"TITLE": "Callback URL",
|
"TITLE": "Callback URL",
|
||||||
|
@ -185,7 +185,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Telefonní číslo",
|
"LABEL": "Telefonní číslo",
|
||||||
"PLACEHOLDER": "Zadejte prosím telefonní číslo, ze kterého bude zpráva odeslána.",
|
"PLACEHOLDER": "Zadejte prosím telefonní číslo, ze kterého bude zpráva odeslána.",
|
||||||
"ERROR": "Zadejte platnou hodnotu. Telefonní číslo by mělo začínat znakem `+`."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"SUBMIT_BUTTON": "Create Bandwidth Channel",
|
"SUBMIT_BUTTON": "Create Bandwidth Channel",
|
||||||
"API": {
|
"API": {
|
||||||
|
@ -214,7 +214,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Telefonní číslo",
|
"LABEL": "Telefonní číslo",
|
||||||
"PLACEHOLDER": "Zadejte prosím telefonní číslo, ze kterého bude zpráva odeslána.",
|
"PLACEHOLDER": "Zadejte prosím telefonní číslo, ze kterého bude zpráva odeslána.",
|
||||||
"ERROR": "Zadejte platnou hodnotu. Telefonní číslo by mělo začínat znakem `+`."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"PHONE_NUMBER_ID": {
|
"PHONE_NUMBER_ID": {
|
||||||
"LABEL": "Phone number ID",
|
"LABEL": "Phone number ID",
|
||||||
|
|
|
@ -257,7 +257,7 @@
|
||||||
},
|
},
|
||||||
"FORM": {
|
"FORM": {
|
||||||
"NAME": {
|
"NAME": {
|
||||||
"LABEL": "Název účtu",
|
"LABEL": "Název společnosti",
|
||||||
"PLACEHOLDER": "Wayne podniky"
|
"PLACEHOLDER": "Wayne podniky"
|
||||||
},
|
},
|
||||||
"SUBMIT": "Odeslat"
|
"SUBMIT": "Odeslat"
|
||||||
|
|
|
@ -2,11 +2,13 @@
|
||||||
"REGISTER": {
|
"REGISTER": {
|
||||||
"TRY_WOOT": "Registrovat účet",
|
"TRY_WOOT": "Registrovat účet",
|
||||||
"TITLE": "Registrovat se",
|
"TITLE": "Registrovat se",
|
||||||
|
"TESTIMONIAL_HEADER": "All it takes is one step to move forward",
|
||||||
|
"TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.",
|
||||||
"TERMS_ACCEPT": "Registrací souhlasíte s našimi <a href=\"https://www.chatwoot.com/terms\">T & C</a> a <a href=\"https://www.chatwoot.com/privacy-policy\">Zásadami ochrany osobních údajů</a>",
|
"TERMS_ACCEPT": "Registrací souhlasíte s našimi <a href=\"https://www.chatwoot.com/terms\">T & C</a> a <a href=\"https://www.chatwoot.com/privacy-policy\">Zásadami ochrany osobních údajů</a>",
|
||||||
"ACCOUNT_NAME": {
|
"COMPANY_NAME": {
|
||||||
"LABEL": "Název účtu",
|
"LABEL": "Company name",
|
||||||
"PLACEHOLDER": "Zadejte název účtu. např.: Novákova společnost",
|
"PLACEHOLDER": "Enter your company name. eg: Wayne Enterprises",
|
||||||
"ERROR": "Název účtu je příliš krátký"
|
"ERROR": "Company name is too short"
|
||||||
},
|
},
|
||||||
"FULL_NAME": {
|
"FULL_NAME": {
|
||||||
"LABEL": "Celé jméno",
|
"LABEL": "Celé jméno",
|
||||||
|
@ -16,7 +18,7 @@
|
||||||
"EMAIL": {
|
"EMAIL": {
|
||||||
"LABEL": "Pracovní e-mail",
|
"LABEL": "Pracovní e-mail",
|
||||||
"PLACEHOLDER": "Zadejte svou pracovní e-mailovou adresu. např.: jan@novak.spolecnost",
|
"PLACEHOLDER": "Zadejte svou pracovní e-mailovou adresu. např.: jan@novak.spolecnost",
|
||||||
"ERROR": "E-mailová adresa je neplatná"
|
"ERROR": "Please enter a valid work email address"
|
||||||
},
|
},
|
||||||
"PASSWORD": {
|
"PASSWORD": {
|
||||||
"LABEL": "Heslo",
|
"LABEL": "Heslo",
|
||||||
|
|
6
app/javascript/dashboard/i18n/locale/da/emoji.json
Normal file
6
app/javascript/dashboard/i18n/locale/da/emoji.json
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"EMOJI": {
|
||||||
|
"PLACEHOLDER": "Search emojis",
|
||||||
|
"NOT_FOUND": "No emoji match your search"
|
||||||
|
}
|
||||||
|
}
|
|
@ -134,7 +134,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Telefonnummer",
|
"LABEL": "Telefonnummer",
|
||||||
"PLACEHOLDER": "Indtast venligst det telefonnummer, hvorfra beskeden vil blive sendt.",
|
"PLACEHOLDER": "Indtast venligst det telefonnummer, hvorfra beskeden vil blive sendt.",
|
||||||
"ERROR": "Angiv en gyldig værdi. Telefonnummer skal starte med `+` tegn."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"API_CALLBACK": {
|
"API_CALLBACK": {
|
||||||
"TITLE": "Callback URL",
|
"TITLE": "Callback URL",
|
||||||
|
@ -185,7 +185,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Telefonnummer",
|
"LABEL": "Telefonnummer",
|
||||||
"PLACEHOLDER": "Indtast venligst det telefonnummer, hvorfra beskeden vil blive sendt.",
|
"PLACEHOLDER": "Indtast venligst det telefonnummer, hvorfra beskeden vil blive sendt.",
|
||||||
"ERROR": "Angiv en gyldig værdi. Telefonnummer skal starte med `+` tegn."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"SUBMIT_BUTTON": "Opret Båndbredde Kanal",
|
"SUBMIT_BUTTON": "Opret Båndbredde Kanal",
|
||||||
"API": {
|
"API": {
|
||||||
|
@ -214,7 +214,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Telefonnummer",
|
"LABEL": "Telefonnummer",
|
||||||
"PLACEHOLDER": "Indtast venligst det telefonnummer, hvorfra beskeden vil blive sendt.",
|
"PLACEHOLDER": "Indtast venligst det telefonnummer, hvorfra beskeden vil blive sendt.",
|
||||||
"ERROR": "Angiv en gyldig værdi. Telefonnummer skal starte med `+` tegn."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"PHONE_NUMBER_ID": {
|
"PHONE_NUMBER_ID": {
|
||||||
"LABEL": "Telefonnummer ID",
|
"LABEL": "Telefonnummer ID",
|
||||||
|
|
|
@ -257,7 +257,7 @@
|
||||||
},
|
},
|
||||||
"FORM": {
|
"FORM": {
|
||||||
"NAME": {
|
"NAME": {
|
||||||
"LABEL": "Kontonavn",
|
"LABEL": "Virksomhedens Navn",
|
||||||
"PLACEHOLDER": "Wayne Enterprises"
|
"PLACEHOLDER": "Wayne Enterprises"
|
||||||
},
|
},
|
||||||
"SUBMIT": "Send"
|
"SUBMIT": "Send"
|
||||||
|
|
|
@ -2,11 +2,13 @@
|
||||||
"REGISTER": {
|
"REGISTER": {
|
||||||
"TRY_WOOT": "Registrer en konto",
|
"TRY_WOOT": "Registrer en konto",
|
||||||
"TITLE": "Registrer",
|
"TITLE": "Registrer",
|
||||||
|
"TESTIMONIAL_HEADER": "All it takes is one step to move forward",
|
||||||
|
"TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.",
|
||||||
"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>",
|
"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": {
|
"COMPANY_NAME": {
|
||||||
"LABEL": "Kontonavn",
|
"LABEL": "Company name",
|
||||||
"PLACEHOLDER": "Indtast et kontonavn, fx: Wayne Enterprises",
|
"PLACEHOLDER": "Enter your company name. eg: Wayne Enterprises",
|
||||||
"ERROR": "Kontonavn er for kort"
|
"ERROR": "Company name is too short"
|
||||||
},
|
},
|
||||||
"FULL_NAME": {
|
"FULL_NAME": {
|
||||||
"LABEL": "Fulde navn",
|
"LABEL": "Fulde navn",
|
||||||
|
@ -16,7 +18,7 @@
|
||||||
"EMAIL": {
|
"EMAIL": {
|
||||||
"LABEL": "Arbejde e-mail",
|
"LABEL": "Arbejde e-mail",
|
||||||
"PLACEHOLDER": "Indtast din arbejdsmailadresse fx: bruce@wayne.enterprises",
|
"PLACEHOLDER": "Indtast din arbejdsmailadresse fx: bruce@wayne.enterprises",
|
||||||
"ERROR": "E-mail adresse er ugyldig"
|
"ERROR": "Please enter a valid work email address"
|
||||||
},
|
},
|
||||||
"PASSWORD": {
|
"PASSWORD": {
|
||||||
"LABEL": "Adgangskode",
|
"LABEL": "Adgangskode",
|
||||||
|
|
|
@ -1,39 +1,39 @@
|
||||||
{
|
{
|
||||||
"AGENT_BOTS": {
|
"AGENT_BOTS": {
|
||||||
"HEADER": "Bots",
|
"HEADER": "Bots",
|
||||||
"LOADING_EDITOR": "Loading Editor...",
|
"LOADING_EDITOR": "Editor wird geladen...",
|
||||||
"HEADER_BTN_TXT": "Add Bot Configuration",
|
"HEADER_BTN_TXT": "Bot-Konfiguration hinzufügen",
|
||||||
"SIDEBAR_TXT": "<p><b>Agent Bots</b> <p>Agent bots allows you to automate the conversations</p>",
|
"SIDEBAR_TXT": "<p><b>Agenten Bots</b> <p>Agenten Bots erlauben es Ihnen, die Unterhaltungen zu automatisieren</p>",
|
||||||
"CSML_BOT_EDITOR": {
|
"CSML_BOT_EDITOR": {
|
||||||
"NAME": {
|
"NAME": {
|
||||||
"LABEL": "Bot Name",
|
"LABEL": "Bot Name",
|
||||||
"PLACEHOLDER": "Give your bot a name",
|
"PLACEHOLDER": "Geben Sie Ihrem Bot einen Namen",
|
||||||
"ERROR": "Bot name is required"
|
"ERROR": "Bot Name ist erforderlich"
|
||||||
},
|
},
|
||||||
"DESCRIPTION": {
|
"DESCRIPTION": {
|
||||||
"LABEL": "Bot Description",
|
"LABEL": "Bot Beschreibung",
|
||||||
"PLACEHOLDER": "What does this bot do?"
|
"PLACEHOLDER": "Was macht dieser Bot?"
|
||||||
},
|
},
|
||||||
"BOT_CONFIG": {
|
"BOT_CONFIG": {
|
||||||
"ERROR": "Please enter your CSML bot configuration above",
|
"ERROR": "Bitte geben Sie Ihre CSML Bot-Konfiguration oben ein",
|
||||||
"API_ERROR": "Your CSML configuration is invalid, please fix it and try again."
|
"API_ERROR": "Ihre CSML-Konfiguration ist ungültig, bitte korrigieren Sie sie und versuchen es erneut."
|
||||||
},
|
},
|
||||||
"SUBMIT": "Validate and save"
|
"SUBMIT": "Validieren und speichern"
|
||||||
},
|
},
|
||||||
"BOT_CONFIGURATION": {
|
"BOT_CONFIGURATION": {
|
||||||
"TITLE": "Select an agent bot",
|
"TITLE": "Agenten-Bot auswählen",
|
||||||
"DESC": "You can set an agent bot from the list to this inbox. The bot can initially handle the conversation and transfer it to an agent when needed.",
|
"DESC": "Sie können einen Agenten-Bot aus der Liste in diesen Posteingang setzen. Der Bot kann die Unterhaltung anfangs bearbeiten und bei Bedarf an einen Agenten übertragen.",
|
||||||
"SUBMIT": "Aktualisieren",
|
"SUBMIT": "Aktualisieren",
|
||||||
"SUCCESS_MESSAGE": "Successfully updated the agent bot",
|
"SUCCESS_MESSAGE": "Agenten-Bot erfolgreich aktualisiert",
|
||||||
"ERROR_MESSAGE": "Could not update the agent bot, please try again later",
|
"ERROR_MESSAGE": "Konnte den Agenten-Bot nicht aktualisieren, bitte versuchen Sie es später erneut",
|
||||||
"SELECT_PLACEHOLDER": "Select Bot"
|
"SELECT_PLACEHOLDER": "Bot auswählen"
|
||||||
},
|
},
|
||||||
"ADD": {
|
"ADD": {
|
||||||
"TITLE": "Configure new bot",
|
"TITLE": "Neuen Bot konfigurieren",
|
||||||
"CANCEL_BUTTON_TEXT": "Stornieren",
|
"CANCEL_BUTTON_TEXT": "Stornieren",
|
||||||
"API": {
|
"API": {
|
||||||
"SUCCESS_MESSAGE": "Bot added successfully",
|
"SUCCESS_MESSAGE": "Bot erfolgreich hinzugefügt",
|
||||||
"ERROR_MESSAGE": "Could not add bot, Please try again later"
|
"ERROR_MESSAGE": "Bot konnte nicht hinzugefügt werden, bitte versuchen Sie es später erneut"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"LIST": {
|
"LIST": {
|
||||||
|
|
6
app/javascript/dashboard/i18n/locale/de/emoji.json
Normal file
6
app/javascript/dashboard/i18n/locale/de/emoji.json
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"EMOJI": {
|
||||||
|
"PLACEHOLDER": "Search emojis",
|
||||||
|
"NOT_FOUND": "No emoji match your search"
|
||||||
|
}
|
||||||
|
}
|
|
@ -362,7 +362,7 @@
|
||||||
},
|
},
|
||||||
"BUTTONS": {
|
"BUTTONS": {
|
||||||
"CREATE": "Kategorie erstellen",
|
"CREATE": "Kategorie erstellen",
|
||||||
"CANCEL": "Stornieren"
|
"CANCEL": "Abbrechen"
|
||||||
},
|
},
|
||||||
"API": {
|
"API": {
|
||||||
"SUCCESS_MESSAGE": "Kategorie erfolgreich erstellt",
|
"SUCCESS_MESSAGE": "Kategorie erfolgreich erstellt",
|
||||||
|
|
|
@ -134,7 +134,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Telefonnummer",
|
"LABEL": "Telefonnummer",
|
||||||
"PLACEHOLDER": "Bitte geben Sie die Telefonnummer ein, von der die Nachricht gesendet wird.",
|
"PLACEHOLDER": "Bitte geben Sie die Telefonnummer ein, von der die Nachricht gesendet wird.",
|
||||||
"ERROR": "Bitte geben sie einen gültigen Wert ein. Die Telefonnummer sollte mit dem Pluszeichen beginnen."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"API_CALLBACK": {
|
"API_CALLBACK": {
|
||||||
"TITLE": "Callback URL",
|
"TITLE": "Callback URL",
|
||||||
|
@ -185,7 +185,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Telefonnummer",
|
"LABEL": "Telefonnummer",
|
||||||
"PLACEHOLDER": "Bitte geben Sie die Telefonnummer ein, von der die Nachricht gesendet wird.",
|
"PLACEHOLDER": "Bitte geben Sie die Telefonnummer ein, von der die Nachricht gesendet wird.",
|
||||||
"ERROR": "Bitte geben sie einen gültigen Wert ein. Die Telefonnummer sollte mit dem Pluszeichen beginnen."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"SUBMIT_BUTTON": "Bitte geben Sie Ihre Bandbreitenanwendungs-ID ein",
|
"SUBMIT_BUTTON": "Bitte geben Sie Ihre Bandbreitenanwendungs-ID ein",
|
||||||
"API": {
|
"API": {
|
||||||
|
@ -214,7 +214,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Telefonnummer",
|
"LABEL": "Telefonnummer",
|
||||||
"PLACEHOLDER": "Bitte geben Sie die Telefonnummer ein, von der die Nachricht gesendet wird.",
|
"PLACEHOLDER": "Bitte geben Sie die Telefonnummer ein, von der die Nachricht gesendet wird.",
|
||||||
"ERROR": "Bitte geben sie einen gültigen Wert ein. Die Telefonnummer sollte mit dem Pluszeichen beginnen."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"PHONE_NUMBER_ID": {
|
"PHONE_NUMBER_ID": {
|
||||||
"LABEL": "Telefonnummer-ID",
|
"LABEL": "Telefonnummer-ID",
|
||||||
|
|
|
@ -257,7 +257,7 @@
|
||||||
},
|
},
|
||||||
"FORM": {
|
"FORM": {
|
||||||
"NAME": {
|
"NAME": {
|
||||||
"LABEL": "Kontobezeichnung",
|
"LABEL": "Firmenname",
|
||||||
"PLACEHOLDER": "Wayne Enterprises"
|
"PLACEHOLDER": "Wayne Enterprises"
|
||||||
},
|
},
|
||||||
"SUBMIT": "Abschicken"
|
"SUBMIT": "Abschicken"
|
||||||
|
|
|
@ -2,11 +2,13 @@
|
||||||
"REGISTER": {
|
"REGISTER": {
|
||||||
"TRY_WOOT": "Einen Account registrieren",
|
"TRY_WOOT": "Einen Account registrieren",
|
||||||
"TITLE": "Registrieren",
|
"TITLE": "Registrieren",
|
||||||
|
"TESTIMONIAL_HEADER": "All it takes is one step to move forward",
|
||||||
|
"TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.",
|
||||||
"TERMS_ACCEPT": "Mit Ihrer Anmeldung stimmen Sie unseren <a href=\"https://www.chatwoot.com/terms\"> AGB </a> und <a href=\"https://www.chatwoot.com/privacy-policy\"> Datenschutzrichtlinie </a>",
|
"TERMS_ACCEPT": "Mit Ihrer Anmeldung stimmen Sie unseren <a href=\"https://www.chatwoot.com/terms\"> AGB </a> und <a href=\"https://www.chatwoot.com/privacy-policy\"> Datenschutzrichtlinie </a>",
|
||||||
"ACCOUNT_NAME": {
|
"COMPANY_NAME": {
|
||||||
"LABEL": "Kontobezeichnung",
|
"LABEL": "Company name",
|
||||||
"PLACEHOLDER": "Geben Sie einen Kontonamen ein, z. B.: Wayne Enterprises",
|
"PLACEHOLDER": "Enter your company name. eg: Wayne Enterprises",
|
||||||
"ERROR": "Kontoname ist zu kurz"
|
"ERROR": "Company name is too short"
|
||||||
},
|
},
|
||||||
"FULL_NAME": {
|
"FULL_NAME": {
|
||||||
"LABEL": "Vollständiger Name",
|
"LABEL": "Vollständiger Name",
|
||||||
|
@ -16,7 +18,7 @@
|
||||||
"EMAIL": {
|
"EMAIL": {
|
||||||
"LABEL": "Geschäftliche E-Mail-Adresse",
|
"LABEL": "Geschäftliche E-Mail-Adresse",
|
||||||
"PLACEHOLDER": "Geben Sie Ihre geschäftliche E-Mail-Adresse ein, z. B.: bruce@wayne.enterprises",
|
"PLACEHOLDER": "Geben Sie Ihre geschäftliche E-Mail-Adresse ein, z. B.: bruce@wayne.enterprises",
|
||||||
"ERROR": "E-Mail-Adresse ist ungültig"
|
"ERROR": "Please enter a valid work email address"
|
||||||
},
|
},
|
||||||
"PASSWORD": {
|
"PASSWORD": {
|
||||||
"LABEL": "Passwort",
|
"LABEL": "Passwort",
|
||||||
|
|
6
app/javascript/dashboard/i18n/locale/el/emoji.json
Normal file
6
app/javascript/dashboard/i18n/locale/el/emoji.json
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"EMOJI": {
|
||||||
|
"PLACEHOLDER": "Αναζήτηση emojis",
|
||||||
|
"NOT_FOUND": "Κανένα emoji δεν ταιριάζει με την αναζήτησή σας"
|
||||||
|
}
|
||||||
|
}
|
|
@ -134,7 +134,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Αριθμός τηλεφώνου",
|
"LABEL": "Αριθμός τηλεφώνου",
|
||||||
"PLACEHOLDER": "Παρακαλώ εισάγετε έναν αριθμό τηλεφώνου από τον οποίο θα σταλεί το μήνυμα.",
|
"PLACEHOLDER": "Παρακαλώ εισάγετε έναν αριθμό τηλεφώνου από τον οποίο θα σταλεί το μήνυμα.",
|
||||||
"ERROR": "Παρακαλώ καταχωρήστε μια έγκυρη τιμή. Ο αριθμός του τηλεφώνου πρέπει να ξεκινά με το σύμβολο `+`."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"API_CALLBACK": {
|
"API_CALLBACK": {
|
||||||
"TITLE": "URL επανάκλησης",
|
"TITLE": "URL επανάκλησης",
|
||||||
|
@ -185,7 +185,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Αριθμός τηλεφώνου",
|
"LABEL": "Αριθμός τηλεφώνου",
|
||||||
"PLACEHOLDER": "Παρακαλώ εισάγετε έναν αριθμό τηλεφώνου από τον οποίο θα σταλεί το μήνυμα.",
|
"PLACEHOLDER": "Παρακαλώ εισάγετε έναν αριθμό τηλεφώνου από τον οποίο θα σταλεί το μήνυμα.",
|
||||||
"ERROR": "Παρακαλώ καταχωρήστε μια έγκυρη τιμή. Ο αριθμός του τηλεφώνου πρέπει να ξεκινά με το σύμβολο `+`."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"SUBMIT_BUTTON": "Δημιουργήστε Bandwidth",
|
"SUBMIT_BUTTON": "Δημιουργήστε Bandwidth",
|
||||||
"API": {
|
"API": {
|
||||||
|
@ -214,7 +214,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Αριθμός τηλεφώνου",
|
"LABEL": "Αριθμός τηλεφώνου",
|
||||||
"PLACEHOLDER": "Παρακαλώ εισάγετε έναν αριθμό τηλεφώνου από τον οποίο θα σταλεί το μήνυμα.",
|
"PLACEHOLDER": "Παρακαλώ εισάγετε έναν αριθμό τηλεφώνου από τον οποίο θα σταλεί το μήνυμα.",
|
||||||
"ERROR": "Παρακαλώ καταχωρήστε μια έγκυρη τιμή. Ο αριθμός του τηλεφώνου πρέπει να ξεκινά με το σύμβολο `+`."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"PHONE_NUMBER_ID": {
|
"PHONE_NUMBER_ID": {
|
||||||
"LABEL": "Αριθμός Τηλεφώνου",
|
"LABEL": "Αριθμός Τηλεφώνου",
|
||||||
|
|
|
@ -257,7 +257,7 @@
|
||||||
},
|
},
|
||||||
"FORM": {
|
"FORM": {
|
||||||
"NAME": {
|
"NAME": {
|
||||||
"LABEL": "Ονομασία Λογαριασμού",
|
"LABEL": "Όνομα Εταιρείας",
|
||||||
"PLACEHOLDER": "Wayne Α. Ε"
|
"PLACEHOLDER": "Wayne Α. Ε"
|
||||||
},
|
},
|
||||||
"SUBMIT": "Καταχώρηση"
|
"SUBMIT": "Καταχώρηση"
|
||||||
|
|
|
@ -2,11 +2,13 @@
|
||||||
"REGISTER": {
|
"REGISTER": {
|
||||||
"TRY_WOOT": "Καταχωρήστε ένα λογαριασμό",
|
"TRY_WOOT": "Καταχωρήστε ένα λογαριασμό",
|
||||||
"TITLE": "Καταχώρηση",
|
"TITLE": "Καταχώρηση",
|
||||||
|
"TESTIMONIAL_HEADER": "Το μόνο που χρειάζεται είναι ένα βήμα για να προχωρήσουμε",
|
||||||
|
"TESTIMONIAL_CONTENT": "Είστε ένα βήμα μακριά από την εμπλοκή των πελατών σας, και την εύρεση νέων.",
|
||||||
"TERMS_ACCEPT": "Με την καταχώρηση, έχετε συμφωνήσει με τους όρους μας <a href=\"https://www.chatwoot.com/terms\">T & C</a> και <a href=\"https://www.chatwoot.com/privacy-policy\">την πολιτική ιδιωτικών δεδομένων</a>",
|
"TERMS_ACCEPT": "Με την καταχώρηση, έχετε συμφωνήσει με τους όρους μας <a href=\"https://www.chatwoot.com/terms\">T & C</a> και <a href=\"https://www.chatwoot.com/privacy-policy\">την πολιτική ιδιωτικών δεδομένων</a>",
|
||||||
"ACCOUNT_NAME": {
|
"COMPANY_NAME": {
|
||||||
"LABEL": "Ονομασία Λογαριασμού",
|
"LABEL": "Επωνυμία εταιρείας",
|
||||||
"PLACEHOLDER": "Συμπληρώστε όνομα λογαριασμού π. χ. Wayne Α. Ε",
|
"PLACEHOLDER": "Εισάγετε το όνομα της εταιρείας σας. π. χ.: Wayne Enterprises",
|
||||||
"ERROR": "Το όνομα του λογαριασμού είναι πολύ σύντομο"
|
"ERROR": "Το όνομα της εταιρείας είναι πολύ σύντομο"
|
||||||
},
|
},
|
||||||
"FULL_NAME": {
|
"FULL_NAME": {
|
||||||
"LABEL": "Πλήρες όνομα",
|
"LABEL": "Πλήρες όνομα",
|
||||||
|
@ -16,7 +18,7 @@
|
||||||
"EMAIL": {
|
"EMAIL": {
|
||||||
"LABEL": "email εργασίας",
|
"LABEL": "email εργασίας",
|
||||||
"PLACEHOLDER": "συμπληρώστε το email εργασίας πχ: papadopoulos@wyane.com",
|
"PLACEHOLDER": "συμπληρώστε το email εργασίας πχ: papadopoulos@wyane.com",
|
||||||
"ERROR": "Η διεύθυνση email είναι εσφαλμένη"
|
"ERROR": "Παρακαλώ εισάγετε μια έγκυρη διεύθυνση email"
|
||||||
},
|
},
|
||||||
"PASSWORD": {
|
"PASSWORD": {
|
||||||
"LABEL": "Κωδικός",
|
"LABEL": "Κωδικός",
|
||||||
|
|
|
@ -41,6 +41,10 @@
|
||||||
"NO_RESPONSE": "No response",
|
"NO_RESPONSE": "No response",
|
||||||
"RATING_TITLE": "Rating",
|
"RATING_TITLE": "Rating",
|
||||||
"FEEDBACK_TITLE": "Feedback",
|
"FEEDBACK_TITLE": "Feedback",
|
||||||
|
"CARD": {
|
||||||
|
"SHOW_LABELS": "Show labels",
|
||||||
|
"HIDE_LABELS": "Hide labels"
|
||||||
|
},
|
||||||
"HEADER": {
|
"HEADER": {
|
||||||
"RESOLVE_ACTION": "Resolve",
|
"RESOLVE_ACTION": "Resolve",
|
||||||
"REOPEN_ACTION": "Reopen",
|
"REOPEN_ACTION": "Reopen",
|
||||||
|
|
|
@ -134,7 +134,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Phone number",
|
"LABEL": "Phone number",
|
||||||
"PLACEHOLDER": "Please enter the phone number from which message will be sent.",
|
"PLACEHOLDER": "Please enter the phone number from which message will be sent.",
|
||||||
"ERROR": "Please enter a valid value. Phone number should start with `+` sign."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"API_CALLBACK": {
|
"API_CALLBACK": {
|
||||||
"TITLE": "Callback URL",
|
"TITLE": "Callback URL",
|
||||||
|
@ -185,7 +185,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Phone number",
|
"LABEL": "Phone number",
|
||||||
"PLACEHOLDER": "Please enter the phone number from which message will be sent.",
|
"PLACEHOLDER": "Please enter the phone number from which message will be sent.",
|
||||||
"ERROR": "Please enter a valid value. Phone number should start with `+` sign."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"SUBMIT_BUTTON": "Create Bandwidth Channel",
|
"SUBMIT_BUTTON": "Create Bandwidth Channel",
|
||||||
"API": {
|
"API": {
|
||||||
|
@ -214,7 +214,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Phone number",
|
"LABEL": "Phone number",
|
||||||
"PLACEHOLDER": "Please enter the phone number from which message will be sent.",
|
"PLACEHOLDER": "Please enter the phone number from which message will be sent.",
|
||||||
"ERROR": "Please enter a valid value. Phone number should start with `+` sign."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"PHONE_NUMBER_ID": {
|
"PHONE_NUMBER_ID": {
|
||||||
"LABEL": "Phone number ID",
|
"LABEL": "Phone number ID",
|
||||||
|
|
|
@ -99,7 +99,9 @@
|
||||||
},
|
},
|
||||||
"AVAILABILITY": {
|
"AVAILABILITY": {
|
||||||
"LABEL": "Availability",
|
"LABEL": "Availability",
|
||||||
"STATUSES_LIST": ["Online", "Busy", "Offline"]
|
"STATUSES_LIST": ["Online", "Busy", "Offline"],
|
||||||
|
"SET_AVAILABILITY_SUCCESS": "Availability has been set successfully",
|
||||||
|
"SET_AVAILABILITY_ERROR": "Couldn't set availability, please try again"
|
||||||
},
|
},
|
||||||
"EMAIL": {
|
"EMAIL": {
|
||||||
"LABEL": "Your email address",
|
"LABEL": "Your email address",
|
||||||
|
@ -222,6 +224,10 @@
|
||||||
"CATEGORY": "Category",
|
"CATEGORY": "Category",
|
||||||
"CATEGORY_EMPTY_MESSAGE": "No categories found"
|
"CATEGORY_EMPTY_MESSAGE": "No categories found"
|
||||||
},
|
},
|
||||||
|
"SET_AUTO_OFFLINE": {
|
||||||
|
"TEXT": "Mark offline automatically",
|
||||||
|
"INFO_TEXT": "Let the system automatically mark you offline when you aren't using the app or dashboard."
|
||||||
|
},
|
||||||
"DOCS": "Read docs"
|
"DOCS": "Read docs"
|
||||||
},
|
},
|
||||||
"BILLING_SETTINGS": {
|
"BILLING_SETTINGS": {
|
||||||
|
|
6
app/javascript/dashboard/i18n/locale/es/emoji.json
Normal file
6
app/javascript/dashboard/i18n/locale/es/emoji.json
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"EMOJI": {
|
||||||
|
"PLACEHOLDER": "Search emojis",
|
||||||
|
"NOT_FOUND": "No emoji match your search"
|
||||||
|
}
|
||||||
|
}
|
|
@ -134,7 +134,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Número de teléfono",
|
"LABEL": "Número de teléfono",
|
||||||
"PLACEHOLDER": "Por favor, introduzca el número de teléfono desde el que se enviará el mensaje.",
|
"PLACEHOLDER": "Por favor, introduzca el número de teléfono desde el que se enviará el mensaje.",
|
||||||
"ERROR": "Por favor, introduzca un valor válido. El número de teléfono debe comenzar con la firma `+`."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"API_CALLBACK": {
|
"API_CALLBACK": {
|
||||||
"TITLE": "URL de devolución de llamada",
|
"TITLE": "URL de devolución de llamada",
|
||||||
|
@ -185,7 +185,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Número de teléfono",
|
"LABEL": "Número de teléfono",
|
||||||
"PLACEHOLDER": "Por favor, introduzca el número de teléfono desde el que se enviará el mensaje.",
|
"PLACEHOLDER": "Por favor, introduzca el número de teléfono desde el que se enviará el mensaje.",
|
||||||
"ERROR": "Por favor, introduzca un valor válido. El número de teléfono debe comenzar con la firma `+`."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"SUBMIT_BUTTON": "Crear Canal de Bandwidth",
|
"SUBMIT_BUTTON": "Crear Canal de Bandwidth",
|
||||||
"API": {
|
"API": {
|
||||||
|
@ -214,7 +214,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Número de teléfono",
|
"LABEL": "Número de teléfono",
|
||||||
"PLACEHOLDER": "Por favor, introduzca el número de teléfono desde el que se enviará el mensaje.",
|
"PLACEHOLDER": "Por favor, introduzca el número de teléfono desde el que se enviará el mensaje.",
|
||||||
"ERROR": "Por favor, introduzca un valor válido. El número de teléfono debe comenzar con la firma `+`."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"PHONE_NUMBER_ID": {
|
"PHONE_NUMBER_ID": {
|
||||||
"LABEL": "ID de número de teléfono",
|
"LABEL": "ID de número de teléfono",
|
||||||
|
|
|
@ -257,7 +257,7 @@
|
||||||
},
|
},
|
||||||
"FORM": {
|
"FORM": {
|
||||||
"NAME": {
|
"NAME": {
|
||||||
"LABEL": "Nombre de cuenta",
|
"LABEL": "Empresa",
|
||||||
"PLACEHOLDER": "Empresas de Wayne"
|
"PLACEHOLDER": "Empresas de Wayne"
|
||||||
},
|
},
|
||||||
"SUBMIT": "Enviar"
|
"SUBMIT": "Enviar"
|
||||||
|
|
|
@ -2,11 +2,13 @@
|
||||||
"REGISTER": {
|
"REGISTER": {
|
||||||
"TRY_WOOT": "Registrar una cuenta",
|
"TRY_WOOT": "Registrar una cuenta",
|
||||||
"TITLE": "Registrarse",
|
"TITLE": "Registrarse",
|
||||||
|
"TESTIMONIAL_HEADER": "All it takes is one step to move forward",
|
||||||
|
"TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.",
|
||||||
"TERMS_ACCEPT": "Al registrarte, aceptas nuestra <a href=\"https://www.chatwoot.com/terms\">T & C</a> y nuestra <a href=\"https://www.chatwoot.com/privacy-policy\">política de privacidad</a>",
|
"TERMS_ACCEPT": "Al registrarte, aceptas nuestra <a href=\"https://www.chatwoot.com/terms\">T & C</a> y nuestra <a href=\"https://www.chatwoot.com/privacy-policy\">política de privacidad</a>",
|
||||||
"ACCOUNT_NAME": {
|
"COMPANY_NAME": {
|
||||||
"LABEL": "Nombre de cuenta",
|
"LABEL": "Company name",
|
||||||
"PLACEHOLDER": "Empresas de Wayne",
|
"PLACEHOLDER": "Enter your company name. eg: Wayne Enterprises",
|
||||||
"ERROR": "El nombre de la cuenta es demasiado corto"
|
"ERROR": "Company name is too short"
|
||||||
},
|
},
|
||||||
"FULL_NAME": {
|
"FULL_NAME": {
|
||||||
"LABEL": "Nombre completo",
|
"LABEL": "Nombre completo",
|
||||||
|
@ -16,7 +18,7 @@
|
||||||
"EMAIL": {
|
"EMAIL": {
|
||||||
"LABEL": "E-mail",
|
"LABEL": "E-mail",
|
||||||
"PLACEHOLDER": "bruce@wayne.empresas",
|
"PLACEHOLDER": "bruce@wayne.empresas",
|
||||||
"ERROR": "El correo no es válido"
|
"ERROR": "Please enter a valid work email address"
|
||||||
},
|
},
|
||||||
"PASSWORD": {
|
"PASSWORD": {
|
||||||
"LABEL": "Contraseña",
|
"LABEL": "Contraseña",
|
||||||
|
|
6
app/javascript/dashboard/i18n/locale/fa/emoji.json
Normal file
6
app/javascript/dashboard/i18n/locale/fa/emoji.json
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"EMOJI": {
|
||||||
|
"PLACEHOLDER": "جستجوی ایموجی",
|
||||||
|
"NOT_FOUND": "هیچ ایموجی با جستجوی شما مطابقت ندارد"
|
||||||
|
}
|
||||||
|
}
|
|
@ -134,7 +134,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "شماره تلفن",
|
"LABEL": "شماره تلفن",
|
||||||
"PLACEHOLDER": "لطفا شمارهای که پیام میبایست به آن ارسال شود را وارد کنید",
|
"PLACEHOLDER": "لطفا شمارهای که پیام میبایست به آن ارسال شود را وارد کنید",
|
||||||
"ERROR": "لطفا شماره تلفن را به شکل صحیح وارد کنید. شماره میبایست با کاراکتر `+` شروع شود"
|
"ERROR": "لطفا یک شماره تلفن معتبر ارائه دهید که با علامت «+» شروع شود و بدون فاصله بین اعداد باشد."
|
||||||
},
|
},
|
||||||
"API_CALLBACK": {
|
"API_CALLBACK": {
|
||||||
"TITLE": "آدرس URL مربوط به API",
|
"TITLE": "آدرس URL مربوط به API",
|
||||||
|
@ -185,7 +185,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "شماره تلفن",
|
"LABEL": "شماره تلفن",
|
||||||
"PLACEHOLDER": "لطفا شمارهای که پیام میبایست به آن ارسال شود را وارد کنید",
|
"PLACEHOLDER": "لطفا شمارهای که پیام میبایست به آن ارسال شود را وارد کنید",
|
||||||
"ERROR": "لطفا شماره تلفن را به شکل صحیح وارد کنید. شماره میبایست با کاراکتر `+` شروع شود"
|
"ERROR": "لطفا یک شماره تلفن معتبر ارائه دهید که با علامت «+» شروع شود و بدون فاصله بین اعداد باشد."
|
||||||
},
|
},
|
||||||
"SUBMIT_BUTTON": "ایجاد کانال Bandwidth",
|
"SUBMIT_BUTTON": "ایجاد کانال Bandwidth",
|
||||||
"API": {
|
"API": {
|
||||||
|
@ -214,7 +214,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "شماره تلفن",
|
"LABEL": "شماره تلفن",
|
||||||
"PLACEHOLDER": "لطفا شمارهای که پیام میبایست به آن ارسال شود را وارد کنید",
|
"PLACEHOLDER": "لطفا شمارهای که پیام میبایست به آن ارسال شود را وارد کنید",
|
||||||
"ERROR": "لطفا شماره تلفن را به شکل صحیح وارد کنید. شماره میبایست با کاراکتر `+` شروع شود"
|
"ERROR": "لطفا یک شماره تلفن معتبر ارائه دهید که با علامت «+» شروع شود و بدون فاصله بین اعداد باشد."
|
||||||
},
|
},
|
||||||
"PHONE_NUMBER_ID": {
|
"PHONE_NUMBER_ID": {
|
||||||
"LABEL": "شناسه شماره تلفن",
|
"LABEL": "شناسه شماره تلفن",
|
||||||
|
|
|
@ -257,7 +257,7 @@
|
||||||
},
|
},
|
||||||
"FORM": {
|
"FORM": {
|
||||||
"NAME": {
|
"NAME": {
|
||||||
"LABEL": "عنوان حساب",
|
"LABEL": "نام شرکت",
|
||||||
"PLACEHOLDER": "شرکت ایران ناسیونال"
|
"PLACEHOLDER": "شرکت ایران ناسیونال"
|
||||||
},
|
},
|
||||||
"SUBMIT": "ثبت"
|
"SUBMIT": "ثبت"
|
||||||
|
|
|
@ -2,11 +2,13 @@
|
||||||
"REGISTER": {
|
"REGISTER": {
|
||||||
"TRY_WOOT": "ثبتنام حسابکاربری",
|
"TRY_WOOT": "ثبتنام حسابکاربری",
|
||||||
"TITLE": "ثبت نام",
|
"TITLE": "ثبت نام",
|
||||||
|
"TESTIMONIAL_HEADER": "All it takes is one step to move forward",
|
||||||
|
"TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.",
|
||||||
"TERMS_ACCEPT": "با ثبت نام، اعلام میدارید که <a href=\"https://www.chatwoot.com/terms\">قوانین</a> و <a href=\"https://www.chatwoot.com/privacy-policy\">شرایط استفاده</a> از این نرم افزار را تایید کرده و میپذیرید",
|
"TERMS_ACCEPT": "با ثبت نام، اعلام میدارید که <a href=\"https://www.chatwoot.com/terms\">قوانین</a> و <a href=\"https://www.chatwoot.com/privacy-policy\">شرایط استفاده</a> از این نرم افزار را تایید کرده و میپذیرید",
|
||||||
"ACCOUNT_NAME": {
|
"COMPANY_NAME": {
|
||||||
"LABEL": "نام حسابکاربری",
|
"LABEL": "نام شرکت",
|
||||||
"PLACEHOLDER": "نام حسابکاربری را وارد کنید. به عنوان مثال: شرکت وین",
|
"PLACEHOLDER": "نام شرکت خود را وارد کنید. به عنوان مثال: شرکت وین",
|
||||||
"ERROR": "نام حسابکاربری خیلی کوتاه است"
|
"ERROR": "نام شرکت خیلی کوتاه است"
|
||||||
},
|
},
|
||||||
"FULL_NAME": {
|
"FULL_NAME": {
|
||||||
"LABEL": "نام کامل",
|
"LABEL": "نام کامل",
|
||||||
|
@ -16,7 +18,7 @@
|
||||||
"EMAIL": {
|
"EMAIL": {
|
||||||
"LABEL": "ایمیل کاری",
|
"LABEL": "ایمیل کاری",
|
||||||
"PLACEHOLDER": "ایمیل کاری خود را وارد کنید به عنوان مثال: jafari@wayne.enterprises",
|
"PLACEHOLDER": "ایمیل کاری خود را وارد کنید به عنوان مثال: jafari@wayne.enterprises",
|
||||||
"ERROR": "آدرس ایمیل معتبر نیست"
|
"ERROR": "لطفا یک آدرس ایمیل کاری معتبر وارد کنید"
|
||||||
},
|
},
|
||||||
"PASSWORD": {
|
"PASSWORD": {
|
||||||
"LABEL": "رمز عبور",
|
"LABEL": "رمز عبور",
|
||||||
|
|
6
app/javascript/dashboard/i18n/locale/fi/emoji.json
Normal file
6
app/javascript/dashboard/i18n/locale/fi/emoji.json
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"EMOJI": {
|
||||||
|
"PLACEHOLDER": "Search emojis",
|
||||||
|
"NOT_FOUND": "No emoji match your search"
|
||||||
|
}
|
||||||
|
}
|
|
@ -134,7 +134,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Puhelinnumero",
|
"LABEL": "Puhelinnumero",
|
||||||
"PLACEHOLDER": "Ole hyvä ja syötä puhelinnumero, josta viesti lähetetään.",
|
"PLACEHOLDER": "Ole hyvä ja syötä puhelinnumero, josta viesti lähetetään.",
|
||||||
"ERROR": "Anna kelvollinen arvo. Puhelinnumeron pitäisi alkaa `+` merkillä."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"API_CALLBACK": {
|
"API_CALLBACK": {
|
||||||
"TITLE": "Callback URL",
|
"TITLE": "Callback URL",
|
||||||
|
@ -185,7 +185,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Puhelinnumero",
|
"LABEL": "Puhelinnumero",
|
||||||
"PLACEHOLDER": "Ole hyvä ja syötä puhelinnumero, josta viesti lähetetään.",
|
"PLACEHOLDER": "Ole hyvä ja syötä puhelinnumero, josta viesti lähetetään.",
|
||||||
"ERROR": "Anna kelvollinen arvo. Puhelinnumeron pitäisi alkaa `+` merkillä."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"SUBMIT_BUTTON": "Create Bandwidth Channel",
|
"SUBMIT_BUTTON": "Create Bandwidth Channel",
|
||||||
"API": {
|
"API": {
|
||||||
|
@ -214,7 +214,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Puhelinnumero",
|
"LABEL": "Puhelinnumero",
|
||||||
"PLACEHOLDER": "Ole hyvä ja syötä puhelinnumero, josta viesti lähetetään.",
|
"PLACEHOLDER": "Ole hyvä ja syötä puhelinnumero, josta viesti lähetetään.",
|
||||||
"ERROR": "Anna kelvollinen arvo. Puhelinnumeron pitäisi alkaa `+` merkillä."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"PHONE_NUMBER_ID": {
|
"PHONE_NUMBER_ID": {
|
||||||
"LABEL": "Phone number ID",
|
"LABEL": "Phone number ID",
|
||||||
|
|
|
@ -257,7 +257,7 @@
|
||||||
},
|
},
|
||||||
"FORM": {
|
"FORM": {
|
||||||
"NAME": {
|
"NAME": {
|
||||||
"LABEL": "Tilin nimi",
|
"LABEL": "Yrityksen nimi",
|
||||||
"PLACEHOLDER": "Wayne Enterprises"
|
"PLACEHOLDER": "Wayne Enterprises"
|
||||||
},
|
},
|
||||||
"SUBMIT": "Lähetä"
|
"SUBMIT": "Lähetä"
|
||||||
|
|
|
@ -2,11 +2,13 @@
|
||||||
"REGISTER": {
|
"REGISTER": {
|
||||||
"TRY_WOOT": "Luo tili",
|
"TRY_WOOT": "Luo tili",
|
||||||
"TITLE": "Rekisteröidy",
|
"TITLE": "Rekisteröidy",
|
||||||
|
"TESTIMONIAL_HEADER": "All it takes is one step to move forward",
|
||||||
|
"TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.",
|
||||||
"TERMS_ACCEPT": "Rekisteröitymällä hyväksyt <a href=\"https://www.chatwoot.com/terms\">käyttöehdot & säännöt</a> sekä <a href=\"https://www.chatwoot.com/privacy-policy\">yksityisyydensuojan</a>",
|
"TERMS_ACCEPT": "Rekisteröitymällä hyväksyt <a href=\"https://www.chatwoot.com/terms\">käyttöehdot & säännöt</a> sekä <a href=\"https://www.chatwoot.com/privacy-policy\">yksityisyydensuojan</a>",
|
||||||
"ACCOUNT_NAME": {
|
"COMPANY_NAME": {
|
||||||
"LABEL": "Tilin nimi",
|
"LABEL": "Company name",
|
||||||
"PLACEHOLDER": "Anna käyttäjän nimi, esim: Wayne Enterprises",
|
"PLACEHOLDER": "Enter your company name. eg: Wayne Enterprises",
|
||||||
"ERROR": "Tilin nimi on liian lyhyt"
|
"ERROR": "Company name is too short"
|
||||||
},
|
},
|
||||||
"FULL_NAME": {
|
"FULL_NAME": {
|
||||||
"LABEL": "Koko nimi",
|
"LABEL": "Koko nimi",
|
||||||
|
@ -16,7 +18,7 @@
|
||||||
"EMAIL": {
|
"EMAIL": {
|
||||||
"LABEL": "Työsähköposti",
|
"LABEL": "Työsähköposti",
|
||||||
"PLACEHOLDER": "Anna työsi sähköpostiosoite, esim: bruce@wayne.enterprises",
|
"PLACEHOLDER": "Anna työsi sähköpostiosoite, esim: bruce@wayne.enterprises",
|
||||||
"ERROR": "Sähköpostiosoite ei ole kelvollinen"
|
"ERROR": "Please enter a valid work email address"
|
||||||
},
|
},
|
||||||
"PASSWORD": {
|
"PASSWORD": {
|
||||||
"LABEL": "Salasana",
|
"LABEL": "Salasana",
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
{
|
{
|
||||||
"FILTER": {
|
"FILTER": {
|
||||||
"TITLE": "Filter Conversations",
|
"TITLE": "Filtrer les conversations",
|
||||||
"SUBTITLE": "Add filters below and hit 'Apply filters' to filter conversations.",
|
"SUBTITLE": "Add filters below and hit 'Apply filters' to filter conversations.",
|
||||||
"ADD_NEW_FILTER": "Add Filter",
|
"ADD_NEW_FILTER": "Ajouter un filtre",
|
||||||
"FILTER_DELETE_ERROR": "You should have atleast one filter to save",
|
"FILTER_DELETE_ERROR": "Vous devriez avoir au moins un filtre afin d'enregistrer",
|
||||||
"SUBMIT_BUTTON_LABEL": "Apply filters",
|
"SUBMIT_BUTTON_LABEL": "Appliquer les filtres",
|
||||||
"CANCEL_BUTTON_LABEL": "Annuler",
|
"CANCEL_BUTTON_LABEL": "Annuler",
|
||||||
"CLEAR_BUTTON_LABEL": "Clear Filters",
|
"CLEAR_BUTTON_LABEL": "Clear Filters",
|
||||||
"EMPTY_VALUE_ERROR": "Value is required",
|
"EMPTY_VALUE_ERROR": "Value is required",
|
||||||
"TOOLTIP_LABEL": "Filter conversations",
|
"TOOLTIP_LABEL": "Filter conversations",
|
||||||
"QUERY_DROPDOWN_LABELS": {
|
"QUERY_DROPDOWN_LABELS": {
|
||||||
"AND": "AND",
|
"AND": "ET",
|
||||||
"OR": "OR"
|
"OR": "OU"
|
||||||
},
|
},
|
||||||
"OPERATOR_LABELS": {
|
"OPERATOR_LABELS": {
|
||||||
"equal_to": "Equal to",
|
"equal_to": "Equal to",
|
||||||
|
@ -25,8 +25,8 @@
|
||||||
"days_before": "Is x days before"
|
"days_before": "Is x days before"
|
||||||
},
|
},
|
||||||
"ATTRIBUTE_LABELS": {
|
"ATTRIBUTE_LABELS": {
|
||||||
"TRUE": "True",
|
"TRUE": "Vrai",
|
||||||
"FALSE": "False"
|
"FALSE": "Faux"
|
||||||
},
|
},
|
||||||
"ATTRIBUTES": {
|
"ATTRIBUTES": {
|
||||||
"STATUS": "État",
|
"STATUS": "État",
|
||||||
|
@ -54,7 +54,7 @@
|
||||||
},
|
},
|
||||||
"CUSTOM_VIEWS": {
|
"CUSTOM_VIEWS": {
|
||||||
"ADD": {
|
"ADD": {
|
||||||
"TITLE": "Do you want to save this filter?",
|
"TITLE": "Voulez-vous enregistrer ce filtre ?",
|
||||||
"LABEL": "Name this filter",
|
"LABEL": "Name this filter",
|
||||||
"PLACEHOLDER": "Enter a name for this filter",
|
"PLACEHOLDER": "Enter a name for this filter",
|
||||||
"ERROR_MESSAGE": "Le nom est requis",
|
"ERROR_MESSAGE": "Le nom est requis",
|
||||||
|
|
|
@ -87,13 +87,13 @@
|
||||||
},
|
},
|
||||||
"CONDITION": {
|
"CONDITION": {
|
||||||
"DELETE_MESSAGE": "Vous devez avoir au moins une condition pour enregistrer",
|
"DELETE_MESSAGE": "Vous devez avoir au moins une condition pour enregistrer",
|
||||||
"CONTACT_CUSTOM_ATTR_LABEL": "Contact Custom Attributes",
|
"CONTACT_CUSTOM_ATTR_LABEL": "Attributs personnalisés des contacts",
|
||||||
"CONVERSATION_CUSTOM_ATTR_LABEL": "Conversation Custom Attributes"
|
"CONVERSATION_CUSTOM_ATTR_LABEL": "Conversation Custom Attributes"
|
||||||
},
|
},
|
||||||
"ACTION": {
|
"ACTION": {
|
||||||
"DELETE_MESSAGE": "Vous devez avoir au moins une action pour enregistrer",
|
"DELETE_MESSAGE": "Vous devez avoir au moins une action pour enregistrer",
|
||||||
"TEAM_MESSAGE_INPUT_PLACEHOLDER": "Enter your message here",
|
"TEAM_MESSAGE_INPUT_PLACEHOLDER": "Saisissez votre message ici",
|
||||||
"TEAM_DROPDOWN_PLACEHOLDER": "Select teams"
|
"TEAM_DROPDOWN_PLACEHOLDER": "Sélectionner une équipe"
|
||||||
},
|
},
|
||||||
"TOGGLE": {
|
"TOGGLE": {
|
||||||
"ACTIVATION_TITLE": "Activer la règle d'automatisation",
|
"ACTIVATION_TITLE": "Activer la règle d'automatisation",
|
||||||
|
|
|
@ -2,17 +2,17 @@
|
||||||
"CONTACTS_FILTER": {
|
"CONTACTS_FILTER": {
|
||||||
"TITLE": "Filter Contacts",
|
"TITLE": "Filter Contacts",
|
||||||
"SUBTITLE": "Add filters below and hit 'Submit' to filter contacts.",
|
"SUBTITLE": "Add filters below and hit 'Submit' to filter contacts.",
|
||||||
"ADD_NEW_FILTER": "Add Filter",
|
"ADD_NEW_FILTER": "Ajouter un filtre",
|
||||||
"CLEAR_ALL_FILTERS": "Clear All Filters",
|
"CLEAR_ALL_FILTERS": "Clear All Filters",
|
||||||
"FILTER_DELETE_ERROR": "You should have atleast one filter to save",
|
"FILTER_DELETE_ERROR": "Vous devriez avoir au moins un filtre afin d'enregistrer",
|
||||||
"SUBMIT_BUTTON_LABEL": "Envoyer",
|
"SUBMIT_BUTTON_LABEL": "Envoyer",
|
||||||
"CANCEL_BUTTON_LABEL": "Annuler",
|
"CANCEL_BUTTON_LABEL": "Annuler",
|
||||||
"CLEAR_BUTTON_LABEL": "Clear Filters",
|
"CLEAR_BUTTON_LABEL": "Clear Filters",
|
||||||
"EMPTY_VALUE_ERROR": "Value is required",
|
"EMPTY_VALUE_ERROR": "Value is required",
|
||||||
"TOOLTIP_LABEL": "Filter contacts",
|
"TOOLTIP_LABEL": "Filter contacts",
|
||||||
"QUERY_DROPDOWN_LABELS": {
|
"QUERY_DROPDOWN_LABELS": {
|
||||||
"AND": "AND",
|
"AND": "ET",
|
||||||
"OR": "OR"
|
"OR": "OU"
|
||||||
},
|
},
|
||||||
"OPERATOR_LABELS": {
|
"OPERATOR_LABELS": {
|
||||||
"equal_to": "Equal to",
|
"equal_to": "Equal to",
|
||||||
|
|
6
app/javascript/dashboard/i18n/locale/fr/emoji.json
Normal file
6
app/javascript/dashboard/i18n/locale/fr/emoji.json
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"EMOJI": {
|
||||||
|
"PLACEHOLDER": "Rechercher des émojis",
|
||||||
|
"NOT_FOUND": "Aucun émoji ne correspond à votre recherche"
|
||||||
|
}
|
||||||
|
}
|
|
@ -134,7 +134,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Numéro de téléphone",
|
"LABEL": "Numéro de téléphone",
|
||||||
"PLACEHOLDER": "Veuillez entrer le numéro de téléphone à partir duquel le message sera envoyé.",
|
"PLACEHOLDER": "Veuillez entrer le numéro de téléphone à partir duquel le message sera envoyé.",
|
||||||
"ERROR": "Veuillez entrer une valeur valide. Le numéro de téléphone doit commencer par le signe `+`."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"API_CALLBACK": {
|
"API_CALLBACK": {
|
||||||
"TITLE": "URL de rappel (callback)",
|
"TITLE": "URL de rappel (callback)",
|
||||||
|
@ -185,7 +185,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Numéro de téléphone",
|
"LABEL": "Numéro de téléphone",
|
||||||
"PLACEHOLDER": "Veuillez entrer le numéro de téléphone à partir duquel le message sera envoyé.",
|
"PLACEHOLDER": "Veuillez entrer le numéro de téléphone à partir duquel le message sera envoyé.",
|
||||||
"ERROR": "Veuillez entrer une valeur valide. Le numéro de téléphone doit commencer par le signe `+`."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"SUBMIT_BUTTON": "Créer un canal de bande passante",
|
"SUBMIT_BUTTON": "Créer un canal de bande passante",
|
||||||
"API": {
|
"API": {
|
||||||
|
@ -214,7 +214,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Numéro de téléphone",
|
"LABEL": "Numéro de téléphone",
|
||||||
"PLACEHOLDER": "Veuillez entrer le numéro de téléphone à partir duquel le message sera envoyé.",
|
"PLACEHOLDER": "Veuillez entrer le numéro de téléphone à partir duquel le message sera envoyé.",
|
||||||
"ERROR": "Veuillez entrer une valeur valide. Le numéro de téléphone doit commencer par le signe `+`."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"PHONE_NUMBER_ID": {
|
"PHONE_NUMBER_ID": {
|
||||||
"LABEL": "Phone number ID",
|
"LABEL": "Phone number ID",
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
"ERROR_MESSAGE": "Impossible de se connecter au serveur Woot, veuillez réessayer plus tard"
|
"ERROR_MESSAGE": "Impossible de se connecter au serveur Woot, veuillez réessayer plus tard"
|
||||||
},
|
},
|
||||||
"CAPTCHA": {
|
"CAPTCHA": {
|
||||||
"ERROR": "Verification expired. Please solve captcha again."
|
"ERROR": "La vérification a expiré. Veuillez résoudre le captcha à nouveau."
|
||||||
},
|
},
|
||||||
"SUBMIT": "Envoyer"
|
"SUBMIT": "Envoyer"
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,23 +20,23 @@
|
||||||
"NOTE": "Votre adresse de courriel est votre identité et est utilisée pour vous connecter."
|
"NOTE": "Votre adresse de courriel est votre identité et est utilisée pour vous connecter."
|
||||||
},
|
},
|
||||||
"SEND_MESSAGE": {
|
"SEND_MESSAGE": {
|
||||||
"TITLE": "Hotkey to send messages",
|
"TITLE": "Raccourci clavier pour envoyer des messages",
|
||||||
"NOTE": "You can select a hotkey (either Enter or Cmd/Ctrl+Enter) based on your preference of writing.",
|
"NOTE": "Vous pouvez sélectionner un raccourci clavier (Entrée ou Cmd/Ctrl+Entrée) en fonction de vos préférences d'écriture.",
|
||||||
"UPDATE_SUCCESS": "Your settings have been updated successfully",
|
"UPDATE_SUCCESS": "Votre profil a été mis à jour avec succès",
|
||||||
"CARD": {
|
"CARD": {
|
||||||
"ENTER_KEY": {
|
"ENTER_KEY": {
|
||||||
"HEADING": "Enter (↵)",
|
"HEADING": "Entrer (<unk> )",
|
||||||
"CONTENT": "Send messages by pressing Enter key instead of clicking the send button."
|
"CONTENT": "Envoyez des messages en appuyant sur la touche Entrée au lieu de cliquer sur le bouton d'envoi."
|
||||||
},
|
},
|
||||||
"CMD_ENTER_KEY": {
|
"CMD_ENTER_KEY": {
|
||||||
"HEADING": "Cmd/Ctrl + Enter (⌘ + ↵)",
|
"HEADING": "Cmd/Ctrl + Entrée (<unk> + <unk> )",
|
||||||
"CONTENT": "Send messages by pressing Cmd/Ctrl + enter key instead of clicking the send button."
|
"CONTENT": "Envoyez des messages en appuyant sur la touche Cmd/Ctrl + Entrée (<unk> + <unk>) au lieu de cliquer sur le bouton d'envoi."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"MESSAGE_SIGNATURE_SECTION": {
|
"MESSAGE_SIGNATURE_SECTION": {
|
||||||
"TITLE": "Signature du message personnel",
|
"TITLE": "Signature du message personnel",
|
||||||
"NOTE": "Create a personal message signature that would be added to all the messages you send from your email inbox. Use the rich content editor to create a highly personalised signature.",
|
"NOTE": "Créez une signature de message personnelle qui sera ajoutée à tous les messages que vous envoyez depuis votre boîte aux lettres électronique. Utilisez l'éditeur de contenu riche pour créer une signature personnalisée.",
|
||||||
"BTN_TEXT": "Enregistrer la signature du message",
|
"BTN_TEXT": "Enregistrer la signature du message",
|
||||||
"API_ERROR": "Impossible d'enregistrer la signature ! Réessayez",
|
"API_ERROR": "Impossible d'enregistrer la signature ! Réessayez",
|
||||||
"API_SUCCESS": "Signature enregistrée avec succès"
|
"API_SUCCESS": "Signature enregistrée avec succès"
|
||||||
|
@ -141,8 +141,8 @@
|
||||||
"TRAIL_BUTTON": "Acheter Maintenant",
|
"TRAIL_BUTTON": "Acheter Maintenant",
|
||||||
"DELETED_USER": "Utilisateur supprimé",
|
"DELETED_USER": "Utilisateur supprimé",
|
||||||
"ACCOUNT_SUSPENDED": {
|
"ACCOUNT_SUSPENDED": {
|
||||||
"TITLE": "Account Suspended",
|
"TITLE": "Compte Suspendu",
|
||||||
"MESSAGE": "Your account is suspended. Please reach out to the support team for more information."
|
"MESSAGE": "Votre compte est suspendu. Veuillez contacter le support pour plus d'informations."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"COMPONENTS": {
|
"COMPONENTS": {
|
||||||
|
@ -151,15 +151,15 @@
|
||||||
"COPY_SUCCESSFUL": "Code copié dans le presse-papier avec succès"
|
"COPY_SUCCESSFUL": "Code copié dans le presse-papier avec succès"
|
||||||
},
|
},
|
||||||
"SHOW_MORE_BLOCK": {
|
"SHOW_MORE_BLOCK": {
|
||||||
"SHOW_MORE": "Show More",
|
"SHOW_MORE": "Voir plus",
|
||||||
"SHOW_LESS": "Show Less"
|
"SHOW_LESS": "Voir moins"
|
||||||
},
|
},
|
||||||
"FILE_BUBBLE": {
|
"FILE_BUBBLE": {
|
||||||
"DOWNLOAD": "Télécharger",
|
"DOWNLOAD": "Télécharger",
|
||||||
"UPLOADING": "Téléversement..."
|
"UPLOADING": "Téléversement..."
|
||||||
},
|
},
|
||||||
"LOCATION_BUBBLE": {
|
"LOCATION_BUBBLE": {
|
||||||
"SEE_ON_MAP": "See on map"
|
"SEE_ON_MAP": "Afficher sur la carte"
|
||||||
},
|
},
|
||||||
"FORM_BUBBLE": {
|
"FORM_BUBBLE": {
|
||||||
"SUBMIT": "Envoyer"
|
"SUBMIT": "Envoyer"
|
||||||
|
@ -177,7 +177,7 @@
|
||||||
"CONVERSATIONS": "Conversations",
|
"CONVERSATIONS": "Conversations",
|
||||||
"ALL_CONVERSATIONS": "Toutes les conversations",
|
"ALL_CONVERSATIONS": "Toutes les conversations",
|
||||||
"MENTIONED_CONVERSATIONS": "Mentions",
|
"MENTIONED_CONVERSATIONS": "Mentions",
|
||||||
"UNATTENDED_CONVERSATIONS": "Unattended",
|
"UNATTENDED_CONVERSATIONS": "Sans suivi",
|
||||||
"REPORTS": "Rapports",
|
"REPORTS": "Rapports",
|
||||||
"SETTINGS": "Paramètres",
|
"SETTINGS": "Paramètres",
|
||||||
"CONTACTS": "Contacts",
|
"CONTACTS": "Contacts",
|
||||||
|
@ -257,7 +257,7 @@
|
||||||
},
|
},
|
||||||
"FORM": {
|
"FORM": {
|
||||||
"NAME": {
|
"NAME": {
|
||||||
"LABEL": "Nom du compte",
|
"LABEL": "Nom de la société",
|
||||||
"PLACEHOLDER": "Entreprises Wayne"
|
"PLACEHOLDER": "Entreprises Wayne"
|
||||||
},
|
},
|
||||||
"SUBMIT": "Envoyer"
|
"SUBMIT": "Envoyer"
|
||||||
|
|
|
@ -2,11 +2,13 @@
|
||||||
"REGISTER": {
|
"REGISTER": {
|
||||||
"TRY_WOOT": "Créer un compte",
|
"TRY_WOOT": "Créer un compte",
|
||||||
"TITLE": "Inscription",
|
"TITLE": "Inscription",
|
||||||
|
"TESTIMONIAL_HEADER": "All it takes is one step to move forward",
|
||||||
|
"TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.",
|
||||||
"TERMS_ACCEPT": "En vous inscrivant, vous acceptez nos <a href=\"https://www.chatwoot.com/terms\">CGU</a> et notre <a href=\"https://www.chatwoot.com/privacy-policy\">politique de confidentialité</a>",
|
"TERMS_ACCEPT": "En vous inscrivant, vous acceptez nos <a href=\"https://www.chatwoot.com/terms\">CGU</a> et notre <a href=\"https://www.chatwoot.com/privacy-policy\">politique de confidentialité</a>",
|
||||||
"ACCOUNT_NAME": {
|
"COMPANY_NAME": {
|
||||||
"LABEL": "Nom du compte",
|
"LABEL": "Company name",
|
||||||
"PLACEHOLDER": "Entrez un nom de compte. Ex : Wayne Enterprises",
|
"PLACEHOLDER": "Enter your company name. eg: Wayne Enterprises",
|
||||||
"ERROR": "Le nom du compte est trop court"
|
"ERROR": "Company name is too short"
|
||||||
},
|
},
|
||||||
"FULL_NAME": {
|
"FULL_NAME": {
|
||||||
"LABEL": "Nom complet",
|
"LABEL": "Nom complet",
|
||||||
|
@ -16,7 +18,7 @@
|
||||||
"EMAIL": {
|
"EMAIL": {
|
||||||
"LABEL": "E-mail professionnel",
|
"LABEL": "E-mail professionnel",
|
||||||
"PLACEHOLDER": "Entrez votre adresse e-mail professionnelle. Ex. : bruce@wayne.enterprises",
|
"PLACEHOLDER": "Entrez votre adresse e-mail professionnelle. Ex. : bruce@wayne.enterprises",
|
||||||
"ERROR": "L'adresse e-mail est invalide"
|
"ERROR": "Please enter a valid work email address"
|
||||||
},
|
},
|
||||||
"PASSWORD": {
|
"PASSWORD": {
|
||||||
"LABEL": "Mot de passe",
|
"LABEL": "Mot de passe",
|
||||||
|
|
6
app/javascript/dashboard/i18n/locale/he/emoji.json
Normal file
6
app/javascript/dashboard/i18n/locale/he/emoji.json
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"EMOJI": {
|
||||||
|
"PLACEHOLDER": "Search emojis",
|
||||||
|
"NOT_FOUND": "No emoji match your search"
|
||||||
|
}
|
||||||
|
}
|
|
@ -134,7 +134,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "מספר טלפון",
|
"LABEL": "מספר טלפון",
|
||||||
"PLACEHOLDER": "נא להזין את מספר הטלפון שממנו תישלח ההודעה.",
|
"PLACEHOLDER": "נא להזין את מספר הטלפון שממנו תישלח ההודעה.",
|
||||||
"ERROR": "אנא הכנס ערך תקין. מספר הטלפון צריך להתחיל בסימן '+'."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"API_CALLBACK": {
|
"API_CALLBACK": {
|
||||||
"TITLE": "כתובת אתר להתקשרות חוזרת",
|
"TITLE": "כתובת אתר להתקשרות חוזרת",
|
||||||
|
@ -185,7 +185,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "מספר טלפון",
|
"LABEL": "מספר טלפון",
|
||||||
"PLACEHOLDER": "נא להזין את מספר הטלפון שממנו תישלח ההודעה.",
|
"PLACEHOLDER": "נא להזין את מספר הטלפון שממנו תישלח ההודעה.",
|
||||||
"ERROR": "אנא הכנס ערך תקין. מספר הטלפון צריך להתחיל בסימן '+'."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"SUBMIT_BUTTON": "Create Bandwidth Channel",
|
"SUBMIT_BUTTON": "Create Bandwidth Channel",
|
||||||
"API": {
|
"API": {
|
||||||
|
@ -214,7 +214,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "מספר טלפון",
|
"LABEL": "מספר טלפון",
|
||||||
"PLACEHOLDER": "נא להזין את מספר הטלפון שממנו תישלח ההודעה.",
|
"PLACEHOLDER": "נא להזין את מספר הטלפון שממנו תישלח ההודעה.",
|
||||||
"ERROR": "אנא הכנס ערך תקין. מספר הטלפון צריך להתחיל בסימן '+'."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"PHONE_NUMBER_ID": {
|
"PHONE_NUMBER_ID": {
|
||||||
"LABEL": "Phone number ID",
|
"LABEL": "Phone number ID",
|
||||||
|
|
|
@ -257,7 +257,7 @@
|
||||||
},
|
},
|
||||||
"FORM": {
|
"FORM": {
|
||||||
"NAME": {
|
"NAME": {
|
||||||
"LABEL": "Account Name",
|
"LABEL": "שם החברה",
|
||||||
"PLACEHOLDER": "Wayne Enterprises"
|
"PLACEHOLDER": "Wayne Enterprises"
|
||||||
},
|
},
|
||||||
"SUBMIT": "שלח"
|
"SUBMIT": "שלח"
|
||||||
|
|
|
@ -2,11 +2,13 @@
|
||||||
"REGISTER": {
|
"REGISTER": {
|
||||||
"TRY_WOOT": "Register an account",
|
"TRY_WOOT": "Register an account",
|
||||||
"TITLE": "Register",
|
"TITLE": "Register",
|
||||||
|
"TESTIMONIAL_HEADER": "All it takes is one step to move forward",
|
||||||
|
"TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.",
|
||||||
"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": "By signing up, you agree to our <a href=\"https://www.chatwoot.com/terms\">T & C</a> and <a href=\"https://www.chatwoot.com/privacy-policy\">Privacy policy</a>",
|
||||||
"ACCOUNT_NAME": {
|
"COMPANY_NAME": {
|
||||||
"LABEL": "שם החשבון",
|
"LABEL": "Company name",
|
||||||
"PLACEHOLDER": "Enter an account name. eg: Wayne Enterprises",
|
"PLACEHOLDER": "Enter your company name. eg: Wayne Enterprises",
|
||||||
"ERROR": "Account name is too short"
|
"ERROR": "Company name is too short"
|
||||||
},
|
},
|
||||||
"FULL_NAME": {
|
"FULL_NAME": {
|
||||||
"LABEL": "Full name",
|
"LABEL": "Full name",
|
||||||
|
@ -16,7 +18,7 @@
|
||||||
"EMAIL": {
|
"EMAIL": {
|
||||||
"LABEL": "Work email",
|
"LABEL": "Work email",
|
||||||
"PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises",
|
"PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises",
|
||||||
"ERROR": "Email address is invalid"
|
"ERROR": "Please enter a valid work email address"
|
||||||
},
|
},
|
||||||
"PASSWORD": {
|
"PASSWORD": {
|
||||||
"LABEL": "סיסמה",
|
"LABEL": "סיסמה",
|
||||||
|
|
6
app/javascript/dashboard/i18n/locale/hi/emoji.json
Normal file
6
app/javascript/dashboard/i18n/locale/hi/emoji.json
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"EMOJI": {
|
||||||
|
"PLACEHOLDER": "Search emojis",
|
||||||
|
"NOT_FOUND": "No emoji match your search"
|
||||||
|
}
|
||||||
|
}
|
|
@ -134,7 +134,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Phone number",
|
"LABEL": "Phone number",
|
||||||
"PLACEHOLDER": "Please enter the phone number from which message will be sent.",
|
"PLACEHOLDER": "Please enter the phone number from which message will be sent.",
|
||||||
"ERROR": "Please enter a valid value. Phone number should start with `+` sign."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"API_CALLBACK": {
|
"API_CALLBACK": {
|
||||||
"TITLE": "Callback URL",
|
"TITLE": "Callback URL",
|
||||||
|
@ -185,7 +185,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Phone number",
|
"LABEL": "Phone number",
|
||||||
"PLACEHOLDER": "Please enter the phone number from which message will be sent.",
|
"PLACEHOLDER": "Please enter the phone number from which message will be sent.",
|
||||||
"ERROR": "Please enter a valid value. Phone number should start with `+` sign."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"SUBMIT_BUTTON": "Create Bandwidth Channel",
|
"SUBMIT_BUTTON": "Create Bandwidth Channel",
|
||||||
"API": {
|
"API": {
|
||||||
|
@ -214,7 +214,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Phone number",
|
"LABEL": "Phone number",
|
||||||
"PLACEHOLDER": "Please enter the phone number from which message will be sent.",
|
"PLACEHOLDER": "Please enter the phone number from which message will be sent.",
|
||||||
"ERROR": "Please enter a valid value. Phone number should start with `+` sign."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"PHONE_NUMBER_ID": {
|
"PHONE_NUMBER_ID": {
|
||||||
"LABEL": "Phone number ID",
|
"LABEL": "Phone number ID",
|
||||||
|
|
|
@ -257,7 +257,7 @@
|
||||||
},
|
},
|
||||||
"FORM": {
|
"FORM": {
|
||||||
"NAME": {
|
"NAME": {
|
||||||
"LABEL": "Account Name",
|
"LABEL": "Company Name",
|
||||||
"PLACEHOLDER": "Wayne Enterprises"
|
"PLACEHOLDER": "Wayne Enterprises"
|
||||||
},
|
},
|
||||||
"SUBMIT": "Submit"
|
"SUBMIT": "Submit"
|
||||||
|
|
|
@ -2,11 +2,13 @@
|
||||||
"REGISTER": {
|
"REGISTER": {
|
||||||
"TRY_WOOT": "Register an account",
|
"TRY_WOOT": "Register an account",
|
||||||
"TITLE": "Register",
|
"TITLE": "Register",
|
||||||
|
"TESTIMONIAL_HEADER": "All it takes is one step to move forward",
|
||||||
|
"TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.",
|
||||||
"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": "By signing up, you agree to our <a href=\"https://www.chatwoot.com/terms\">T & C</a> and <a href=\"https://www.chatwoot.com/privacy-policy\">Privacy policy</a>",
|
||||||
"ACCOUNT_NAME": {
|
"COMPANY_NAME": {
|
||||||
"LABEL": "Account name",
|
"LABEL": "Company name",
|
||||||
"PLACEHOLDER": "Enter an account name. eg: Wayne Enterprises",
|
"PLACEHOLDER": "Enter your company name. eg: Wayne Enterprises",
|
||||||
"ERROR": "Account name is too short"
|
"ERROR": "Company name is too short"
|
||||||
},
|
},
|
||||||
"FULL_NAME": {
|
"FULL_NAME": {
|
||||||
"LABEL": "Full name",
|
"LABEL": "Full name",
|
||||||
|
@ -16,7 +18,7 @@
|
||||||
"EMAIL": {
|
"EMAIL": {
|
||||||
"LABEL": "Work email",
|
"LABEL": "Work email",
|
||||||
"PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises",
|
"PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises",
|
||||||
"ERROR": "Email address is invalid"
|
"ERROR": "Please enter a valid work email address"
|
||||||
},
|
},
|
||||||
"PASSWORD": {
|
"PASSWORD": {
|
||||||
"LABEL": "Password",
|
"LABEL": "Password",
|
||||||
|
|
6
app/javascript/dashboard/i18n/locale/hu/emoji.json
Normal file
6
app/javascript/dashboard/i18n/locale/hu/emoji.json
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"EMOJI": {
|
||||||
|
"PLACEHOLDER": "Search emojis",
|
||||||
|
"NOT_FOUND": "No emoji match your search"
|
||||||
|
}
|
||||||
|
}
|
|
@ -134,7 +134,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Telefonszám",
|
"LABEL": "Telefonszám",
|
||||||
"PLACEHOLDER": "Kérjük add meg a telefonszámot, amire az üzeneteket küldjük.",
|
"PLACEHOLDER": "Kérjük add meg a telefonszámot, amire az üzeneteket küldjük.",
|
||||||
"ERROR": "Kérjük helyes értéket adj meg. A telefonszám a '+' jellel kezdődjön."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"API_CALLBACK": {
|
"API_CALLBACK": {
|
||||||
"TITLE": "Visszahívás URL",
|
"TITLE": "Visszahívás URL",
|
||||||
|
@ -185,7 +185,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Telefonszám",
|
"LABEL": "Telefonszám",
|
||||||
"PLACEHOLDER": "Kérjük add meg a telefonszámot, amire az üzeneteket küldjük.",
|
"PLACEHOLDER": "Kérjük add meg a telefonszámot, amire az üzeneteket küldjük.",
|
||||||
"ERROR": "Kérjük helyes értéket adj meg. A telefonszám a '+' jellel kezdődjön."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"SUBMIT_BUTTON": "Create Bandwidth Channel",
|
"SUBMIT_BUTTON": "Create Bandwidth Channel",
|
||||||
"API": {
|
"API": {
|
||||||
|
@ -214,7 +214,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Telefonszám",
|
"LABEL": "Telefonszám",
|
||||||
"PLACEHOLDER": "Kérjük add meg a telefonszámot, amire az üzeneteket küldjük.",
|
"PLACEHOLDER": "Kérjük add meg a telefonszámot, amire az üzeneteket küldjük.",
|
||||||
"ERROR": "Kérjük helyes értéket adj meg. A telefonszám a '+' jellel kezdődjön."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"PHONE_NUMBER_ID": {
|
"PHONE_NUMBER_ID": {
|
||||||
"LABEL": "Phone number ID",
|
"LABEL": "Phone number ID",
|
||||||
|
|
|
@ -257,7 +257,7 @@
|
||||||
},
|
},
|
||||||
"FORM": {
|
"FORM": {
|
||||||
"NAME": {
|
"NAME": {
|
||||||
"LABEL": "Fióknév",
|
"LABEL": "Cégnév",
|
||||||
"PLACEHOLDER": "Kovács Kft."
|
"PLACEHOLDER": "Kovács Kft."
|
||||||
},
|
},
|
||||||
"SUBMIT": "Elküldés"
|
"SUBMIT": "Elküldés"
|
||||||
|
|
|
@ -2,11 +2,13 @@
|
||||||
"REGISTER": {
|
"REGISTER": {
|
||||||
"TRY_WOOT": "Fiók létrehozása",
|
"TRY_WOOT": "Fiók létrehozása",
|
||||||
"TITLE": "Regisztrálás",
|
"TITLE": "Regisztrálás",
|
||||||
|
"TESTIMONIAL_HEADER": "All it takes is one step to move forward",
|
||||||
|
"TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.",
|
||||||
"TERMS_ACCEPT": "A feliratkozással megerősíted, hogy egyetértesz a <a href=\"https://www.chatwoot.com/terms\"> Felhasználói feltételekkel</a> és az <a href=\"https://www.chatwoot.com/privacy-policy\">Adatkezelési politikával</a>",
|
"TERMS_ACCEPT": "A feliratkozással megerősíted, hogy egyetértesz a <a href=\"https://www.chatwoot.com/terms\"> Felhasználói feltételekkel</a> és az <a href=\"https://www.chatwoot.com/privacy-policy\">Adatkezelési politikával</a>",
|
||||||
"ACCOUNT_NAME": {
|
"COMPANY_NAME": {
|
||||||
"LABEL": "Fióknév",
|
"LABEL": "Company name",
|
||||||
"PLACEHOLDER": "Fióknév hozzáadása. Pl.: Wayne Kft.",
|
"PLACEHOLDER": "Enter your company name. eg: Wayne Enterprises",
|
||||||
"ERROR": "A fióknév túl rövid"
|
"ERROR": "Company name is too short"
|
||||||
},
|
},
|
||||||
"FULL_NAME": {
|
"FULL_NAME": {
|
||||||
"LABEL": "Teljes név",
|
"LABEL": "Teljes név",
|
||||||
|
@ -16,7 +18,7 @@
|
||||||
"EMAIL": {
|
"EMAIL": {
|
||||||
"LABEL": "Munkahelyi e-mail",
|
"LABEL": "Munkahelyi e-mail",
|
||||||
"PLACEHOLDER": "Add meg munkahelyi e-mailcímed. Pl. kovacs.janos@email.hu",
|
"PLACEHOLDER": "Add meg munkahelyi e-mailcímed. Pl. kovacs.janos@email.hu",
|
||||||
"ERROR": "Az e-mailcím helytelen"
|
"ERROR": "Please enter a valid work email address"
|
||||||
},
|
},
|
||||||
"PASSWORD": {
|
"PASSWORD": {
|
||||||
"LABEL": "Jelszó",
|
"LABEL": "Jelszó",
|
||||||
|
|
6
app/javascript/dashboard/i18n/locale/id/emoji.json
Normal file
6
app/javascript/dashboard/i18n/locale/id/emoji.json
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"EMOJI": {
|
||||||
|
"PLACEHOLDER": "Search emojis",
|
||||||
|
"NOT_FOUND": "No emoji match your search"
|
||||||
|
}
|
||||||
|
}
|
|
@ -134,7 +134,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Nomor Telpon",
|
"LABEL": "Nomor Telpon",
|
||||||
"PLACEHOLDER": "Silakan masukkan nomor telepon dari mana pesan akan dikirim.",
|
"PLACEHOLDER": "Silakan masukkan nomor telepon dari mana pesan akan dikirim.",
|
||||||
"ERROR": "Harap masukkan nomor yang valid. Nomor telepon harus dimulai dengan tanda `+`."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"API_CALLBACK": {
|
"API_CALLBACK": {
|
||||||
"TITLE": "URL Callback",
|
"TITLE": "URL Callback",
|
||||||
|
@ -185,7 +185,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Nomor Telpon",
|
"LABEL": "Nomor Telpon",
|
||||||
"PLACEHOLDER": "Silakan masukkan nomor telepon dari mana pesan akan dikirim.",
|
"PLACEHOLDER": "Silakan masukkan nomor telepon dari mana pesan akan dikirim.",
|
||||||
"ERROR": "Harap masukkan nomor yang valid. Nomor telepon harus dimulai dengan tanda `+`."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"SUBMIT_BUTTON": "Create Bandwidth Channel",
|
"SUBMIT_BUTTON": "Create Bandwidth Channel",
|
||||||
"API": {
|
"API": {
|
||||||
|
@ -214,7 +214,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Nomor Telpon",
|
"LABEL": "Nomor Telpon",
|
||||||
"PLACEHOLDER": "Silakan masukkan nomor telepon dari mana pesan akan dikirim.",
|
"PLACEHOLDER": "Silakan masukkan nomor telepon dari mana pesan akan dikirim.",
|
||||||
"ERROR": "Harap masukkan nomor yang valid. Nomor telepon harus dimulai dengan tanda `+`."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"PHONE_NUMBER_ID": {
|
"PHONE_NUMBER_ID": {
|
||||||
"LABEL": "Phone number ID",
|
"LABEL": "Phone number ID",
|
||||||
|
|
|
@ -257,7 +257,7 @@
|
||||||
},
|
},
|
||||||
"FORM": {
|
"FORM": {
|
||||||
"NAME": {
|
"NAME": {
|
||||||
"LABEL": "Nama Akun",
|
"LABEL": "Nama Perusahaan",
|
||||||
"PLACEHOLDER": "Wayne Enterprises"
|
"PLACEHOLDER": "Wayne Enterprises"
|
||||||
},
|
},
|
||||||
"SUBMIT": "Kirim"
|
"SUBMIT": "Kirim"
|
||||||
|
|
|
@ -2,11 +2,13 @@
|
||||||
"REGISTER": {
|
"REGISTER": {
|
||||||
"TRY_WOOT": "Daftar akun",
|
"TRY_WOOT": "Daftar akun",
|
||||||
"TITLE": "Daftar",
|
"TITLE": "Daftar",
|
||||||
|
"TESTIMONIAL_HEADER": "All it takes is one step to move forward",
|
||||||
|
"TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.",
|
||||||
"TERMS_ACCEPT": "Dengan mendaftar, Anda menyetujui <a href=\"https://www.chatwoot.com/terms\">S&K</a> dan <a href=\"https://www.chatwoot.com/privacy-policy\">Kebijakan Privasi</a>",
|
"TERMS_ACCEPT": "Dengan mendaftar, Anda menyetujui <a href=\"https://www.chatwoot.com/terms\">S&K</a> dan <a href=\"https://www.chatwoot.com/privacy-policy\">Kebijakan Privasi</a>",
|
||||||
"ACCOUNT_NAME": {
|
"COMPANY_NAME": {
|
||||||
"LABEL": "Nama Akun",
|
"LABEL": "Company name",
|
||||||
"PLACEHOLDER": "Masukkan nama akun. cth: Wayne Enterprises",
|
"PLACEHOLDER": "Enter your company name. eg: Wayne Enterprises",
|
||||||
"ERROR": "Nama Akun terlalu pendek"
|
"ERROR": "Company name is too short"
|
||||||
},
|
},
|
||||||
"FULL_NAME": {
|
"FULL_NAME": {
|
||||||
"LABEL": "Nama Lengkap",
|
"LABEL": "Nama Lengkap",
|
||||||
|
@ -16,7 +18,7 @@
|
||||||
"EMAIL": {
|
"EMAIL": {
|
||||||
"LABEL": "Email kantor",
|
"LABEL": "Email kantor",
|
||||||
"PLACEHOLDER": "Masukkan alamat email kantor Anda. cth: bruce@wayne.enterprises",
|
"PLACEHOLDER": "Masukkan alamat email kantor Anda. cth: bruce@wayne.enterprises",
|
||||||
"ERROR": "Alamat email salah"
|
"ERROR": "Please enter a valid work email address"
|
||||||
},
|
},
|
||||||
"PASSWORD": {
|
"PASSWORD": {
|
||||||
"LABEL": "Kata Sandi",
|
"LABEL": "Kata Sandi",
|
||||||
|
|
6
app/javascript/dashboard/i18n/locale/is/emoji.json
Normal file
6
app/javascript/dashboard/i18n/locale/is/emoji.json
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"EMOJI": {
|
||||||
|
"PLACEHOLDER": "Search emojis",
|
||||||
|
"NOT_FOUND": "No emoji match your search"
|
||||||
|
}
|
||||||
|
}
|
|
@ -134,7 +134,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Phone number",
|
"LABEL": "Phone number",
|
||||||
"PLACEHOLDER": "Vinsamlega sláðu inn símanúmerið sem skilaboð verða send frá.",
|
"PLACEHOLDER": "Vinsamlega sláðu inn símanúmerið sem skilaboð verða send frá.",
|
||||||
"ERROR": "Vinsamlega sláðu inn gilt gildi. Símanúmer ætti að byrja á „+“ tákni."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"API_CALLBACK": {
|
"API_CALLBACK": {
|
||||||
"TITLE": "Callback URL",
|
"TITLE": "Callback URL",
|
||||||
|
@ -185,7 +185,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Phone number",
|
"LABEL": "Phone number",
|
||||||
"PLACEHOLDER": "Vinsamlega sláðu inn símanúmerið sem skilaboð verða send frá.",
|
"PLACEHOLDER": "Vinsamlega sláðu inn símanúmerið sem skilaboð verða send frá.",
|
||||||
"ERROR": "Vinsamlega sláðu inn gilt gildi. Símanúmer ætti að byrja á „+“ tákni."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"SUBMIT_BUTTON": "Create Bandwidth Channel",
|
"SUBMIT_BUTTON": "Create Bandwidth Channel",
|
||||||
"API": {
|
"API": {
|
||||||
|
@ -214,7 +214,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Phone number",
|
"LABEL": "Phone number",
|
||||||
"PLACEHOLDER": "Vinsamlega sláðu inn símanúmerið sem skilaboð verða send frá.",
|
"PLACEHOLDER": "Vinsamlega sláðu inn símanúmerið sem skilaboð verða send frá.",
|
||||||
"ERROR": "Vinsamlega sláðu inn gilt gildi. Símanúmer ætti að byrja á „+“ tákni."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"PHONE_NUMBER_ID": {
|
"PHONE_NUMBER_ID": {
|
||||||
"LABEL": "Phone number ID",
|
"LABEL": "Phone number ID",
|
||||||
|
|
|
@ -257,7 +257,7 @@
|
||||||
},
|
},
|
||||||
"FORM": {
|
"FORM": {
|
||||||
"NAME": {
|
"NAME": {
|
||||||
"LABEL": "Account Name",
|
"LABEL": "Company Name",
|
||||||
"PLACEHOLDER": "Wayne Enterprises"
|
"PLACEHOLDER": "Wayne Enterprises"
|
||||||
},
|
},
|
||||||
"SUBMIT": "Submit"
|
"SUBMIT": "Submit"
|
||||||
|
|
|
@ -2,11 +2,13 @@
|
||||||
"REGISTER": {
|
"REGISTER": {
|
||||||
"TRY_WOOT": "Register an account",
|
"TRY_WOOT": "Register an account",
|
||||||
"TITLE": "Register",
|
"TITLE": "Register",
|
||||||
|
"TESTIMONIAL_HEADER": "All it takes is one step to move forward",
|
||||||
|
"TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.",
|
||||||
"TERMS_ACCEPT": "Með því að skrá þig samþykkir þú <a href=\"https://www.chatwoot.com/terms\">Skilmála</a> okkar og <a href=\"https://www.chatwoot.com/privacy -policy\">Persónuverndarstefnu</a>",
|
"TERMS_ACCEPT": "Með því að skrá þig samþykkir þú <a href=\"https://www.chatwoot.com/terms\">Skilmála</a> okkar og <a href=\"https://www.chatwoot.com/privacy -policy\">Persónuverndarstefnu</a>",
|
||||||
"ACCOUNT_NAME": {
|
"COMPANY_NAME": {
|
||||||
"LABEL": "Account name",
|
"LABEL": "Company name",
|
||||||
"PLACEHOLDER": "Sláðu inn reikningsnafn. td: Wayne Enterprises",
|
"PLACEHOLDER": "Enter your company name. eg: Wayne Enterprises",
|
||||||
"ERROR": "Account name is too short"
|
"ERROR": "Company name is too short"
|
||||||
},
|
},
|
||||||
"FULL_NAME": {
|
"FULL_NAME": {
|
||||||
"LABEL": "Full name",
|
"LABEL": "Full name",
|
||||||
|
@ -16,7 +18,7 @@
|
||||||
"EMAIL": {
|
"EMAIL": {
|
||||||
"LABEL": "Work email",
|
"LABEL": "Work email",
|
||||||
"PLACEHOLDER": "Sláðu inn vinnunetfangið þitt. td: bruce@wayne.enterprises",
|
"PLACEHOLDER": "Sláðu inn vinnunetfangið þitt. td: bruce@wayne.enterprises",
|
||||||
"ERROR": "Email address is invalid"
|
"ERROR": "Please enter a valid work email address"
|
||||||
},
|
},
|
||||||
"PASSWORD": {
|
"PASSWORD": {
|
||||||
"LABEL": "Password",
|
"LABEL": "Password",
|
||||||
|
|
6
app/javascript/dashboard/i18n/locale/it/emoji.json
Normal file
6
app/javascript/dashboard/i18n/locale/it/emoji.json
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"EMOJI": {
|
||||||
|
"PLACEHOLDER": "Search emojis",
|
||||||
|
"NOT_FOUND": "No emoji match your search"
|
||||||
|
}
|
||||||
|
}
|
|
@ -134,7 +134,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Numero di telefono",
|
"LABEL": "Numero di telefono",
|
||||||
"PLACEHOLDER": "Inserisci il numero di telefono dal quale verrà inviato il messaggio.",
|
"PLACEHOLDER": "Inserisci il numero di telefono dal quale verrà inviato il messaggio.",
|
||||||
"ERROR": "Inserisci un valore valido. Il numero di telefono dovrebbe iniziare con segno `+`."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"API_CALLBACK": {
|
"API_CALLBACK": {
|
||||||
"TITLE": "URL di callback",
|
"TITLE": "URL di callback",
|
||||||
|
@ -185,7 +185,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Numero di telefono",
|
"LABEL": "Numero di telefono",
|
||||||
"PLACEHOLDER": "Inserisci il numero di telefono dal quale verrà inviato il messaggio.",
|
"PLACEHOLDER": "Inserisci il numero di telefono dal quale verrà inviato il messaggio.",
|
||||||
"ERROR": "Inserisci un valore valido. Il numero di telefono dovrebbe iniziare con segno `+`."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"SUBMIT_BUTTON": "Crea un canale Bandwidth",
|
"SUBMIT_BUTTON": "Crea un canale Bandwidth",
|
||||||
"API": {
|
"API": {
|
||||||
|
@ -214,7 +214,7 @@
|
||||||
"PHONE_NUMBER": {
|
"PHONE_NUMBER": {
|
||||||
"LABEL": "Numero di telefono",
|
"LABEL": "Numero di telefono",
|
||||||
"PLACEHOLDER": "Inserisci il numero di telefono dal quale verrà inviato il messaggio.",
|
"PLACEHOLDER": "Inserisci il numero di telefono dal quale verrà inviato il messaggio.",
|
||||||
"ERROR": "Inserisci un valore valido. Il numero di telefono dovrebbe iniziare con segno `+`."
|
"ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces."
|
||||||
},
|
},
|
||||||
"PHONE_NUMBER_ID": {
|
"PHONE_NUMBER_ID": {
|
||||||
"LABEL": "ID numero di telefono",
|
"LABEL": "ID numero di telefono",
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue