Merge branch 'release/1.7.1'

This commit is contained in:
Sojan 2020-08-23 13:49:08 +05:30
commit aea5ea3a06
362 changed files with 7709 additions and 2785 deletions

View file

@ -47,7 +47,7 @@ gem 'redis-rack-cache'
gem 'dotenv-rails' gem 'dotenv-rails'
gem 'foreman' gem 'foreman'
gem 'puma' gem 'puma'
gem 'webpacker' gem 'webpacker', '~> 5.x'
##--- gems for authentication & authorization ---## ##--- gems for authentication & authorization ---##
gem 'devise' gem 'devise'

View file

@ -141,7 +141,7 @@ GEM
coderay (1.1.3) coderay (1.1.3)
coercible (1.0.0) coercible (1.0.0)
descendants_tracker (~> 0.0.1) descendants_tracker (~> 0.0.1)
concurrent-ruby (1.1.6) concurrent-ruby (1.1.7)
connection_pool (2.2.3) connection_pool (2.2.3)
crack (0.4.3) crack (0.4.3)
safe_yaml (~> 1.0.0) safe_yaml (~> 1.0.0)
@ -242,7 +242,7 @@ GEM
mime-types (~> 3.0) mime-types (~> 3.0)
multi_xml (>= 0.5.2) multi_xml (>= 0.5.2)
httpclient (2.8.3) httpclient (2.8.3)
i18n (1.8.3) i18n (1.8.5)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
ice_nine (0.11.2) ice_nine (0.11.2)
inflecto (0.0.2) inflecto (0.0.2)
@ -304,7 +304,7 @@ GEM
multipart-post (2.1.1) multipart-post (2.1.1)
netrc (0.11.0) netrc (0.11.0)
nio4r (2.5.2) nio4r (2.5.2)
nokogiri (1.10.9) nokogiri (1.10.10)
mini_portile2 (~> 2.4.0) mini_portile2 (~> 2.4.0)
oauth (0.5.4) oauth (0.5.4)
orm_adapter (0.5.0) orm_adapter (0.5.0)
@ -533,7 +533,7 @@ GEM
addressable (>= 2.3.6) addressable (>= 2.3.6)
crack (>= 0.3.2) crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0) hashdiff (>= 0.4.0, < 2.0.0)
webpacker (5.1.1) webpacker (5.2.1)
activesupport (>= 5.2) activesupport (>= 5.2)
rack-proxy (>= 0.6.1) rack-proxy (>= 0.6.1)
railties (>= 5.2) railties (>= 5.2)
@ -545,7 +545,7 @@ GEM
websocket-extensions (>= 0.1.0) websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5) websocket-extensions (0.1.5)
wisper (2.0.0) wisper (2.0.0)
zeitwerk (2.3.0) zeitwerk (2.4.0)
PLATFORMS PLATFORMS
ruby ruby
@ -625,7 +625,7 @@ DEPENDENCIES
valid_email2 valid_email2
web-console web-console
webmock webmock
webpacker webpacker (~> 5.x)
webpush webpush
wisper (= 2.0.0) wisper (= 2.0.0)

View file

@ -23,40 +23,71 @@ ___
<a href="https://discord.gg/cJXdrwS"><img src="https://img.shields.io/discord/647412545203994635" alt="Discord"></a> <a href="https://discord.gg/cJXdrwS"><img src="https://img.shields.io/discord/647412545203994635" alt="Discord"></a>
</p> </p>
![ChatUI progess](https://s3.us-west-2.amazonaws.com/gh-assets.chatwoot.com/chatwoot-dashboard-assets.png) <img src="https://s3.us-west-2.amazonaws.com/gh-assets.chatwoot.com/chatwoot-dashboard-assets.png" width="100%" alt="Chat dashboard"/>
## Background
Chatwoot is a customer support tool for instant messaging channels which can help businesses provide exceptional customer support. The development of Chatwoot started in 2016. It failed to succeed as a business and eventually shut up shop in 2017. During 2019 #Hacktoberfest, the maintainers decided to make it opensource, instead of letting the code rust in a private repo. With a pleasant surprise, Chatwoot became a trending project on Hacker News and best of all, got lots of love from the community.
Chatwoot is an open-source omnichannel customer support software. The development of Chatwoot started in 2016. It failed to succeed as a business and eventually shut up shop in 2017. During 2019 #Hacktoberfest, the maintainers decided to make it open-source, instead of letting the code rust in a private repo. With a pleasant surprise, Chatwoot became a trending project on Hacker News and best of all, got lots of love from the community.
Now, a failed project is back on track and the prospects are looking great. The team is back to working on the project and this time, we are building it in the open. Thanks to the ideas and contributions from the community. Now, a failed project is back on track and the prospects are looking great. The team is back to working on the project and this time, we are building it in the open. Thanks to the ideas and contributions from the community.
## Documentation ---
Detailed documentation is available at [www.chatwoot.com/docs](https://www.chatwoot.com/docs). ### Features
You can find the quick setup docs [here](https://www.chatwoot.com/docs/quick-setup). Chatwoot gives an integrated view of conversations happening in different communication channels.
## Branching model It supports the following conversation channels:
- **Website**: Talk to your customers using our live chat widget and make use of our SDK to identify a user and provide contextual support.
- **Facebook**: Connect your Facebook pages and start replying to the direct messages to your page.
- **Twitter**: Connect your Twitter profiles and reply to direct messages or the tweets where you are mentioned.
- **Whatsapp**: Connect your Whatsapp business account and manage the conversation in Chatwoot
- **SMS**: Connect your Twilio SMS account and reply to the SMS queries in Chatwoot
- **API Channel**: Build custom communication channels using our API channel.
- **Email (beta)**: Forward all your email queries to Chatwoot and view it in our integrated dashboard.
Other features include:
- **Multi-brand inboxes**: Manage multiple brands or pages using a single dashboard.
- **Private notes**: Inter team communication is possible using private notes in a conversation.
- **Canned responses (Saved replies)**: Improve the response rate by adding saved replies for frequently asked questions.
- **Conversation Labels**: Use conversation labelling to create custom workflows.
- **Auto assignment**: Chatwoot intelligently assigns a ticket to the agents who have access to the inbox depending on their availability and load.
- **Conversation continuity**: If the user has provided an email address through the chat widget, Chatwoot would send an email to the customer under the agent name so that the user can continue the conversation over the email.
- **Multi-lingual support**: Chatwoot supports 10+ languages.
- **Powerful API & Webhooks**: Extend the capability of the software using Chatwoots webhooks and APIs.
- **Integrations**: Chatwoot natively integrates with Slack right now. Manage your conversations in Slack without logging into the dashboard.
---
### Documentation
Detailed documentation is available at [www.chatwoot.com/help-center](https://www.chatwoot.com/help-center).
---
### Branching model
We use the [git-flow](https://nvie.com/posts/a-successful-git-branching-model/) branching model. The base branch is `develop`. We use the [git-flow](https://nvie.com/posts/a-successful-git-branching-model/) branching model. The base branch is `develop`.
If you are looking for a stable version, please use the `master` or tags labelled as `v1.x.x`. If you are looking for a stable version, please use the `master` or tags labelled as `v1.x.x`.
## Heroku one-click deploy ---
Deploying chatwoot to heroku is a breeze. It's as simple as clicking this button: ### Deployment
#### Heroku one-click deploy
Deploying Chatwoot to Heroku is a breeze. It's as simple as clicking this button:
[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/chatwoot/chatwoot/tree/master) [![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/chatwoot/chatwoot/tree/master)
Follow this [link](https://www.chatwoot.com/docs/environment-variables) to understand setting the correct environment variables for the app to work with all the features. There might be breakages if you do not set the relevant environment variables. This applies to deploying the docker image as well. Follow this [link](https://www.chatwoot.com/docs/environment-variables) to understand setting the correct environment variables for the app to work with all the features. There might be breakages if you do not set the relevant environment variables.
## Docker #### Other deployment options
Follow our [docker development guide](https://www.chatwoot.com/docs/installation-guide-docker) to develop and debug the application using `docker-compose`. Please follow [deployment architecture guide](https://www.chatwoot.com/docs/deployment/architecture) to deploy with Docker or Caprover.
Follow our [environment variables](https://www.chatwoot.com/docs/environment-variables/) guide to setup the environment for Docker. ---
## Contributors ✨ ### Contributors ✨
Thanks goes to all these [wonderful people](https://www.chatwoot.com/docs/contributors): Thanks goes to all these [wonderful people](https://www.chatwoot.com/docs/contributors):

View file

@ -33,7 +33,8 @@ class ContactIdentifyAction
end end
def update_contact def update_contact
@contact.update!(params.slice(:name, :email, :identifier)) custom_attributes = params[:custom_attributes] ? @contact.custom_attributes.merge(params[:custom_attributes]) : @contact.custom_attributes
@contact.update!(params.slice(:name, :email, :identifier).merge({ custom_attributes: custom_attributes }))
ContactAvatarJob.perform_later(@contact, params[:avatar_url]) if params[:avatar_url].present? ContactAvatarJob.perform_later(@contact, params[:avatar_url]) if params[:avatar_url].present?
end end

View file

@ -64,6 +64,6 @@ class Api::V1::Accounts::AgentsController < Api::V1::Accounts::BaseController
end end
def agents def agents
@agents ||= Current.account.users @agents ||= Current.account.users.order_by_full_name
end end
end end

View file

@ -12,14 +12,19 @@ class Api::V1::Accounts::ContactsController < Api::V1::Accounts::BaseController
def create def create
ActiveRecord::Base.transaction do ActiveRecord::Base.transaction do
@contact = Current.account.contacts.new(contact_create_params) @contact = Current.account.contacts.new(contact_params)
@contact.save! @contact.save!
@contact_inbox = build_contact_inbox @contact_inbox = build_contact_inbox
end end
end end
def update def update
@contact.update!(contact_params) @contact.update!(contact_update_params)
rescue ActiveRecord::RecordInvalid => e
render json: {
message: e.record.errors.full_messages.join(', '),
contact: Contact.find_by(email: contact_params[:email])
}, status: :unprocessable_entity
end end
def search def search
@ -43,14 +48,21 @@ class Api::V1::Accounts::ContactsController < Api::V1::Accounts::BaseController
end end
def contact_params def contact_params
params.require(:contact).permit(:name, :email, :phone_number) params.require(:contact).permit(:name, :email, :phone_number, additional_attributes: {}, custom_attributes: {})
end
def contact_custom_attributes
return @contact.custom_attributes.merge(contact_params[:custom_attributes]) if contact_params[:custom_attributes]
@contact.custom_attributes
end
def contact_update_params
# we want the merged custom attributes not the original one
contact_params.except(:custom_attributes).merge({ custom_attributes: contact_custom_attributes })
end end
def fetch_contact def fetch_contact
@contact = Current.account.contacts.find(params[:id]) @contact = Current.account.contacts.find(params[:id])
end end
def contact_create_params
params.require(:contact).permit(:name, :email, :phone_number)
end
end end

View file

@ -25,6 +25,11 @@ class Api::V1::Accounts::ConversationsController < Api::V1::Accounts::BaseContro
head :ok head :ok
end end
def transcript
ConversationReplyMailer.conversation_transcript(@conversation, params[:email])&.deliver_later if params[:email].present?
head :ok
end
def toggle_status def toggle_status
if params[:status] if params[:status]
@conversation.status = params[:status] @conversation.status = params[:status]

View file

@ -4,7 +4,7 @@ class Api::V1::Accounts::InboxesController < Api::V1::Accounts::BaseController
before_action :check_authorization before_action :check_authorization
def index def index
@inboxes = policy_scope(Current.account.inboxes.order_by_id.includes(:channel, :avatar_attachment)) @inboxes = policy_scope(Current.account.inboxes.order_by_name.includes(:channel, :avatar_attachment))
end end
def create def create

View file

@ -10,6 +10,6 @@ class Api::V1::Widget::ContactsController < Api::V1::Widget::BaseController
private private
def permitted_params def permitted_params
params.permit(:website_token, :identifier, :email, :name, :avatar_url) params.permit(:website_token, :identifier, :email, :name, :avatar_url, custom_attributes: {})
end end
end end

View file

@ -13,6 +13,16 @@ class Api::V1::Widget::ConversationsController < Api::V1::Widget::BaseController
head :ok head :ok
end end
def transcript
if permitted_params[:email].present? && conversation.present?
ConversationReplyMailer.conversation_transcript(
conversation,
permitted_params[:email]
)&.deliver_later
end
head :ok
end
def toggle_typing def toggle_typing
head :ok && return if conversation.nil? head :ok && return if conversation.nil?
@ -32,6 +42,6 @@ class Api::V1::Widget::ConversationsController < Api::V1::Widget::BaseController
end end
def permitted_params def permitted_params
params.permit(:id, :typing_status, :website_token) params.permit(:id, :typing_status, :website_token, :email)
end end
end end

View file

@ -1,2 +1,5 @@
class UserDrop < BaseDrop class UserDrop < BaseDrop
def available_name
@obj.try(:available_name)
end
end end

View file

@ -53,6 +53,10 @@ class ConversationApi extends ApiClient {
}, },
}); });
} }
sendEmailTranscript({ conversationId, email }) {
return axios.post(`${this.url}/${conversationId}/transcript`, { email });
}
} }
export default new ConversationApi(); export default new ConversationApi();

View file

@ -15,5 +15,6 @@ describe('#ConversationAPI', () => {
expect(conversationAPI).toHaveProperty('toggleTyping'); expect(conversationAPI).toHaveProperty('toggleTyping');
expect(conversationAPI).toHaveProperty('mute'); expect(conversationAPI).toHaveProperty('mute');
expect(conversationAPI).toHaveProperty('meta'); expect(conversationAPI).toHaveProperty('meta');
expect(conversationAPI).toHaveProperty('sendEmailTranscript');
}); });
}); });

View file

@ -37,3 +37,9 @@ code {
padding: $space-two; padding: $space-two;
} }
} }
.text-truncate {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}

View file

@ -347,7 +347,7 @@ $helptext-color: $header-color;
$helptext-font-size: $font-size-small; $helptext-font-size: $font-size-small;
$helptext-font-style: italic; $helptext-font-style: italic;
$input-prefix-color: $header-color; $input-prefix-color: $header-color;
$input-prefix-background: $light-gray; $input-prefix-background: var(--b-100);
$input-prefix-border: 1px solid $color-border; $input-prefix-border: 1px solid $color-border;
$input-prefix-padding: 1rem; $input-prefix-padding: 1rem;
$form-label-color: $header-color; $form-label-color: $header-color;

View file

@ -55,5 +55,17 @@
input, input,
textarea, textarea,
select { select {
border-radius: 4px !important; border-radius: var(--space-smaller) !important;
}
.input-group {
.input-group-label:first-child {
border-bottom-left-radius: var(--space-smaller);
border-top-left-radius: var(--space-smaller);
}
.input-group-field {
border-bottom-left-radius: 0 !important;
border-top-left-radius: 0 !important;
}
} }

View file

@ -235,3 +235,12 @@ $spinner-before-border-color: rgba(255, 255, 255, 0.7);
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
} }
.justify-space-between {
justify-content: space-between;
}
.w-100 {
width: 100%;
}

View file

@ -15,10 +15,9 @@
.multiselect-box { .multiselect-box {
@include flex; @include flex;
@include flex-align($x: justify, $y: middle); @include flex-align($x: justify, $y: middle);
@include margin(0 $space-small);
@include border-light; @include border-light;
border-radius: $space-smaller; border-radius: $space-smaller;
margin-right: $space-normal; margin-right: var(--space-small);
&::before { &::before {
color: $medium-gray; color: $medium-gray;

View file

@ -0,0 +1,43 @@
<template>
<button :type="type" class="button nice" :class="variant" @click="onClick">
<i
v-if="!isLoading && icon"
class="icon"
:class="buttonIconClass + ' ' + icon"
/>
<spinner v-if="isLoading" />
<slot></slot>
</button>
</template>
<script>
export default {
props: {
isLoading: {
type: Boolean,
default: false,
},
icon: {
type: String,
default: '',
},
buttonIconClass: {
type: String,
default: '',
},
type: {
type: String,
default: 'button',
},
variant: {
type: String,
default: 'primary',
},
},
methods: {
onClick(e) {
this.$emit('click', e);
},
},
};
</script>

View file

@ -12,8 +12,6 @@
</template> </template>
<script> <script>
/* eslint no-console: 0 */
/* global bus */
import { mapGetters } from 'vuex'; import { mapGetters } from 'vuex';
import Spinner from 'shared/components/Spinner'; import Spinner from 'shared/components/Spinner';
import wootConstants from '../../constants'; import wootConstants from '../../constants';
@ -22,7 +20,7 @@ export default {
components: { components: {
Spinner, Spinner,
}, },
props: ['conversationId'], props: { conversationId: { type: [String, Number], required: true } },
data() { data() {
return { return {
isLoading: false, isLoading: false,
@ -32,22 +30,19 @@ export default {
...mapGetters({ ...mapGetters({
currentChat: 'getSelectedChat', currentChat: 'getSelectedChat',
}), }),
isOpen() {
return this.currentChat.status === wootConstants.STATUS_TYPE.OPEN;
},
currentStatus() { currentStatus() {
const ButtonName = return this.isOpen
this.currentChat.status === wootConstants.STATUS_TYPE.OPEN ? this.$t('CONVERSATION.HEADER.RESOLVE_ACTION')
? this.$t('CONVERSATION.HEADER.RESOLVE_ACTION') : this.$t('CONVERSATION.HEADER.REOPEN_ACTION');
: this.$t('CONVERSATION.HEADER.REOPEN_ACTION');
return ButtonName;
}, },
buttonClass() { buttonClass() {
return this.currentChat.status === wootConstants.STATUS_TYPE.OPEN return this.isOpen ? 'success' : 'warning';
? 'success'
: 'warning';
}, },
buttonIconClass() { buttonIconClass() {
return this.currentChat.status === wootConstants.STATUS_TYPE.OPEN return this.isOpen ? 'ion-checkmark' : 'ion-refresh';
? 'ion-checkmark'
: 'ion-refresh';
}, },
}, },
methods: { methods: {

View file

@ -2,6 +2,7 @@
/* eslint-env browser */ /* eslint-env browser */
import AvatarUploader from './widgets/forms/AvatarUploader.vue'; import AvatarUploader from './widgets/forms/AvatarUploader.vue';
import Bar from './widgets/chart/BarChart'; import Bar from './widgets/chart/BarChart';
import Button from './widgets/Button';
import Code from './Code'; import Code from './Code';
import ColorPicker from './widgets/ColorPicker'; import ColorPicker from './widgets/ColorPicker';
import DeleteModal from './widgets/modal/DeleteModal.vue'; import DeleteModal from './widgets/modal/DeleteModal.vue';
@ -21,6 +22,7 @@ import Thumbnail from './widgets/Thumbnail.vue';
const WootUIKit = { const WootUIKit = {
AvatarUploader, AvatarUploader,
Bar, Bar,
Button,
Code, Code,
ColorPicker, ColorPicker,
DeleteModal, DeleteModal,

View file

@ -0,0 +1,49 @@
<template>
<button :type="type" class="button nice" :class="variant" @click="onClick">
<i
v-if="!isLoading && icon"
class="icon"
:class="buttonIconClass + ' ' + icon"
/>
<spinner v-if="isLoading" />
<slot></slot>
</button>
</template>
<script>
export default {
props: {
isLoading: {
type: Boolean,
default: false,
},
icon: {
type: String,
default: '',
},
buttonIconClass: {
type: String,
default: '',
},
type: {
type: String,
default: 'button',
},
variant: {
type: String,
default: 'primary',
},
},
methods: {
onClick(e) {
this.$emit('click', e);
},
},
};
</script>
<style scoped>
.icon {
font-size: var(--font-size-large) !important;
}
</style>

View file

@ -87,11 +87,3 @@ export default {
}, },
}; };
</script> </script>
<style lang="scss" scoped>
.text-truncate {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
</style>

View file

@ -4,7 +4,7 @@
v-if="currentChat.id" v-if="currentChat.id"
:inbox-id="inboxId" :inbox-id="inboxId"
:is-contact-panel-open="isContactPanelOpen" :is-contact-panel-open="isContactPanelOpen"
@contactPanelToggle="onToggleContactPanel" @contact-panel-toggle="onToggleContactPanel"
/> />
<empty-state v-else /> <empty-state v-else />
</div> </div>
@ -43,7 +43,7 @@ export default {
}, },
methods: { methods: {
onToggleContactPanel() { onToggleContactPanel() {
this.$emit('contactPanelToggle'); this.$emit('contact-panel-toggle');
}, },
}, },
}; };

View file

@ -1,6 +1,6 @@
<template> <template>
<div class="conv-header"> <div class="conv-header">
<div class="user"> <div v-if="!isContactPanelOpen" class="user">
<Thumbnail <Thumbnail
:src="currentContact.thumbnail" :src="currentContact.thumbnail"
size="40px" size="40px"
@ -14,13 +14,20 @@
</h3> </h3>
<button <button
class="user--profile__button clear button small" class="user--profile__button clear button small"
@click="$emit('contactPanelToggle')" @click="$emit('contact-panel-toggle')"
> >
{{ viewProfileButtonLabel }} {{
`${$t('CONVERSATION.HEADER.OPEN')} ${$t(
'CONVERSATION.HEADER.DETAILS'
)}`
}}
</button> </button>
</div> </div>
</div> </div>
<div class="flex-container"> <div
class="flex-container"
:class="{ 'justify-space-between w-100': isContactPanelOpen }"
>
<div class="multiselect-box ion-headphone"> <div class="multiselect-box ion-headphone">
<multiselect <multiselect
v-model="currentChat.meta.assignee" v-model="currentChat.meta.assignee"
@ -38,24 +45,19 @@
<span slot="noResult">{{ $t('AGENT_MGMT.SEARCH.NO_RESULTS') }}</span> <span slot="noResult">{{ $t('AGENT_MGMT.SEARCH.NO_RESULTS') }}</span>
</multiselect> </multiselect>
</div> </div>
<ResolveButton /> <more-actions :conversation-id="currentChat.id" />
</div> </div>
</div> </div>
</template> </template>
<script> <script>
/* eslint no-console: 0 */
/* eslint no-param-reassign: 0 */
/* eslint no-shadow: 0 */
/* global bus */
import { mapGetters } from 'vuex'; import { mapGetters } from 'vuex';
import MoreActions from './MoreActions';
import Thumbnail from '../Thumbnail'; import Thumbnail from '../Thumbnail';
import ResolveButton from '../../buttons/ResolveButton';
export default { export default {
components: { components: {
MoreActions,
Thumbnail, Thumbnail,
ResolveButton,
}, },
props: { props: {
@ -104,13 +106,6 @@ export default {
...this.agents, ...this.agents,
]; ];
}, },
viewProfileButtonLabel() {
return `${
this.isContactPanelOpen
? this.$t('CONVERSATION.HEADER.CLOSE')
: this.$t('CONVERSATION.HEADER.OPEN')
} ${this.$t('CONVERSATION.HEADER.DETAILS')}`;
},
}, },
methods: { methods: {

View file

@ -0,0 +1,153 @@
<template>
<woot-modal :show.sync="show" :on-close="onCancel">
<div class="column content-box">
<woot-modal-header
:header-title="$t('EMAIL_TRANSCRIPT.TITLE')"
:header-content="$t('EMAIL_TRANSCRIPT.DESC')"
/>
<form @submit.prevent="onSubmit">
<div class="medium-12 columns">
<div v-if="currentChat.meta.sender && currentChat.meta.sender.email">
<input
id="contact"
v-model="selectedType"
type="radio"
name="selectedType"
value="contact"
/>
<label for="contact">{{
$t('EMAIL_TRANSCRIPT.FORM.SEND_TO_CONTACT')
}}</label>
</div>
<div v-if="currentChat.meta.assignee">
<input
id="assignee"
v-model="selectedType"
type="radio"
name="selectedType"
value="assignee"
/>
<label for="assignee">{{
$t('EMAIL_TRANSCRIPT.FORM.SEND_TO_AGENT')
}}</label>
</div>
<div>
<input
id="other_email_address"
v-model="selectedType"
type="radio"
name="selectedType"
value="other_email_address"
/>
<label for="other_email_address">{{
$t('EMAIL_TRANSCRIPT.FORM.SEND_TO_OTHER_EMAIL_ADDRESS')
}}</label>
</div>
<div v-if="sentToOtherEmailAddress" class="medium-6 columns">
<label :class="{ error: $v.email.$error }">
<input
v-model.trim="email"
type="text"
:placeholder="$t('EMAIL_TRANSCRIPT.FORM.EMAIL.PLACEHOLDER')"
@input="$v.email.$touch"
/>
<span v-if="$v.email.$error" class="message">
{{ $t('EMAIL_TRANSCRIPT.FORM.EMAIL.ERROR') }}
</span>
</label>
</div>
</div>
<div class="modal-footer">
<div class="medium-12 row">
<woot-submit-button
:button-text="$t('EMAIL_TRANSCRIPT.SUBMIT')"
:disabled="!isFormValid"
/>
<button class="button clear" @click.prevent="onCancel">
{{ $t('EMAIL_TRANSCRIPT.CANCEL') }}
</button>
</div>
</div>
</form>
</div>
</woot-modal>
</template>
<script>
import { required, minLength, email } from 'vuelidate/lib/validators';
import alertMixin from 'shared/mixins/alertMixin';
export default {
mixins: [alertMixin],
props: {
show: {
type: Boolean,
default: false,
},
currentChat: {
type: Object,
default: () => ({}),
},
},
data() {
return {
email: '',
selectedType: '',
isSubmitting: false,
};
},
validations: {
email: {
required,
email,
minLength: minLength(4),
},
},
computed: {
sentToOtherEmailAddress() {
return this.selectedType === 'other_email_address';
},
isFormValid() {
if (this.selectedType) {
if (this.sentToOtherEmailAddress) {
return !!this.email && !this.$v.email.$error;
}
return true;
}
return false;
},
selectedEmailAddress() {
const { meta } = this.currentChat;
switch (this.selectedType) {
case 'contact':
return meta.sender.email;
case 'assignee':
return meta.assignee.email;
case 'other_email_address':
return this.email;
default:
return '';
}
},
},
methods: {
onCancel() {
this.$emit('cancel');
},
async onSubmit() {
this.isSubmitting = false;
try {
await this.$store.dispatch('sendEmailTranscript', {
email: this.selectedEmailAddress,
conversationId: this.currentChat.id,
});
this.showAlert(this.$t('EMAIL_TRANSCRIPT.SEND_EMAIL_SUCCESS'));
this.onCancel();
} catch (error) {
this.showAlert(this.$t('EMAIL_TRANSCRIPT.SEND_EMAIL_ERROR'));
} finally {
this.isSubmitting = false;
}
},
},
};
</script>

View file

@ -3,7 +3,7 @@
<conversation-header <conversation-header
:chat="currentChat" :chat="currentChat"
:is-contact-panel-open="isContactPanelOpen" :is-contact-panel-open="isContactPanelOpen"
@contactPanelToggle="onToggleContactPanel" @contact-panel-toggle="onToggleContactPanel"
/> />
<div v-if="!currentChat.can_reply" class="banner messenger-policy--banner"> <div v-if="!currentChat.can_reply" class="banner messenger-policy--banner">
<span> <span>
@ -238,7 +238,7 @@ export default {
this.conversationPanel.scrollTop = this.conversationPanel.scrollHeight; this.conversationPanel.scrollTop = this.conversationPanel.scrollHeight;
}, },
onToggleContactPanel() { onToggleContactPanel() {
this.$emit('contactPanelToggle'); this.$emit('contact-panel-toggle');
}, },
setScrollParams() { setScrollParams() {
this.heightBeforeLoad = this.conversationPanel.scrollHeight; this.heightBeforeLoad = this.conversationPanel.scrollHeight;

View file

@ -0,0 +1,129 @@
<template>
<div class="flex-container actions--container">
<resolve-action
:conversation-id="currentChat.id"
:status="currentChat.status"
/>
<woot-button
class="success more--button"
icon="ion-more"
:class="buttonClass"
@click="toggleConversationActions"
/>
<div
v-if="showConversationActions"
v-on-clickaway="hideConversationActions"
class="dropdown-pane"
:class="{ 'dropdown-pane--open': showConversationActions }"
>
<button
v-if="!currentChat.muted"
class="button small clear row nice alert small-6 action--button"
@click="mute"
>
<i class="icon ion-volume-mute" />
<span>{{ $t('CONTACT_PANEL.MUTE_CONTACT') }}</span>
</button>
<button
class="button small clear row nice small-6 action--button"
@click="toggleEmailActionsModal"
>
<i class="icon ion-ios-copy" />
{{ $t('CONTACT_PANEL.SEND_TRANSCRIPT') }}
</button>
</div>
<email-transcript-modal
v-if="showEmailActionsModal"
:show="showEmailActionsModal"
:current-chat="currentChat"
@cancel="toggleEmailActionsModal"
/>
</div>
</template>
<script>
import { mapGetters } from 'vuex';
import { mixin as clickaway } from 'vue-clickaway';
import alertMixin from 'shared/mixins/alertMixin';
import EmailTranscriptModal from './EmailTranscriptModal';
import ResolveAction from '../../buttons/ResolveAction';
import wootConstants from '../../../constants';
export default {
components: {
EmailTranscriptModal,
ResolveAction,
},
mixins: [alertMixin, clickaway],
data() {
return {
showConversationActions: false,
showEmailActionsModal: false,
};
},
computed: {
...mapGetters({
currentChat: 'getSelectedChat',
}),
buttonClass() {
return this.currentChat.status !== wootConstants.STATUS_TYPE.OPEN
? 'warning'
: 'success';
},
},
methods: {
mute() {
this.$store.dispatch('muteConversation', this.currentChat.id);
this.showAlert(this.$t('CONTACT_PANEL.MUTED_SUCCESS'));
this.toggleConversationActions();
},
toggleEmailActionsModal() {
this.showEmailActionsModal = !this.showEmailActionsModal;
this.hideConversationActions();
},
toggleConversationActions() {
this.showConversationActions = !this.showConversationActions;
},
hideConversationActions() {
this.showConversationActions = false;
},
},
};
</script>
<style scoped lang="scss">
.more--button {
align-items: center;
display: flex;
margin-left: var(--space-smaller);
padding: var(--space-small);
}
.actions--container {
position: relative;
}
.dropdown-pane {
right: 0;
top: 48px;
border: 1px solid var(--s-100);
border-radius: var(--space-smaller);
width: auto;
}
.dropdown-pane--open {
display: block;
visibility: visible;
}
.action--button {
display: flex;
align-items: center;
width: 100%;
padding: var(--space-small) 0;
.icon {
margin-right: var(--space-small);
min-width: var(--space-normal);
}
}
</style>

View file

@ -25,6 +25,7 @@ export default {
default: '', default: '',
}, },
}, },
watch: {},
methods: { methods: {
handleImageUpload(event) { handleImageUpload(event) {
const [file] = event.target.files; const [file] = event.target.files;

View file

@ -1,31 +1,63 @@
import ar from './locale/ar';
import ca from './locale/ca'; import ca from './locale/ca';
import cs from './locale/cs';
import da from './locale/da';
import de from './locale/de'; import de from './locale/de';
import el from './locale/el'; import el from './locale/el';
import en from './locale/en'; import en from './locale/en';
import es from './locale/es'; import es from './locale/es';
import fa from './locale/fa';
import fi from './locale/fi';
import fr from './locale/fr'; import fr from './locale/fr';
import nl from './locale/nl'; import hi from './locale/hi';
import hu from './locale/hu';
import it from './locale/it';
import ja from './locale/ja';
import ko from './locale/ko';
import ml from './locale/ml'; import ml from './locale/ml';
import nl from './locale/nl';
import pl from './locale/pl';
import pt from './locale/pt'; import pt from './locale/pt';
import pt_BR from './locale/pt_BR'; import pt_BR from './locale/pt_BR';
import ro from './locale/ro'; import ro from './locale/ro';
import fa from './locale/fa'; import ru from './locale/ru';
import sk from './locale/sk';
import sv from './locale/sv';
import ta from './locale/ta'; import ta from './locale/ta';
import it from './locale/it'; import tr from './locale/tr';
import uk from './locale/uk';
import vi from './locale/vi';
import zh from './locale/zh';
export default { export default {
ar,
ca, ca,
cs,
da,
de, de,
el, el,
en, en,
es, es,
fr,
nl,
ml,
pt_BR,
pt,
ro,
fa, fa,
ta, fi,
fr,
hi,
hu,
it, it,
ja,
ko,
ml,
nl,
pl,
pt,
pt_BR,
ro,
ru,
sk,
sv,
ta,
tr,
uk,
vi,
zh,
}; };

View file

@ -45,6 +45,10 @@
{ {
"TEXT": "مغلقة", "TEXT": "مغلقة",
"VALUE": "resolved" "VALUE": "resolved"
},
{
"TEXT": "Bot",
"VALUE": "bot"
} }
], ],
"ATTACHMENTS": { "ATTACHMENTS": {
@ -72,6 +76,9 @@
"ICON": "ion-link", "ICON": "ion-link",
"CONTENT": "قام بمشاركة رابط" "CONTENT": "قام بمشاركة رابط"
} }
} },
"RECEIVED_VIA_EMAIL": "Received via email",
"VIEW_TWEET_IN_TWITTER": "View tweet in Twitter",
"REPLY_TO_TWEET": "Reply to this tweet"
} }
} }

View file

@ -9,6 +9,9 @@
"NO_RECORDS_FOUND": "لا توجد محادثات سابقة مرتبطة بجهة الاتصال هذه.", "NO_RECORDS_FOUND": "لا توجد محادثات سابقة مرتبطة بجهة الاتصال هذه.",
"TITLE": "المحادثات السابقة" "TITLE": "المحادثات السابقة"
}, },
"CUSTOM_ATTRIBUTES": {
"TITLE": "Custom Attributes"
},
"LABELS": { "LABELS": {
"TITLE": "وسوم المحادثة", "TITLE": "وسوم المحادثة",
"MODAL": { "MODAL": {
@ -23,7 +26,9 @@
"NO_LABELS_TO_ADD": "لا يوجد وسوم في الحساب.", "NO_LABELS_TO_ADD": "لا يوجد وسوم في الحساب.",
"NO_AVAILABLE_LABELS": "لا يوجد وسوم مضافة لهذه المحادثة." "NO_AVAILABLE_LABELS": "لا يوجد وسوم مضافة لهذه المحادثة."
}, },
"MUTE_CONTACT": "كتم جهة الاتصال", "MUTE_CONTACT": "Mute Conversation",
"MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "تعديل" "EDIT_LABEL": "تعديل"
} }
} }

View file

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

View file

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

View file

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

View file

@ -44,24 +44,29 @@
"LABEL": "صورة الملف الشخصي" "LABEL": "صورة الملف الشخصي"
}, },
"NAME": { "NAME": {
"LABEL": "الاسم الخاص بك", "LABEL": "Your full name",
"ERROR": "الرجاء إدخال اسم صالح", "ERROR": "Please enter a valid full name",
"PLACEHOLDER": "الرجاء إدخال اسمك، سيتم عرض هذا في المحادثات" "PLACEHOLDER": "Please enter your full name"
},
"DISPLAY_NAME": {
"LABEL": "Display name",
"ERROR": "Please enter a valid display name",
"PLACEHOLDER": "Please enter a display name, this would be displayed in conversations"
}, },
"AVAILABILITY": { "AVAILABILITY": {
"LABEL": "Availability", "LABEL": "Availability",
"STATUSES_LIST": [ "STATUSES_LIST": [
{ {
"value": "online", "value": "متصل",
"label": "Online" "label": "متصل"
}, },
{ {
"value": "busy", "value": "مشغول",
"label": "Busy" "label": "مشغول"
}, },
{ {
"value": "offline", "value": "غير متصل",
"label": "Offline" "label": "غير متصل"
} }
] ]
}, },
@ -122,5 +127,21 @@
"INTEGRATIONS": "خيارات الربط", "INTEGRATIONS": "خيارات الربط",
"ACCOUNT_SETTINGS": "إعدادات الحساب", "ACCOUNT_SETTINGS": "إعدادات الحساب",
"LABELS": "الوسوم" "LABELS": "الوسوم"
},
"CREATE_ACCOUNT": {
"NEW_ACCOUNT": "New Account",
"SELECTOR_SUBTITLE": "Create a new account",
"API": {
"SUCCESS_MESSAGE": "Account created successfully",
"EXIST_MESSAGE": "Account already exists",
"ERROR_MESSAGE": "تعذر الاتصال بالخادم، الرجاء المحاولة مرة أخرى لاحقاً"
},
"FORM": {
"NAME": {
"LABEL": "اسم الحساب",
"PLACEHOLDER": "مؤسسة Wayne"
},
"SUBMIT": "إرسال"
}
} }
} }

View file

@ -45,6 +45,10 @@
{ {
"TEXT": "Resoltes", "TEXT": "Resoltes",
"VALUE": "resolved" "VALUE": "resolved"
},
{
"TEXT": "Bot",
"VALUE": "bot"
} }
], ],
"ATTACHMENTS": { "ATTACHMENTS": {
@ -72,6 +76,9 @@
"ICON": "ion-link", "ICON": "ion-link",
"CONTENT": "ha compartit una URL" "CONTENT": "ha compartit una URL"
} }
} },
"RECEIVED_VIA_EMAIL": "Received via email",
"VIEW_TWEET_IN_TWITTER": "View tweet in Twitter",
"REPLY_TO_TWEET": "Reply to this tweet"
} }
} }

View file

@ -9,6 +9,9 @@
"NO_RECORDS_FOUND": "No hi han converses prèvies associades a aquest contacte.", "NO_RECORDS_FOUND": "No hi han converses prèvies associades a aquest contacte.",
"TITLE": "Converses prèvies" "TITLE": "Converses prèvies"
}, },
"CUSTOM_ATTRIBUTES": {
"TITLE": "Custom Attributes"
},
"LABELS": { "LABELS": {
"TITLE": "Etiquetes de converses", "TITLE": "Etiquetes de converses",
"MODAL": { "MODAL": {
@ -23,7 +26,9 @@
"NO_LABELS_TO_ADD": "There are no more labels defined in the account.", "NO_LABELS_TO_ADD": "There are no more labels defined in the account.",
"NO_AVAILABLE_LABELS": "There are no labels added to this conversation." "NO_AVAILABLE_LABELS": "There are no labels added to this conversation."
}, },
"MUTE_CONTACT": "Mute Contact", "MUTE_CONTACT": "Mute Conversation",
"MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "Edita" "EDIT_LABEL": "Edita"
} }
} }

View file

@ -9,6 +9,11 @@
"CLICK_HERE": "Clica aquí", "CLICK_HERE": "Clica aquí",
"LOADING_INBOXES": "S'estan carregant les safates d'entrada", "LOADING_INBOXES": "S'estan carregant les safates d'entrada",
"LOADING_CONVERSATIONS": "S'estan carregant les converses", "LOADING_CONVERSATIONS": "S'estan carregant les converses",
"CANNOT_REPLY": "You cannot reply due to",
"24_HOURS_WINDOW": "24 hour message window restriction",
"LAST_INCOMING_TWEET": "You are replying to the last incoming tweet",
"REPLYING_TO": "You are replying to:",
"REMOVE_SELECTION": "Remove Selection",
"DOWNLOAD": "Descarrega", "DOWNLOAD": "Descarrega",
"HEADER": { "HEADER": {
"RESOLVE_ACTION": "Resoldre", "RESOLVE_ACTION": "Resoldre",
@ -31,5 +36,22 @@
"VISIBLE_TO_AGENTS": "Nota privada: Només és visible per tu i el vostre equip", "VISIBLE_TO_AGENTS": "Nota privada: Només és visible per tu i el vostre equip",
"CHANGE_STATUS": "Estat de la conversa canviat", "CHANGE_STATUS": "Estat de la conversa canviat",
"CHANGE_AGENT": "Assignació de la conversa canviat" "CHANGE_AGENT": "Assignació de la conversa canviat"
},
"EMAIL_TRANSCRIPT": {
"TITLE": "Send conversation transcript",
"DESC": "Send a copy of the conversation transcript to the specified email address",
"SUBMIT": "Envia",
"CANCEL": "Cancel·la",
"SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully",
"SEND_EMAIL_ERROR": "There was an error, please try again",
"FORM": {
"SEND_TO_CONTACT": "Send the transcript to the customer",
"SEND_TO_AGENT": "Send the transcript of the assigned agent",
"SEND_TO_OTHER_EMAIL_ADDRESS": "Send the transcript to another email address",
"EMAIL": {
"PLACEHOLDER": "Enter an email address",
"ERROR": "Introduïu una adreça de correu electrònic vàlida"
}
}
} }
} }

View file

@ -24,8 +24,8 @@
"ERROR": "" "ERROR": ""
}, },
"DOMAIN": { "DOMAIN": {
"LABEL": "Domain", "LABEL": "Incoming Email Domain",
"PLACEHOLDER": "Your website domain", "PLACEHOLDER": "The domain where you will receive the emails",
"ERROR": "" "ERROR": ""
}, },
"SUPPORT_EMAIL": { "SUPPORT_EMAIL": {
@ -33,14 +33,9 @@
"PLACEHOLDER": "Your company's support email", "PLACEHOLDER": "Your company's support email",
"ERROR": "" "ERROR": ""
}, },
"ENABLE_DOMAIN_EMAIL": { "FEATURES": {
"LABEL": "Enable domain email", "INBOUND_EMAIL_ENABLED": "Conversation continuity with emails is enabled for your account.",
"PLACEHOLDER": "Enable the custom domain email", "CUSTOM_EMAIL_DOMAIN_ENABLED": "You can receive emails in your custom domain now."
"ERROR": "",
"OPTIONS": {
"ENABLED": "Habilita",
"DISABLED": "Inhabilita"
}
} }
} }
} }

View file

@ -115,6 +115,43 @@
"ERROR_MESSAGE": "No hem pogut autenticar les credencials de Twilio, prova de nou" "ERROR_MESSAGE": "No hem pogut autenticar les credencials de Twilio, prova de nou"
} }
}, },
"API_CHANNEL": {
"TITLE": "API Channel",
"DESC": "Integrate with API channel and start supporting your customers.",
"CHANNEL_NAME": {
"LABEL": "Nom del canal",
"PLACEHOLDER": "Introduïu el nom del canal",
"ERROR": "Aquest camp és obligatori"
},
"WEBHOOK_URL": {
"LABEL": "URL del webhook",
"SUBTITLE": "Configure the URL where you want to recieve callbacks on events.",
"PLACEHOLDER": "URL del webhook"
},
"SUBMIT_BUTTON": "Create API Channel",
"API": {
"ERROR_MESSAGE": "We were not able to save the api channel"
}
},
"EMAIL_CHANNEL": {
"TITLE": "Email Channel",
"DESC": "Integrate you email inbox.",
"CHANNEL_NAME": {
"LABEL": "Nom del canal",
"PLACEHOLDER": "Introduïu el nom del canal",
"ERROR": "Aquest camp és obligatori"
},
"EMAIL": {
"LABEL": "Correu electrònic",
"SUBTITLE": "Email where your customers sends you support tickets",
"PLACEHOLDER": "Correu electrònic"
},
"SUBMIT_BUTTON": "Create Email Channel",
"API": {
"ERROR_MESSAGE": "We were not able to save the email channel"
},
"FINISH_MESSAGE": "Start forwarding your emails to the following email address."
},
"AUTH": { "AUTH": {
"TITLE": "Canals", "TITLE": "Canals",
"DESC": "Actualment estan suportats widgets de xat en directe per a llocs web, pàgines de Facebook i perfils de Twitter. Estem treballant en més plataformes com Whatsapp, correu electrònic, Telegram i Line, que estaran disponibles en breu." "DESC": "Actualment estan suportats widgets de xat en directe per a llocs web, pàgines de Facebook i perfils de Twitter. Estem treballant en més plataformes com Whatsapp, correu electrònic, Telegram i Line, que estaran disponibles en breu."
@ -175,7 +212,17 @@
"ERROR_MESSAGE": "No s'ha pogut eliminar la safata d'entrada. Torneu-ho a provar més endavant." "ERROR_MESSAGE": "No s'ha pogut eliminar la safata d'entrada. Torneu-ho a provar més endavant."
} }
}, },
"TABS": {
"SETTINGS": "Configuracions",
"COLLABORATORS": "Collaborators",
"CONFIGURATION": "Configuration"
},
"SETTINGS": "Configuracions", "SETTINGS": "Configuracions",
"FEATURES": {
"LABEL": "Features",
"DISPLAY_FILE_PICKER": "Display file picker on the widget",
"DISPLAY_EMOJI_PICKER": "Display emoji picker on the widget"
},
"SETTINGS_POPUP": { "SETTINGS_POPUP": {
"MESSENGER_HEADING": "Script del missatger", "MESSENGER_HEADING": "Script del missatger",
"MESSENGER_SUB_HEAD": "Col·loca aquest botó dins de l'etiqueta body", "MESSENGER_SUB_HEAD": "Col·loca aquest botó dins de l'etiqueta body",

View file

@ -44,9 +44,14 @@
"LABEL": "Imatge del Perfil" "LABEL": "Imatge del Perfil"
}, },
"NAME": { "NAME": {
"LABEL": "El teu nom", "LABEL": "Your full name",
"ERROR": "Introduïu un nom vàlid", "ERROR": "Please enter a valid full name",
"PLACEHOLDER": "Introdueix el teu nom, serà mostrat a les converses" "PLACEHOLDER": "Please enter your full name"
},
"DISPLAY_NAME": {
"LABEL": "Display name",
"ERROR": "Please enter a valid display name",
"PLACEHOLDER": "Please enter a display name, this would be displayed in conversations"
}, },
"AVAILABILITY": { "AVAILABILITY": {
"LABEL": "Availability", "LABEL": "Availability",
@ -122,5 +127,21 @@
"INTEGRATIONS": "Integracions", "INTEGRATIONS": "Integracions",
"ACCOUNT_SETTINGS": "Account Settings", "ACCOUNT_SETTINGS": "Account Settings",
"LABELS": "Labels" "LABELS": "Labels"
},
"CREATE_ACCOUNT": {
"NEW_ACCOUNT": "New Account",
"SELECTOR_SUBTITLE": "Create a new account",
"API": {
"SUCCESS_MESSAGE": "Account created successfully",
"EXIST_MESSAGE": "Account already exists",
"ERROR_MESSAGE": "No s'ha pogut connectar amb el servidor Woot. Torna-ho a provar més endavant"
},
"FORM": {
"NAME": {
"LABEL": "Nom del compte",
"PLACEHOLDER": "Wayne Enterprises"
},
"SUBMIT": "Envia"
}
} }
} }

View file

@ -45,6 +45,10 @@
{ {
"TEXT": "Vyřešeno", "TEXT": "Vyřešeno",
"VALUE": "resolved" "VALUE": "resolved"
},
{
"TEXT": "Bot",
"VALUE": "bot"
} }
], ],
"ATTACHMENTS": { "ATTACHMENTS": {
@ -72,6 +76,9 @@
"ICON": "ion-link", "ICON": "ion-link",
"CONTENT": "sdílel URL" "CONTENT": "sdílel URL"
} }
} },
"RECEIVED_VIA_EMAIL": "Received via email",
"VIEW_TWEET_IN_TWITTER": "View tweet in Twitter",
"REPLY_TO_TWEET": "Reply to this tweet"
} }
} }

View file

@ -9,6 +9,9 @@
"NO_RECORDS_FOUND": "K tomuto kontaktu nejsou přiřazeny žádné předchozí konverzace.", "NO_RECORDS_FOUND": "K tomuto kontaktu nejsou přiřazeny žádné předchozí konverzace.",
"TITLE": "Předchozí konverzace" "TITLE": "Předchozí konverzace"
}, },
"CUSTOM_ATTRIBUTES": {
"TITLE": "Custom Attributes"
},
"LABELS": { "LABELS": {
"TITLE": "Štítky konverzace", "TITLE": "Štítky konverzace",
"MODAL": { "MODAL": {
@ -23,7 +26,9 @@
"NO_LABELS_TO_ADD": "There are no more labels defined in the account.", "NO_LABELS_TO_ADD": "There are no more labels defined in the account.",
"NO_AVAILABLE_LABELS": "There are no labels added to this conversation." "NO_AVAILABLE_LABELS": "There are no labels added to this conversation."
}, },
"MUTE_CONTACT": "Mute Contact", "MUTE_CONTACT": "Mute Conversation",
"MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "Upravit" "EDIT_LABEL": "Upravit"
} }
} }

View file

@ -9,6 +9,11 @@
"CLICK_HERE": "Klikněte zde", "CLICK_HERE": "Klikněte zde",
"LOADING_INBOXES": "Načítání krabic", "LOADING_INBOXES": "Načítání krabic",
"LOADING_CONVERSATIONS": "Načítání konverzací", "LOADING_CONVERSATIONS": "Načítání konverzací",
"CANNOT_REPLY": "You cannot reply due to",
"24_HOURS_WINDOW": "24 hour message window restriction",
"LAST_INCOMING_TWEET": "You are replying to the last incoming tweet",
"REPLYING_TO": "You are replying to:",
"REMOVE_SELECTION": "Remove Selection",
"DOWNLOAD": "Stáhnout", "DOWNLOAD": "Stáhnout",
"HEADER": { "HEADER": {
"RESOLVE_ACTION": "Vyřešit", "RESOLVE_ACTION": "Vyřešit",
@ -31,5 +36,22 @@
"VISIBLE_TO_AGENTS": "Soukromá poznámka: Viditelné pouze pro vás a váš tým", "VISIBLE_TO_AGENTS": "Soukromá poznámka: Viditelné pouze pro vás a váš tým",
"CHANGE_STATUS": "Stav konverzace byl změněn", "CHANGE_STATUS": "Stav konverzace byl změněn",
"CHANGE_AGENT": "Konverzace pověřená osoba změněna" "CHANGE_AGENT": "Konverzace pověřená osoba změněna"
},
"EMAIL_TRANSCRIPT": {
"TITLE": "Send conversation transcript",
"DESC": "Send a copy of the conversation transcript to the specified email address",
"SUBMIT": "Odeslat",
"CANCEL": "Zrušit",
"SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully",
"SEND_EMAIL_ERROR": "There was an error, please try again",
"FORM": {
"SEND_TO_CONTACT": "Send the transcript to the customer",
"SEND_TO_AGENT": "Send the transcript of the assigned agent",
"SEND_TO_OTHER_EMAIL_ADDRESS": "Send the transcript to another email address",
"EMAIL": {
"PLACEHOLDER": "Enter an email address",
"ERROR": "Zadejte prosím platnou e-mailovou adresu"
}
}
} }
} }

View file

@ -24,8 +24,8 @@
"ERROR": "" "ERROR": ""
}, },
"DOMAIN": { "DOMAIN": {
"LABEL": "Domain", "LABEL": "Incoming Email Domain",
"PLACEHOLDER": "Your website domain", "PLACEHOLDER": "The domain where you will receive the emails",
"ERROR": "" "ERROR": ""
}, },
"SUPPORT_EMAIL": { "SUPPORT_EMAIL": {
@ -33,14 +33,9 @@
"PLACEHOLDER": "Your company's support email", "PLACEHOLDER": "Your company's support email",
"ERROR": "" "ERROR": ""
}, },
"ENABLE_DOMAIN_EMAIL": { "FEATURES": {
"LABEL": "Enable domain email", "INBOUND_EMAIL_ENABLED": "Conversation continuity with emails is enabled for your account.",
"PLACEHOLDER": "Enable the custom domain email", "CUSTOM_EMAIL_DOMAIN_ENABLED": "You can receive emails in your custom domain now."
"ERROR": "",
"OPTIONS": {
"ENABLED": "Povoleno",
"DISABLED": "Zakázáno"
}
} }
} }
} }

View file

@ -115,6 +115,43 @@
"ERROR_MESSAGE": "Nebyli jsme schopni ověřit přihlašovací údaje Twilia, zkuste to prosím znovu" "ERROR_MESSAGE": "Nebyli jsme schopni ověřit přihlašovací údaje Twilia, zkuste to prosím znovu"
} }
}, },
"API_CHANNEL": {
"TITLE": "API Channel",
"DESC": "Integrate with API channel and start supporting your customers.",
"CHANNEL_NAME": {
"LABEL": "Název kanálu",
"PLACEHOLDER": "Zadejte název kanálu",
"ERROR": "Toto pole je povinné"
},
"WEBHOOK_URL": {
"LABEL": "URL webového háčku",
"SUBTITLE": "Configure the URL where you want to recieve callbacks on events.",
"PLACEHOLDER": "URL webového háčku"
},
"SUBMIT_BUTTON": "Create API Channel",
"API": {
"ERROR_MESSAGE": "We were not able to save the api channel"
}
},
"EMAIL_CHANNEL": {
"TITLE": "Email Channel",
"DESC": "Integrate you email inbox.",
"CHANNEL_NAME": {
"LABEL": "Název kanálu",
"PLACEHOLDER": "Zadejte název kanálu",
"ERROR": "Toto pole je povinné"
},
"EMAIL": {
"LABEL": "E-mailová adresa",
"SUBTITLE": "Email where your customers sends you support tickets",
"PLACEHOLDER": "E-mailová adresa"
},
"SUBMIT_BUTTON": "Create Email Channel",
"API": {
"ERROR_MESSAGE": "We were not able to save the email channel"
},
"FINISH_MESSAGE": "Start forwarding your emails to the following email address."
},
"AUTH": { "AUTH": {
"TITLE": "Kanály", "TITLE": "Kanály",
"DESC": "V současné době podporujeme jako platformu widgety živého chatu, Facebook stránky a Twitter profily. Máme více platforem jako Whatsapp, Email, Telegram a Line v dílech, což bude brzy ven." "DESC": "V současné době podporujeme jako platformu widgety živého chatu, Facebook stránky a Twitter profily. Máme více platforem jako Whatsapp, Email, Telegram a Line v dílech, což bude brzy ven."
@ -175,7 +212,17 @@
"ERROR_MESSAGE": "Nelze odstranit doručenou poštu. Opakujte akci později." "ERROR_MESSAGE": "Nelze odstranit doručenou poštu. Opakujte akci později."
} }
}, },
"TABS": {
"SETTINGS": "Nastavení",
"COLLABORATORS": "Collaborators",
"CONFIGURATION": "Configuration"
},
"SETTINGS": "Nastavení", "SETTINGS": "Nastavení",
"FEATURES": {
"LABEL": "Features",
"DISPLAY_FILE_PICKER": "Display file picker on the widget",
"DISPLAY_EMOJI_PICKER": "Display emoji picker on the widget"
},
"SETTINGS_POPUP": { "SETTINGS_POPUP": {
"MESSENGER_HEADING": "Messenger skript", "MESSENGER_HEADING": "Messenger skript",
"MESSENGER_SUB_HEAD": "Umístěte toto tlačítko dovnitř vašeho tělesného štítku", "MESSENGER_SUB_HEAD": "Umístěte toto tlačítko dovnitř vašeho tělesného štítku",

View file

@ -44,9 +44,14 @@
"LABEL": "Profil obrázek" "LABEL": "Profil obrázek"
}, },
"NAME": { "NAME": {
"LABEL": "Vaše jméno", "LABEL": "Your full name",
"ERROR": "Zadejte prosím platný název", "ERROR": "Please enter a valid full name",
"PLACEHOLDER": "Zadejte prosím Vaše jméno, bude zobrazeno v konverzacích" "PLACEHOLDER": "Please enter your full name"
},
"DISPLAY_NAME": {
"LABEL": "Display name",
"ERROR": "Please enter a valid display name",
"PLACEHOLDER": "Please enter a display name, this would be displayed in conversations"
}, },
"AVAILABILITY": { "AVAILABILITY": {
"LABEL": "Availability", "LABEL": "Availability",
@ -122,5 +127,21 @@
"INTEGRATIONS": "Integrace", "INTEGRATIONS": "Integrace",
"ACCOUNT_SETTINGS": "Account Settings", "ACCOUNT_SETTINGS": "Account Settings",
"LABELS": "Labels" "LABELS": "Labels"
},
"CREATE_ACCOUNT": {
"NEW_ACCOUNT": "New Account",
"SELECTOR_SUBTITLE": "Create a new account",
"API": {
"SUCCESS_MESSAGE": "Account created successfully",
"EXIST_MESSAGE": "Account already exists",
"ERROR_MESSAGE": "Nelze se připojit k Woot serveru, opakujte akci později"
},
"FORM": {
"NAME": {
"LABEL": "Název účtu",
"PLACEHOLDER": "Wayne podniky"
},
"SUBMIT": "Odeslat"
}
} }
} }

View file

@ -45,6 +45,10 @@
{ {
"TEXT": "Resolved", "TEXT": "Resolved",
"VALUE": "resolved" "VALUE": "resolved"
},
{
"TEXT": "Bot",
"VALUE": "bot"
} }
], ],
"ATTACHMENTS": { "ATTACHMENTS": {
@ -72,6 +76,9 @@
"ICON": "ion-link", "ICON": "ion-link",
"CONTENT": "has shared a url" "CONTENT": "has shared a url"
} }
} },
"RECEIVED_VIA_EMAIL": "Received via email",
"VIEW_TWEET_IN_TWITTER": "View tweet in Twitter",
"REPLY_TO_TWEET": "Reply to this tweet"
} }
} }

View file

@ -9,6 +9,9 @@
"NO_RECORDS_FOUND": "There are no previous conversations associated to this contact.", "NO_RECORDS_FOUND": "There are no previous conversations associated to this contact.",
"TITLE": "Previous Conversations" "TITLE": "Previous Conversations"
}, },
"CUSTOM_ATTRIBUTES": {
"TITLE": "Custom Attributes"
},
"LABELS": { "LABELS": {
"TITLE": "Conversation Labels", "TITLE": "Conversation Labels",
"MODAL": { "MODAL": {
@ -23,7 +26,9 @@
"NO_LABELS_TO_ADD": "There are no more labels defined in the account.", "NO_LABELS_TO_ADD": "There are no more labels defined in the account.",
"NO_AVAILABLE_LABELS": "There are no labels added to this conversation." "NO_AVAILABLE_LABELS": "There are no labels added to this conversation."
}, },
"MUTE_CONTACT": "Mute Contact", "MUTE_CONTACT": "Mute Conversation",
"MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "Edit" "EDIT_LABEL": "Edit"
} }
} }

View file

@ -9,6 +9,11 @@
"CLICK_HERE": "Click here", "CLICK_HERE": "Click here",
"LOADING_INBOXES": "Loading inboxes", "LOADING_INBOXES": "Loading inboxes",
"LOADING_CONVERSATIONS": "Loading Conversations", "LOADING_CONVERSATIONS": "Loading Conversations",
"CANNOT_REPLY": "You cannot reply due to",
"24_HOURS_WINDOW": "24 hour message window restriction",
"LAST_INCOMING_TWEET": "You are replying to the last incoming tweet",
"REPLYING_TO": "You are replying to:",
"REMOVE_SELECTION": "Remove Selection",
"DOWNLOAD": "Download", "DOWNLOAD": "Download",
"HEADER": { "HEADER": {
"RESOLVE_ACTION": "Resolve", "RESOLVE_ACTION": "Resolve",
@ -31,5 +36,22 @@
"VISIBLE_TO_AGENTS": "Private Note: Only visible to you and your team", "VISIBLE_TO_AGENTS": "Private Note: Only visible to you and your team",
"CHANGE_STATUS": "Conversation status changed", "CHANGE_STATUS": "Conversation status changed",
"CHANGE_AGENT": "Conversation Assignee changed" "CHANGE_AGENT": "Conversation Assignee changed"
},
"EMAIL_TRANSCRIPT": {
"TITLE": "Send conversation transcript",
"DESC": "Send a copy of the conversation transcript to the specified email address",
"SUBMIT": "Submit",
"CANCEL": "Cancel",
"SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully",
"SEND_EMAIL_ERROR": "There was an error, please try again",
"FORM": {
"SEND_TO_CONTACT": "Send the transcript to the customer",
"SEND_TO_AGENT": "Send the transcript of the assigned agent",
"SEND_TO_OTHER_EMAIL_ADDRESS": "Send the transcript to another email address",
"EMAIL": {
"PLACEHOLDER": "Enter an email address",
"ERROR": "Please enter a valid email address"
}
}
} }
} }

View file

@ -24,8 +24,8 @@
"ERROR": "" "ERROR": ""
}, },
"DOMAIN": { "DOMAIN": {
"LABEL": "Domain", "LABEL": "Incoming Email Domain",
"PLACEHOLDER": "Your website domain", "PLACEHOLDER": "The domain where you will receive the emails",
"ERROR": "" "ERROR": ""
}, },
"SUPPORT_EMAIL": { "SUPPORT_EMAIL": {
@ -33,14 +33,9 @@
"PLACEHOLDER": "Your company's support email", "PLACEHOLDER": "Your company's support email",
"ERROR": "" "ERROR": ""
}, },
"ENABLE_DOMAIN_EMAIL": { "FEATURES": {
"LABEL": "Enable domain email", "INBOUND_EMAIL_ENABLED": "Conversation continuity with emails is enabled for your account.",
"PLACEHOLDER": "Enable the custom domain email", "CUSTOM_EMAIL_DOMAIN_ENABLED": "You can receive emails in your custom domain now."
"ERROR": "",
"OPTIONS": {
"ENABLED": "Enabled",
"DISABLED": "Disabled"
}
} }
} }
} }

View file

@ -115,6 +115,43 @@
"ERROR_MESSAGE": "We were not able to authenticate Twilio credentials, please try again" "ERROR_MESSAGE": "We were not able to authenticate Twilio credentials, please try again"
} }
}, },
"API_CHANNEL": {
"TITLE": "API Channel",
"DESC": "Integrate with API channel and start supporting your customers.",
"CHANNEL_NAME": {
"LABEL": "Channel Name",
"PLACEHOLDER": "Please enter a channel name",
"ERROR": "This field is required"
},
"WEBHOOK_URL": {
"LABEL": "Webhook URL",
"SUBTITLE": "Configure the URL where you want to recieve callbacks on events.",
"PLACEHOLDER": "Webhook URL"
},
"SUBMIT_BUTTON": "Create API Channel",
"API": {
"ERROR_MESSAGE": "We were not able to save the api channel"
}
},
"EMAIL_CHANNEL": {
"TITLE": "Email Channel",
"DESC": "Integrate you email inbox.",
"CHANNEL_NAME": {
"LABEL": "Channel Name",
"PLACEHOLDER": "Please enter a channel name",
"ERROR": "This field is required"
},
"EMAIL": {
"LABEL": "Email",
"SUBTITLE": "Email where your customers sends you support tickets",
"PLACEHOLDER": "Email"
},
"SUBMIT_BUTTON": "Create Email Channel",
"API": {
"ERROR_MESSAGE": "We were not able to save the email channel"
},
"FINISH_MESSAGE": "Start forwarding your emails to the following email address."
},
"AUTH": { "AUTH": {
"TITLE": "Channels", "TITLE": "Channels",
"DESC": "Currently we support Website live chat widgets, Facebook Pages and Twitter profiles as platforms. We have more platforms like Whatsapp, Email, Telegram and Line in the works, which will be out soon." "DESC": "Currently we support Website live chat widgets, Facebook Pages and Twitter profiles as platforms. We have more platforms like Whatsapp, Email, Telegram and Line in the works, which will be out soon."
@ -175,7 +212,17 @@
"ERROR_MESSAGE": "Could not delete inbox. Please try again later." "ERROR_MESSAGE": "Could not delete inbox. Please try again later."
} }
}, },
"TABS": {
"SETTINGS": "Settings",
"COLLABORATORS": "Collaborators",
"CONFIGURATION": "Configuration"
},
"SETTINGS": "Settings", "SETTINGS": "Settings",
"FEATURES": {
"LABEL": "Features",
"DISPLAY_FILE_PICKER": "Display file picker on the widget",
"DISPLAY_EMOJI_PICKER": "Display emoji picker on the widget"
},
"SETTINGS_POPUP": { "SETTINGS_POPUP": {
"MESSENGER_HEADING": "Messenger Script", "MESSENGER_HEADING": "Messenger Script",
"MESSENGER_SUB_HEAD": "Place this button inside your body tag", "MESSENGER_SUB_HEAD": "Place this button inside your body tag",

View file

@ -44,9 +44,14 @@
"LABEL": "Profile Image" "LABEL": "Profile Image"
}, },
"NAME": { "NAME": {
"LABEL": "Your name", "LABEL": "Your full name",
"ERROR": "Please enter a valid name", "ERROR": "Please enter a valid full name",
"PLACEHOLDER": "Please enter your name, this would be displayed in conversations" "PLACEHOLDER": "Please enter your full name"
},
"DISPLAY_NAME": {
"LABEL": "Display name",
"ERROR": "Please enter a valid display name",
"PLACEHOLDER": "Please enter a display name, this would be displayed in conversations"
}, },
"AVAILABILITY": { "AVAILABILITY": {
"LABEL": "Availability", "LABEL": "Availability",
@ -122,5 +127,21 @@
"INTEGRATIONS": "Integrations", "INTEGRATIONS": "Integrations",
"ACCOUNT_SETTINGS": "Account Settings", "ACCOUNT_SETTINGS": "Account Settings",
"LABELS": "Labels" "LABELS": "Labels"
},
"CREATE_ACCOUNT": {
"NEW_ACCOUNT": "New Account",
"SELECTOR_SUBTITLE": "Create a new account",
"API": {
"SUCCESS_MESSAGE": "Account created successfully",
"EXIST_MESSAGE": "Account already exists",
"ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later"
},
"FORM": {
"NAME": {
"LABEL": "Account Name",
"PLACEHOLDER": "Wayne Enterprises"
},
"SUBMIT": "Submit"
}
} }
} }

View file

@ -45,6 +45,10 @@
{ {
"TEXT": "Gelöst", "TEXT": "Gelöst",
"VALUE": "resolved" "VALUE": "resolved"
},
{
"TEXT": "Bot",
"VALUE": "bot"
} }
], ],
"ATTACHMENTS": { "ATTACHMENTS": {
@ -72,6 +76,9 @@
"ICON": "ion-link", "ICON": "ion-link",
"CONTENT": "hat eine URL geteilt" "CONTENT": "hat eine URL geteilt"
} }
} },
"RECEIVED_VIA_EMAIL": "Received via email",
"VIEW_TWEET_IN_TWITTER": "View tweet in Twitter",
"REPLY_TO_TWEET": "Reply to this tweet"
} }
} }

View file

@ -9,6 +9,9 @@
"NO_RECORDS_FOUND": "Es sind keine vorherigen Gespräche mit diesem Kontakt verbunden.", "NO_RECORDS_FOUND": "Es sind keine vorherigen Gespräche mit diesem Kontakt verbunden.",
"TITLE": "Vorherige Gespräche" "TITLE": "Vorherige Gespräche"
}, },
"CUSTOM_ATTRIBUTES": {
"TITLE": "Custom Attributes"
},
"LABELS": { "LABELS": {
"TITLE": "Konversationsetiketten", "TITLE": "Konversationsetiketten",
"MODAL": { "MODAL": {
@ -23,7 +26,9 @@
"NO_LABELS_TO_ADD": "There are no more labels defined in the account.", "NO_LABELS_TO_ADD": "There are no more labels defined in the account.",
"NO_AVAILABLE_LABELS": "There are no labels added to this conversation." "NO_AVAILABLE_LABELS": "There are no labels added to this conversation."
}, },
"MUTE_CONTACT": "Mute Contact", "MUTE_CONTACT": "Mute Conversation",
"MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "Bearbeiten" "EDIT_LABEL": "Bearbeiten"
} }
} }

View file

@ -9,6 +9,11 @@
"CLICK_HERE": "Hier klicken", "CLICK_HERE": "Hier klicken",
"LOADING_INBOXES": "Posteingänge laden", "LOADING_INBOXES": "Posteingänge laden",
"LOADING_CONVERSATIONS": "Gespräche laden", "LOADING_CONVERSATIONS": "Gespräche laden",
"CANNOT_REPLY": "You cannot reply due to",
"24_HOURS_WINDOW": "24 hour message window restriction",
"LAST_INCOMING_TWEET": "You are replying to the last incoming tweet",
"REPLYING_TO": "You are replying to:",
"REMOVE_SELECTION": "Remove Selection",
"DOWNLOAD": "Herunterladen", "DOWNLOAD": "Herunterladen",
"HEADER": { "HEADER": {
"RESOLVE_ACTION": "Fall schließen", "RESOLVE_ACTION": "Fall schließen",
@ -31,5 +36,22 @@
"VISIBLE_TO_AGENTS": "Privater Hinweis: Nur für Sie und Ihr Team sichtbar", "VISIBLE_TO_AGENTS": "Privater Hinweis: Nur für Sie und Ihr Team sichtbar",
"CHANGE_STATUS": "Gesprächsstatus geändert", "CHANGE_STATUS": "Gesprächsstatus geändert",
"CHANGE_AGENT": "Konversationsempfänger geändert" "CHANGE_AGENT": "Konversationsempfänger geändert"
},
"EMAIL_TRANSCRIPT": {
"TITLE": "Send conversation transcript",
"DESC": "Send a copy of the conversation transcript to the specified email address",
"SUBMIT": "Einreichen",
"CANCEL": "Stornieren",
"SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully",
"SEND_EMAIL_ERROR": "There was an error, please try again",
"FORM": {
"SEND_TO_CONTACT": "Send the transcript to the customer",
"SEND_TO_AGENT": "Send the transcript of the assigned agent",
"SEND_TO_OTHER_EMAIL_ADDRESS": "Send the transcript to another email address",
"EMAIL": {
"PLACEHOLDER": "Enter an email address",
"ERROR": "Bitte geben Sie eine gültige E-Mail-Adresse ein"
}
}
} }
} }

View file

@ -24,8 +24,8 @@
"ERROR": "" "ERROR": ""
}, },
"DOMAIN": { "DOMAIN": {
"LABEL": "Domain", "LABEL": "Incoming Email Domain",
"PLACEHOLDER": "Your website domain", "PLACEHOLDER": "The domain where you will receive the emails",
"ERROR": "" "ERROR": ""
}, },
"SUPPORT_EMAIL": { "SUPPORT_EMAIL": {
@ -33,14 +33,9 @@
"PLACEHOLDER": "Your company's support email", "PLACEHOLDER": "Your company's support email",
"ERROR": "" "ERROR": ""
}, },
"ENABLE_DOMAIN_EMAIL": { "FEATURES": {
"LABEL": "Enable domain email", "INBOUND_EMAIL_ENABLED": "Conversation continuity with emails is enabled for your account.",
"PLACEHOLDER": "Enable the custom domain email", "CUSTOM_EMAIL_DOMAIN_ENABLED": "You can receive emails in your custom domain now."
"ERROR": "",
"OPTIONS": {
"ENABLED": "Aktiviert",
"DISABLED": "Behindert"
}
} }
} }
} }

View file

@ -115,6 +115,43 @@
"ERROR_MESSAGE": "Wir konnten die Twilio-Anmeldeinformationen nicht authentifizieren. Bitte versuchen Sie es erneut" "ERROR_MESSAGE": "Wir konnten die Twilio-Anmeldeinformationen nicht authentifizieren. Bitte versuchen Sie es erneut"
} }
}, },
"API_CHANNEL": {
"TITLE": "API Channel",
"DESC": "Integrate with API channel and start supporting your customers.",
"CHANNEL_NAME": {
"LABEL": "Kanal Name",
"PLACEHOLDER": "Bitte geben Sie einen Kanalnamen ein",
"ERROR": "Dieses Feld wird benötigt"
},
"WEBHOOK_URL": {
"LABEL": "Webhook-URL",
"SUBTITLE": "Configure the URL where you want to recieve callbacks on events.",
"PLACEHOLDER": "Webhook-URL"
},
"SUBMIT_BUTTON": "Create API Channel",
"API": {
"ERROR_MESSAGE": "We were not able to save the api channel"
}
},
"EMAIL_CHANNEL": {
"TITLE": "Email Channel",
"DESC": "Integrate you email inbox.",
"CHANNEL_NAME": {
"LABEL": "Kanal Name",
"PLACEHOLDER": "Bitte geben Sie einen Kanalnamen ein",
"ERROR": "Dieses Feld wird benötigt"
},
"EMAIL": {
"LABEL": "Email",
"SUBTITLE": "Email where your customers sends you support tickets",
"PLACEHOLDER": "Email"
},
"SUBMIT_BUTTON": "Create Email Channel",
"API": {
"ERROR_MESSAGE": "We were not able to save the email channel"
},
"FINISH_MESSAGE": "Start forwarding your emails to the following email address."
},
"AUTH": { "AUTH": {
"TITLE": "Kanäle", "TITLE": "Kanäle",
"DESC": "Derzeit unterstützen wir Website-Live-Chat-Widgets, Facebook-Seiten und Twitter-Profile als Plattformen. Wir haben weitere Plattformen wie WhatsApp, Email, Telegram und Line in Arbeit, die bald veröffentlicht werden." "DESC": "Derzeit unterstützen wir Website-Live-Chat-Widgets, Facebook-Seiten und Twitter-Profile als Plattformen. Wir haben weitere Plattformen wie WhatsApp, Email, Telegram und Line in Arbeit, die bald veröffentlicht werden."
@ -175,7 +212,17 @@
"ERROR_MESSAGE": "Posteingang konnte nicht gelöscht werden. Bitte versuchen Sie es später noch einmal." "ERROR_MESSAGE": "Posteingang konnte nicht gelöscht werden. Bitte versuchen Sie es später noch einmal."
} }
}, },
"TABS": {
"SETTINGS": "die Einstellungen",
"COLLABORATORS": "Collaborators",
"CONFIGURATION": "Configuration"
},
"SETTINGS": "die Einstellungen", "SETTINGS": "die Einstellungen",
"FEATURES": {
"LABEL": "Features",
"DISPLAY_FILE_PICKER": "Display file picker on the widget",
"DISPLAY_EMOJI_PICKER": "Display emoji picker on the widget"
},
"SETTINGS_POPUP": { "SETTINGS_POPUP": {
"MESSENGER_HEADING": "Messenger-Skript", "MESSENGER_HEADING": "Messenger-Skript",
"MESSENGER_SUB_HEAD": "Platzieren Sie diese Schaltfläche in Ihrem Body-Tag", "MESSENGER_SUB_HEAD": "Platzieren Sie diese Schaltfläche in Ihrem Body-Tag",

View file

@ -48,6 +48,11 @@
"ERROR": "Bitte geben Sie einen gültigen Namen ein", "ERROR": "Bitte geben Sie einen gültigen Namen ein",
"PLACEHOLDER": "Bitte geben Sie Ihren Namen ein, dies wird in Gesprächen angezeigt" "PLACEHOLDER": "Bitte geben Sie Ihren Namen ein, dies wird in Gesprächen angezeigt"
}, },
"DISPLAY_NAME": {
"LABEL": "Display name",
"ERROR": "Please enter a valid display name",
"PLACEHOLDER": "Please enter a display name, this would be displayed in conversations"
},
"AVAILABILITY": { "AVAILABILITY": {
"LABEL": "Availability", "LABEL": "Availability",
"STATUSES_LIST": [ "STATUSES_LIST": [
@ -122,5 +127,21 @@
"INTEGRATIONS": "Integrationen", "INTEGRATIONS": "Integrationen",
"ACCOUNT_SETTINGS": "Kontoeinstellungen", "ACCOUNT_SETTINGS": "Kontoeinstellungen",
"LABELS": "Labels" "LABELS": "Labels"
},
"CREATE_ACCOUNT": {
"NEW_ACCOUNT": "New Account",
"SELECTOR_SUBTITLE": "Create a new account",
"API": {
"SUCCESS_MESSAGE": "Account created successfully",
"EXIST_MESSAGE": "Account already exists",
"ERROR_MESSAGE": "Es konnte keine Verbindung zum Woot Server hergestellt werden. Bitte versuchen Sie es später erneut"
},
"FORM": {
"NAME": {
"LABEL": "Kontobezeichnung",
"PLACEHOLDER": "Wayne Enterprises"
},
"SUBMIT": "Einreichen"
}
} }
} }

View file

@ -45,6 +45,10 @@
{ {
"TEXT": "Επιλυθείσες", "TEXT": "Επιλυθείσες",
"VALUE": "resolved" "VALUE": "resolved"
},
{
"TEXT": "Bot",
"VALUE": "bot"
} }
], ],
"ATTACHMENTS": { "ATTACHMENTS": {
@ -72,6 +76,9 @@
"ICON": "ion-link", "ICON": "ion-link",
"CONTENT": "έχει μοιράσει ένα σύνδεσμο" "CONTENT": "έχει μοιράσει ένα σύνδεσμο"
} }
} },
"RECEIVED_VIA_EMAIL": "Παραλήφθηκε από email",
"VIEW_TWEET_IN_TWITTER": "Προβολή του tweet στο Twitter",
"REPLY_TO_TWEET": "Απάντηση στο tweet"
} }
} }

View file

@ -9,6 +9,9 @@
"NO_RECORDS_FOUND": "Δεν υπάρχουν προηγούμενες συνομιλίες που σχετίζονται με αυτήν την επαφή.", "NO_RECORDS_FOUND": "Δεν υπάρχουν προηγούμενες συνομιλίες που σχετίζονται με αυτήν την επαφή.",
"TITLE": "Προηγούμενες συνομιλίες" "TITLE": "Προηγούμενες συνομιλίες"
}, },
"CUSTOM_ATTRIBUTES": {
"TITLE": "Προσαρμοζόμενες Ιδιότητες"
},
"LABELS": { "LABELS": {
"TITLE": "Ετικέτες συνομιλίας", "TITLE": "Ετικέτες συνομιλίας",
"MODAL": { "MODAL": {
@ -23,7 +26,9 @@
"NO_LABELS_TO_ADD": "Δεν υπάρχουν άλλες ετικέτες στον λογαριασμό.", "NO_LABELS_TO_ADD": "Δεν υπάρχουν άλλες ετικέτες στον λογαριασμό.",
"NO_AVAILABLE_LABELS": "Δεν υπάρχουν προστεθεί ετικέτες στην συνομιλία." "NO_AVAILABLE_LABELS": "Δεν υπάρχουν προστεθεί ετικέτες στην συνομιλία."
}, },
"MUTE_CONTACT": "Παύση (Mute)", "MUTE_CONTACT": "Σίγαση Συνομιλίας",
"MUTED_SUCCESS": "Η συνομιλία είναι σε σίγαση (mute) για 6 ώρες",
"SEND_TRANSCRIPT": "Αποστολή μεταγραφής",
"EDIT_LABEL": "Επεξεργασία" "EDIT_LABEL": "Επεξεργασία"
} }
} }

View file

@ -9,6 +9,11 @@
"CLICK_HERE": "Πατήστε εδώ", "CLICK_HERE": "Πατήστε εδώ",
"LOADING_INBOXES": "Φόρτωση εισερχομένων", "LOADING_INBOXES": "Φόρτωση εισερχομένων",
"LOADING_CONVERSATIONS": "Φόρτωση Συζητήσεων", "LOADING_CONVERSATIONS": "Φόρτωση Συζητήσεων",
"CANNOT_REPLY": "Δεν μπορείτε να απαντήσετε εξαιτίας",
"24_HOURS_WINDOW": "του περιορισμού των 24 ωρών",
"LAST_INCOMING_TWEET": "Απαντάτε στο τελευταίο εισερχόμενο tweet",
"REPLYING_TO": "Απαντάτε στο:",
"REMOVE_SELECTION": "Διαγραφή Επιλογής",
"DOWNLOAD": "Κατέβασμα", "DOWNLOAD": "Κατέβασμα",
"HEADER": { "HEADER": {
"RESOLVE_ACTION": "Επίλυση", "RESOLVE_ACTION": "Επίλυση",
@ -31,5 +36,22 @@
"VISIBLE_TO_AGENTS": "Ιδιωτική Σημείωση: Ορατή μόνο σε σας και την ομάδα σας", "VISIBLE_TO_AGENTS": "Ιδιωτική Σημείωση: Ορατή μόνο σε σας και την ομάδα σας",
"CHANGE_STATUS": "Η κατάσταση της συνομιλίας άλλαξε", "CHANGE_STATUS": "Η κατάσταση της συνομιλίας άλλαξε",
"CHANGE_AGENT": "Η εκπροσώπηση για την συνομιλία άλλαξε" "CHANGE_AGENT": "Η εκπροσώπηση για την συνομιλία άλλαξε"
},
"EMAIL_TRANSCRIPT": {
"TITLE": "Στείλτε την μεταγραφή της σινομιλίας",
"DESC": "Στείλτε ένα αντίγραφο της συνομιλίας στην διεύθυνση email",
"SUBMIT": "Καταχώρηση",
"CANCEL": "Άκυρο",
"SEND_EMAIL_SUCCESS": "Η μεταγραφή της συνομιλίας έχει αποσταλεί επιτυχώς",
"SEND_EMAIL_ERROR": "Υπήρξε ένα σφάλμα, παρακαλώ προσπαθήστε ξανά",
"FORM": {
"SEND_TO_CONTACT": "Στείλτε το αντίγραφο στον πελάτη",
"SEND_TO_AGENT": "Στείλε το αντίγραφο στον αντιστοιχισμένο πράκτορα",
"SEND_TO_OTHER_EMAIL_ADDRESS": "Στείλε το αντίγραφο σε άλλη διεύθυνση email",
"EMAIL": {
"PLACEHOLDER": "Συμπληρώστε μια διεύθυνση email",
"ERROR": "Παρακαλώ εισάγετε μια έγκυρη διεύθυνση email"
}
}
} }
} }

View file

@ -24,8 +24,8 @@
"ERROR": "" "ERROR": ""
}, },
"DOMAIN": { "DOMAIN": {
"LABEL": "Domain", "LABEL": "Τομέας (domain) του εισερχόμενου email",
"PLACEHOLDER": "Το domain της ιστοσελίδας σας", "PLACEHOLDER": "Ο τομέας στον οποίο θα λαμβάνετε τα emails",
"ERROR": "" "ERROR": ""
}, },
"SUPPORT_EMAIL": { "SUPPORT_EMAIL": {
@ -33,14 +33,9 @@
"PLACEHOLDER": "To email υποστήριξης της εταιρίας σας", "PLACEHOLDER": "To email υποστήριξης της εταιρίας σας",
"ERROR": "" "ERROR": ""
}, },
"ENABLE_DOMAIN_EMAIL": { "FEATURES": {
"LABEL": "Ενεργοποίηση emai του domain", "INBOUND_EMAIL_ENABLED": "Η συνέχεια της συνομιλίας με emails έχει ενεργοποιηθεί για τον λογαριασμό.",
"PLACEHOLDER": "Ενεργοποιήση του custom domain email", "CUSTOM_EMAIL_DOMAIN_ENABLED": "Τώρα μπορείτε να λαμβάνετε emails στον τομέα (domain) σας."
"ERROR": "",
"OPTIONS": {
"ENABLED": "Ενεργό",
"DISABLED": "Ανενεργό"
}
} }
} }
} }

View file

@ -115,6 +115,43 @@
"ERROR_MESSAGE": "Δεν ήταν δυνατή η πιστοποίηση των διαπιστευτηρίων Twilio. Δοκιμάστε ξανά" "ERROR_MESSAGE": "Δεν ήταν δυνατή η πιστοποίηση των διαπιστευτηρίων Twilio. Δοκιμάστε ξανά"
} }
}, },
"API_CHANNEL": {
"TITLE": "Κανάλι API",
"DESC": "Ενσωματώστε ένα κανάλι APΙ και ξεκινήσετε την υποστήριξη των πελατών σας.",
"CHANNEL_NAME": {
"LABEL": "Όνομα καναλιού",
"PLACEHOLDER": "Παρακαλώ εισάγετε ένα όνομα καναλιού",
"ERROR": "Το πεδίο είναι απαραίτητο"
},
"WEBHOOK_URL": {
"LABEL": "Σύνδεσμος Webhook",
"SUBTITLE": "Ρυθμίστε το url το οποίο θα λαμβάνει callbacks όταν κάτι συμβαίνει.",
"PLACEHOLDER": "Σύνδεσμος Webhook"
},
"SUBMIT_BUTTON": "Δημιουργία API Καναλιού",
"API": {
"ERROR_MESSAGE": "Δεν είμαστε σε θέση να αποθηκεύσουμε το API κανάλι"
}
},
"EMAIL_CHANNEL": {
"TITLE": "Κανάλι Email",
"DESC": "Συνδέστε ένα κιβώτιο εισερχομένων email.",
"CHANNEL_NAME": {
"LABEL": "Όνομα καναλιού",
"PLACEHOLDER": "Παρακαλώ εισάγετε ένα όνομα καναλιού",
"ERROR": "Το πεδίο είναι απαραίτητο"
},
"EMAIL": {
"LABEL": "Email",
"SUBTITLE": "Το Email στο οποίο οι πελάτες σας θα στέλνουν αιτήματα υποστήριξης",
"PLACEHOLDER": "Email"
},
"SUBMIT_BUTTON": "Δημιουργία Καναλιού Email",
"API": {
"ERROR_MESSAGE": "Δεν είμαστε σε θέση να αποθηκεύσουμε το Email κανάλι"
},
"FINISH_MESSAGE": "Προώθηση των email σας στην ακόλουθη διεύθυνση email."
},
"AUTH": { "AUTH": {
"TITLE": "Κανάλια", "TITLE": "Κανάλια",
"DESC": "Επι του παρόντος υποστηρίζονται widgets για Ιστοσελίδες,και σελιδες Facebook, Προφίλ Twitter ως πλατφόρμες. Εχουμε ακόμη περισσότερες πλατφόρμες όπως Whatsapp, Email, Telegram and Line υπό ανάπτυξη, οι οποίες θα είναι διαθέσιμες σύντομα." "DESC": "Επι του παρόντος υποστηρίζονται widgets για Ιστοσελίδες,και σελιδες Facebook, Προφίλ Twitter ως πλατφόρμες. Εχουμε ακόμη περισσότερες πλατφόρμες όπως Whatsapp, Email, Telegram and Line υπό ανάπτυξη, οι οποίες θα είναι διαθέσιμες σύντομα."
@ -175,7 +212,17 @@
"ERROR_MESSAGE": "Αδυναμία διαγραφής του κιβωτίου. Παρακαλώ προσπαθήστε αργότερα." "ERROR_MESSAGE": "Αδυναμία διαγραφής του κιβωτίου. Παρακαλώ προσπαθήστε αργότερα."
} }
}, },
"TABS": {
"SETTINGS": "Ρυθμίσεις",
"COLLABORATORS": "Συνεργάτες",
"CONFIGURATION": "Διαμόρφωση"
},
"SETTINGS": "Ρυθμίσεις", "SETTINGS": "Ρυθμίσεις",
"FEATURES": {
"LABEL": "Χαρακτηριστικά",
"DISPLAY_FILE_PICKER": "Να εμφανίζεται η επιλογή αρχείου στο widget",
"DISPLAY_EMOJI_PICKER": "Να εμφανίζεται ο επιλογές emoji στο widget"
},
"SETTINGS_POPUP": { "SETTINGS_POPUP": {
"MESSENGER_HEADING": "Κώδικας (Script)", "MESSENGER_HEADING": "Κώδικας (Script)",
"MESSENGER_SUB_HEAD": "Τοποθετήσετε αυτόν τον κώδικα μέσα στο body tag της ιστοσελίδας σας", "MESSENGER_SUB_HEAD": "Τοποθετήσετε αυτόν τον κώδικα μέσα στο body tag της ιστοσελίδας σας",

View file

@ -44,9 +44,14 @@
"LABEL": "Εικόνα Προφίλ" "LABEL": "Εικόνα Προφίλ"
}, },
"NAME": { "NAME": {
"LABEL": "Το Όνομα σας", "LABEL": "Το πλήρες σας όνομα",
"ERROR": "Παρακαλώ εισάγετε ένα έγκυρο όνομα", "ERROR": "Παρακαλώ εισάγετε ένα έγκυρο πλήρες όνομα",
"PLACEHOLDER": "Εισάγετε το Ονοματεπώνυμο σας, όπως θα εμφανίζεται στις συνομιλίες σας" "PLACEHOLDER": "Παρακαλώ συμπληρώστε το πλήρες όνομα σας"
},
"DISPLAY_NAME": {
"LABEL": "Εμφανιζόμενο όνομα",
"ERROR": "Παρακαλώ συμπληρώστε έγκυρο εμφανιζόμενο όνομα",
"PLACEHOLDER": "Παρακαλώ συμπληρώστε το όνομα που θα εμφανίζεται στις συνομιλίες"
}, },
"AVAILABILITY": { "AVAILABILITY": {
"LABEL": "Διαθεσιμότητα", "LABEL": "Διαθεσιμότητα",
@ -122,5 +127,21 @@
"INTEGRATIONS": "Ενοποιήσεις", "INTEGRATIONS": "Ενοποιήσεις",
"ACCOUNT_SETTINGS": "Ρυθμίσεις Λογαριασμού", "ACCOUNT_SETTINGS": "Ρυθμίσεις Λογαριασμού",
"LABELS": "Ετικέτες" "LABELS": "Ετικέτες"
},
"CREATE_ACCOUNT": {
"NEW_ACCOUNT": "Νέος Λογαριασμός",
"SELECTOR_SUBTITLE": "Δημιουργία νέου Λογαριασμού",
"API": {
"SUCCESS_MESSAGE": "Ο Λογαριασμός δημιουργήθηκε επιτυχώς",
"EXIST_MESSAGE": "Ο Λογαριασμός υπάρχει ήδη",
"ERROR_MESSAGE": "Αδυναμία σύνδεσης με τον Woot Server, Παρακαλώ προσπαθήστε αργότερα"
},
"FORM": {
"NAME": {
"LABEL": "Ονομασία Λογαριασμού",
"PLACEHOLDER": "Wayne Α. Ε"
},
"SUBMIT": "Καταχώρηση"
}
} }
} }

View file

@ -1,5 +1,10 @@
{ {
"CONTACT_PANEL": { "CONTACT_PANEL": {
"NOT_AVAILABLE": "Not Available",
"EMAIL_ADDRESS": "Email Address",
"PHONE_NUMBER": "Phone number",
"COMPANY": "Company",
"LOCATION": "Location",
"CONVERSATION_TITLE": "Conversation Details", "CONVERSATION_TITLE": "Conversation Details",
"BROWSER": "Browser", "BROWSER": "Browser",
"OS": "Operating System", "OS": "Operating System",
@ -9,6 +14,9 @@
"NO_RECORDS_FOUND": "There are no previous conversations associated to this contact.", "NO_RECORDS_FOUND": "There are no previous conversations associated to this contact.",
"TITLE": "Previous Conversations" "TITLE": "Previous Conversations"
}, },
"CUSTOM_ATTRIBUTES": {
"TITLE": "Custom Attributes"
},
"LABELS": { "LABELS": {
"TITLE": "Conversation Labels", "TITLE": "Conversation Labels",
"MODAL": { "MODAL": {
@ -23,7 +31,66 @@
"NO_LABELS_TO_ADD": "There are no more labels defined in the account.", "NO_LABELS_TO_ADD": "There are no more labels defined in the account.",
"NO_AVAILABLE_LABELS": "There are no labels added to this conversation." "NO_AVAILABLE_LABELS": "There are no labels added to this conversation."
}, },
"MUTE_CONTACT": "Mute Contact", "MUTE_CONTACT": "Mute Conversation",
"MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "Edit" "EDIT_LABEL": "Edit"
},
"EDIT_CONTACT": {
"BUTTON_LABEL": "Edit Contact",
"TITLE": "Edit contact",
"DESC": "Edit contact details",
"FORM": {
"SUBMIT": "Submit",
"CANCEL": "Cancel",
"AVATAR": {
"LABEL": "Contact Avatar"
},
"NAME": {
"PLACEHOLDER": "Enter the full name of the contact",
"LABEL": "Full Name"
},
"BIO": {
"PLACEHOLDER": "Enter the bio of the contact",
"LABEL": "Bio"
},
"EMAIL_ADDRESS": {
"PLACEHOLDER": "Enter the email address of the contact",
"LABEL": "Email Address"
},
"PHONE_NUMBER": {
"PLACEHOLDER": "Enter the phone number of the contact",
"LABEL": "Phone Number"
},
"LOCATION": {
"PLACEHOLDER": "Enter the location of the contact",
"LABEL": "Location"
},
"COMPANY_NAME": {
"PLACEHOLDER": "Enter the company name",
"LABEL": "Company Name"
},
"SOCIAL_PROFILES": {
"FACEBOOK": {
"PLACEHOLDER": "Enter the Facebook username",
"LABEL": "Facebook"
},
"TWITTER": {
"PLACEHOLDER": "Enter the Twitter username",
"LABEL": "Twitter"
},
"LINKEDIN": {
"PLACEHOLDER": "Enter the LinkedIn username",
"LABEL": "LinkedIn"
},
"GITHUB": {
"PLACEHOLDER": "Enter the Github username",
"LABEL": "Github"
}
}
},
"SUCCESS_MESSAGE": "Updated contact successfully",
"CONTACT_ALREADY_EXIST": "This email address is in use for another contact.",
"ERROR_MESSAGE": "There was an error updating the contact, please try again"
} }
} }

View file

@ -36,5 +36,22 @@
"VISIBLE_TO_AGENTS": "Private Note: Only visible to you and your team", "VISIBLE_TO_AGENTS": "Private Note: Only visible to you and your team",
"CHANGE_STATUS": "Conversation status changed", "CHANGE_STATUS": "Conversation status changed",
"CHANGE_AGENT": "Conversation Assignee changed" "CHANGE_AGENT": "Conversation Assignee changed"
},
"EMAIL_TRANSCRIPT": {
"TITLE": "Send conversation transcript",
"DESC": "Send a copy of the conversation transcript to the specified email address",
"SUBMIT": "Submit",
"CANCEL": "Cancel",
"SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully",
"SEND_EMAIL_ERROR": "There was an error, please try again",
"FORM": {
"SEND_TO_CONTACT": "Send the transcript to the customer",
"SEND_TO_AGENT": "Send the transcript of the assigned agent",
"SEND_TO_OTHER_EMAIL_ADDRESS": "Send the transcript to another email address",
"EMAIL": {
"PLACEHOLDER": "Enter an email address",
"ERROR": "Please enter a valid email address"
}
}
} }
} }

View file

@ -45,6 +45,10 @@
{ {
"TEXT": "Resuelto", "TEXT": "Resuelto",
"VALUE": "resolved" "VALUE": "resolved"
},
{
"TEXT": "Bot",
"VALUE": "bot"
} }
], ],
"ATTACHMENTS": { "ATTACHMENTS": {
@ -72,6 +76,9 @@
"ICON": "ion-link", "ICON": "ion-link",
"CONTENT": "ha compartido una url" "CONTENT": "ha compartido una url"
} }
} },
"RECEIVED_VIA_EMAIL": "Recibido por email",
"VIEW_TWEET_IN_TWITTER": "View tweet in Twitter",
"REPLY_TO_TWEET": "Reply to this tweet"
} }
} }

View file

@ -9,21 +9,26 @@
"NO_RECORDS_FOUND": "No hay conversaciones previas asociadas a este contacto.", "NO_RECORDS_FOUND": "No hay conversaciones previas asociadas a este contacto.",
"TITLE": "Conversaciones anteriores" "TITLE": "Conversaciones anteriores"
}, },
"CUSTOM_ATTRIBUTES": {
"TITLE": "Custom Attributes"
},
"LABELS": { "LABELS": {
"TITLE": "Etiquetas de conversación", "TITLE": "Etiquetas de conversación",
"MODAL": { "MODAL": {
"TITLE": "Labels for", "TITLE": "Etiquetas para",
"ACTIVE_LABELS": "Labels added to the conversation", "ACTIVE_LABELS": "Etiquetas añadidas a la conversación",
"INACTIVE_LABELS": "Labels available in the account", "INACTIVE_LABELS": "Etiquetas disponibles en la cuenta",
"REMOVE": "Click on X icon to remove the label", "REMOVE": "Haga clic en el icono X para quitar la etiqueta",
"ADD": "Click on + icon to add the label", "ADD": "Haga clic en el icono + para añadir la etiqueta",
"UPDATE_BUTTON": "Update labels", "UPDATE_BUTTON": "Actualizar etiquetas",
"UPDATE_ERROR": "Couldn't update labels, try again." "UPDATE_ERROR": "No se han podido actualizar las etiquetas, inténtelo de nuevo."
}, },
"NO_LABELS_TO_ADD": "There are no more labels defined in the account.", "NO_LABELS_TO_ADD": "No hay más etiquetas definidas en la cuenta.",
"NO_AVAILABLE_LABELS": "There are no labels added to this conversation." "NO_AVAILABLE_LABELS": "No hay etiquetas añadidas a esta conversación."
}, },
"MUTE_CONTACT": "Silenciar contacto", "MUTE_CONTACT": "Mute Conversation",
"MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "Editar" "EDIT_LABEL": "Editar"
} }
} }

View file

@ -9,6 +9,11 @@
"CLICK_HERE": "Haz clic aquí", "CLICK_HERE": "Haz clic aquí",
"LOADING_INBOXES": "Cargando bandeja de entrada", "LOADING_INBOXES": "Cargando bandeja de entrada",
"LOADING_CONVERSATIONS": "Cargando conversaciones", "LOADING_CONVERSATIONS": "Cargando conversaciones",
"CANNOT_REPLY": "No puedes responder debido a",
"24_HOURS_WINDOW": "Restricción de la ventana de mensajes de 24 horas",
"LAST_INCOMING_TWEET": "You are replying to the last incoming tweet",
"REPLYING_TO": "You are replying to:",
"REMOVE_SELECTION": "Remove Selection",
"DOWNLOAD": "Descargar", "DOWNLOAD": "Descargar",
"HEADER": { "HEADER": {
"RESOLVE_ACTION": "Resolver", "RESOLVE_ACTION": "Resolver",
@ -31,5 +36,22 @@
"VISIBLE_TO_AGENTS": "Nota privada: solo visible para ti y tu equipo", "VISIBLE_TO_AGENTS": "Nota privada: solo visible para ti y tu equipo",
"CHANGE_STATUS": "Estado de la conversación cambiado", "CHANGE_STATUS": "Estado de la conversación cambiado",
"CHANGE_AGENT": "Conversación cambiada de asignatario" "CHANGE_AGENT": "Conversación cambiada de asignatario"
},
"EMAIL_TRANSCRIPT": {
"TITLE": "Send conversation transcript",
"DESC": "Send a copy of the conversation transcript to the specified email address",
"SUBMIT": "Enviar",
"CANCEL": "Cancelar",
"SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully",
"SEND_EMAIL_ERROR": "Hubo un error, por favor inténtalo de nuevo",
"FORM": {
"SEND_TO_CONTACT": "Send the transcript to the customer",
"SEND_TO_AGENT": "Send the transcript of the assigned agent",
"SEND_TO_OTHER_EMAIL_ADDRESS": "Send the transcript to another email address",
"EMAIL": {
"PLACEHOLDER": "Enter an email address",
"ERROR": "Por favor, introduzca una dirección de correo válida"
}
}
} }
} }

View file

@ -2,7 +2,7 @@
"GENERAL_SETTINGS": { "GENERAL_SETTINGS": {
"TITLE": "Configuración de la cuenta", "TITLE": "Configuración de la cuenta",
"SUBMIT": "Actualizar ajustes", "SUBMIT": "Actualizar ajustes",
"BACK": "Back", "BACK": "Atrás",
"UPDATE": { "UPDATE": {
"ERROR": "No se pudo actualizar la configuración, ¡inténtalo de nuevo!", "ERROR": "No se pudo actualizar la configuración, ¡inténtalo de nuevo!",
"SUCCESS": "Configuración de cuenta actualizada correctamente" "SUCCESS": "Configuración de cuenta actualizada correctamente"
@ -24,8 +24,8 @@
"ERROR": "" "ERROR": ""
}, },
"DOMAIN": { "DOMAIN": {
"LABEL": "Dominio", "LABEL": "Dominio de email entrante",
"PLACEHOLDER": "El dominio de tu sitio web", "PLACEHOLDER": "El dominio donde recibirás los emails",
"ERROR": "" "ERROR": ""
}, },
"SUPPORT_EMAIL": { "SUPPORT_EMAIL": {
@ -33,14 +33,9 @@
"PLACEHOLDER": "Email de soporte de tu empresa", "PLACEHOLDER": "Email de soporte de tu empresa",
"ERROR": "" "ERROR": ""
}, },
"ENABLE_DOMAIN_EMAIL": { "FEATURES": {
"LABEL": "Activar email del dominio", "INBOUND_EMAIL_ENABLED": "Continuidad de la conversación con emails está habilitada para tu cuenta.",
"PLACEHOLDER": "Activar el email del dominio personalizado", "CUSTOM_EMAIL_DOMAIN_ENABLED": "Ahora puedes recibir emails en tu dominio personalizado."
"ERROR": "",
"OPTIONS": {
"ENABLED": "Activado",
"DISABLED": "Deshabilitado"
}
} }
} }
} }

View file

@ -115,6 +115,43 @@
"ERROR_MESSAGE": "No pudimos autenticar credenciales de Twilio, por favor inténtalo de nuevo" "ERROR_MESSAGE": "No pudimos autenticar credenciales de Twilio, por favor inténtalo de nuevo"
} }
}, },
"API_CHANNEL": {
"TITLE": "Canal API",
"DESC": "Integrate with API channel and start supporting your customers.",
"CHANNEL_NAME": {
"LABEL": "Nombre del canal",
"PLACEHOLDER": "Por favor, introduzca un nombre de canal",
"ERROR": "Este campo es obligatorio"
},
"WEBHOOK_URL": {
"LABEL": "URL de Webhook",
"SUBTITLE": "Configure the URL where you want to recieve callbacks on events.",
"PLACEHOLDER": "URL de Webhook"
},
"SUBMIT_BUTTON": "Crear canal de API",
"API": {
"ERROR_MESSAGE": "No pudimos guardar el canal api"
}
},
"EMAIL_CHANNEL": {
"TITLE": "Canal de Email",
"DESC": "Integrate you email inbox.",
"CHANNEL_NAME": {
"LABEL": "Nombre del canal",
"PLACEHOLDER": "Por favor, introduzca un nombre de canal",
"ERROR": "Este campo es obligatorio"
},
"EMAIL": {
"LABEL": "E-mail",
"SUBTITLE": "Email donde tus clientes te envían tickets de soporte",
"PLACEHOLDER": "E-mail"
},
"SUBMIT_BUTTON": "Crear canal de email",
"API": {
"ERROR_MESSAGE": "No pudimos guardar el canal de email"
},
"FINISH_MESSAGE": "Empieza a reenviar tus emails a la siguiente dirección de email."
},
"AUTH": { "AUTH": {
"TITLE": "Canales", "TITLE": "Canales",
"DESC": "Actualmente soportamos widgets de chat en vivo, páginas de Facebook y perfiles de Twitter como plataformas. Tenemos más plataformas como Whatsapp, Email, Telegram y Línea en las obras, que estarán en breve." "DESC": "Actualmente soportamos widgets de chat en vivo, páginas de Facebook y perfiles de Twitter como plataformas. Tenemos más plataformas como Whatsapp, Email, Telegram y Línea en las obras, que estarán en breve."
@ -175,7 +212,17 @@
"ERROR_MESSAGE": "No se pudo eliminar la bandeja de entrada. Inténtalo de nuevo más tarde." "ERROR_MESSAGE": "No se pudo eliminar la bandeja de entrada. Inténtalo de nuevo más tarde."
} }
}, },
"TABS": {
"SETTINGS": "Ajustes",
"COLLABORATORS": "Collaborators",
"CONFIGURATION": "Configuration"
},
"SETTINGS": "Ajustes", "SETTINGS": "Ajustes",
"FEATURES": {
"LABEL": "Features",
"DISPLAY_FILE_PICKER": "Display file picker on the widget",
"DISPLAY_EMOJI_PICKER": "Display emoji picker on the widget"
},
"SETTINGS_POPUP": { "SETTINGS_POPUP": {
"MESSENGER_HEADING": "Script de Messenger", "MESSENGER_HEADING": "Script de Messenger",
"MESSENGER_SUB_HEAD": "Coloca este botón dentro de tu etiqueta cuerpo", "MESSENGER_SUB_HEAD": "Coloca este botón dentro de tu etiqueta cuerpo",

View file

@ -53,11 +53,11 @@
"DELETE": { "DELETE": {
"BUTTON_TEXT": "Eliminar", "BUTTON_TEXT": "Eliminar",
"API": { "API": {
"SUCCESS_MESSAGE": "Integration deleted successfully" "SUCCESS_MESSAGE": "Integración eliminada correctamente"
} }
}, },
"CONNECT": { "CONNECT": {
"BUTTON_TEXT": "Connect" "BUTTON_TEXT": "Conectar"
} }
} }
} }

View file

@ -1,61 +1,61 @@
{ {
"LABEL_MGMT": { "LABEL_MGMT": {
"HEADER": "Labels", "HEADER": "Etiquetas",
"HEADER_BTN_TXT": "Add label", "HEADER_BTN_TXT": "Añadir etiqueta",
"LOADING": "Fetching labels", "LOADING": "Obteniendo etiquetas",
"SEARCH_404": "No hay elementos que coincidan con esta consulta", "SEARCH_404": "No hay elementos que coincidan con esta consulta",
"SIDEBAR_TXT": "<p><b>Labels</b> <p>Labels help you to categorize conversations and prioritize them. You can assign label to a conversation from the sidepanel. <br /><br />Labels are tied to the account and can be used to create custom workflows in your organization. You can assign custom color to a label, it makes it easier to identify the label. You will be able to display the label on the sidebar to filter the conversations easily.</p>", "SIDEBAR_TXT": "<p><b>Etiquetas</b> <p>Las etiquetas le ayudan a categorizar las conversaciones y priorizarlas. Puede asignar la etiqueta a una conversación desde el panel latera. <br /><br />Las etiquetas están vinculadas a la cuenta y pueden utilizarse para crear flujos de trabajo personalizados en su organización. Puede asignar un color personalizado a una etiqueta, hace más fácil identificarla. Podrás mostrar la etiqueta en la barra lateral para filtrar las conversaciones fácilmente.</p>",
"LIST": { "LIST": {
"404": "There are no labels available in this account.", "404": "No hay etiquetas disponibles en esta cuenta.",
"TITLE": "Manage labels", "TITLE": "Gestionar etiquetas",
"DESC": "Labels let you group the conversations together.", "DESC": "Las etiquetas le permiten agrupar las conversaciones.",
"TABLE_HEADER": [ "TABLE_HEADER": [
"Nombre", "Nombre",
"Description", "Descripción",
"Color" "Color"
] ]
}, },
"FORM": { "FORM": {
"NAME": { "NAME": {
"LABEL": "Label Name", "LABEL": "Nombre de etiqueta",
"PLACEHOLDER": "Label name", "PLACEHOLDER": "Nombre de etiqueta",
"ERROR": "Label Name is required" "ERROR": "Nombre de la etiqueta es obligatorio"
}, },
"DESCRIPTION": { "DESCRIPTION": {
"LABEL": "Description", "LABEL": "Descripción",
"PLACEHOLDER": "Label Description" "PLACEHOLDER": "Descripción de la etiqueta"
}, },
"COLOR": { "COLOR": {
"LABEL": "Color" "LABEL": "Color"
}, },
"SHOW_ON_SIDEBAR": { "SHOW_ON_SIDEBAR": {
"LABEL": "Show label on sidebar" "LABEL": "Mostrar etiqueta en la barra lateral"
}, },
"EDIT": "Editar", "EDIT": "Editar",
"CREATE": "Create", "CREATE": "Crear",
"DELETE": "Eliminar", "DELETE": "Eliminar",
"CANCEL": "Cancelar" "CANCEL": "Cancelar"
}, },
"ADD": { "ADD": {
"TITLE": "Add label", "TITLE": "Añadir etiqueta",
"DESC": "Labels let you group the conversations together.", "DESC": "Las etiquetas le permiten agrupar las conversaciones.",
"API": { "API": {
"SUCCESS_MESSAGE": "Label added successfully", "SUCCESS_MESSAGE": "Etiqueta añadida correctamente",
"ERROR_MESSAGE": "There was an error, please try again" "ERROR_MESSAGE": "Hubo un error, por favor inténtalo de nuevo"
} }
}, },
"EDIT": { "EDIT": {
"TITLE": "Edit label", "TITLE": "Editar etiqueta",
"API": { "API": {
"SUCCESS_MESSAGE": "Label updated successfully", "SUCCESS_MESSAGE": "Etiqueta actualizada correctamente",
"ERROR_MESSAGE": "There was an error, please try again" "ERROR_MESSAGE": "Hubo un error, por favor inténtalo de nuevo"
} }
}, },
"DELETE": { "DELETE": {
"BUTTON_TEXT": "Eliminar", "BUTTON_TEXT": "Eliminar",
"API": { "API": {
"SUCCESS_MESSAGE": "Label deleted successfully", "SUCCESS_MESSAGE": "Etiqueta actualizada correctamente",
"ERROR_MESSAGE": "There was an error, please try again" "ERROR_MESSAGE": "Hubo un error, por favor inténtalo de nuevo"
}, },
"CONFIRM": { "CONFIRM": {
"TITLE": "Confirmar eliminación", "TITLE": "Confirmar eliminación",

View file

@ -44,24 +44,29 @@
"LABEL": "Imagen de perfil" "LABEL": "Imagen de perfil"
}, },
"NAME": { "NAME": {
"LABEL": "Tu nombre", "LABEL": "Tu nombre completo",
"ERROR": "Por favor, introduzca un nombre válido", "ERROR": "Introduce un nombre válido por favor",
"PLACEHOLDER": "Por favor, introduzca su nombre, esto se mostrará en las conversaciones" "PLACEHOLDER": "Introduce tu nombre completo por favor"
},
"DISPLAY_NAME": {
"LABEL": "Nombre a mostrar",
"ERROR": "Introduce un nombre válido por favor",
"PLACEHOLDER": "Introduce un nombre a mostrar por favor, esto se mostrará en las conversaciones"
}, },
"AVAILABILITY": { "AVAILABILITY": {
"LABEL": "Availability", "LABEL": "Disponibilidad",
"STATUSES_LIST": [ "STATUSES_LIST": [
{ {
"value": "online", "value": "online",
"label": "Online" "label": "En línea"
}, },
{ {
"value": "busy", "value": "busy",
"label": "Busy" "label": "Ocupado"
}, },
{ {
"value": "offline", "value": "offline",
"label": "Offline" "label": "Fuera de línea"
} }
] ]
}, },
@ -121,6 +126,22 @@
"CANNED_RESPONSES": "Respuestas predefinidas", "CANNED_RESPONSES": "Respuestas predefinidas",
"INTEGRATIONS": "Integraciones", "INTEGRATIONS": "Integraciones",
"ACCOUNT_SETTINGS": "Configuración de la cuenta", "ACCOUNT_SETTINGS": "Configuración de la cuenta",
"LABELS": "Labels" "LABELS": "Etiquetas"
},
"CREATE_ACCOUNT": {
"NEW_ACCOUNT": "Nueva cuenta",
"SELECTOR_SUBTITLE": "Crear nueva cuenta",
"API": {
"SUCCESS_MESSAGE": "Cuenta creada con éxito",
"EXIST_MESSAGE": "La cuenta ya existe",
"ERROR_MESSAGE": "No se pudo conectar al servidor Woot, por favor inténtalo de nuevo más tarde"
},
"FORM": {
"NAME": {
"LABEL": "Nombre de cuenta",
"PLACEHOLDER": "Empresas de Wayne"
},
"SUBMIT": "Enviar"
}
} }
} }

View file

@ -10,7 +10,8 @@
"SEARCH": { "SEARCH": {
"INPUT": "پیدا کردن افراد، گفتگوها و پاسخ‌های از پیش نوشته شده..." "INPUT": "پیدا کردن افراد، گفتگوها و پاسخ‌های از پیش نوشته شده..."
}, },
"STATUS_TABS": [{ "STATUS_TABS": [
{
"NAME": "باز", "NAME": "باز",
"KEY": "openCount" "KEY": "openCount"
}, },
@ -19,8 +20,8 @@
"KEY": "allConvCount" "KEY": "allConvCount"
} }
], ],
"ASSIGNEE_TYPE_TABS": [
"ASSIGNEE_TYPE_TABS": [{ {
"NAME": "من", "NAME": "من",
"KEY": "me", "KEY": "me",
"COUNT_KEY": "mineCount" "COUNT_KEY": "mineCount"
@ -36,17 +37,20 @@
"COUNT_KEY": "allCount" "COUNT_KEY": "allCount"
} }
], ],
"CHAT_STATUS_ITEMS": [
"CHAT_STATUS_ITEMS": [{ {
"TEXT": "باز", "TEXT": "باز",
"VALUE": "open" "VALUE": "open"
}, },
{ {
"TEXT": "حل شده", "TEXT": "حل شده",
"VALUE": "resolved" "VALUE": "resolved"
},
{
"TEXT": "Bot",
"VALUE": "bot"
} }
], ],
"ATTACHMENTS": { "ATTACHMENTS": {
"image": { "image": {
"ICON": "ion-image", "ICON": "ion-image",
@ -72,6 +76,9 @@
"ICON": "ion-link", "ICON": "ion-link",
"CONTENT": "یک آدرس URL به اشتراک گذاشته شده" "CONTENT": "یک آدرس URL به اشتراک گذاشته شده"
} }
} },
"RECEIVED_VIA_EMAIL": "Received via email",
"VIEW_TWEET_IN_TWITTER": "View tweet in Twitter",
"REPLY_TO_TWEET": "Reply to this tweet"
} }
} }

View file

@ -6,16 +6,29 @@
"INITIATED_FROM": "شروع شده از", "INITIATED_FROM": "شروع شده از",
"INITIATED_AT": "شروع شده در", "INITIATED_AT": "شروع شده در",
"CONVERSATIONS": { "CONVERSATIONS": {
"NO_RECORDS_FOUND": "این اولین گفتگوی این کاربر است", "NO_RECORDS_FOUND": "این اولین گفتگوی این کاربر است.",
"TITLE": "گفتگوهای قبلی" "TITLE": "گفتگوهای قبلی"
}, },
"CUSTOM_ATTRIBUTES": {
"TITLE": "Custom Attributes"
},
"LABELS": { "LABELS": {
"TITLE": "برچسب‌های گفتگو", "TITLE": "برچسب‌های گفتگو",
"UPDATE_BUTTON": "تغییر برچسب‌ها", "MODAL": {
"UPDATE_ERROR": "برچسب‌ها تغییری نکردند، لطفا بعدا امتحان کنید", "TITLE": "Labels for",
"TAG_PLACEHOLDER": "برچسب جدید", "ACTIVE_LABELS": "Labels added to the conversation",
"PLACEHOLDER": "پیدا کردن یا اضافه کردن برچسب" "INACTIVE_LABELS": "Labels available in the account",
"REMOVE": "Click on X icon to remove the label",
"ADD": "Click on + icon to add the label",
"UPDATE_BUTTON": "تغییر برچسب‌ها",
"UPDATE_ERROR": "برچسب‌ها تغییری نکردند، لطفا بعدا امتحان کنید."
},
"NO_LABELS_TO_ADD": "There are no more labels defined in the account.",
"NO_AVAILABLE_LABELS": "There are no labels added to this conversation."
}, },
"MUTE_CONTACT": "بی‌صدا کردن گفتگو" "MUTE_CONTACT": "بی‌صدا کردن گفتگو",
"MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "ویرایش"
} }
} }

View file

@ -9,6 +9,11 @@
"CLICK_HERE": "Click here", "CLICK_HERE": "Click here",
"LOADING_INBOXES": "Loading inboxes", "LOADING_INBOXES": "Loading inboxes",
"LOADING_CONVERSATIONS": "Loading Conversations", "LOADING_CONVERSATIONS": "Loading Conversations",
"CANNOT_REPLY": "You cannot reply due to",
"24_HOURS_WINDOW": "24 hour message window restriction",
"LAST_INCOMING_TWEET": "You are replying to the last incoming tweet",
"REPLYING_TO": "You are replying to:",
"REMOVE_SELECTION": "Remove Selection",
"DOWNLOAD": "Download", "DOWNLOAD": "Download",
"HEADER": { "HEADER": {
"RESOLVE_ACTION": "Resolve", "RESOLVE_ACTION": "Resolve",
@ -31,5 +36,22 @@
"VISIBLE_TO_AGENTS": "Private Note: Only visible to you and your team", "VISIBLE_TO_AGENTS": "Private Note: Only visible to you and your team",
"CHANGE_STATUS": "Conversation status changed", "CHANGE_STATUS": "Conversation status changed",
"CHANGE_AGENT": "Conversation Assignee changed" "CHANGE_AGENT": "Conversation Assignee changed"
},
"EMAIL_TRANSCRIPT": {
"TITLE": "Send conversation transcript",
"DESC": "Send a copy of the conversation transcript to the specified email address",
"SUBMIT": "ثبت",
"CANCEL": "انصراف",
"SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully",
"SEND_EMAIL_ERROR": "There was an error, please try again",
"FORM": {
"SEND_TO_CONTACT": "Send the transcript to the customer",
"SEND_TO_AGENT": "Send the transcript of the assigned agent",
"SEND_TO_OTHER_EMAIL_ADDRESS": "Send the transcript to another email address",
"EMAIL": {
"PLACEHOLDER": "Enter an email address",
"ERROR": "لطفا ایمیل خود را به شکل صحیح وارد کنید"
}
}
} }
} }

View file

@ -2,6 +2,7 @@
"GENERAL_SETTINGS": { "GENERAL_SETTINGS": {
"TITLE": "تنظیمات حساب", "TITLE": "تنظیمات حساب",
"SUBMIT": "تغییر تنظیمات", "SUBMIT": "تغییر تنظیمات",
"BACK": "Back",
"UPDATE": { "UPDATE": {
"ERROR": "تنظیمات تغییری نکرد، دوباره امتحان کنید!", "ERROR": "تنظیمات تغییری نکرد، دوباره امتحان کنید!",
"SUCCESS": "تنظیمات با موفقیت اعمال شد" "SUCCESS": "تنظیمات با موفقیت اعمال شد"
@ -23,8 +24,8 @@
"ERROR": "" "ERROR": ""
}, },
"DOMAIN": { "DOMAIN": {
"LABEL": "دامنه", "LABEL": "Incoming Email Domain",
"PLACEHOLDER": "دامنه سایت شما", "PLACEHOLDER": "The domain where you will receive the emails",
"ERROR": "" "ERROR": ""
}, },
"SUPPORT_EMAIL": { "SUPPORT_EMAIL": {
@ -32,14 +33,9 @@
"PLACEHOLDER": "ایمیل پشتیبانی شرکت شما", "PLACEHOLDER": "ایمیل پشتیبانی شرکت شما",
"ERROR": "" "ERROR": ""
}, },
"ENABLE_DOMAIN_EMAIL": { "FEATURES": {
"LABEL": "فعال کردن ایمیل دامنه", "INBOUND_EMAIL_ENABLED": "Conversation continuity with emails is enabled for your account.",
"PLACEHOLDER": "فعال کردن ایمیل دامنه‌های اختصاصی", "CUSTOM_EMAIL_DOMAIN_ENABLED": "You can receive emails in your custom domain now."
"ERROR": "",
"OPTIONS": {
"ENABLED": "فعال",
"DISABLED": "غیرفعال"
}
} }
} }
} }

View file

@ -115,6 +115,43 @@
"ERROR_MESSAGE": "متاسفانه Twilio اطلاعات ارائه شده را تایید نمی کند، لطفا اصلاح و مجددا تلاش کنید" "ERROR_MESSAGE": "متاسفانه Twilio اطلاعات ارائه شده را تایید نمی کند، لطفا اصلاح و مجددا تلاش کنید"
} }
}, },
"API_CHANNEL": {
"TITLE": "API Channel",
"DESC": "Integrate with API channel and start supporting your customers.",
"CHANNEL_NAME": {
"LABEL": "عنوان کانال",
"PLACEHOLDER": "لطفا اسم یک کانال را وارد کنید",
"ERROR": "پر کردن این فیلد ضروری است"
},
"WEBHOOK_URL": {
"LABEL": "آدرس URL وب هوک",
"SUBTITLE": "Configure the URL where you want to recieve callbacks on events.",
"PLACEHOLDER": "آدرس URL وب هوک"
},
"SUBMIT_BUTTON": "Create API Channel",
"API": {
"ERROR_MESSAGE": "We were not able to save the api channel"
}
},
"EMAIL_CHANNEL": {
"TITLE": "Email Channel",
"DESC": "Integrate you email inbox.",
"CHANNEL_NAME": {
"LABEL": "عنوان کانال",
"PLACEHOLDER": "لطفا اسم یک کانال را وارد کنید",
"ERROR": "پر کردن این فیلد ضروری است"
},
"EMAIL": {
"LABEL": "ایمیل",
"SUBTITLE": "Email where your customers sends you support tickets",
"PLACEHOLDER": "ایمیل"
},
"SUBMIT_BUTTON": "Create Email Channel",
"API": {
"ERROR_MESSAGE": "We were not able to save the email channel"
},
"FINISH_MESSAGE": "Start forwarding your emails to the following email address."
},
"AUTH": { "AUTH": {
"TITLE": "کانال‌ها", "TITLE": "کانال‌ها",
"DESC": "در حال حاضر ما ویجت‌های پشتیبانی آنلاین سایت‌ها، صفحات فیس بوک و پروفایل‌های توییتر را پشتیبانی می‌کنیم. پلتفرم‌های دیگری مثل واتساپ، ایمیل، تلگرام و لاین در برنامه کاری ما قرار دارد و به زودی آماده خواهند شد." "DESC": "در حال حاضر ما ویجت‌های پشتیبانی آنلاین سایت‌ها، صفحات فیس بوک و پروفایل‌های توییتر را پشتیبانی می‌کنیم. پلتفرم‌های دیگری مثل واتساپ، ایمیل، تلگرام و لاین در برنامه کاری ما قرار دارد و به زودی آماده خواهند شد."
@ -175,7 +212,17 @@
"ERROR_MESSAGE": "صندوق ورودی حذف نشد، لطفا بعدا امتحان کنید" "ERROR_MESSAGE": "صندوق ورودی حذف نشد، لطفا بعدا امتحان کنید"
} }
}, },
"TABS": {
"SETTINGS": "تنظیمات",
"COLLABORATORS": "Collaborators",
"CONFIGURATION": "Configuration"
},
"SETTINGS": "تنظیمات", "SETTINGS": "تنظیمات",
"FEATURES": {
"LABEL": "Features",
"DISPLAY_FILE_PICKER": "Display file picker on the widget",
"DISPLAY_EMOJI_PICKER": "Display emoji picker on the widget"
},
"SETTINGS_POPUP": { "SETTINGS_POPUP": {
"MESSENGER_HEADING": "اسکریپت ویجت", "MESSENGER_HEADING": "اسکریپت ویجت",
"MESSENGER_SUB_HEAD": "این دکمه را در تگ body قرار دهید", "MESSENGER_SUB_HEAD": "این دکمه را در تگ body قرار دهید",

View file

@ -49,6 +49,15 @@
"NO": "خیر، بماند" "NO": "خیر، بماند"
} }
} }
},
"DELETE": {
"BUTTON_TEXT": "حذف",
"API": {
"SUCCESS_MESSAGE": "Integration deleted successfully"
}
},
"CONNECT": {
"BUTTON_TEXT": "Connect"
} }
} }
} }

View file

@ -0,0 +1,68 @@
{
"LABEL_MGMT": {
"HEADER": "Labels",
"HEADER_BTN_TXT": "Add label",
"LOADING": "Fetching labels",
"SEARCH_404": "هیچ آیتمی با این مشخصات یافت نشد",
"SIDEBAR_TXT": "<p><b>Labels</b> <p>Labels help you to categorize conversations and prioritize them. You can assign label to a conversation from the sidepanel. <br /><br />Labels are tied to the account and can be used to create custom workflows in your organization. You can assign custom color to a label, it makes it easier to identify the label. You will be able to display the label on the sidebar to filter the conversations easily.</p>",
"LIST": {
"404": "There are no labels available in this account.",
"TITLE": "Manage labels",
"DESC": "Labels let you group the conversations together.",
"TABLE_HEADER": [
"نام",
"Description",
"Color"
]
},
"FORM": {
"NAME": {
"LABEL": "Label Name",
"PLACEHOLDER": "Label name",
"ERROR": "Label Name is required"
},
"DESCRIPTION": {
"LABEL": "Description",
"PLACEHOLDER": "Label Description"
},
"COLOR": {
"LABEL": "Color"
},
"SHOW_ON_SIDEBAR": {
"LABEL": "Show label on sidebar"
},
"EDIT": "ویرایش",
"CREATE": "Create",
"DELETE": "حذف",
"CANCEL": "انصراف"
},
"ADD": {
"TITLE": "Add label",
"DESC": "Labels let you group the conversations together.",
"API": {
"SUCCESS_MESSAGE": "Label added successfully",
"ERROR_MESSAGE": "There was an error, please try again"
}
},
"EDIT": {
"TITLE": "Edit label",
"API": {
"SUCCESS_MESSAGE": "Label updated successfully",
"ERROR_MESSAGE": "There was an error, please try again"
}
},
"DELETE": {
"BUTTON_TEXT": "حذف",
"API": {
"SUCCESS_MESSAGE": "Label deleted successfully",
"ERROR_MESSAGE": "There was an error, please try again"
},
"CONFIRM": {
"TITLE": "تاییدیه حذف",
"MESSAGE": "مطمئن هستید که حذف شود ",
"YES": "بله، حذف شود ",
"NO": "نه، بماند "
}
}
}
}

View file

@ -4,16 +4,46 @@
"LOADING_CHART": "در حال دریافت اطلاعات...", "LOADING_CHART": "در حال دریافت اطلاعات...",
"NO_ENOUGH_DATA": "متاسفانه اطلاعات کافی دریافت نشد، لطفا بعدا دوباره امتحان کنید", "NO_ENOUGH_DATA": "متاسفانه اطلاعات کافی دریافت نشد، لطفا بعدا دوباره امتحان کنید",
"METRICS": [ "METRICS": [
{ "NAME": "گفتگوها", "KEY": "conversations_count", "DESC": "( جمع کل )" }, {
{ "NAME": "پیام‌های ورودی", "KEY": "incoming_messages_count", "DESC": "( جمع کل )" }, "NAME": "گفتگوها",
{ "NAME": "پیام‌های خروجی", "KEY": "outgoing_messages_count", "DESC": "( جمع کل )" }, "KEY": "conversations_count",
{ "NAME": "زمان تا اولین پاسخ", "KEY": "avg_first_response_time", "DESC": "( میانگین )" }, "DESC": "( جمع کل )"
{ "NAME": "زمان تا حل شدن مساله", "KEY": "avg_resolution_time", "DESC": "( میانگین )" }, },
{ "NAME": "تعداد مسائل حل شده", "KEY": "resolutions_count", "DESC": "( جمع کل )" } {
"NAME": "پیام‌های ورودی",
"KEY": "incoming_messages_count",
"DESC": "( جمع کل )"
},
{
"NAME": "پیام‌های خروجی",
"KEY": "outgoing_messages_count",
"DESC": "( جمع کل )"
},
{
"NAME": "زمان تا اولین پاسخ",
"KEY": "avg_first_response_time",
"DESC": "( میانگین )"
},
{
"NAME": "زمان تا حل شدن مساله",
"KEY": "avg_resolution_time",
"DESC": "( میانگین )"
},
{
"NAME": "تعداد مسائل حل شده",
"KEY": "resolutions_count",
"DESC": "( جمع کل )"
}
], ],
"DATE_RANGE": [ "DATE_RANGE": [
{ "id": 0, "name": "در ۷ روز گذشته" }, {
{ "id": 1, "name": "در ۳۰ روز گذشته" } "id": 0,
"name": "در ۷ روز گذشته"
},
{
"id": 1,
"name": "در ۳۰ روز گذشته"
}
] ]
} }
} }

View file

@ -44,9 +44,31 @@
"LABEL": "عکس پروفایل" "LABEL": "عکس پروفایل"
}, },
"NAME": { "NAME": {
"LABEL": "اسم شما", "LABEL": "Your full name",
"ERROR": "لطفا اسم خود را به شکل صحیح وارد کنید", "ERROR": "Please enter a valid full name",
"PLACEHOLDER": "لطفا اسم خود را وارد کنید، این اسم در گفتگوها دیده می‌شود" "PLACEHOLDER": "Please enter your full name"
},
"DISPLAY_NAME": {
"LABEL": "Display name",
"ERROR": "Please enter a valid display name",
"PLACEHOLDER": "Please enter a display name, this would be displayed in conversations"
},
"AVAILABILITY": {
"LABEL": "Availability",
"STATUSES_LIST": [
{
"value": "online",
"label": "Online"
},
{
"value": "busy",
"label": "Busy"
},
{
"value": "offline",
"label": "Offline"
}
]
}, },
"EMAIL": { "EMAIL": {
"LABEL": "ایمیل شما", "LABEL": "ایمیل شما",
@ -103,6 +125,23 @@
"INBOXES": "صندوق‌های ورودی", "INBOXES": "صندوق‌های ورودی",
"CANNED_RESPONSES": "پاسخ‌های آماده", "CANNED_RESPONSES": "پاسخ‌های آماده",
"INTEGRATIONS": "برنامه‌های تلفیق شده", "INTEGRATIONS": "برنامه‌های تلفیق شده",
"ACCOUNT_SETTINGS": "تنظیمات حساب" "ACCOUNT_SETTINGS": "تنظیمات حساب",
"LABELS": "Labels"
},
"CREATE_ACCOUNT": {
"NEW_ACCOUNT": "New Account",
"SELECTOR_SUBTITLE": "Create a new account",
"API": {
"SUCCESS_MESSAGE": "Account created successfully",
"EXIST_MESSAGE": "Account already exists",
"ERROR_MESSAGE": "ارتباط با سرور برقرار نشد، لطفا مجددا امتحان کنید"
},
"FORM": {
"NAME": {
"LABEL": "عنوان حساب",
"PLACEHOLDER": "شرکت ایران ناسیونال"
},
"SUBMIT": "ثبت"
}
} }
} }

View file

@ -45,6 +45,10 @@
{ {
"TEXT": "Resolved", "TEXT": "Resolved",
"VALUE": "resolved" "VALUE": "resolved"
},
{
"TEXT": "Bot",
"VALUE": "bot"
} }
], ],
"ATTACHMENTS": { "ATTACHMENTS": {
@ -72,6 +76,9 @@
"ICON": "ion-link", "ICON": "ion-link",
"CONTENT": "has shared a url" "CONTENT": "has shared a url"
} }
} },
"RECEIVED_VIA_EMAIL": "Received via email",
"VIEW_TWEET_IN_TWITTER": "View tweet in Twitter",
"REPLY_TO_TWEET": "Reply to this tweet"
} }
} }

View file

@ -9,6 +9,9 @@
"NO_RECORDS_FOUND": "There are no previous conversations associated to this contact.", "NO_RECORDS_FOUND": "There are no previous conversations associated to this contact.",
"TITLE": "Previous Conversations" "TITLE": "Previous Conversations"
}, },
"CUSTOM_ATTRIBUTES": {
"TITLE": "Custom Attributes"
},
"LABELS": { "LABELS": {
"TITLE": "Conversation Labels", "TITLE": "Conversation Labels",
"MODAL": { "MODAL": {
@ -23,7 +26,9 @@
"NO_LABELS_TO_ADD": "There are no more labels defined in the account.", "NO_LABELS_TO_ADD": "There are no more labels defined in the account.",
"NO_AVAILABLE_LABELS": "There are no labels added to this conversation." "NO_AVAILABLE_LABELS": "There are no labels added to this conversation."
}, },
"MUTE_CONTACT": "Mute Contact", "MUTE_CONTACT": "Mute Conversation",
"MUTED_SUCCESS": "This conversation is muted for 6 hours",
"SEND_TRANSCRIPT": "Send Transcript",
"EDIT_LABEL": "Edit" "EDIT_LABEL": "Edit"
} }
} }

View file

@ -9,6 +9,11 @@
"CLICK_HERE": "Click here", "CLICK_HERE": "Click here",
"LOADING_INBOXES": "Loading inboxes", "LOADING_INBOXES": "Loading inboxes",
"LOADING_CONVERSATIONS": "Loading Conversations", "LOADING_CONVERSATIONS": "Loading Conversations",
"CANNOT_REPLY": "You cannot reply due to",
"24_HOURS_WINDOW": "24 hour message window restriction",
"LAST_INCOMING_TWEET": "You are replying to the last incoming tweet",
"REPLYING_TO": "You are replying to:",
"REMOVE_SELECTION": "Remove Selection",
"DOWNLOAD": "Download", "DOWNLOAD": "Download",
"HEADER": { "HEADER": {
"RESOLVE_ACTION": "Resolve", "RESOLVE_ACTION": "Resolve",
@ -31,5 +36,22 @@
"VISIBLE_TO_AGENTS": "Private Note: Only visible to you and your team", "VISIBLE_TO_AGENTS": "Private Note: Only visible to you and your team",
"CHANGE_STATUS": "Conversation status changed", "CHANGE_STATUS": "Conversation status changed",
"CHANGE_AGENT": "Conversation Assignee changed" "CHANGE_AGENT": "Conversation Assignee changed"
},
"EMAIL_TRANSCRIPT": {
"TITLE": "Send conversation transcript",
"DESC": "Send a copy of the conversation transcript to the specified email address",
"SUBMIT": "Submit",
"CANCEL": "Cancel",
"SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully",
"SEND_EMAIL_ERROR": "There was an error, please try again",
"FORM": {
"SEND_TO_CONTACT": "Send the transcript to the customer",
"SEND_TO_AGENT": "Send the transcript of the assigned agent",
"SEND_TO_OTHER_EMAIL_ADDRESS": "Send the transcript to another email address",
"EMAIL": {
"PLACEHOLDER": "Enter an email address",
"ERROR": "Please enter a valid email address"
}
}
} }
} }

View file

@ -24,8 +24,8 @@
"ERROR": "" "ERROR": ""
}, },
"DOMAIN": { "DOMAIN": {
"LABEL": "Domain", "LABEL": "Incoming Email Domain",
"PLACEHOLDER": "Your website domain", "PLACEHOLDER": "The domain where you will receive the emails",
"ERROR": "" "ERROR": ""
}, },
"SUPPORT_EMAIL": { "SUPPORT_EMAIL": {
@ -33,14 +33,9 @@
"PLACEHOLDER": "Your company's support email", "PLACEHOLDER": "Your company's support email",
"ERROR": "" "ERROR": ""
}, },
"ENABLE_DOMAIN_EMAIL": { "FEATURES": {
"LABEL": "Enable domain email", "INBOUND_EMAIL_ENABLED": "Conversation continuity with emails is enabled for your account.",
"PLACEHOLDER": "Enable the custom domain email", "CUSTOM_EMAIL_DOMAIN_ENABLED": "You can receive emails in your custom domain now."
"ERROR": "",
"OPTIONS": {
"ENABLED": "Enabled",
"DISABLED": "Disabled"
}
} }
} }
} }

View file

@ -115,6 +115,43 @@
"ERROR_MESSAGE": "We were not able to authenticate Twilio credentials, please try again" "ERROR_MESSAGE": "We were not able to authenticate Twilio credentials, please try again"
} }
}, },
"API_CHANNEL": {
"TITLE": "API Channel",
"DESC": "Integrate with API channel and start supporting your customers.",
"CHANNEL_NAME": {
"LABEL": "Channel Name",
"PLACEHOLDER": "Please enter a channel name",
"ERROR": "This field is required"
},
"WEBHOOK_URL": {
"LABEL": "Webhook URL",
"SUBTITLE": "Configure the URL where you want to recieve callbacks on events.",
"PLACEHOLDER": "Webhook URL"
},
"SUBMIT_BUTTON": "Create API Channel",
"API": {
"ERROR_MESSAGE": "We were not able to save the api channel"
}
},
"EMAIL_CHANNEL": {
"TITLE": "Email Channel",
"DESC": "Integrate you email inbox.",
"CHANNEL_NAME": {
"LABEL": "Channel Name",
"PLACEHOLDER": "Please enter a channel name",
"ERROR": "This field is required"
},
"EMAIL": {
"LABEL": "Email",
"SUBTITLE": "Email where your customers sends you support tickets",
"PLACEHOLDER": "Email"
},
"SUBMIT_BUTTON": "Create Email Channel",
"API": {
"ERROR_MESSAGE": "We were not able to save the email channel"
},
"FINISH_MESSAGE": "Start forwarding your emails to the following email address."
},
"AUTH": { "AUTH": {
"TITLE": "Channels", "TITLE": "Channels",
"DESC": "Currently we support Website live chat widgets, Facebook Pages and Twitter profiles as platforms. We have more platforms like Whatsapp, Email, Telegram and Line in the works, which will be out soon." "DESC": "Currently we support Website live chat widgets, Facebook Pages and Twitter profiles as platforms. We have more platforms like Whatsapp, Email, Telegram and Line in the works, which will be out soon."
@ -175,7 +212,17 @@
"ERROR_MESSAGE": "Could not delete inbox. Please try again later." "ERROR_MESSAGE": "Could not delete inbox. Please try again later."
} }
}, },
"TABS": {
"SETTINGS": "Settings",
"COLLABORATORS": "Collaborators",
"CONFIGURATION": "Configuration"
},
"SETTINGS": "Settings", "SETTINGS": "Settings",
"FEATURES": {
"LABEL": "Features",
"DISPLAY_FILE_PICKER": "Display file picker on the widget",
"DISPLAY_EMOJI_PICKER": "Display emoji picker on the widget"
},
"SETTINGS_POPUP": { "SETTINGS_POPUP": {
"MESSENGER_HEADING": "Messenger Script", "MESSENGER_HEADING": "Messenger Script",
"MESSENGER_SUB_HEAD": "Place this button inside your body tag", "MESSENGER_SUB_HEAD": "Place this button inside your body tag",

View file

@ -44,9 +44,14 @@
"LABEL": "Profile Image" "LABEL": "Profile Image"
}, },
"NAME": { "NAME": {
"LABEL": "Your name", "LABEL": "Your full name",
"ERROR": "Please enter a valid name", "ERROR": "Please enter a valid full name",
"PLACEHOLDER": "Please enter your name, this would be displayed in conversations" "PLACEHOLDER": "Please enter your full name"
},
"DISPLAY_NAME": {
"LABEL": "Display name",
"ERROR": "Please enter a valid display name",
"PLACEHOLDER": "Please enter a display name, this would be displayed in conversations"
}, },
"AVAILABILITY": { "AVAILABILITY": {
"LABEL": "Availability", "LABEL": "Availability",
@ -122,5 +127,21 @@
"INTEGRATIONS": "Integrations", "INTEGRATIONS": "Integrations",
"ACCOUNT_SETTINGS": "Account Settings", "ACCOUNT_SETTINGS": "Account Settings",
"LABELS": "Labels" "LABELS": "Labels"
},
"CREATE_ACCOUNT": {
"NEW_ACCOUNT": "New Account",
"SELECTOR_SUBTITLE": "Create a new account",
"API": {
"SUCCESS_MESSAGE": "Account created successfully",
"EXIST_MESSAGE": "Account already exists",
"ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later"
},
"FORM": {
"NAME": {
"LABEL": "Account Name",
"PLACEHOLDER": "Wayne Enterprises"
},
"SUBMIT": "Submit"
}
} }
} }

View file

@ -45,6 +45,10 @@
{ {
"TEXT": "Résolu", "TEXT": "Résolu",
"VALUE": "resolved" "VALUE": "resolved"
},
{
"TEXT": "Bot",
"VALUE": "bot"
} }
], ],
"ATTACHMENTS": { "ATTACHMENTS": {
@ -72,6 +76,9 @@
"ICON": "ion-link", "ICON": "ion-link",
"CONTENT": "a partagé une URL" "CONTENT": "a partagé une URL"
} }
} },
"RECEIVED_VIA_EMAIL": "Reçu par courriel",
"VIEW_TWEET_IN_TWITTER": "Voir le tweet sur Twitter",
"REPLY_TO_TWEET": "Répondre à ce tweet"
} }
} }

View file

@ -9,21 +9,26 @@
"NO_RECORDS_FOUND": "Il n'y a aucune conversation précédente associée à ce contact.", "NO_RECORDS_FOUND": "Il n'y a aucune conversation précédente associée à ce contact.",
"TITLE": "Conversations précédentes" "TITLE": "Conversations précédentes"
}, },
"CUSTOM_ATTRIBUTES": {
"TITLE": "Custom Attributes"
},
"LABELS": { "LABELS": {
"TITLE": "Étiquettes de conversation", "TITLE": "Étiquettes de conversation",
"MODAL": { "MODAL": {
"TITLE": "Labels for", "TITLE": "Étiquettes pour",
"ACTIVE_LABELS": "Labels added to the conversation", "ACTIVE_LABELS": "Étiquettes ajoutées à la conversation",
"INACTIVE_LABELS": "Labels available in the account", "INACTIVE_LABELS": "Étiquettes disponibles dans le compte",
"REMOVE": "Click on X icon to remove the label", "REMOVE": "Cliquez sur l'icône X pour supprimer l'étiquette",
"ADD": "Click on + icon to add the label", "ADD": "Cliquez sur l'icône + pour ajouter l'étiquette",
"UPDATE_BUTTON": "Update labels", "UPDATE_BUTTON": "Mettre à jour les étiquettes",
"UPDATE_ERROR": "Impossible de mettre à jour les étiquettes. Veuillez réessayer." "UPDATE_ERROR": "Impossible de mettre à jour les étiquettes. Veuillez réessayer."
}, },
"NO_LABELS_TO_ADD": "There are no more labels defined in the account.", "NO_LABELS_TO_ADD": "Il n'y a pas d'autres étiquettes définies dans le compte.",
"NO_AVAILABLE_LABELS": "There are no labels added to this conversation." "NO_AVAILABLE_LABELS": "Aucune étiquette n'a été ajoutée à cette conversation."
}, },
"MUTE_CONTACT": "Mettre en sourdine le contact", "MUTE_CONTACT": "Mettre la conversation en sourdine",
"MUTED_SUCCESS": "Cette conversation est mise en sourdine pendant 6 heures",
"SEND_TRANSCRIPT": "Envoyer la transcription",
"EDIT_LABEL": "Modifier" "EDIT_LABEL": "Modifier"
} }
} }

View file

@ -9,6 +9,11 @@
"CLICK_HERE": "Cliquez ici", "CLICK_HERE": "Cliquez ici",
"LOADING_INBOXES": "Chargement des boîtes de réception", "LOADING_INBOXES": "Chargement des boîtes de réception",
"LOADING_CONVERSATIONS": "Chargement des conversations", "LOADING_CONVERSATIONS": "Chargement des conversations",
"CANNOT_REPLY": "Vous ne pouvez pas répondre en raison de",
"24_HOURS_WINDOW": "Restriction de fenêtre de message de 24 heures",
"LAST_INCOMING_TWEET": "Vous répondez au dernier tweet entrant",
"REPLYING_TO": "Vous répondez à :",
"REMOVE_SELECTION": "Supprimer la sélection",
"DOWNLOAD": "Télécharger", "DOWNLOAD": "Télécharger",
"HEADER": { "HEADER": {
"RESOLVE_ACTION": "Résoudre", "RESOLVE_ACTION": "Résoudre",
@ -31,5 +36,22 @@
"VISIBLE_TO_AGENTS": "Note privée : uniquement visible par vous et votre équipe", "VISIBLE_TO_AGENTS": "Note privée : uniquement visible par vous et votre équipe",
"CHANGE_STATUS": "Statut de la conversation modifié", "CHANGE_STATUS": "Statut de la conversation modifié",
"CHANGE_AGENT": "Responsable de la conversation modifié" "CHANGE_AGENT": "Responsable de la conversation modifié"
},
"EMAIL_TRANSCRIPT": {
"TITLE": "Envoyer la transcription de la conversation",
"DESC": "Envoyer une copie de la transcription de la conversation à l'adresse de courriel spécifiée",
"SUBMIT": "Envoyer",
"CANCEL": "Annuler",
"SEND_EMAIL_SUCCESS": "La transcription du chat a été envoyée avec succès",
"SEND_EMAIL_ERROR": "Une erreur est survenue, veuillez réessayer",
"FORM": {
"SEND_TO_CONTACT": "Envoyer la transcription au client",
"SEND_TO_AGENT": "Envoyer la transcription de l'agent affecté",
"SEND_TO_OTHER_EMAIL_ADDRESS": "Envoyer la transcription à une autre adresse de courriel",
"EMAIL": {
"PLACEHOLDER": "Entrez une adresse de courriel",
"ERROR": "Veuillez saisir une adresse de courriel valide"
}
}
} }
} }

View file

@ -2,7 +2,7 @@
"GENERAL_SETTINGS": { "GENERAL_SETTINGS": {
"TITLE": "Paramètres du compte", "TITLE": "Paramètres du compte",
"SUBMIT": "Mettre à jour les paramètres", "SUBMIT": "Mettre à jour les paramètres",
"BACK": "Back", "BACK": "Précédent",
"UPDATE": { "UPDATE": {
"ERROR": "Impossible de mettre à jour les paramètres, essayez à nouveau !", "ERROR": "Impossible de mettre à jour les paramètres, essayez à nouveau !",
"SUCCESS": "Paramètres du compte mis à jour avec succès" "SUCCESS": "Paramètres du compte mis à jour avec succès"
@ -24,8 +24,8 @@
"ERROR": "" "ERROR": ""
}, },
"DOMAIN": { "DOMAIN": {
"LABEL": "Domaine", "LABEL": "Domaine de courriel entrant",
"PLACEHOLDER": "Le domaine de votre site web", "PLACEHOLDER": "Le domaine où vous allez recevoir les courriels",
"ERROR": "" "ERROR": ""
}, },
"SUPPORT_EMAIL": { "SUPPORT_EMAIL": {
@ -33,14 +33,9 @@
"PLACEHOLDER": "L'adresse de courriel de support de votre entreprise", "PLACEHOLDER": "L'adresse de courriel de support de votre entreprise",
"ERROR": "" "ERROR": ""
}, },
"ENABLE_DOMAIN_EMAIL": { "FEATURES": {
"LABEL": "Activer le domaine de messagerie", "INBOUND_EMAIL_ENABLED": "La continuité des conversations avec les courriels est activée pour votre compte.",
"PLACEHOLDER": "Activer le domaine personnalisé de courriel", "CUSTOM_EMAIL_DOMAIN_ENABLED": "Vous pouvez maintenant recevoir des courriels dans votre domaine personnalisé."
"ERROR": "",
"OPTIONS": {
"ENABLED": "Activé",
"DISABLED": "Désactivé"
}
} }
} }
} }

View file

@ -64,12 +64,12 @@
"PLACEHOLDER": "C'est simple de rentrer en contact avec nous. Demandez-nous quoi que ce soit ou partagez vos commentaires." "PLACEHOLDER": "C'est simple de rentrer en contact avec nous. Demandez-nous quoi que ce soit ou partagez vos commentaires."
}, },
"CHANNEL_GREETING_MESSAGE": { "CHANNEL_GREETING_MESSAGE": {
"LABEL": "Channel greeting message", "LABEL": "Message d'accueil du canal",
"PLACEHOLDER": "Acme Inc répond en général en quelques heures." "PLACEHOLDER": "Acme Inc répond en général en quelques heures."
}, },
"CHANNEL_GREETING_TOGGLE": { "CHANNEL_GREETING_TOGGLE": {
"LABEL": "Enable channel greeting", "LABEL": "Activer l'accueil du canal",
"HELP_TEXT": "Send a greeting message to the user when he starts the conversation.", "HELP_TEXT": "Envoyer un message de bienvenue à l'utilisateur lorsqu'il démarre la conversation.",
"ENABLED": "Activé", "ENABLED": "Activé",
"DISABLED": "Désactivé" "DISABLED": "Désactivé"
}, },
@ -115,6 +115,43 @@
"ERROR_MESSAGE": "Nous n'avons pas pu authentifier les identifiants Twilio, veuillez réessayer" "ERROR_MESSAGE": "Nous n'avons pas pu authentifier les identifiants Twilio, veuillez réessayer"
} }
}, },
"API_CHANNEL": {
"TITLE": "Canal API",
"DESC": "Intégrez le canal API et commencez à aider vos clients.",
"CHANNEL_NAME": {
"LABEL": "Nom du canal",
"PLACEHOLDER": "Veuillez entrer un nom de canal",
"ERROR": "Ce champ est requis"
},
"WEBHOOK_URL": {
"LABEL": "URL du Webhook",
"SUBTITLE": "Configurez l'URL où vous souhaitez recevoir des callbacks sur les événements.",
"PLACEHOLDER": "URL du Webhook"
},
"SUBMIT_BUTTON": "Créer un canal API",
"API": {
"ERROR_MESSAGE": "Nous n'avons pas pu enregistrer le canal API"
}
},
"EMAIL_CHANNEL": {
"TITLE": "Canal Courriel",
"DESC": "Intégrez votre boîte de réception de courriel.",
"CHANNEL_NAME": {
"LABEL": "Nom du canal",
"PLACEHOLDER": "Veuillez entrer un nom de canal",
"ERROR": "Ce champ est requis"
},
"EMAIL": {
"LABEL": "Courriel",
"SUBTITLE": "Adresse de courriel où vos clients vous envoient des demandes d'assistance",
"PLACEHOLDER": "Courriel"
},
"SUBMIT_BUTTON": "Créer le canal Courriel",
"API": {
"ERROR_MESSAGE": "Nous n'avons pas pu enregistrer le canal courriel"
},
"FINISH_MESSAGE": "Commencez à transférer vos courriels à l'adresse suivante."
},
"AUTH": { "AUTH": {
"TITLE": "Canaux", "TITLE": "Canaux",
"DESC": "Actuellement, nous prenons en charge les widgets de chat en direct, les pages Facebook et les profils Twitter en tant que plateformes. Plus de plateformes telles que Whatsapp, Courriels, Telegram et Line sont en cours de développement et seront prochainement disponibles." "DESC": "Actuellement, nous prenons en charge les widgets de chat en direct, les pages Facebook et les profils Twitter en tant que plateformes. Plus de plateformes telles que Whatsapp, Courriels, Telegram et Line sont en cours de développement et seront prochainement disponibles."
@ -175,7 +212,17 @@
"ERROR_MESSAGE": "Impossible de supprimer la boîte de réception. Veuillez réessayer plus tard." "ERROR_MESSAGE": "Impossible de supprimer la boîte de réception. Veuillez réessayer plus tard."
} }
}, },
"TABS": {
"SETTINGS": "Paramètres",
"COLLABORATORS": "Collaborateurs",
"CONFIGURATION": "Configuration"
},
"SETTINGS": "Paramètres", "SETTINGS": "Paramètres",
"FEATURES": {
"LABEL": "Fonctionnalités",
"DISPLAY_FILE_PICKER": "Afficher le sélecteur de fichiers sur le widget",
"DISPLAY_EMOJI_PICKER": "Afficher le sélecteur d'émoticônes sur le widget"
},
"SETTINGS_POPUP": { "SETTINGS_POPUP": {
"MESSENGER_HEADING": "Script du Widget Web", "MESSENGER_HEADING": "Script du Widget Web",
"MESSENGER_SUB_HEAD": "Placez ce code avant la fermeture de votre balise body", "MESSENGER_SUB_HEAD": "Placez ce code avant la fermeture de votre balise body",

View file

@ -53,11 +53,11 @@
"DELETE": { "DELETE": {
"BUTTON_TEXT": "Supprimer", "BUTTON_TEXT": "Supprimer",
"API": { "API": {
"SUCCESS_MESSAGE": "Integration deleted successfully" "SUCCESS_MESSAGE": "Intégration supprimée avec succès"
} }
}, },
"CONNECT": { "CONNECT": {
"BUTTON_TEXT": "Connect" "BUTTON_TEXT": "Connecter"
} }
} }
} }

View file

@ -1,61 +1,61 @@
{ {
"LABEL_MGMT": { "LABEL_MGMT": {
"HEADER": "Labels", "HEADER": "Étiquettes",
"HEADER_BTN_TXT": "Add label", "HEADER_BTN_TXT": "Ajouter une étiquette",
"LOADING": "Fetching labels", "LOADING": "Récupération des étiquettes",
"SEARCH_404": "Il n'y a aucun élément correspondant à cette requête", "SEARCH_404": "Il n'y a aucun élément correspondant à cette requête",
"SIDEBAR_TXT": "<p><b>Labels</b> <p>Labels help you to categorize conversations and prioritize them. You can assign label to a conversation from the sidepanel. <br /><br />Labels are tied to the account and can be used to create custom workflows in your organization. You can assign custom color to a label, it makes it easier to identify the label. You will be able to display the label on the sidebar to filter the conversations easily.</p>", "SIDEBAR_TXT": "<p><b>Étiquettes</b> <p>Les étiquettes vous aident à catégoriser les conversations et à les prioriser. Vous pouvez assigner une étiquette à une conversation depuis le panneau latéral. <br /><br />Les étiquettes sont liées au compte et peuvent être utilisées pour créer des processus personnalisés dans votre entreprise. Vous pouvez assigner une couleur personnalisée à une étiquette, cela rend plus facile l'identification de l'étiquette. Vous serez en mesure d'afficher l'étiquette dans la barre latérale pour filtrer les conversations facilement.</p>",
"LIST": { "LIST": {
"404": "There are no labels available in this account.", "404": "Il n'y a aucune étiquette disponible dans ce compte.",
"TITLE": "Manage labels", "TITLE": "Gérer les étiquettes",
"DESC": "Labels let you group the conversations together.", "DESC": "Les étiquettes vous permettent de grouper les conversations ensemble.",
"TABLE_HEADER": [ "TABLE_HEADER": [
"Nom", "Nom",
"Description", "Description",
"Color" "Couleur"
] ]
}, },
"FORM": { "FORM": {
"NAME": { "NAME": {
"LABEL": "Label Name", "LABEL": "Nom de l'étiquette",
"PLACEHOLDER": "Label name", "PLACEHOLDER": "Nom de l'étiquette",
"ERROR": "Label Name is required" "ERROR": "Le nom de l'étiquette est requis"
}, },
"DESCRIPTION": { "DESCRIPTION": {
"LABEL": "Description", "LABEL": "Description",
"PLACEHOLDER": "Label Description" "PLACEHOLDER": "Description de l'étiquette"
}, },
"COLOR": { "COLOR": {
"LABEL": "Color" "LABEL": "Couleur"
}, },
"SHOW_ON_SIDEBAR": { "SHOW_ON_SIDEBAR": {
"LABEL": "Show label on sidebar" "LABEL": "Afficher l'étiquette dans la barre latérale"
}, },
"EDIT": "Modifier", "EDIT": "Modifier",
"CREATE": "Create", "CREATE": "Créer",
"DELETE": "Supprimer", "DELETE": "Supprimer",
"CANCEL": "Annuler" "CANCEL": "Annuler"
}, },
"ADD": { "ADD": {
"TITLE": "Add label", "TITLE": "Ajouter une étiquette",
"DESC": "Labels let you group the conversations together.", "DESC": "Les étiquettes vous permettent de grouper les conversations ensemble.",
"API": { "API": {
"SUCCESS_MESSAGE": "Label added successfully", "SUCCESS_MESSAGE": "Étiquette ajoutée avec succès",
"ERROR_MESSAGE": "There was an error, please try again" "ERROR_MESSAGE": "Une erreur est survenue, veuillez réessayer"
} }
}, },
"EDIT": { "EDIT": {
"TITLE": "Edit label", "TITLE": "Modifier l'étiquette",
"API": { "API": {
"SUCCESS_MESSAGE": "Label updated successfully", "SUCCESS_MESSAGE": "Étiquette mise à jour avec succès",
"ERROR_MESSAGE": "There was an error, please try again" "ERROR_MESSAGE": "Une erreur est survenue, veuillez réessayer"
} }
}, },
"DELETE": { "DELETE": {
"BUTTON_TEXT": "Supprimer", "BUTTON_TEXT": "Supprimer",
"API": { "API": {
"SUCCESS_MESSAGE": "Label deleted successfully", "SUCCESS_MESSAGE": "Étiquette supprimée avec succès",
"ERROR_MESSAGE": "There was an error, please try again" "ERROR_MESSAGE": "Une erreur est survenue, veuillez réessayer"
}, },
"CONFIRM": { "CONFIRM": {
"TITLE": "Confirmer la suppression", "TITLE": "Confirmer la suppression",

View file

@ -44,24 +44,29 @@
"LABEL": "Image de profil" "LABEL": "Image de profil"
}, },
"NAME": { "NAME": {
"LABEL": "Votre nom", "LABEL": "Votre nom complet",
"ERROR": "Veuillez entrer un nom valide", "ERROR": "Veuillez entrer un nom complet valide",
"PLACEHOLDER": "Veuillez entrer votre nom, cela sera affiché dans les conversations" "PLACEHOLDER": "Veuillez entrer votre nom complet"
},
"DISPLAY_NAME": {
"LABEL": "Nom affiché",
"ERROR": "Veuillez entrer un nom daffichage valide",
"PLACEHOLDER": "Veuillez entrer un nom daffichage, il saffichera dans les conversations"
}, },
"AVAILABILITY": { "AVAILABILITY": {
"LABEL": "Availability", "LABEL": "Disponibilité",
"STATUSES_LIST": [ "STATUSES_LIST": [
{ {
"value": "online", "value": "online",
"label": "Online" "label": "En ligne"
}, },
{ {
"value": "busy", "value": "busy",
"label": "Busy" "label": "Occupé(e)"
}, },
{ {
"value": "offline", "value": "offline",
"label": "Offline" "label": "Hors-ligne"
} }
] ]
}, },
@ -121,6 +126,22 @@
"CANNED_RESPONSES": "Réponses standardisées", "CANNED_RESPONSES": "Réponses standardisées",
"INTEGRATIONS": "Intégrations", "INTEGRATIONS": "Intégrations",
"ACCOUNT_SETTINGS": "Paramètres du compte", "ACCOUNT_SETTINGS": "Paramètres du compte",
"LABELS": "Labels" "LABELS": "Étiquettes"
},
"CREATE_ACCOUNT": {
"NEW_ACCOUNT": "Nouveau compte",
"SELECTOR_SUBTITLE": "Créer un nouveau compte",
"API": {
"SUCCESS_MESSAGE": "Compte créé avec succès",
"EXIST_MESSAGE": "Ce compte existe déjà",
"ERROR_MESSAGE": "Impossible de se connecter au serveur Woot, veuillez réessayer plus tard"
},
"FORM": {
"NAME": {
"LABEL": "Nom du compte",
"PLACEHOLDER": "Entreprises Wayne"
},
"SUBMIT": "Envoyer"
}
} }
} }

View file

@ -45,6 +45,10 @@
{ {
"TEXT": "Resolved", "TEXT": "Resolved",
"VALUE": "resolved" "VALUE": "resolved"
},
{
"TEXT": "Bot",
"VALUE": "bot"
} }
], ],
"ATTACHMENTS": { "ATTACHMENTS": {
@ -72,6 +76,9 @@
"ICON": "ion-link", "ICON": "ion-link",
"CONTENT": "has shared a url" "CONTENT": "has shared a url"
} }
} },
"RECEIVED_VIA_EMAIL": "Received via email",
"VIEW_TWEET_IN_TWITTER": "View tweet in Twitter",
"REPLY_TO_TWEET": "Reply to this tweet"
} }
} }

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