Compare commits

...
Author SHA1 Message Date
Tanmay Deep Sharma f4a77dabd9 add Open API v3 developer docs 2025-05-08 12:47:22 +07:00
Vishnu NarayananandGitHub bfddc4da24 chore: use housekeeping queue for remove_stale_contacts job (#11435)
- Use the housekeeping queue for the `remove_stale_contacts` job
- fix specs
2025-05-08 09:39:49 +05:30
Vishnu NarayananandGitHub 199f2fb86c fix: stale contacts job queue (#11434) 2025-05-08 08:43:34 +05:30
Shivam MishraandGitHub 1b23310e4b fix(ux): don't disable input for auto resolve (#11428) 2025-05-07 21:17:24 +05:30
b533980880 feat: Add support for minutes in auto resolve feature (#11269)
### Summary

- Converts conversation auto-resolution duration from days to minutes
for more
granular control
- Updates validation to allow values from 10 minutes (minimum) to 999
days (maximum)
- Implements smart messaging to show appropriate time units in activity
messages

###  Changes

- Created migration to convert existing durations from days to minutes
(x1440)
- Updated conversation resolver to use minutes instead of days
- Added dynamic translation key selection based on duration value
- Updated related specs and documentation
- Added support for displaying durations in days, hours, or minutes
based on value

###  Test plan

- Verify account validation accepts new minute-based ranges
- Confirm existing account settings are correctly migrated
- Test auto-resolution works properly with minute values
- Ensure proper time unit display in activity messages

---------

Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
2025-05-07 00:36:15 -07:00
Chatwoot BotandGitHub e08436dde5 chore: Update translations (#11425) 2025-05-07 00:34:06 -07:00
Vishnu NarayananandGitHub 968aa39a9e chore: move stalecontacts job to different sidekiq queue (#11427)
- move stale contacts job to `housekeeping` queue below `low`
2025-05-07 00:31:58 -07:00
ea3ef9064b feat: handle rails turbo morphing (#11422)
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
2025-05-07 10:22:08 +05:30
c8daa6c1fe chore: Update translations (#11413)
Co-authored-by: Pranav <pranav@chatwoot.com>
2025-05-06 13:34:27 -07:00
Muhsin KelothandGitHub 164f4ec90e fix: Undefined local variable or method error for an instance of Instagram MessageText (#11421)
Fixes https://chatwoot-p3.sentry.io/issues/6557025930?project=6382945
2025-05-06 15:49:43 +05:30
945fa5fd16 chore: Update message bubble orientation (#11348)
# Pull Request Template

## Description

This PR includes,

### Changes

1. **Message Orientation**:  
- Updated the bubble orientation of Bot, Agent, and Private Note
messages to align from **left** to **right**.

2. **Activity Message bubble Styling**:  
- Adjusted **padding** and **border-radius** for activity message
bubbles for better alignment and appearance.

| **Before**  | **After** |
| ------------- | ------------- |
| <img width="559" alt="image"
src="https://github.com/user-attachments/assets/18258ae0-0d8e-4447-a005-9b6643b71f81"
/> | <img width="559" alt="image"
src="https://github.com/user-attachments/assets/425785d8-17f9-4629-8301-f19f23aef201"
/> |




---


Fixes
[CW-4263](https://linear.app/chatwoot/issue/CW-4263/v410-messages-history-incoming-and-outgoing-renders-in-one-line),
https://github.com/chatwoot/chatwoot/issues/11340

## Type of change

- [x] Bug fix (non-breaking change which fixes an issue)

## How Has This Been Tested?

### Loom video

https://www.loom.com/share/117bbb1dda98451883c9bb17f7cf016b?sid=05eae4d4-af11-4a41-a1d6-dc4e7e2cb281


## Checklist:

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my code
- [ ] I have commented on my code, particularly in hard-to-understand
areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream
modules

---------

Co-authored-by: Shivam Mishra <scm.mymail@gmail.com>
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
Co-authored-by: Pranav <pranav@chatwoot.com>
2025-05-06 13:21:52 +05:30
6ced918549 feat: Update conversation basic filter (#11415)
# Pull Request Template

## Description

This PR updates the basic filter UI for conversations.

## Type of change

- [x] New feature (non-breaking change which adds functionality)

## How Has This Been Tested?

### Loom video

https://www.loom.com/share/df69a023a39c4dfca2c12b1ee42a0b2e?sid=977e802e-2865-46f1-ae8e-f89ab5eabc2a


## Checklist:

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my code
- [ ] I have commented on my code, particularly in hard-to-understand
areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream
modules

---------

Co-authored-by: Pranav <pranav@chatwoot.com>
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
2025-05-06 12:44:23 +05:30
6e6912aa56 chore: Generate test data for bulk insertion (#11229)
Co-authored-by: Vishnu Narayanan <vishnu@chatwoot.com>
Co-authored-by: Sojan <sojan@pepalo.com>
Co-authored-by: tds-1 <tanmay@qoala.id>
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com>
2025-05-06 11:13:11 +05:30
PranavandGitHub cbdbf7900e fix: Update the character count for instructions (#11419)
- Increase the Captain instruction size to 20k instead of 2k
- Fix a display issue in the Captain playground and i18n issue in
Captain form.
2025-05-05 19:41:38 -07:00
PranavandGitHub 7cf051aba0 fix: Show campaigns only if the feature is enabled (#11420)
If the feature is disabled (manually or due to plan changes), the
customer cannot disable the existing campaigns. This PR would fix that.

Fixes
https://linear.app/chatwoot/issue/CW-3691/fix-disable-campaigns-on-plan-downgrade
2025-05-05 19:41:28 -07:00
Sivin VargheseandGitHub 6b42305f59 fix: Show agent bot name and avatar correctly in messages (#11394)
This PR fixes an issue where messages from the agent bot were incorrectly displayed as "BOT" with a missing avatar. It now correctly shows the agent bot’s name and avatar URL in the message list.
2025-05-05 16:26:30 -07:00
bfed849d6a fix: Fix missing translations in copilot (#11411)
This PR does the following:

- Missing translations to the i18n file.
- Test the change with Malayalam (ml) translation. 
- Fixes overflow by setting the width to 100%

_Note_: The prompt text is also set for translation. This is
intentional, there is no change in the behaviour.

---------

Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
2025-05-04 18:06:24 -07:00
Vishnu NarayananandGitHub f3a807c6f0 chore: enable stale contact removal job on chatwoot cloud (#11390)
- enable stale contact/contact inboxes removal job on chatwoot cloud
2025-05-02 13:36:30 +05:30
Chatwoot BotandGitHub 55316ea0a0 chore: Update translations (#11404) 2025-05-01 16:10:29 -07:00
Shivam MishraandGitHub 3630277d00 fix: Update flag from countries.js (#11401) 2025-05-01 09:03:36 -07:00
Chatwoot BotandGitHub 251abd02b0 chore: Update translations (#11400) 2025-04-30 15:34:11 -07:00
654 changed files with 14287 additions and 2915 deletions
@@ -44,8 +44,9 @@ class Api::V1::AccountsController < Api::BaseController
end end
def update def update
@account.assign_attributes(account_params.slice(:name, :locale, :domain, :support_email, :auto_resolve_duration)) @account.assign_attributes(account_params.slice(:name, :locale, :domain, :support_email))
@account.custom_attributes.merge!(custom_attributes_params) @account.custom_attributes.merge!(custom_attributes_params)
@account.settings.merge!(settings_params)
@account.custom_attributes['onboarding_step'] = 'invite_team' if @account.custom_attributes['onboarding_step'] == 'account_update' @account.custom_attributes['onboarding_step'] = 'invite_team' if @account.custom_attributes['onboarding_step'] == 'account_update'
@account.save! @account.save!
end end
@@ -83,13 +84,17 @@ class Api::V1::AccountsController < Api::BaseController
end end
def account_params def account_params
params.permit(:account_name, :email, :name, :password, :locale, :domain, :support_email, :auto_resolve_duration, :user_full_name) params.permit(:account_name, :email, :name, :password, :locale, :domain, :support_email, :user_full_name)
end end
def custom_attributes_params def custom_attributes_params
params.permit(:industry, :company_size, :timezone) params.permit(:industry, :company_size, :timezone)
end end
def settings_params
params.permit(:auto_resolve_after, :auto_resolve_message)
end
def check_signup_enabled def check_signup_enabled
raise ActionController::RoutingError, 'Not Found' if GlobalConfigService.load('ENABLE_ACCOUNT_SIGNUP', 'false') == 'false' raise ActionController::RoutingError, 'Not Found' if GlobalConfigService.load('ENABLE_ACCOUNT_SIGNUP', 'false') == 'false'
end end
@@ -2,10 +2,15 @@ class Api::V1::Widget::CampaignsController < Api::V1::Widget::BaseController
skip_before_action :set_contact skip_before_action :set_contact
def index def index
@campaigns = @web_widget account = @web_widget.inbox.account
.inbox @campaigns = if account.feature_enabled?('campaigns')
.campaigns @web_widget
.where(enabled: true, account_id: @web_widget.inbox.account_id) .inbox
.includes(:sender) .campaigns
.where(enabled: true, account_id: account.id)
.includes(:sender)
else
[]
end
end end
end end
@@ -54,7 +54,7 @@ class Api::V2::AccountsController < Api::BaseController
end end
def account_params def account_params
params.permit(:account_name, :email, :name, :password, :locale, :domain, :support_email, :auto_resolve_duration, :user_full_name) params.permit(:account_name, :email, :name, :password, :locale, :domain, :support_email, :user_full_name)
end end
def check_signup_enabled def check_signup_enabled
@@ -65,7 +65,7 @@ watch(() => props.messages.length, scrollToBottom);
class="max-w-[80%] rounded-lg p-3 text-sm" class="max-w-[80%] rounded-lg p-3 text-sm"
:class="getMessageStyle(message.sender)" :class="getMessageStyle(message.sender)"
> >
<div v-html="formatMessage(message.content)" /> <div class="break-words" v-html="formatMessage(message.content)" />
</div> </div>
</div> </div>
</div> </div>
@@ -214,7 +214,7 @@ watch(
v-model="state.instructions" v-model="state.instructions"
:placeholder="t('CAPTAIN.ASSISTANTS.FORM.INSTRUCTIONS.PLACEHOLDER')" :placeholder="t('CAPTAIN.ASSISTANTS.FORM.INSTRUCTIONS.PLACEHOLDER')"
:message="formErrors.instructions" :message="formErrors.instructions"
:max-length="2000" :max-length="20000"
:message-type="formErrors.instructions ? 'error' : 'info'" :message-type="formErrors.instructions ? 'error' : 'info'"
/> />
@@ -1,5 +1,6 @@
<script setup> <script setup>
import { nextTick, ref, watch } from 'vue'; import { nextTick, ref, watch } from 'vue';
import { useI18n } from 'vue-i18n';
import { useTrack } from 'dashboard/composables'; import { useTrack } from 'dashboard/composables';
import { COPILOT_EVENTS } from 'dashboard/helper/AnalyticsHelper/events'; import { COPILOT_EVENTS } from 'dashboard/helper/AnalyticsHelper/events';
@@ -39,6 +40,8 @@ const props = defineProps({
const emit = defineEmits(['sendMessage', 'reset', 'setAssistant']); const emit = defineEmits(['sendMessage', 'reset', 'setAssistant']);
const { t } = useI18n();
const COPILOT_USER_ROLES = ['assistant', 'system']; const COPILOT_USER_ROLES = ['assistant', 'system'];
const sendMessage = message => { const sendMessage = message => {
@@ -47,7 +50,7 @@ const sendMessage = message => {
}; };
const useSuggestion = opt => { const useSuggestion = opt => {
emit('sendMessage', opt.prompt); emit('sendMessage', t(opt.prompt));
useTrack(COPILOT_EVENTS.SEND_SUGGESTED); useTrack(COPILOT_EVENTS.SEND_SUGGESTED);
}; };
@@ -66,16 +69,16 @@ const scrollToBottom = async () => {
const promptOptions = [ const promptOptions = [
{ {
label: 'Summarize this conversation', label: 'CAPTAIN.COPILOT.PROMPTS.SUMMARIZE.LABEL',
prompt: `Summarize the key points discussed between the customer and the support agent, including the customer's concerns, questions, and the solutions or responses provided by the support agent`, prompt: 'CAPTAIN.COPILOT.PROMPTS.SUMMARIZE.CONTENT',
}, },
{ {
label: 'Suggest an answer', label: 'CAPTAIN.COPILOT.PROMPTS.SUGGEST.LABEL',
prompt: `Analyze the customer’s inquiry, and draft a response that effectively addresses their concerns or questions. Ensure the reply is clear, concise, and provides helpful information.`, prompt: 'CAPTAIN.COPILOT.PROMPTS.SUGGEST.CONTENT',
}, },
{ {
label: 'Rate this conversation', label: 'CAPTAIN.COPILOT.PROMPTS.RATE.LABEL',
prompt: `Review the conversation to see how well it meets the customer’s needs. Share a rating out of 5 based on tone, clarity, and effectiveness.`, prompt: 'CAPTAIN.COPILOT.PROMPTS.RATE.CONTENT',
}, },
]; ];
@@ -89,7 +92,7 @@ watch(
</script> </script>
<template> <template>
<div class="flex flex-col h-full text-sm leading-6 tracking-tight"> <div class="flex flex-col h-full text-sm leading-6 tracking-tight w-full">
<div ref="chatContainer" class="flex-1 px-4 py-4 space-y-6 overflow-y-auto"> <div ref="chatContainer" class="flex-1 px-4 py-4 space-y-6 overflow-y-auto">
<template v-for="message in messages" :key="message.id"> <template v-for="message in messages" :key="message.id">
<CopilotAgentMessage <CopilotAgentMessage
@@ -121,7 +124,7 @@ watch(
class="px-2 py-1 rounded-md border border-n-weak bg-n-slate-2 text-n-slate-11 flex items-center gap-1" class="px-2 py-1 rounded-md border border-n-weak bg-n-slate-2 text-n-slate-11 flex items-center gap-1"
@click="() => useSuggestion(prompt)" @click="() => useSuggestion(prompt)"
> >
<span>{{ prompt.label }}</span> <span>{{ t(prompt.label) }}</span>
<Icon icon="i-lucide-chevron-right" /> <Icon icon="i-lucide-chevron-right" />
</button> </button>
</div> </div>
@@ -0,0 +1,66 @@
<script setup>
import { computed, ref } from 'vue';
import Input from './Input.vue';
import { useI18n } from 'vue-i18n';
const props = defineProps({
min: { type: Number, default: 0 },
max: { type: Number, default: Infinity },
disabled: { type: Boolean, default: false },
});
const { t } = useI18n();
const duration = defineModel('modelValue', { type: Number, default: null });
const UNIT_TYPES = {
MINUTES: 'minutes',
HOURS: 'hours',
DAYS: 'days',
};
const unit = ref(UNIT_TYPES.MINUTES);
const transformedValue = computed({
get() {
if (unit.value === UNIT_TYPES.MINUTES) return duration.value;
if (unit.value === UNIT_TYPES.HOURS) return Math.floor(duration.value / 60);
if (unit.value === UNIT_TYPES.DAYS)
return Math.floor(duration.value / 24 / 60);
return 0;
},
set(newValue) {
let minuteValue;
if (unit.value === UNIT_TYPES.MINUTES) {
minuteValue = Math.floor(newValue);
} else if (unit.value === UNIT_TYPES.HOURS) {
minuteValue = Math.floor(newValue * 60);
} else if (unit.value === UNIT_TYPES.DAYS) {
minuteValue = Math.floor(newValue * 24 * 60);
}
duration.value = Math.min(Math.max(minuteValue, props.min), props.max);
},
});
</script>
<template>
<Input
v-model="transformedValue"
type="number"
autocomplete="off"
:disabled="disabled"
:placeholder="t('DURATION_INPUT.PLACEHOLDER')"
class="flex-grow w-full disabled:"
/>
<select
v-model="unit"
:disabled="disabled"
class="mb-0 text-sm disabled:outline-n-weak disabled:opacity-40"
>
<option :value="UNIT_TYPES.MINUTES">
{{ t('DURATION_INPUT.MINUTES') }}
</option>
<option :value="UNIT_TYPES.HOURS">{{ t('DURATION_INPUT.HOURS') }}</option>
<option :value="UNIT_TYPES.DAYS">{{ t('DURATION_INPUT.DAYS') }}</option>
</select>
</template>
@@ -117,7 +117,7 @@ const props = defineProps({
}, },
conversationId: { type: Number, required: true }, conversationId: { type: Number, required: true },
createdAt: { type: Number, required: true }, // eslint-disable-line vue/no-unused-properties createdAt: { type: Number, required: true }, // eslint-disable-line vue/no-unused-properties
currentUserId: { type: Number, required: true }, currentUserId: { type: Number, required: true }, // eslint-disable-line vue/no-unused-properties
groupWithNext: { type: Boolean, default: false }, groupWithNext: { type: Boolean, default: false },
inboxId: { type: Number, default: null }, // eslint-disable-line vue/no-unused-properties inboxId: { type: Number, default: null }, // eslint-disable-line vue/no-unused-properties
inboxSupportsReplyTo: { type: Object, default: () => ({}) }, inboxSupportsReplyTo: { type: Object, default: () => ({}) },
@@ -173,7 +173,10 @@ const variant = computed(() => {
return variants[props.messageType] || MESSAGE_VARIANTS.USER; return variants[props.messageType] || MESSAGE_VARIANTS.USER;
}); });
const isMyMessage = computed(() => { const isBotOrAgentMessage = computed(() => {
if (props.messageType === MESSAGE_TYPES.ACTIVITY) {
return false;
}
// if an outgoing message is still processing, then it's definitely a // if an outgoing message is still processing, then it's definitely a
// message sent by the current user // message sent by the current user
if ( if (
@@ -186,13 +189,10 @@ const isMyMessage = computed(() => {
const senderType = props.senderType ?? props.sender?.type; const senderType = props.senderType ?? props.sender?.type;
if (!senderType || !senderId) { if (!senderType || !senderId) {
return false; return true;
} }
return ( return senderType.toLowerCase() === SENDER_TYPES.USER.toLowerCase();
senderType.toLowerCase() === SENDER_TYPES.USER.toLowerCase() &&
props.currentUserId === senderId
);
}); });
/** /**
@@ -200,7 +200,7 @@ const isMyMessage = computed(() => {
* @returns {import('vue').ComputedRef<'left'|'right'|'center'>} The computed orientation * @returns {import('vue').ComputedRef<'left'|'right'|'center'>} The computed orientation
*/ */
const orientation = computed(() => { const orientation = computed(() => {
if (isMyMessage.value) { if (isBotOrAgentMessage.value) {
return ORIENTATION.RIGHT; return ORIENTATION.RIGHT;
} }
@@ -221,8 +221,8 @@ const flexOrientationClass = computed(() => {
const gridClass = computed(() => { const gridClass = computed(() => {
const map = { const map = {
[ORIENTATION.LEFT]: 'grid grid-cols-[24px_1fr]', [ORIENTATION.LEFT]: 'grid grid-cols-1fr',
[ORIENTATION.RIGHT]: 'grid grid-cols-1fr', [ORIENTATION.RIGHT]: 'grid grid-cols-[1fr_24px]',
}; };
return map[orientation.value]; return map[orientation.value];
@@ -231,13 +231,13 @@ const gridClass = computed(() => {
const gridTemplate = computed(() => { const gridTemplate = computed(() => {
const map = { const map = {
[ORIENTATION.LEFT]: ` [ORIENTATION.LEFT]: `
"avatar bubble"
"spacer meta"
`,
[ORIENTATION.RIGHT]: `
"bubble" "bubble"
"meta" "meta"
`, `,
[ORIENTATION.RIGHT]: `
"bubble avatar"
"meta spacer"
`,
}; };
return map[orientation.value]; return map[orientation.value];
@@ -251,7 +251,7 @@ const shouldGroupWithNext = computed(() => {
const shouldShowAvatar = computed(() => { const shouldShowAvatar = computed(() => {
if (props.messageType === MESSAGE_TYPES.ACTIVITY) return false; if (props.messageType === MESSAGE_TYPES.ACTIVITY) return false;
if (orientation.value === ORIENTATION.RIGHT) return false; if (orientation.value === ORIENTATION.LEFT) return false;
return true; return true;
}); });
@@ -394,23 +394,29 @@ function handleReplyTo() {
} }
const avatarInfo = computed(() => { const avatarInfo = computed(() => {
if (!props.sender || props.sender.type === SENDER_TYPES.AGENT_BOT) { // If no sender, return bot info
if (!props.sender) {
return { return {
name: t('CONVERSATION.BOT'), name: t('CONVERSATION.BOT'),
src: '', src: '',
}; };
} }
if (props.sender) { const { sender } = props;
const { name, type, avatarUrl, thumbnail } = sender || {};
// If sender type is agent bot, use avatarUrl
if (type === SENDER_TYPES.AGENT_BOT) {
return { return {
name: props.sender.name, name: name ?? '',
src: props.sender?.thumbnail, src: avatarUrl ?? '',
}; };
} }
// For all other senders, use thumbnail
return { return {
name: '', name: name ?? '',
src: '', src: thumbnail ?? '',
}; };
}); });
@@ -438,7 +444,7 @@ provideMessageContext({
isPrivate: computed(() => props.private), isPrivate: computed(() => props.private),
variant, variant,
orientation, orientation,
isMyMessage, isBotOrAgentMessage,
shouldGroupWithNext, shouldGroupWithNext,
}); });
</script> </script>
@@ -470,14 +476,14 @@ provideMessageContext({
'w-full': variant === MESSAGE_VARIANTS.EMAIL, 'w-full': variant === MESSAGE_VARIANTS.EMAIL,
}, },
]" ]"
class="gap-x-3" class="gap-x-2"
:style="{ :style="{
gridTemplateAreas: gridTemplate, gridTemplateAreas: gridTemplate,
}" }"
> >
<div <div
v-if="!shouldGroupWithNext && shouldShowAvatar" v-if="!shouldGroupWithNext && shouldShowAvatar"
v-tooltip.right-end="avatarTooltip" v-tooltip.left-end="avatarTooltip"
class="[grid-area:avatar] flex items-end" class="[grid-area:avatar] flex items-end"
> >
<Avatar v-bind="avatarInfo" :size="24" /> <Avatar v-bind="avatarInfo" :size="24" />
@@ -485,7 +491,8 @@ provideMessageContext({
<div <div
class="[grid-area:bubble] flex" class="[grid-area:bubble] flex"
:class="{ :class="{
'ltr:pl-9 rtl:pl-0 justify-end': orientation === ORIENTATION.RIGHT, 'ltr:pl-8 rtl:pr-8 justify-end': orientation === ORIENTATION.RIGHT,
'ltr:pr-8 rtl:pl-8': orientation === ORIENTATION.LEFT,
'min-w-0': variant === MESSAGE_VARIANTS.EMAIL, 'min-w-0': variant === MESSAGE_VARIANTS.EMAIL,
}" }"
@contextmenu="openContextMenu($event)" @contextmenu="openContextMenu($event)"
@@ -14,7 +14,7 @@ const readableTime = computed(() =>
<template> <template>
<BaseBubble <BaseBubble
v-tooltip.top="readableTime" v-tooltip.top="readableTime"
class="px-2 py-0.5 !rounded-full flex min-w-0 items-center gap-2" class="px-3 py-1 !rounded-xl flex min-w-0 items-center gap-2"
data-bubble-name="activity" data-bubble-name="activity"
> >
<span v-dompurify-html="content" :title="content" /> <span v-dompurify-html="content" :title="content" />
@@ -98,7 +98,7 @@ const MessageControl = Symbol('MessageControl');
* @property {import('vue').Ref<Sender|null>} [sender=null] - The sender information * @property {import('vue').Ref<Sender|null>} [sender=null] - The sender information
* @property {import('vue').ComputedRef<MessageOrientation>} orientation - The visual variant of the message * @property {import('vue').ComputedRef<MessageOrientation>} orientation - The visual variant of the message
* @property {import('vue').ComputedRef<MessageVariant>} variant - The visual variant of the message * @property {import('vue').ComputedRef<MessageVariant>} variant - The visual variant of the message
* @property {import('vue').ComputedRef<boolean>} isMyMessage - Does the message belong to the current user * @property {import('vue').ComputedRef<boolean>} isBotOrAgentMessage - Does the message belong to the current user
* @property {import('vue').ComputedRef<boolean>} isPrivate - Proxy computed value for private * @property {import('vue').ComputedRef<boolean>} isPrivate - Proxy computed value for private
* @property {import('vue').ComputedRef<boolean>} shouldGroupWithNext - Should group with the next message or not, it is differnt from groupWithNext, this has a bypass for a failed message * @property {import('vue').ComputedRef<boolean>} shouldGroupWithNext - Should group with the next message or not, it is differnt from groupWithNext, this has a bypass for a failed message
*/ */
@@ -15,6 +15,13 @@ const props = defineProps({
type: String, type: String,
required: true, required: true,
}, },
subMenuPosition: {
type: String,
default: 'right',
validator: value => {
return ['right', 'left', 'bottom'].includes(value);
},
},
}); });
const emit = defineEmits(['update:modelValue']); const emit = defineEmits(['update:modelValue']);
@@ -44,14 +51,21 @@ const handleSelect = value => {
trailing-icon trailing-icon
color="slate" color="slate"
variant="faded" variant="faded"
class="!w-fit" class="!w-fit max-w-40"
:class="{ 'dark:!bg-n-alpha-2 !bg-n-slate-9/20': isOpen }" :class="{ 'dark:!bg-n-alpha-2 !bg-n-slate-9/20': isOpen }"
:label="labelValue" :label="labelValue"
@click="toggleMenu" @click="toggleMenu"
/> />
<div <div
v-if="isOpen" v-if="isOpen"
class="absolute ltr:left-full rtl:right-full select-none max-w-48 ltr:ml-1 rtl:mr-1 flex flex-col gap-1 bg-n-alpha-3 backdrop-blur-[100px] p-1 top-0 shadow-lg rounded-lg border border-n-weak" class="absolute select-none max-w-64 flex flex-col gap-1 bg-n-alpha-3 backdrop-blur-[100px] p-1 top-0 shadow-lg z-40 rounded-lg border border-n-weak dark:border-n-strong/50"
:class="{
'ltr:left-full rtl:right-full ltr:ml-1 rtl:mr-1':
subMenuPosition === 'right',
'ltr:right-full rtl:left-full ltr:mr-1 rtl:ml-1':
subMenuPosition === 'left',
'top-full mt-1 ltr:right-0 rtl:left-0': subMenuPosition === 'bottom',
}"
> >
<Button <Button
v-for="option in options" v-for="option in options"
@@ -27,10 +27,10 @@ const updateValue = () => {
> >
<span class="sr-only">{{ t('SWITCH.TOGGLE') }}</span> <span class="sr-only">{{ t('SWITCH.TOGGLE') }}</span>
<span <span
class="absolute top-[0.07rem] left-0.5 h-3 w-3 transform rounded-full shadow-sm transition-transform duration-200 ease-in-out" class="absolute top-0.5 left-0.5 h-3 w-3 transform rounded-full shadow-sm transition-transform duration-200 ease-in-out"
:class=" :class="
modelValue modelValue
? 'translate-x-2.5 bg-white' ? 'translate-x-3 bg-white'
: 'translate-x-0 bg-white dark:bg-n-black' : 'translate-x-0 bg-white dark:bg-n-black'
" "
/> />
@@ -1,93 +1,129 @@
<script> <script setup>
import wootConstants from 'dashboard/constants/globals'; import { computed } from 'vue';
import { mapGetters } from 'vuex'; import { useI18n } from 'vue-i18n';
import FilterItem from './FilterItem.vue'; import { useToggle } from '@vueuse/core';
import { vOnClickOutside } from '@vueuse/components';
import { useUISettings } from 'dashboard/composables/useUISettings'; import { useUISettings } from 'dashboard/composables/useUISettings';
import { useMapGetter, useStore } from 'dashboard/composables/store.js';
import wootConstants from 'dashboard/constants/globals';
import SelectMenu from 'dashboard/components-next/selectmenu/SelectMenu.vue';
import NextButton from 'dashboard/components-next/button/Button.vue'; import NextButton from 'dashboard/components-next/button/Button.vue';
const CHAT_STATUS_FILTER_ITEMS = Object.freeze([ defineProps({
'open', isOnExpandedLayout: {
'resolved', type: Boolean,
'pending', required: true,
'snoozed', },
'all', });
]);
const SORT_ORDER_ITEMS = Object.freeze([ const emit = defineEmits(['changeFilter']);
'last_activity_at_asc',
'last_activity_at_desc',
'created_at_desc',
'created_at_asc',
'priority_desc',
'priority_asc',
'waiting_since_asc',
'waiting_since_desc',
]);
export default { const store = useStore();
components: { const { t } = useI18n();
FilterItem,
NextButton,
},
props: {
isOnExpandedLayout: {
type: Boolean,
required: true,
},
},
emits: ['changeFilter'],
setup() {
const { updateUISettings } = useUISettings();
return { const { updateUISettings } = useUISettings();
updateUISettings,
}; const chatStatusFilter = useMapGetter('getChatStatusFilter');
const chatSortFilter = useMapGetter('getChatSortFilter');
const [showActionsDropdown, toggleDropdown] = useToggle();
const currentStatusFilter = computed(() => {
return chatStatusFilter.value || wootConstants.STATUS_TYPE.OPEN;
});
const currentSortBy = computed(() => {
return (
chatSortFilter.value || wootConstants.SORT_BY_TYPE.LAST_ACTIVITY_AT_DESC
);
});
const chatStatusOptions = [
{
label: t('CHAT_LIST.CHAT_STATUS_FILTER_ITEMS.open.TEXT'),
value: 'open',
}, },
data() { {
return { label: t('CHAT_LIST.CHAT_STATUS_FILTER_ITEMS.resolved.TEXT'),
showActionsDropdown: false, value: 'resolved',
chatStatusItems: CHAT_STATUS_FILTER_ITEMS,
chatSortItems: SORT_ORDER_ITEMS,
};
}, },
computed: { {
...mapGetters({ label: t('CHAT_LIST.CHAT_STATUS_FILTER_ITEMS.pending.TEXT'),
chatStatusFilter: 'getChatStatusFilter', value: 'pending',
chatSortFilter: 'getChatSortFilter',
}),
chatStatus() {
return this.chatStatusFilter || wootConstants.STATUS_TYPE.OPEN;
},
sortFilter() {
return (
this.chatSortFilter || wootConstants.SORT_BY_TYPE.LAST_ACTIVITY_AT_DESC
);
},
}, },
methods: { {
onTabChange(value) { label: t('CHAT_LIST.CHAT_STATUS_FILTER_ITEMS.snoozed.TEXT'),
this.$emit('changeFilter', value); value: 'snoozed',
this.closeDropdown();
},
toggleDropdown() {
this.showActionsDropdown = !this.showActionsDropdown;
},
closeDropdown() {
this.showActionsDropdown = false;
},
onChangeFilter(value, type) {
this.$emit('changeFilter', value, type);
this.saveSelectedFilter(type, value);
},
saveSelectedFilter(type, value) {
this.updateUISettings({
conversations_filter_by: {
status: type === 'status' ? value : this.chatStatus,
order_by: type === 'sort' ? value : this.sortFilter,
},
});
},
}, },
{
label: t('CHAT_LIST.CHAT_STATUS_FILTER_ITEMS.all.TEXT'),
value: 'all',
},
];
const chatSortOptions = [
{
label: t('CHAT_LIST.SORT_ORDER_ITEMS.last_activity_at_asc.TEXT'),
value: 'last_activity_at_asc',
},
{
label: t('CHAT_LIST.SORT_ORDER_ITEMS.last_activity_at_desc.TEXT'),
value: 'last_activity_at_desc',
},
{
label: t('CHAT_LIST.SORT_ORDER_ITEMS.created_at_desc.TEXT'),
value: 'created_at_desc',
},
{
label: t('CHAT_LIST.SORT_ORDER_ITEMS.created_at_asc.TEXT'),
value: 'created_at_asc',
},
{
label: t('CHAT_LIST.SORT_ORDER_ITEMS.priority_desc.TEXT'),
value: 'priority_desc',
},
{
label: t('CHAT_LIST.SORT_ORDER_ITEMS.priority_asc.TEXT'),
value: 'priority_asc',
},
{
label: t('CHAT_LIST.SORT_ORDER_ITEMS.waiting_since_asc.TEXT'),
value: 'waiting_since_asc',
},
{
label: t('CHAT_LIST.SORT_ORDER_ITEMS.waiting_since_desc.TEXT'),
value: 'waiting_since_desc',
},
];
const activeChatStatusLabel = computed(
() =>
chatStatusOptions.find(m => m.value === chatStatusFilter.value)?.label || ''
);
const activeChatSortLabel = computed(
() => chatSortOptions.find(m => m.value === chatSortFilter.value)?.label || ''
);
const saveSelectedFilter = (type, value) => {
updateUISettings({
conversations_filter_by: {
status: type === 'status' ? value : currentStatusFilter.value,
order_by: type === 'sort' ? value : currentSortBy.value,
},
});
};
const handleStatusChange = value => {
emit('changeFilter', value, 'status');
store.dispatch('setChatStatusFilter', value);
saveSelectedFilter('status', value);
};
const handleSortChange = value => {
emit('changeFilter', value, 'sort');
store.dispatch('setChatSortFilter', value);
saveSelectedFilter('sort', value);
}; };
</script> </script>
@@ -99,39 +135,39 @@ export default {
slate slate
faded faded
xs xs
@click="toggleDropdown" @click="toggleDropdown()"
/> />
<div <div
v-if="showActionsDropdown" v-if="showActionsDropdown"
v-on-clickaway="closeDropdown" v-on-click-outside="() => toggleDropdown()"
class="mt-1 dropdown-pane dropdown-pane--open !w-52 !p-4 top-6 border !border-n-weak dark:!border-n-weak !bg-n-alpha-3 dark:!bg-n-alpha-3 backdrop-blur-[100px]" class="mt-1 bg-n-alpha-3 backdrop-blur-[100px] border border-n-weak w-72 rounded-xl p-4 absolute z-40 top-full"
:class="{ :class="{
'ltr:left-0 rtl:right-0': !isOnExpandedLayout, 'ltr:left-0 rtl:right-0': !isOnExpandedLayout,
'ltr:right-0 rtl:left-0': isOnExpandedLayout, 'ltr:right-0 rtl:left-0': isOnExpandedLayout,
}" }"
> >
<div class="flex items-center justify-between last:mt-4"> <div class="flex items-center justify-between last:mt-4 gap-2">
<span class="text-xs font-medium text-n-slate-12">{{ <span class="text-sm truncate text-n-slate-12">
$t('CHAT_LIST.CHAT_SORT.STATUS') {{ $t('CHAT_LIST.CHAT_SORT.STATUS') }}
}}</span> </span>
<FilterItem <SelectMenu
type="status" :model-value="chatStatusFilter"
:selected-value="chatStatus" :options="chatStatusOptions"
:items="chatStatusItems" :label="activeChatStatusLabel"
path-prefix="CHAT_LIST.CHAT_STATUS_FILTER_ITEMS" :sub-menu-position="isOnExpandedLayout ? 'left' : 'right'"
@on-change-filter="onChangeFilter" @update:model-value="handleStatusChange"
/> />
</div> </div>
<div class="flex items-center justify-between last:mt-4"> <div class="flex items-center justify-between last:mt-4 gap-2">
<span class="text-xs font-medium text-n-slate-12">{{ <span class="text-sm truncate text-n-slate-12">
$t('CHAT_LIST.CHAT_SORT.ORDER_BY') {{ $t('CHAT_LIST.CHAT_SORT.ORDER_BY') }}
}}</span> </span>
<FilterItem <SelectMenu
type="sort" :model-value="chatSortFilter"
:selected-value="sortFilter" :options="chatSortOptions"
:items="chatSortItems" :label="activeChatSortLabel"
path-prefix="CHAT_LIST.SORT_ORDER_ITEMS" :sub-menu-position="isOnExpandedLayout ? 'left' : 'right'"
@on-change-filter="onChangeFilter" @update:model-value="handleSortChange"
/> />
</div> </div>
</div> </div>
@@ -1,6 +1,6 @@
import { computed } from 'vue'; import { computed } from 'vue';
import { useRoute } from 'vue-router'; import { useRoute } from 'vue-router';
import { useMapGetter } from './store'; import { useMapGetter, useStore } from './store';
/** /**
* Composable for account-related operations. * Composable for account-related operations.
@@ -12,6 +12,7 @@ export function useAccount() {
* @type {import('vue').ComputedRef<number>} * @type {import('vue').ComputedRef<number>}
*/ */
const route = useRoute(); const route = useRoute();
const store = useStore();
const getAccountFn = useMapGetter('accounts/getAccount'); const getAccountFn = useMapGetter('accounts/getAccount');
const isOnChatwootCloud = useMapGetter('globalConfig/isOnChatwootCloud'); const isOnChatwootCloud = useMapGetter('globalConfig/isOnChatwootCloud');
const isFeatureEnabledonAccount = useMapGetter( const isFeatureEnabledonAccount = useMapGetter(
@@ -44,6 +45,12 @@ export function useAccount() {
}; };
}; };
const updateAccount = async data => {
await store.dispatch('accounts/update', {
...data,
});
};
return { return {
accountId, accountId,
route, route,
@@ -52,5 +59,6 @@ export function useAccount() {
accountScopedRoute, accountScopedRoute,
isCloudFeatureEnabled, isCloudFeatureEnabled,
isOnChatwootCloud, isOnChatwootCloud,
updateAccount,
}; };
} }
@@ -2,23 +2,13 @@
"AGENT_BOTS": { "AGENT_BOTS": {
"HEADER": "Bots", "HEADER": "Bots",
"LOADING_EDITOR": "Loading editor...", "LOADING_EDITOR": "Loading editor...",
"DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try.You can manage your bots from this page or create new ones using the 'Configure new bot' button.", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.",
"LEARN_MORE": "Learn about agent bots", "LEARN_MORE": "Learn about agent bots",
"CSML_BOT_EDITOR": { "GLOBAL_BOT": "System bot",
"NAME": { "GLOBAL_BOT_BADGE": "System",
"LABEL": "Bot name", "AVATAR": {
"PLACEHOLDER": "Name your bot.", "SUCCESS_DELETE": "Bot avatar deleted successfully",
"ERROR": "Bot name is required." "ERROR_DELETE": "Error deleting bot avatar, please try again"
},
"DESCRIPTION": {
"LABEL": "Bot description",
"PLACEHOLDER": "What does this bot do?"
},
"BOT_CONFIG": {
"ERROR": "Please enter your CSML bot configuration above.",
"API_ERROR": "Your CSML configuration is invalid. Please fix it and try again."
},
"SUBMIT": "Validate and save"
}, },
"BOT_CONFIGURATION": { "BOT_CONFIGURATION": {
"TITLE": "Select an agent bot", "TITLE": "Select an agent bot",
@@ -32,7 +22,7 @@
"SELECT_PLACEHOLDER": "Select bot" "SELECT_PLACEHOLDER": "Select bot"
}, },
"ADD": { "ADD": {
"TITLE": "Configure new bot", "TITLE": "Add Bot",
"CANCEL_BUTTON_TEXT": "Cancel", "CANCEL_BUTTON_TEXT": "Cancel",
"API": { "API": {
"SUCCESS_MESSAGE": "Bot added successfully.", "SUCCESS_MESSAGE": "Bot added successfully.",
@@ -40,16 +30,22 @@
} }
}, },
"LIST": { "LIST": {
"404": "No bots found. You can create a bot by clicking the 'Configure new bot' button ↗", "404": "No bots found. You can create a bot by clicking the 'Add Bot' button.",
"LOADING": "Fetching bots...", "LOADING": "Fetching bots...",
"TYPE": "Bot type" "TABLE_HEADER": {
"DETAILS": "Bot Details",
"URL": "Webhook URL"
}
}, },
"DELETE": { "DELETE": {
"BUTTON_TEXT": "Delete", "BUTTON_TEXT": "Delete",
"TITLE": "Delete bot", "TITLE": "Delete bot",
"SUBMIT": "Delete", "CONFIRM": {
"CANCEL_BUTTON_TEXT": "Cancel", "TITLE": "Confirm Deletion",
"DESCRIPTION": "Are you sure you want to delete this bot? This action is irreversible.", "MESSAGE": "Are you sure you want to delete {name}?",
"YES": "Yes, Delete",
"NO": "No, Keep"
},
"API": { "API": {
"SUCCESS_MESSAGE": "Bot deleted successfully.", "SUCCESS_MESSAGE": "Bot deleted successfully.",
"ERROR_MESSAGE": "Could not delete bot. Please try again." "ERROR_MESSAGE": "Could not delete bot. Please try again."
@@ -57,17 +53,44 @@
}, },
"EDIT": { "EDIT": {
"BUTTON_TEXT": "Edit", "BUTTON_TEXT": "Edit",
"LOADING": "Fetching bots...",
"TITLE": "Edit bot", "TITLE": "Edit bot",
"CANCEL_BUTTON_TEXT": "Cancel",
"API": { "API": {
"SUCCESS_MESSAGE": "Bot updated successfully.", "SUCCESS_MESSAGE": "Bot updated successfully.",
"ERROR_MESSAGE": "Could not update bot. Please try again." "ERROR_MESSAGE": "Could not update bot. Please try again."
} }
}, },
"FORM": {
"AVATAR": {
"LABEL": "Bot avatar"
},
"NAME": {
"LABEL": "Bot name",
"PLACEHOLDER": "Enter bot name",
"REQUIRED": "Bot name is required"
},
"DESCRIPTION": {
"LABEL": "Description",
"PLACEHOLDER": "What does this bot do?"
},
"WEBHOOK_URL": {
"LABEL": "Webhook URL",
"PLACEHOLDER": "https://example.com/webhook",
"REQUIRED": "Webhook URL is required"
},
"ERRORS": {
"NAME": "Bot name is required",
"URL": "Webhook URL is required",
"VALID_URL": "Please enter a valid URL starting with http:// or https://"
},
"CANCEL": "Cancel",
"CREATE": "Create Bot",
"UPDATE": "Update Bot"
},
"WEBHOOK": {
"DESCRIPTION": "Configure a webhook bot to integrate with your custom services. The bot will receive and process events from conversations and can respond to them."
},
"TYPES": { "TYPES": {
"WEBHOOK": "Webhook bot", "WEBHOOK": "Webhook bot"
"CSML": "CSML bot"
} }
} }
} }
@@ -126,6 +126,44 @@
"ATLEAST_ONE_CONDITION_REQUIRED": "At least one condition is required", "ATLEAST_ONE_CONDITION_REQUIRED": "At least one condition is required",
"ATLEAST_ONE_ACTION_REQUIRED": "At least one action is required" "ATLEAST_ONE_ACTION_REQUIRED": "At least one action is required"
}, },
"NONE_OPTION": "None" "NONE_OPTION": "None",
"EVENTS": {
"CONVERSATION_CREATED": "Conversation Created",
"CONVERSATION_UPDATED": "Conversation Updated",
"MESSAGE_CREATED": "Message Created",
"CONVERSATION_OPENED": "Conversation Opened"
},
"ACTIONS": {
"ASSIGN_AGENT": "Assign to Agent",
"ASSIGN_TEAM": "Assign a Team",
"ADD_LABEL": "Add a Label",
"REMOVE_LABEL": "Remove a Label",
"SEND_EMAIL_TO_TEAM": "Send an Email to Team",
"SEND_EMAIL_TRANSCRIPT": "Send an Email Transcript",
"MUTE_CONVERSATION": "Mute Conversation",
"SNOOZE_CONVERSATION": "Snooze Conversation",
"RESOLVE_CONVERSATION": "Resolve Conversation",
"SEND_WEBHOOK_EVENT": "Send Webhook Event",
"SEND_ATTACHMENT": "Send Attachment",
"SEND_MESSAGE": "Send a Message",
"CHANGE_PRIORITY": "Change Priority",
"ADD_SLA": "Add SLA"
},
"ATTRIBUTES": {
"MESSAGE_TYPE": "Message Type",
"MESSAGE_CONTAINS": "Message Contains",
"EMAIL": "Email",
"INBOX": "Inbox",
"CONVERSATION_LANGUAGE": "Conversation Language",
"PHONE_NUMBER": "Phone Number",
"STATUS": "Status",
"BROWSER_LANGUAGE": "Browser Language",
"MAIL_SUBJECT": "Email Subject",
"COUNTRY_NAME": "Country",
"REFERER_LINK": "Referrer Link",
"ASSIGNEE_NAME": "Assignee",
"TEAM_NAME": "Team",
"PRIORITY": "Priority"
}
} }
} }
@@ -544,6 +544,9 @@
"WROTE": "wrote", "WROTE": "wrote",
"YOU": "You", "YOU": "You",
"SAVE": "Save note", "SAVE": "Save note",
"EXPAND": "Expand",
"COLLAPSE": "Collapse",
"NO_NOTES": "No notes, you can add notes from the contact details page.",
"EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above."
} }
}, },
@@ -32,10 +32,12 @@
"LOADING_CONVERSATIONS": "Loading Conversations", "LOADING_CONVERSATIONS": "Loading Conversations",
"CANNOT_REPLY": "You cannot reply due to", "CANNOT_REPLY": "You cannot reply due to",
"24_HOURS_WINDOW": "24 hour message window restriction", "24_HOURS_WINDOW": "24 hour message window restriction",
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "This conversation is not assigned to you. Would you like to assign this conversation to yourself?", "NOT_ASSIGNED_TO_YOU": "This conversation is not assigned to you. Would you like to assign this conversation to yourself?",
"ASSIGN_TO_ME": "Assign to me", "ASSIGN_TO_ME": "Assign to me",
"TWILIO_WHATSAPP_CAN_REPLY": "You can only reply to this conversation using a template message due to", "TWILIO_WHATSAPP_CAN_REPLY": "You can only reply to this conversation using a template message due to",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 hour message window restriction", "TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 hour message window restriction",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
"REPLYING_TO": "You are replying to:", "REPLYING_TO": "You are replying to:",
"REMOVE_SELECTION": "Remove Selection", "REMOVE_SELECTION": "Remove Selection",
"DOWNLOAD": "Download", "DOWNLOAD": "Download",
@@ -293,6 +295,7 @@
"CONVERSATION_ACTIONS": "Conversation Actions", "CONVERSATION_ACTIONS": "Conversation Actions",
"CONVERSATION_LABELS": "Conversation Labels", "CONVERSATION_LABELS": "Conversation Labels",
"CONVERSATION_INFO": "Conversation Information", "CONVERSATION_INFO": "Conversation Information",
"CONTACT_NOTES": "Contact Notes",
"CONTACT_ATTRIBUTES": "Contact Attributes", "CONTACT_ATTRIBUTES": "Contact Attributes",
"PREVIOUS_CONVERSATION": "Previous Conversations", "PREVIOUS_CONVERSATION": "Previous Conversations",
"MACROS": "Macros", "MACROS": "Macros",
@@ -1,5 +1,11 @@
{ {
"GENERAL_SETTINGS": { "GENERAL_SETTINGS": {
"LIMIT_MESSAGES": {
"CONVERSATION": "You have exceeded the conversation limit. Hacker plan allows only 500 conversations.",
"INBOXES": "You have exceeded the inbox limit. Hacker plan only supports website live-chat. Additional inboxes like email, WhatsApp etc. require a paid plan.",
"AGENTS": "You have exceeded the agent limit. Hacker plan allows only 2 agents.",
"NON_ADMIN": "Please contact your administrator to upgrade the plan and continue using all features."
},
"TITLE": "Account settings", "TITLE": "Account settings",
"SUBMIT": "Update settings", "SUBMIT": "Update settings",
"BACK": "Back", "BACK": "Back",
@@ -8,6 +14,26 @@
"ERROR": "Could not update settings, try again!", "ERROR": "Could not update settings, try again!",
"SUCCESS": "Successfully updated account settings" "SUCCESS": "Successfully updated account settings"
}, },
"ACCOUNT_DELETE_SECTION": {
"TITLE": "Delete your Account",
"NOTE": "Once you delete your account, all your data will be deleted.",
"BUTTON_TEXT": "Delete Your Account",
"CONFIRM": {
"TITLE": "Delete Account",
"MESSAGE": "Deleting your Account is irreversible. Enter your account name below to confirm you want to permanently delete it.",
"BUTTON_TEXT": "Delete",
"DISMISS": "Cancel",
"PLACE_HOLDER": "Please type {accountName} to confirm"
},
"SUCCESS": "Account marked for deletion",
"FAILURE": "Could not delete account, try again!",
"SCHEDULED_DELETION": {
"TITLE": "Account Scheduled for Deletion",
"MESSAGE_MANUAL": "This account is scheduled for deletion on {deletionDate}. This was requested by an administrator. You can cancel the deletion before this date.",
"MESSAGE_INACTIVITY": "This account is scheduled for deletion on {deletionDate} due to account inactivity. You can cancel the deletion before this date.",
"CLEAR_BUTTON": "Cancel Scheduled Deletion"
}
},
"FORM": { "FORM": {
"ERROR": "Please fix form errors", "ERROR": "Please fix form errors",
"GENERAL_SECTION": { "GENERAL_SECTION": {
@@ -51,6 +77,7 @@
"UPDATE_CHATWOOT": "An update {latestChatwootVersion} for Chatwoot is available. Please update your instance.", "UPDATE_CHATWOOT": "An update {latestChatwootVersion} for Chatwoot is available. Please update your instance.",
"LEARN_MORE": "Learn more", "LEARN_MORE": "Learn more",
"PAYMENT_PENDING": "Your payment is pending. Please update your payment information to continue using Chatwoot", "PAYMENT_PENDING": "Your payment is pending. Please update your payment information to continue using Chatwoot",
"UPGRADE": "Upgrade to continue using Chatwoot",
"LIMITS_UPGRADE": "Your account has exceeded the usage limits, please upgrade your plan to continue using Chatwoot", "LIMITS_UPGRADE": "Your account has exceeded the usage limits, please upgrade your plan to continue using Chatwoot",
"OPEN_BILLING": "Open billing" "OPEN_BILLING": "Open billing"
}, },
@@ -696,7 +696,8 @@
"SLUG": { "SLUG": {
"LABEL": "Slug", "LABEL": "Slug",
"PLACEHOLDER": "user-guide", "PLACEHOLDER": "user-guide",
"ERROR": "Slug is required" "ERROR": "Slug is required",
"FORMAT_ERROR": "Please enter a valid slug, for eg: user-guide"
} }
}, },
"PORTAL_SETTINGS": { "PORTAL_SETTINGS": {
@@ -43,7 +43,17 @@
"INBOX_NAME": "Inbox Name", "INBOX_NAME": "Inbox Name",
"ADD_NAME": "Add a name for your inbox", "ADD_NAME": "Add a name for your inbox",
"PICK_NAME": "Pick a Name for your Inbox", "PICK_NAME": "Pick a Name for your Inbox",
"PICK_A_VALUE": "Pick a value" "PICK_A_VALUE": "Pick a value",
"CREATE_INBOX": "Create Inbox"
},
"INSTAGRAM": {
"CONTINUE_WITH_INSTAGRAM": "Continue with Instagram",
"CONNECT_YOUR_INSTAGRAM_PROFILE": "Connect your Instagram Profile",
"HELP": "To add your Instagram profile as a channel, you need to authenticate your Instagram Profile by clicking on 'Continue with Instagram' ",
"ERROR_MESSAGE": "There was an error connecting to Instagram, please try again",
"ERROR_AUTH": "There was an error connecting to Instagram, please try again",
"NEW_INBOX_SUGGESTION": "This Instagram account was previously linked to a different inbox and has now been migrated here. All new messages will appear here. The old inbox will no longer be able to send or receive messages for this account.",
"DUPLICATE_INBOX_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. You won’t be able to send/receive Instagram messages from this inbox anymore."
}, },
"TWITTER": { "TWITTER": {
"HELP": "To add your Twitter profile as a channel, you need to authenticate your Twitter Profile by clicking on 'Sign in with Twitter' ", "HELP": "To add your Twitter profile as a channel, you need to authenticate your Twitter Profile by clicking on 'Sign in with Twitter' ",
@@ -753,7 +763,8 @@
"EMAIL": "Email", "EMAIL": "Email",
"TELEGRAM": "Telegram", "TELEGRAM": "Telegram",
"LINE": "Line", "LINE": "Line",
"API": "API Channel" "API": "API Channel",
"INSTAGRAM": "Instagram"
} }
} }
} }
@@ -329,11 +329,34 @@
"HEADER_KNOW_MORE": "Know more", "HEADER_KNOW_MORE": "Know more",
"COPILOT": { "COPILOT": {
"SEND_MESSAGE": "Send message...", "SEND_MESSAGE": "Send message...",
"EMPTY_MESSAGE": "There was an error generating the response. Please try again.",
"LOADER": "Captain is thinking", "LOADER": "Captain is thinking",
"YOU": "You", "YOU": "You",
"USE": "Use this", "USE": "Use this",
"RESET": "Reset", "RESET": "Reset",
"SELECT_ASSISTANT": "Select Assistant" "SELECT_ASSISTANT": "Select Assistant",
"PROMPTS": {
"SUMMARIZE": {
"LABEL": "Summarize this conversation",
"CONTENT": "Summarize the key points discussed between the customer and the support agent, including the customer's concerns, questions, and the solutions or responses provided by the support agent"
},
"SUGGEST": {
"LABEL": "Suggest an answer",
"CONTENT": "Analyze the customer's inquiry, and draft a response that effectively addresses their concerns or questions. Ensure the reply is clear, concise, and provides helpful information."
},
"RATE": {
"LABEL": "Rate this conversation",
"CONTENT": "Review the conversation to see how well it meets the customer's needs. Share a rating out of 5 based on tone, clarity, and effectiveness."
}
}
},
"PLAYGROUND": {
"USER": "You",
"ASSISTANT": "Assistant",
"MESSAGE_PLACEHOLDER": "Type your message...",
"HEADER": "Playground",
"DESCRIPTION": "Use this playground to send messages to your assistant and check if it responds accurately, quickly, and in the tone you expect.",
"CREDIT_NOTE": "Messages sent here will count toward your Captain credits."
}, },
"PAYWALL": { "PAYWALL": {
"TITLE": "Upgrade to use Captain AI", "TITLE": "Upgrade to use Captain AI",
@@ -373,21 +396,45 @@
"ERROR_MESSAGE": "There was an error creating the assistant, please try again." "ERROR_MESSAGE": "There was an error creating the assistant, please try again."
}, },
"FORM": { "FORM": {
"UPDATE": "Update",
"SECTIONS": {
"BASIC_INFO": "Basic Information",
"SYSTEM_MESSAGES": "System Messages",
"INSTRUCTIONS": "Instructions",
"FEATURES": "Features",
"TOOLS": "Tools "
},
"NAME": { "NAME": {
"LABEL": "Assistant Name", "LABEL": "Name",
"PLACEHOLDER": "Enter a name for the assistant", "PLACEHOLDER": "Enter assistant name",
"ERROR": "Please provide a name for the assistant" "ERROR": "The name is required"
}, },
"DESCRIPTION": { "DESCRIPTION": {
"LABEL": "Assistant Description", "LABEL": "Description",
"PLACEHOLDER": "Describe how and where this assistant will be used", "PLACEHOLDER": "Enter assistant description",
"ERROR": "A description is required" "ERROR": "The description is required"
}, },
"PRODUCT_NAME": { "PRODUCT_NAME": {
"LABEL": "Product Name", "LABEL": "Product Name",
"PLACEHOLDER": "Enter the name of the product this assistant is designed for", "PLACEHOLDER": "Enter product name",
"ERROR": "The product name is required" "ERROR": "The product name is required"
}, },
"WELCOME_MESSAGE": {
"LABEL": "Welcome Message",
"PLACEHOLDER": "Enter welcome message"
},
"HANDOFF_MESSAGE": {
"LABEL": "Handoff Message",
"PLACEHOLDER": "Enter handoff message"
},
"RESOLUTION_MESSAGE": {
"LABEL": "Resolution Message",
"PLACEHOLDER": "Enter resolution message"
},
"INSTRUCTIONS": {
"LABEL": "Instructions",
"PLACEHOLDER": "Enter instructions for the assistant"
},
"FEATURES": { "FEATURES": {
"TITLE": "Features", "TITLE": "Features",
"ALLOW_CONVERSATION_FAQS": "Generate FAQs from resolved conversations", "ALLOW_CONVERSATION_FAQS": "Generate FAQs from resolved conversations",
@@ -397,7 +444,8 @@
"EDIT": { "EDIT": {
"TITLE": "Update the assistant", "TITLE": "Update the assistant",
"SUCCESS_MESSAGE": "The assistant has been successfully updated", "SUCCESS_MESSAGE": "The assistant has been successfully updated",
"ERROR_MESSAGE": "There was an error updating the assistant, please try again." "ERROR_MESSAGE": "There was an error updating the assistant, please try again.",
"NOT_FOUND": "Could not find the assistant. Please try again."
}, },
"OPTIONS": { "OPTIONS": {
"EDIT_ASSISTANT": "Edit Assistant", "EDIT_ASSISTANT": "Edit Assistant",
@@ -83,6 +83,22 @@
"ACTION_PARAMETERS_REQUIRED": "Action parameters are required", "ACTION_PARAMETERS_REQUIRED": "Action parameters are required",
"ATLEAST_ONE_CONDITION_REQUIRED": "At least one condition is required", "ATLEAST_ONE_CONDITION_REQUIRED": "At least one condition is required",
"ATLEAST_ONE_ACTION_REQUIRED": "At least one action is required" "ATLEAST_ONE_ACTION_REQUIRED": "At least one action is required"
},
"ACTIONS": {
"ASSIGN_TEAM": "Assign a Team",
"ASSIGN_AGENT": "Assign an Agent",
"ADD_LABEL": "Add a Label",
"REMOVE_LABEL": "Remove a Label",
"REMOVE_ASSIGNED_TEAM": "Remove Assigned Team",
"SEND_EMAIL_TRANSCRIPT": "Send an Email Transcript",
"MUTE_CONVERSATION": "Mute Conversation",
"SNOOZE_CONVERSATION": "Snooze Conversation",
"RESOLVE_CONVERSATION": "Resolve Conversation",
"SEND_ATTACHMENT": "Send Attachment",
"SEND_MESSAGE": "Send a Message",
"CHANGE_PRIORITY": "Change Priority",
"ADD_PRIVATE_NOTE": "Add a Private Note",
"SEND_WEBHOOK_EVENT": "Send Webhook Event"
} }
} }
} }
@@ -387,7 +387,8 @@
"LABEL": "Company Name", "LABEL": "Company Name",
"PLACEHOLDER": "Wayne Enterprises" "PLACEHOLDER": "Wayne Enterprises"
}, },
"SUBMIT": "Submit" "SUBMIT": "Submit",
"CANCEL": "Cancel"
} }
}, },
"KEYBOARD_SHORTCUTS": { "KEYBOARD_SHORTCUTS": {
@@ -2,23 +2,13 @@
"AGENT_BOTS": { "AGENT_BOTS": {
"HEADER": "الروبوتات", "HEADER": "الروبوتات",
"LOADING_EDITOR": "جار جلب المحرر...", "LOADING_EDITOR": "جار جلب المحرر...",
"DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try.You can manage your bots from this page or create new ones using the 'Configure new bot' button.", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.",
"LEARN_MORE": "Learn about agent bots", "LEARN_MORE": "Learn about agent bots",
"CSML_BOT_EDITOR": { "GLOBAL_BOT": "System bot",
"NAME": { "GLOBAL_BOT_BADGE": "النظام",
"LABEL": "اسم الروبوت", "AVATAR": {
"PLACEHOLDER": "قم بتسمية الروبوت الخاص بك.", "SUCCESS_DELETE": "Bot avatar deleted successfully",
"ERROR": "اسم الروبوت مطلوب." "ERROR_DELETE": "Error deleting bot avatar, please try again"
},
"DESCRIPTION": {
"LABEL": "وصف الروبوت",
"PLACEHOLDER": "ماذا يفعل هذا الروبوت؟"
},
"BOT_CONFIG": {
"ERROR": "يرجى إدخال تكوين نبوت CSML الخاص بك أعلاه.",
"API_ERROR": "تكوين CSML الخاص بك غير صالح. يرجى إصلاحه والمحاولة مرة أخرى."
},
"SUBMIT": "التحقق والحفظ"
}, },
"BOT_CONFIGURATION": { "BOT_CONFIGURATION": {
"TITLE": "اختر الروبوت", "TITLE": "اختر الروبوت",
@@ -32,7 +22,7 @@
"SELECT_PLACEHOLDER": "اختر الروبوت" "SELECT_PLACEHOLDER": "اختر الروبوت"
}, },
"ADD": { "ADD": {
"TITLE": "تكوين روبوت جديد", "TITLE": "Add Bot",
"CANCEL_BUTTON_TEXT": "إلغاء", "CANCEL_BUTTON_TEXT": "إلغاء",
"API": { "API": {
"SUCCESS_MESSAGE": "تمت إضافة الروبوت بنجاح.", "SUCCESS_MESSAGE": "تمت إضافة الروبوت بنجاح.",
@@ -40,16 +30,22 @@
} }
}, },
"LIST": { "LIST": {
"404": "لم يتم العثور على أي روبوتات. يمكنك إنشاء الروبوت بالنقر على زر 'تكوين روبوت جديد' ↗", "404": "No bots found. You can create a bot by clicking the 'Add Bot' button.",
"LOADING": "جار جلب الروبوتات...", "LOADING": "جار جلب الروبوتات...",
"TYPE": "نوع الروبوت" "TABLE_HEADER": {
"DETAILS": "Bot Details",
"URL": "رابط Webhook"
}
}, },
"DELETE": { "DELETE": {
"BUTTON_TEXT": "حذف", "BUTTON_TEXT": "حذف",
"TITLE": "حذف الروبوت", "TITLE": "حذف الروبوت",
"SUBMIT": "حذف", "CONFIRM": {
"CANCEL_BUTTON_TEXT": "إلغاء", "TITLE": "تأكيد الحذف",
"DESCRIPTION": "هل أنت متأكد أنك تريد حذف هذا الروبوت؟ هذا الإجراء لا يمكن التراجع عنه.", "MESSAGE": "Are you sure you want to delete {name}?",
"YES": "نعم، احذف",
"NO": "لا، احتفظ"
},
"API": { "API": {
"SUCCESS_MESSAGE": "تم حذف الروبوت بنجاح.", "SUCCESS_MESSAGE": "تم حذف الروبوت بنجاح.",
"ERROR_MESSAGE": "تعذر حذف الروبوت. يرجى المحاولة مرة أخرى." "ERROR_MESSAGE": "تعذر حذف الروبوت. يرجى المحاولة مرة أخرى."
@@ -57,17 +53,44 @@
}, },
"EDIT": { "EDIT": {
"BUTTON_TEXT": "تعديل", "BUTTON_TEXT": "تعديل",
"LOADING": "جار جلب الروبوتات...",
"TITLE": "تعديل الروبوت", "TITLE": "تعديل الروبوت",
"CANCEL_BUTTON_TEXT": "إلغاء",
"API": { "API": {
"SUCCESS_MESSAGE": "تم تحديث الروبوت بنجاح.", "SUCCESS_MESSAGE": "تم تحديث الروبوت بنجاح.",
"ERROR_MESSAGE": "تعذر تحديث الروبوت. يرجى المحاولة مرة أخرى." "ERROR_MESSAGE": "تعذر تحديث الروبوت. يرجى المحاولة مرة أخرى."
} }
}, },
"FORM": {
"AVATAR": {
"LABEL": "Bot avatar"
},
"NAME": {
"LABEL": "اسم الروبوت",
"PLACEHOLDER": "Enter bot name",
"REQUIRED": "اسم الروبوت مطلوب"
},
"DESCRIPTION": {
"LABEL": "الوصف",
"PLACEHOLDER": "ماذا يفعل هذا الروبوت؟"
},
"WEBHOOK_URL": {
"LABEL": "رابط Webhook",
"PLACEHOLDER": "https://example.com/webhook",
"REQUIRED": "Webhook URL is required"
},
"ERRORS": {
"NAME": "اسم الروبوت مطلوب",
"URL": "Webhook URL is required",
"VALID_URL": "Please enter a valid URL starting with http:// or https://"
},
"CANCEL": "إلغاء",
"CREATE": "Create Bot",
"UPDATE": "Update Bot"
},
"WEBHOOK": {
"DESCRIPTION": "Configure a webhook bot to integrate with your custom services. The bot will receive and process events from conversations and can respond to them."
},
"TYPES": { "TYPES": {
"WEBHOOK": "روبوت الـWebhook", "WEBHOOK": "روبوت الـWebhook"
"CSML": "بوت CSML"
} }
} }
} }
@@ -126,6 +126,44 @@
"ATLEAST_ONE_CONDITION_REQUIRED": "شرط واحد على الأقل مطلوب", "ATLEAST_ONE_CONDITION_REQUIRED": "شرط واحد على الأقل مطلوب",
"ATLEAST_ONE_ACTION_REQUIRED": "إجراء واحد على الأقل مطلوب" "ATLEAST_ONE_ACTION_REQUIRED": "إجراء واحد على الأقل مطلوب"
}, },
"NONE_OPTION": "لا شيء" "NONE_OPTION": "لا شيء",
"EVENTS": {
"CONVERSATION_CREATED": "تم إنشاء المحادثة",
"CONVERSATION_UPDATED": "تم تحديث المحادثة",
"MESSAGE_CREATED": "Message Created",
"CONVERSATION_OPENED": "Conversation Opened"
},
"ACTIONS": {
"ASSIGN_AGENT": "Assign to Agent",
"ASSIGN_TEAM": "Assign a Team",
"ADD_LABEL": "Add a Label",
"REMOVE_LABEL": "Remove a Label",
"SEND_EMAIL_TO_TEAM": "Send an Email to Team",
"SEND_EMAIL_TRANSCRIPT": "Send an Email Transcript",
"MUTE_CONVERSATION": "كتم المحادثة",
"SNOOZE_CONVERSATION": "تأجيل المحادثة",
"RESOLVE_CONVERSATION": "إعادة فتح المحادثة",
"SEND_WEBHOOK_EVENT": "Send Webhook Event",
"SEND_ATTACHMENT": "Send Attachment",
"SEND_MESSAGE": "Send a Message",
"CHANGE_PRIORITY": "تغيير الأولوية",
"ADD_SLA": "Add SLA"
},
"ATTRIBUTES": {
"MESSAGE_TYPE": "Message Type",
"MESSAGE_CONTAINS": "Message Contains",
"EMAIL": "البريد الإلكتروني",
"INBOX": "صندوق الوارد",
"CONVERSATION_LANGUAGE": "Conversation Language",
"PHONE_NUMBER": "رقم الهاتف",
"STATUS": "الحالة",
"BROWSER_LANGUAGE": "لغة المتصفح",
"MAIL_SUBJECT": "Email Subject",
"COUNTRY_NAME": "الدولة",
"REFERER_LINK": "Referrer Link",
"ASSIGNEE_NAME": "المكلَّف",
"TEAM_NAME": "الفريق",
"PRIORITY": "الأولوية"
}
} }
} }
@@ -544,6 +544,9 @@
"WROTE": "كتب", "WROTE": "كتب",
"YOU": "أنت", "YOU": "أنت",
"SAVE": "Save note", "SAVE": "Save note",
"EXPAND": "Expand",
"COLLAPSE": "Collapse",
"NO_NOTES": "No notes, you can add notes from the contact details page.",
"EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above."
} }
}, },
@@ -32,10 +32,12 @@
"LOADING_CONVERSATIONS": "جاري جلب المحادثات", "LOADING_CONVERSATIONS": "جاري جلب المحادثات",
"CANNOT_REPLY": "لا يمكنك الرد بسبب", "CANNOT_REPLY": "لا يمكنك الرد بسبب",
"24_HOURS_WINDOW": "قيد نافذة الـ 24 ساعة", "24_HOURS_WINDOW": "قيد نافذة الـ 24 ساعة",
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "لم يتم تعيين هذه المحادثة لك. هل ترغب في تعيين هذه المحادثة لنفسك؟", "NOT_ASSIGNED_TO_YOU": "لم يتم تعيين هذه المحادثة لك. هل ترغب في تعيين هذه المحادثة لنفسك؟",
"ASSIGN_TO_ME": "إسناد لي", "ASSIGN_TO_ME": "إسناد لي",
"TWILIO_WHATSAPP_CAN_REPLY": "يمكنك فقط الرد على هذه المحادثة باستخدام رسالة قالب بسبب", "TWILIO_WHATSAPP_CAN_REPLY": "يمكنك فقط الرد على هذه المحادثة باستخدام رسالة قالب بسبب",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "قيد نافذة الـ 24 ساعة", "TWILIO_WHATSAPP_24_HOURS_WINDOW": "قيد نافذة الـ 24 ساعة",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
"REPLYING_TO": "أنت ترد على:", "REPLYING_TO": "أنت ترد على:",
"REMOVE_SELECTION": "إزالة التحديد", "REMOVE_SELECTION": "إزالة التحديد",
"DOWNLOAD": "تحميل", "DOWNLOAD": "تحميل",
@@ -293,6 +295,7 @@
"CONVERSATION_ACTIONS": "إجراءات المحادثة", "CONVERSATION_ACTIONS": "إجراءات المحادثة",
"CONVERSATION_LABELS": "وسوم المحادثة", "CONVERSATION_LABELS": "وسوم المحادثة",
"CONVERSATION_INFO": "معلومات المحادثة", "CONVERSATION_INFO": "معلومات المحادثة",
"CONTACT_NOTES": "Contact Notes",
"CONTACT_ATTRIBUTES": "سمات جهة الاتصال", "CONTACT_ATTRIBUTES": "سمات جهة الاتصال",
"PREVIOUS_CONVERSATION": "المحادثات السابقة", "PREVIOUS_CONVERSATION": "المحادثات السابقة",
"MACROS": "ماكروس", "MACROS": "ماكروس",
@@ -1,5 +1,11 @@
{ {
"GENERAL_SETTINGS": { "GENERAL_SETTINGS": {
"LIMIT_MESSAGES": {
"CONVERSATION": "You have exceeded the conversation limit. Hacker plan allows only 500 conversations.",
"INBOXES": "You have exceeded the inbox limit. Hacker plan only supports website live-chat. Additional inboxes like email, WhatsApp etc. require a paid plan.",
"AGENTS": "You have exceeded the agent limit. Hacker plan allows only 2 agents.",
"NON_ADMIN": "Please contact your administrator to upgrade the plan and continue using all features."
},
"TITLE": "إعدادات الحساب", "TITLE": "إعدادات الحساب",
"SUBMIT": "تحديث الإعدادات", "SUBMIT": "تحديث الإعدادات",
"BACK": "العودة", "BACK": "العودة",
@@ -8,6 +14,26 @@
"ERROR": "تعذر تحديث الإعدادات، الرجاء المحاولة مرة أخرى!", "ERROR": "تعذر تحديث الإعدادات، الرجاء المحاولة مرة أخرى!",
"SUCCESS": "تم تحديث إعدادات الحساب بنجاح" "SUCCESS": "تم تحديث إعدادات الحساب بنجاح"
}, },
"ACCOUNT_DELETE_SECTION": {
"TITLE": "Delete your Account",
"NOTE": "Once you delete your account, all your data will be deleted.",
"BUTTON_TEXT": "Delete Your Account",
"CONFIRM": {
"TITLE": "Delete Account",
"MESSAGE": "Deleting your Account is irreversible. Enter your account name below to confirm you want to permanently delete it.",
"BUTTON_TEXT": "حذف",
"DISMISS": "إلغاء",
"PLACE_HOLDER": "الرجاء كتابة {accountName} للتأكيد"
},
"SUCCESS": "Account marked for deletion",
"FAILURE": "Could not delete account, try again!",
"SCHEDULED_DELETION": {
"TITLE": "Account Scheduled for Deletion",
"MESSAGE_MANUAL": "This account is scheduled for deletion on {deletionDate}. This was requested by an administrator. You can cancel the deletion before this date.",
"MESSAGE_INACTIVITY": "This account is scheduled for deletion on {deletionDate} due to account inactivity. You can cancel the deletion before this date.",
"CLEAR_BUTTON": "Cancel Scheduled Deletion"
}
},
"FORM": { "FORM": {
"ERROR": "الرجاء إصلاح الأخطاء في النموذج", "ERROR": "الرجاء إصلاح الأخطاء في النموذج",
"GENERAL_SECTION": { "GENERAL_SECTION": {
@@ -51,6 +77,7 @@
"UPDATE_CHATWOOT": "يتوفر تحديث {latestChatwootVersion} لـ Chatwoot. الرجاء التحديث.", "UPDATE_CHATWOOT": "يتوفر تحديث {latestChatwootVersion} لـ Chatwoot. الرجاء التحديث.",
"LEARN_MORE": "اعرف المزيد", "LEARN_MORE": "اعرف المزيد",
"PAYMENT_PENDING": "الدفعة الخاصة بك معلقة. الرجاء تحديث معلومات الدفع الخاصة بك للاستمرار في استخدام Chatwoot", "PAYMENT_PENDING": "الدفعة الخاصة بك معلقة. الرجاء تحديث معلومات الدفع الخاصة بك للاستمرار في استخدام Chatwoot",
"UPGRADE": "Upgrade to continue using Chatwoot",
"LIMITS_UPGRADE": "لقد تجاوز حسابك حدود الاستخدام، يرجى ترقية خطتك للاستمرار في استخدام Chatwoot", "LIMITS_UPGRADE": "لقد تجاوز حسابك حدود الاستخدام، يرجى ترقية خطتك للاستمرار في استخدام Chatwoot",
"OPEN_BILLING": "فتح الفواتير" "OPEN_BILLING": "فتح الفواتير"
}, },
@@ -696,7 +696,8 @@
"SLUG": { "SLUG": {
"LABEL": "Slug", "LABEL": "Slug",
"PLACEHOLDER": "user-guide", "PLACEHOLDER": "user-guide",
"ERROR": "Slug is required" "ERROR": "Slug is required",
"FORMAT_ERROR": "Please enter a valid slug, for eg: user-guide"
} }
}, },
"PORTAL_SETTINGS": { "PORTAL_SETTINGS": {
@@ -43,7 +43,17 @@
"INBOX_NAME": "اسم صندوق الوارد لقناة التواصل", "INBOX_NAME": "اسم صندوق الوارد لقناة التواصل",
"ADD_NAME": "قم بتعيين اسم لصندوق الوارد الخاص بقناتك الجديدة", "ADD_NAME": "قم بتعيين اسم لصندوق الوارد الخاص بقناتك الجديدة",
"PICK_NAME": "Pick a Name for your Inbox", "PICK_NAME": "Pick a Name for your Inbox",
"PICK_A_VALUE": "اختر قيمة" "PICK_A_VALUE": "اختر قيمة",
"CREATE_INBOX": "إنشاء قناة تواصل"
},
"INSTAGRAM": {
"CONTINUE_WITH_INSTAGRAM": "Continue with Instagram",
"CONNECT_YOUR_INSTAGRAM_PROFILE": "Connect your Instagram Profile",
"HELP": "To add your Instagram profile as a channel, you need to authenticate your Instagram Profile by clicking on 'Continue with Instagram' ",
"ERROR_MESSAGE": "There was an error connecting to Instagram, please try again",
"ERROR_AUTH": "There was an error connecting to Instagram, please try again",
"NEW_INBOX_SUGGESTION": "This Instagram account was previously linked to a different inbox and has now been migrated here. All new messages will appear here. The old inbox will no longer be able to send or receive messages for this account.",
"DUPLICATE_INBOX_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. You won’t be able to send/receive Instagram messages from this inbox anymore."
}, },
"TWITTER": { "TWITTER": {
"HELP": "لإضافة حساب تويتر الخاص بك كقناة تواصل، تحتاج إلى مصادقة حسابك على تويتر بك بالنقر على زر \"تسجيل الدخول باستخدام تويتر\" ", "HELP": "لإضافة حساب تويتر الخاص بك كقناة تواصل، تحتاج إلى مصادقة حسابك على تويتر بك بالنقر على زر \"تسجيل الدخول باستخدام تويتر\" ",
@@ -753,7 +763,8 @@
"EMAIL": "البريد الإلكتروني", "EMAIL": "البريد الإلكتروني",
"TELEGRAM": "تيليجرام", "TELEGRAM": "تيليجرام",
"LINE": "Line", "LINE": "Line",
"API": "قناة API" "API": "قناة API",
"INSTAGRAM": "Instagram"
} }
} }
} }
@@ -329,11 +329,34 @@
"HEADER_KNOW_MORE": "Know more", "HEADER_KNOW_MORE": "Know more",
"COPILOT": { "COPILOT": {
"SEND_MESSAGE": "إرسال الرسالة...", "SEND_MESSAGE": "إرسال الرسالة...",
"EMPTY_MESSAGE": "There was an error generating the response. Please try again.",
"LOADER": "Captain is thinking", "LOADER": "Captain is thinking",
"YOU": "أنت", "YOU": "أنت",
"USE": "Use this", "USE": "Use this",
"RESET": "Reset", "RESET": "Reset",
"SELECT_ASSISTANT": "Select Assistant" "SELECT_ASSISTANT": "Select Assistant",
"PROMPTS": {
"SUMMARIZE": {
"LABEL": "Summarize this conversation",
"CONTENT": "Summarize the key points discussed between the customer and the support agent, including the customer's concerns, questions, and the solutions or responses provided by the support agent"
},
"SUGGEST": {
"LABEL": "Suggest an answer",
"CONTENT": "Analyze the customer's inquiry, and draft a response that effectively addresses their concerns or questions. Ensure the reply is clear, concise, and provides helpful information."
},
"RATE": {
"LABEL": "Rate this conversation",
"CONTENT": "Review the conversation to see how well it meets the customer's needs. Share a rating out of 5 based on tone, clarity, and effectiveness."
}
}
},
"PLAYGROUND": {
"USER": "أنت",
"ASSISTANT": "Assistant",
"MESSAGE_PLACEHOLDER": "أكتب رسالتك...",
"HEADER": "Playground",
"DESCRIPTION": "Use this playground to send messages to your assistant and check if it responds accurately, quickly, and in the tone you expect.",
"CREDIT_NOTE": "Messages sent here will count toward your Captain credits."
}, },
"PAYWALL": { "PAYWALL": {
"TITLE": "Upgrade to use Captain AI", "TITLE": "Upgrade to use Captain AI",
@@ -373,21 +396,45 @@
"ERROR_MESSAGE": "There was an error creating the assistant, please try again." "ERROR_MESSAGE": "There was an error creating the assistant, please try again."
}, },
"FORM": { "FORM": {
"UPDATE": "تحديث",
"SECTIONS": {
"BASIC_INFO": "Basic Information",
"SYSTEM_MESSAGES": "System Messages",
"INSTRUCTIONS": "Instructions",
"FEATURES": "الخصائص",
"TOOLS": "Tools "
},
"NAME": { "NAME": {
"LABEL": "Assistant Name", "LABEL": "الاسم",
"PLACEHOLDER": "Enter a name for the assistant", "PLACEHOLDER": "Enter assistant name",
"ERROR": "Please provide a name for the assistant" "ERROR": "The name is required"
}, },
"DESCRIPTION": { "DESCRIPTION": {
"LABEL": "Assistant Description", "LABEL": "الوصف",
"PLACEHOLDER": "Describe how and where this assistant will be used", "PLACEHOLDER": "Enter assistant description",
"ERROR": "A description is required" "ERROR": "The description is required"
}, },
"PRODUCT_NAME": { "PRODUCT_NAME": {
"LABEL": "Product Name", "LABEL": "Product Name",
"PLACEHOLDER": "Enter the name of the product this assistant is designed for", "PLACEHOLDER": "Enter product name",
"ERROR": "The product name is required" "ERROR": "The product name is required"
}, },
"WELCOME_MESSAGE": {
"LABEL": "Welcome Message",
"PLACEHOLDER": "Enter welcome message"
},
"HANDOFF_MESSAGE": {
"LABEL": "Handoff Message",
"PLACEHOLDER": "Enter handoff message"
},
"RESOLUTION_MESSAGE": {
"LABEL": "Resolution Message",
"PLACEHOLDER": "Enter resolution message"
},
"INSTRUCTIONS": {
"LABEL": "Instructions",
"PLACEHOLDER": "Enter instructions for the assistant"
},
"FEATURES": { "FEATURES": {
"TITLE": "الخصائص", "TITLE": "الخصائص",
"ALLOW_CONVERSATION_FAQS": "Generate FAQs from resolved conversations", "ALLOW_CONVERSATION_FAQS": "Generate FAQs from resolved conversations",
@@ -397,7 +444,8 @@
"EDIT": { "EDIT": {
"TITLE": "Update the assistant", "TITLE": "Update the assistant",
"SUCCESS_MESSAGE": "The assistant has been successfully updated", "SUCCESS_MESSAGE": "The assistant has been successfully updated",
"ERROR_MESSAGE": "There was an error updating the assistant, please try again." "ERROR_MESSAGE": "There was an error updating the assistant, please try again.",
"NOT_FOUND": "Could not find the assistant. Please try again."
}, },
"OPTIONS": { "OPTIONS": {
"EDIT_ASSISTANT": "Edit Assistant", "EDIT_ASSISTANT": "Edit Assistant",
@@ -83,6 +83,22 @@
"ACTION_PARAMETERS_REQUIRED": "معلمات الإجراء مطلوبة", "ACTION_PARAMETERS_REQUIRED": "معلمات الإجراء مطلوبة",
"ATLEAST_ONE_CONDITION_REQUIRED": "شرط واحد على الأقل مطلوب", "ATLEAST_ONE_CONDITION_REQUIRED": "شرط واحد على الأقل مطلوب",
"ATLEAST_ONE_ACTION_REQUIRED": "إجراء واحد على الأقل مطلوب" "ATLEAST_ONE_ACTION_REQUIRED": "إجراء واحد على الأقل مطلوب"
},
"ACTIONS": {
"ASSIGN_TEAM": "Assign a Team",
"ASSIGN_AGENT": "Assign an Agent",
"ADD_LABEL": "Add a Label",
"REMOVE_LABEL": "Remove a Label",
"REMOVE_ASSIGNED_TEAM": "Remove Assigned Team",
"SEND_EMAIL_TRANSCRIPT": "Send an Email Transcript",
"MUTE_CONVERSATION": "كتم المحادثة",
"SNOOZE_CONVERSATION": "تأجيل المحادثة",
"RESOLVE_CONVERSATION": "إعادة فتح المحادثة",
"SEND_ATTACHMENT": "Send Attachment",
"SEND_MESSAGE": "Send a Message",
"CHANGE_PRIORITY": "تغيير الأولوية",
"ADD_PRIVATE_NOTE": "Add a Private Note",
"SEND_WEBHOOK_EVENT": "Send Webhook Event"
} }
} }
} }
@@ -387,7 +387,8 @@
"LABEL": "اسم المنشأة", "LABEL": "اسم المنشأة",
"PLACEHOLDER": "مؤسسة Wayne" "PLACEHOLDER": "مؤسسة Wayne"
}, },
"SUBMIT": "إرسال" "SUBMIT": "إرسال",
"CANCEL": "إلغاء"
} }
}, },
"KEYBOARD_SHORTCUTS": { "KEYBOARD_SHORTCUTS": {
@@ -2,23 +2,13 @@
"AGENT_BOTS": { "AGENT_BOTS": {
"HEADER": "Bots", "HEADER": "Bots",
"LOADING_EDITOR": "Loading editor...", "LOADING_EDITOR": "Loading editor...",
"DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try.You can manage your bots from this page or create new ones using the 'Configure new bot' button.", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.",
"LEARN_MORE": "Learn about agent bots", "LEARN_MORE": "Learn about agent bots",
"CSML_BOT_EDITOR": { "GLOBAL_BOT": "System bot",
"NAME": { "GLOBAL_BOT_BADGE": "System",
"LABEL": "Bot name", "AVATAR": {
"PLACEHOLDER": "Name your bot.", "SUCCESS_DELETE": "Bot avatar deleted successfully",
"ERROR": "Bot name is required." "ERROR_DELETE": "Error deleting bot avatar, please try again"
},
"DESCRIPTION": {
"LABEL": "Bot description",
"PLACEHOLDER": "What does this bot do?"
},
"BOT_CONFIG": {
"ERROR": "Please enter your CSML bot configuration above.",
"API_ERROR": "Your CSML configuration is invalid. Please fix it and try again."
},
"SUBMIT": "Validate and save"
}, },
"BOT_CONFIGURATION": { "BOT_CONFIGURATION": {
"TITLE": "Select an agent bot", "TITLE": "Select an agent bot",
@@ -32,7 +22,7 @@
"SELECT_PLACEHOLDER": "Select bot" "SELECT_PLACEHOLDER": "Select bot"
}, },
"ADD": { "ADD": {
"TITLE": "Configure new bot", "TITLE": "Add Bot",
"CANCEL_BUTTON_TEXT": "Cancel", "CANCEL_BUTTON_TEXT": "Cancel",
"API": { "API": {
"SUCCESS_MESSAGE": "Bot added successfully.", "SUCCESS_MESSAGE": "Bot added successfully.",
@@ -40,16 +30,22 @@
} }
}, },
"LIST": { "LIST": {
"404": "No bots found. You can create a bot by clicking the 'Configure new bot' button ↗", "404": "No bots found. You can create a bot by clicking the 'Add Bot' button.",
"LOADING": "Fetching bots...", "LOADING": "Fetching bots...",
"TYPE": "Bot type" "TABLE_HEADER": {
"DETAILS": "Bot Details",
"URL": "Webhook URL"
}
}, },
"DELETE": { "DELETE": {
"BUTTON_TEXT": "Delete", "BUTTON_TEXT": "Delete",
"TITLE": "Delete bot", "TITLE": "Delete bot",
"SUBMIT": "Delete", "CONFIRM": {
"CANCEL_BUTTON_TEXT": "Cancel", "TITLE": "Confirm Deletion",
"DESCRIPTION": "Are you sure you want to delete this bot? This action is irreversible.", "MESSAGE": "Are you sure you want to delete {name}?",
"YES": "Yes, Delete",
"NO": "No, Keep"
},
"API": { "API": {
"SUCCESS_MESSAGE": "Bot deleted successfully.", "SUCCESS_MESSAGE": "Bot deleted successfully.",
"ERROR_MESSAGE": "Could not delete bot. Please try again." "ERROR_MESSAGE": "Could not delete bot. Please try again."
@@ -57,17 +53,44 @@
}, },
"EDIT": { "EDIT": {
"BUTTON_TEXT": "Edit", "BUTTON_TEXT": "Edit",
"LOADING": "Fetching bots...",
"TITLE": "Edit bot", "TITLE": "Edit bot",
"CANCEL_BUTTON_TEXT": "Cancel",
"API": { "API": {
"SUCCESS_MESSAGE": "Bot updated successfully.", "SUCCESS_MESSAGE": "Bot updated successfully.",
"ERROR_MESSAGE": "Could not update bot. Please try again." "ERROR_MESSAGE": "Could not update bot. Please try again."
} }
}, },
"FORM": {
"AVATAR": {
"LABEL": "Bot avatar"
},
"NAME": {
"LABEL": "Bot name",
"PLACEHOLDER": "Enter bot name",
"REQUIRED": "Bot name is required"
},
"DESCRIPTION": {
"LABEL": "Description",
"PLACEHOLDER": "What does this bot do?"
},
"WEBHOOK_URL": {
"LABEL": "Webhook URL",
"PLACEHOLDER": "https://example.com/webhook",
"REQUIRED": "Webhook URL is required"
},
"ERRORS": {
"NAME": "Bot name is required",
"URL": "Webhook URL is required",
"VALID_URL": "Please enter a valid URL starting with http:// or https://"
},
"CANCEL": "Cancel",
"CREATE": "Create Bot",
"UPDATE": "Update Bot"
},
"WEBHOOK": {
"DESCRIPTION": "Configure a webhook bot to integrate with your custom services. The bot will receive and process events from conversations and can respond to them."
},
"TYPES": { "TYPES": {
"WEBHOOK": "Webhook bot", "WEBHOOK": "Webhook bot"
"CSML": "CSML bot"
} }
} }
} }
@@ -126,6 +126,44 @@
"ATLEAST_ONE_CONDITION_REQUIRED": "At least one condition is required", "ATLEAST_ONE_CONDITION_REQUIRED": "At least one condition is required",
"ATLEAST_ONE_ACTION_REQUIRED": "At least one action is required" "ATLEAST_ONE_ACTION_REQUIRED": "At least one action is required"
}, },
"NONE_OPTION": "None" "NONE_OPTION": "None",
"EVENTS": {
"CONVERSATION_CREATED": "Conversation Created",
"CONVERSATION_UPDATED": "Conversation Updated",
"MESSAGE_CREATED": "Message Created",
"CONVERSATION_OPENED": "Conversation Opened"
},
"ACTIONS": {
"ASSIGN_AGENT": "Assign to Agent",
"ASSIGN_TEAM": "Assign a Team",
"ADD_LABEL": "Add a Label",
"REMOVE_LABEL": "Remove a Label",
"SEND_EMAIL_TO_TEAM": "Send an Email to Team",
"SEND_EMAIL_TRANSCRIPT": "Send an Email Transcript",
"MUTE_CONVERSATION": "Mute Conversation",
"SNOOZE_CONVERSATION": "Snooze Conversation",
"RESOLVE_CONVERSATION": "Resolve Conversation",
"SEND_WEBHOOK_EVENT": "Send Webhook Event",
"SEND_ATTACHMENT": "Send Attachment",
"SEND_MESSAGE": "Send a Message",
"CHANGE_PRIORITY": "Change Priority",
"ADD_SLA": "Add SLA"
},
"ATTRIBUTES": {
"MESSAGE_TYPE": "Message Type",
"MESSAGE_CONTAINS": "Message Contains",
"EMAIL": "Email",
"INBOX": "Inbox",
"CONVERSATION_LANGUAGE": "Conversation Language",
"PHONE_NUMBER": "Phone Number",
"STATUS": "Status",
"BROWSER_LANGUAGE": "Browser Language",
"MAIL_SUBJECT": "Email Subject",
"COUNTRY_NAME": "Country",
"REFERER_LINK": "Referrer Link",
"ASSIGNEE_NAME": "Assignee",
"TEAM_NAME": "Team",
"PRIORITY": "Priority"
}
} }
} }
@@ -544,6 +544,9 @@
"WROTE": "wrote", "WROTE": "wrote",
"YOU": "You", "YOU": "You",
"SAVE": "Save note", "SAVE": "Save note",
"EXPAND": "Expand",
"COLLAPSE": "Collapse",
"NO_NOTES": "No notes, you can add notes from the contact details page.",
"EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above."
} }
}, },
@@ -32,10 +32,12 @@
"LOADING_CONVERSATIONS": "Loading Conversations", "LOADING_CONVERSATIONS": "Loading Conversations",
"CANNOT_REPLY": "You cannot reply due to", "CANNOT_REPLY": "You cannot reply due to",
"24_HOURS_WINDOW": "24 hour message window restriction", "24_HOURS_WINDOW": "24 hour message window restriction",
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "This conversation is not assigned to you. Would you like to assign this conversation to yourself?", "NOT_ASSIGNED_TO_YOU": "This conversation is not assigned to you. Would you like to assign this conversation to yourself?",
"ASSIGN_TO_ME": "Assign to me", "ASSIGN_TO_ME": "Assign to me",
"TWILIO_WHATSAPP_CAN_REPLY": "You can only reply to this conversation using a template message due to", "TWILIO_WHATSAPP_CAN_REPLY": "You can only reply to this conversation using a template message due to",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 hour message window restriction", "TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 hour message window restriction",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
"REPLYING_TO": "You are replying to:", "REPLYING_TO": "You are replying to:",
"REMOVE_SELECTION": "Remove Selection", "REMOVE_SELECTION": "Remove Selection",
"DOWNLOAD": "Download", "DOWNLOAD": "Download",
@@ -293,6 +295,7 @@
"CONVERSATION_ACTIONS": "Conversation Actions", "CONVERSATION_ACTIONS": "Conversation Actions",
"CONVERSATION_LABELS": "Conversation Labels", "CONVERSATION_LABELS": "Conversation Labels",
"CONVERSATION_INFO": "Conversation Information", "CONVERSATION_INFO": "Conversation Information",
"CONTACT_NOTES": "Contact Notes",
"CONTACT_ATTRIBUTES": "Contact Attributes", "CONTACT_ATTRIBUTES": "Contact Attributes",
"PREVIOUS_CONVERSATION": "Previous Conversations", "PREVIOUS_CONVERSATION": "Previous Conversations",
"MACROS": "Macros", "MACROS": "Macros",
@@ -1,5 +1,11 @@
{ {
"GENERAL_SETTINGS": { "GENERAL_SETTINGS": {
"LIMIT_MESSAGES": {
"CONVERSATION": "You have exceeded the conversation limit. Hacker plan allows only 500 conversations.",
"INBOXES": "You have exceeded the inbox limit. Hacker plan only supports website live-chat. Additional inboxes like email, WhatsApp etc. require a paid plan.",
"AGENTS": "You have exceeded the agent limit. Hacker plan allows only 2 agents.",
"NON_ADMIN": "Please contact your administrator to upgrade the plan and continue using all features."
},
"TITLE": "Account settings", "TITLE": "Account settings",
"SUBMIT": "Update settings", "SUBMIT": "Update settings",
"BACK": "Back", "BACK": "Back",
@@ -8,6 +14,26 @@
"ERROR": "Could not update settings, try again!", "ERROR": "Could not update settings, try again!",
"SUCCESS": "Successfully updated account settings" "SUCCESS": "Successfully updated account settings"
}, },
"ACCOUNT_DELETE_SECTION": {
"TITLE": "Delete your Account",
"NOTE": "Once you delete your account, all your data will be deleted.",
"BUTTON_TEXT": "Delete Your Account",
"CONFIRM": {
"TITLE": "Delete Account",
"MESSAGE": "Deleting your Account is irreversible. Enter your account name below to confirm you want to permanently delete it.",
"BUTTON_TEXT": "Delete",
"DISMISS": "Cancel",
"PLACE_HOLDER": "Please type {accountName} to confirm"
},
"SUCCESS": "Account marked for deletion",
"FAILURE": "Could not delete account, try again!",
"SCHEDULED_DELETION": {
"TITLE": "Account Scheduled for Deletion",
"MESSAGE_MANUAL": "This account is scheduled for deletion on {deletionDate}. This was requested by an administrator. You can cancel the deletion before this date.",
"MESSAGE_INACTIVITY": "This account is scheduled for deletion on {deletionDate} due to account inactivity. You can cancel the deletion before this date.",
"CLEAR_BUTTON": "Cancel Scheduled Deletion"
}
},
"FORM": { "FORM": {
"ERROR": "Please fix form errors", "ERROR": "Please fix form errors",
"GENERAL_SECTION": { "GENERAL_SECTION": {
@@ -51,6 +77,7 @@
"UPDATE_CHATWOOT": "An update {latestChatwootVersion} for Chatwoot is available. Please update your instance.", "UPDATE_CHATWOOT": "An update {latestChatwootVersion} for Chatwoot is available. Please update your instance.",
"LEARN_MORE": "Learn more", "LEARN_MORE": "Learn more",
"PAYMENT_PENDING": "Your payment is pending. Please update your payment information to continue using Chatwoot", "PAYMENT_PENDING": "Your payment is pending. Please update your payment information to continue using Chatwoot",
"UPGRADE": "Upgrade to continue using Chatwoot",
"LIMITS_UPGRADE": "Your account has exceeded the usage limits, please upgrade your plan to continue using Chatwoot", "LIMITS_UPGRADE": "Your account has exceeded the usage limits, please upgrade your plan to continue using Chatwoot",
"OPEN_BILLING": "Open billing" "OPEN_BILLING": "Open billing"
}, },
@@ -696,7 +696,8 @@
"SLUG": { "SLUG": {
"LABEL": "Slug", "LABEL": "Slug",
"PLACEHOLDER": "user-guide", "PLACEHOLDER": "user-guide",
"ERROR": "Slug is required" "ERROR": "Slug is required",
"FORMAT_ERROR": "Please enter a valid slug, for eg: user-guide"
} }
}, },
"PORTAL_SETTINGS": { "PORTAL_SETTINGS": {
@@ -43,7 +43,17 @@
"INBOX_NAME": "Inbox Name", "INBOX_NAME": "Inbox Name",
"ADD_NAME": "Add a name for your inbox", "ADD_NAME": "Add a name for your inbox",
"PICK_NAME": "Pick a Name for your Inbox", "PICK_NAME": "Pick a Name for your Inbox",
"PICK_A_VALUE": "Pick a value" "PICK_A_VALUE": "Pick a value",
"CREATE_INBOX": "Create Inbox"
},
"INSTAGRAM": {
"CONTINUE_WITH_INSTAGRAM": "Continue with Instagram",
"CONNECT_YOUR_INSTAGRAM_PROFILE": "Connect your Instagram Profile",
"HELP": "To add your Instagram profile as a channel, you need to authenticate your Instagram Profile by clicking on 'Continue with Instagram' ",
"ERROR_MESSAGE": "There was an error connecting to Instagram, please try again",
"ERROR_AUTH": "There was an error connecting to Instagram, please try again",
"NEW_INBOX_SUGGESTION": "This Instagram account was previously linked to a different inbox and has now been migrated here. All new messages will appear here. The old inbox will no longer be able to send or receive messages for this account.",
"DUPLICATE_INBOX_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. You won’t be able to send/receive Instagram messages from this inbox anymore."
}, },
"TWITTER": { "TWITTER": {
"HELP": "To add your Twitter profile as a channel, you need to authenticate your Twitter Profile by clicking on 'Sign in with Twitter' ", "HELP": "To add your Twitter profile as a channel, you need to authenticate your Twitter Profile by clicking on 'Sign in with Twitter' ",
@@ -753,7 +763,8 @@
"EMAIL": "Email", "EMAIL": "Email",
"TELEGRAM": "Telegram", "TELEGRAM": "Telegram",
"LINE": "Line", "LINE": "Line",
"API": "API Channel" "API": "API Channel",
"INSTAGRAM": "Instagram"
} }
} }
} }
@@ -329,11 +329,34 @@
"HEADER_KNOW_MORE": "Know more", "HEADER_KNOW_MORE": "Know more",
"COPILOT": { "COPILOT": {
"SEND_MESSAGE": "Send message...", "SEND_MESSAGE": "Send message...",
"EMPTY_MESSAGE": "There was an error generating the response. Please try again.",
"LOADER": "Captain is thinking", "LOADER": "Captain is thinking",
"YOU": "You", "YOU": "You",
"USE": "Use this", "USE": "Use this",
"RESET": "Reset", "RESET": "Reset",
"SELECT_ASSISTANT": "Select Assistant" "SELECT_ASSISTANT": "Select Assistant",
"PROMPTS": {
"SUMMARIZE": {
"LABEL": "Summarize this conversation",
"CONTENT": "Summarize the key points discussed between the customer and the support agent, including the customer's concerns, questions, and the solutions or responses provided by the support agent"
},
"SUGGEST": {
"LABEL": "Suggest an answer",
"CONTENT": "Analyze the customer's inquiry, and draft a response that effectively addresses their concerns or questions. Ensure the reply is clear, concise, and provides helpful information."
},
"RATE": {
"LABEL": "Rate this conversation",
"CONTENT": "Review the conversation to see how well it meets the customer's needs. Share a rating out of 5 based on tone, clarity, and effectiveness."
}
}
},
"PLAYGROUND": {
"USER": "You",
"ASSISTANT": "Assistant",
"MESSAGE_PLACEHOLDER": "Type your message...",
"HEADER": "Playground",
"DESCRIPTION": "Use this playground to send messages to your assistant and check if it responds accurately, quickly, and in the tone you expect.",
"CREDIT_NOTE": "Messages sent here will count toward your Captain credits."
}, },
"PAYWALL": { "PAYWALL": {
"TITLE": "Upgrade to use Captain AI", "TITLE": "Upgrade to use Captain AI",
@@ -373,21 +396,45 @@
"ERROR_MESSAGE": "There was an error creating the assistant, please try again." "ERROR_MESSAGE": "There was an error creating the assistant, please try again."
}, },
"FORM": { "FORM": {
"UPDATE": "Update",
"SECTIONS": {
"BASIC_INFO": "Basic Information",
"SYSTEM_MESSAGES": "System Messages",
"INSTRUCTIONS": "Instructions",
"FEATURES": "Features",
"TOOLS": "Tools "
},
"NAME": { "NAME": {
"LABEL": "Assistant Name", "LABEL": "Name",
"PLACEHOLDER": "Enter a name for the assistant", "PLACEHOLDER": "Enter assistant name",
"ERROR": "Please provide a name for the assistant" "ERROR": "The name is required"
}, },
"DESCRIPTION": { "DESCRIPTION": {
"LABEL": "Assistant Description", "LABEL": "Description",
"PLACEHOLDER": "Describe how and where this assistant will be used", "PLACEHOLDER": "Enter assistant description",
"ERROR": "A description is required" "ERROR": "The description is required"
}, },
"PRODUCT_NAME": { "PRODUCT_NAME": {
"LABEL": "Product Name", "LABEL": "Product Name",
"PLACEHOLDER": "Enter the name of the product this assistant is designed for", "PLACEHOLDER": "Enter product name",
"ERROR": "The product name is required" "ERROR": "The product name is required"
}, },
"WELCOME_MESSAGE": {
"LABEL": "Welcome Message",
"PLACEHOLDER": "Enter welcome message"
},
"HANDOFF_MESSAGE": {
"LABEL": "Handoff Message",
"PLACEHOLDER": "Enter handoff message"
},
"RESOLUTION_MESSAGE": {
"LABEL": "Resolution Message",
"PLACEHOLDER": "Enter resolution message"
},
"INSTRUCTIONS": {
"LABEL": "Instructions",
"PLACEHOLDER": "Enter instructions for the assistant"
},
"FEATURES": { "FEATURES": {
"TITLE": "Features", "TITLE": "Features",
"ALLOW_CONVERSATION_FAQS": "Generate FAQs from resolved conversations", "ALLOW_CONVERSATION_FAQS": "Generate FAQs from resolved conversations",
@@ -397,7 +444,8 @@
"EDIT": { "EDIT": {
"TITLE": "Update the assistant", "TITLE": "Update the assistant",
"SUCCESS_MESSAGE": "The assistant has been successfully updated", "SUCCESS_MESSAGE": "The assistant has been successfully updated",
"ERROR_MESSAGE": "There was an error updating the assistant, please try again." "ERROR_MESSAGE": "There was an error updating the assistant, please try again.",
"NOT_FOUND": "Could not find the assistant. Please try again."
}, },
"OPTIONS": { "OPTIONS": {
"EDIT_ASSISTANT": "Edit Assistant", "EDIT_ASSISTANT": "Edit Assistant",
@@ -83,6 +83,22 @@
"ACTION_PARAMETERS_REQUIRED": "Action parameters are required", "ACTION_PARAMETERS_REQUIRED": "Action parameters are required",
"ATLEAST_ONE_CONDITION_REQUIRED": "At least one condition is required", "ATLEAST_ONE_CONDITION_REQUIRED": "At least one condition is required",
"ATLEAST_ONE_ACTION_REQUIRED": "At least one action is required" "ATLEAST_ONE_ACTION_REQUIRED": "At least one action is required"
},
"ACTIONS": {
"ASSIGN_TEAM": "Assign a Team",
"ASSIGN_AGENT": "Assign an Agent",
"ADD_LABEL": "Add a Label",
"REMOVE_LABEL": "Remove a Label",
"REMOVE_ASSIGNED_TEAM": "Remove Assigned Team",
"SEND_EMAIL_TRANSCRIPT": "Send an Email Transcript",
"MUTE_CONVERSATION": "Mute Conversation",
"SNOOZE_CONVERSATION": "Snooze Conversation",
"RESOLVE_CONVERSATION": "Resolve Conversation",
"SEND_ATTACHMENT": "Send Attachment",
"SEND_MESSAGE": "Send a Message",
"CHANGE_PRIORITY": "Change Priority",
"ADD_PRIVATE_NOTE": "Add a Private Note",
"SEND_WEBHOOK_EVENT": "Send Webhook Event"
} }
} }
} }
@@ -387,7 +387,8 @@
"LABEL": "Company Name", "LABEL": "Company Name",
"PLACEHOLDER": "Wayne Enterprises" "PLACEHOLDER": "Wayne Enterprises"
}, },
"SUBMIT": "Submit" "SUBMIT": "Submit",
"CANCEL": "Cancel"
} }
}, },
"KEYBOARD_SHORTCUTS": { "KEYBOARD_SHORTCUTS": {
@@ -2,23 +2,13 @@
"AGENT_BOTS": { "AGENT_BOTS": {
"HEADER": "Bots", "HEADER": "Bots",
"LOADING_EDITOR": "Loading editor...", "LOADING_EDITOR": "Loading editor...",
"DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try.You can manage your bots from this page or create new ones using the 'Configure new bot' button.", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.",
"LEARN_MORE": "Learn about agent bots", "LEARN_MORE": "Learn about agent bots",
"CSML_BOT_EDITOR": { "GLOBAL_BOT": "System bot",
"NAME": { "GLOBAL_BOT_BADGE": "System",
"LABEL": "Bot name", "AVATAR": {
"PLACEHOLDER": "Name your bot.", "SUCCESS_DELETE": "Bot avatar deleted successfully",
"ERROR": "Bot name is required." "ERROR_DELETE": "Error deleting bot avatar, please try again"
},
"DESCRIPTION": {
"LABEL": "Bot description",
"PLACEHOLDER": "What does this bot do?"
},
"BOT_CONFIG": {
"ERROR": "Please enter your CSML bot configuration above.",
"API_ERROR": "Your CSML configuration is invalid. Please fix it and try again."
},
"SUBMIT": "Validate and save"
}, },
"BOT_CONFIGURATION": { "BOT_CONFIGURATION": {
"TITLE": "Select an agent bot", "TITLE": "Select an agent bot",
@@ -32,7 +22,7 @@
"SELECT_PLACEHOLDER": "Select bot" "SELECT_PLACEHOLDER": "Select bot"
}, },
"ADD": { "ADD": {
"TITLE": "Configure new bot", "TITLE": "Add Bot",
"CANCEL_BUTTON_TEXT": "Отмени", "CANCEL_BUTTON_TEXT": "Отмени",
"API": { "API": {
"SUCCESS_MESSAGE": "Bot added successfully.", "SUCCESS_MESSAGE": "Bot added successfully.",
@@ -40,16 +30,22 @@
} }
}, },
"LIST": { "LIST": {
"404": "No bots found. You can create a bot by clicking the 'Configure new bot' button ↗", "404": "No bots found. You can create a bot by clicking the 'Add Bot' button.",
"LOADING": "Fetching bots...", "LOADING": "Fetching bots...",
"TYPE": "Bot type" "TABLE_HEADER": {
"DETAILS": "Bot Details",
"URL": "Webhook URL"
}
}, },
"DELETE": { "DELETE": {
"BUTTON_TEXT": "Изтрий", "BUTTON_TEXT": "Изтрий",
"TITLE": "Delete bot", "TITLE": "Delete bot",
"SUBMIT": "Изтрий", "CONFIRM": {
"CANCEL_BUTTON_TEXT": "Отмени", "TITLE": "Потвърди изтриването",
"DESCRIPTION": "Are you sure you want to delete this bot? This action is irreversible.", "MESSAGE": "Are you sure you want to delete {name}?",
"YES": "Да, изтрий",
"NO": "Не, запази"
},
"API": { "API": {
"SUCCESS_MESSAGE": "Bot deleted successfully.", "SUCCESS_MESSAGE": "Bot deleted successfully.",
"ERROR_MESSAGE": "Could not delete bot. Please try again." "ERROR_MESSAGE": "Could not delete bot. Please try again."
@@ -57,17 +53,44 @@
}, },
"EDIT": { "EDIT": {
"BUTTON_TEXT": "Редактирай", "BUTTON_TEXT": "Редактирай",
"LOADING": "Fetching bots...",
"TITLE": "Edit bot", "TITLE": "Edit bot",
"CANCEL_BUTTON_TEXT": "Отмени",
"API": { "API": {
"SUCCESS_MESSAGE": "Bot updated successfully.", "SUCCESS_MESSAGE": "Bot updated successfully.",
"ERROR_MESSAGE": "Could not update bot. Please try again." "ERROR_MESSAGE": "Could not update bot. Please try again."
} }
}, },
"FORM": {
"AVATAR": {
"LABEL": "Bot avatar"
},
"NAME": {
"LABEL": "Bot name",
"PLACEHOLDER": "Enter bot name",
"REQUIRED": "Bot name is required"
},
"DESCRIPTION": {
"LABEL": "Описание",
"PLACEHOLDER": "What does this bot do?"
},
"WEBHOOK_URL": {
"LABEL": "Webhook URL",
"PLACEHOLDER": "https://example.com/webhook",
"REQUIRED": "Webhook URL is required"
},
"ERRORS": {
"NAME": "Bot name is required",
"URL": "Webhook URL is required",
"VALID_URL": "Please enter a valid URL starting with http:// or https://"
},
"CANCEL": "Отмени",
"CREATE": "Create Bot",
"UPDATE": "Update Bot"
},
"WEBHOOK": {
"DESCRIPTION": "Configure a webhook bot to integrate with your custom services. The bot will receive and process events from conversations and can respond to them."
},
"TYPES": { "TYPES": {
"WEBHOOK": "Webhook bot", "WEBHOOK": "Webhook bot"
"CSML": "CSML bot"
} }
} }
} }
@@ -126,6 +126,44 @@
"ATLEAST_ONE_CONDITION_REQUIRED": "At least one condition is required", "ATLEAST_ONE_CONDITION_REQUIRED": "At least one condition is required",
"ATLEAST_ONE_ACTION_REQUIRED": "At least one action is required" "ATLEAST_ONE_ACTION_REQUIRED": "At least one action is required"
}, },
"NONE_OPTION": "Нито един" "NONE_OPTION": "Нито един",
"EVENTS": {
"CONVERSATION_CREATED": "Conversation Created",
"CONVERSATION_UPDATED": "Conversation Updated",
"MESSAGE_CREATED": "Message Created",
"CONVERSATION_OPENED": "Conversation Opened"
},
"ACTIONS": {
"ASSIGN_AGENT": "Assign to Agent",
"ASSIGN_TEAM": "Assign a Team",
"ADD_LABEL": "Add a Label",
"REMOVE_LABEL": "Remove a Label",
"SEND_EMAIL_TO_TEAM": "Send an Email to Team",
"SEND_EMAIL_TRANSCRIPT": "Send an Email Transcript",
"MUTE_CONVERSATION": "Заглушаване на разговора",
"SNOOZE_CONVERSATION": "Snooze Conversation",
"RESOLVE_CONVERSATION": "Resolve Conversation",
"SEND_WEBHOOK_EVENT": "Send Webhook Event",
"SEND_ATTACHMENT": "Send Attachment",
"SEND_MESSAGE": "Send a Message",
"CHANGE_PRIORITY": "Change Priority",
"ADD_SLA": "Add SLA"
},
"ATTRIBUTES": {
"MESSAGE_TYPE": "Message Type",
"MESSAGE_CONTAINS": "Message Contains",
"EMAIL": "Email",
"INBOX": "Входяща кутия",
"CONVERSATION_LANGUAGE": "Conversation Language",
"PHONE_NUMBER": "Phone Number",
"STATUS": "Статус",
"BROWSER_LANGUAGE": "Език на браузъра",
"MAIL_SUBJECT": "Email Subject",
"COUNTRY_NAME": "Държава",
"REFERER_LINK": "Referrer Link",
"ASSIGNEE_NAME": "Assignee",
"TEAM_NAME": "Team",
"PRIORITY": "Priority"
}
} }
} }
@@ -544,6 +544,9 @@
"WROTE": "wrote", "WROTE": "wrote",
"YOU": "You", "YOU": "You",
"SAVE": "Save note", "SAVE": "Save note",
"EXPAND": "Expand",
"COLLAPSE": "Collapse",
"NO_NOTES": "No notes, you can add notes from the contact details page.",
"EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above."
} }
}, },
@@ -32,10 +32,12 @@
"LOADING_CONVERSATIONS": "Loading Conversations", "LOADING_CONVERSATIONS": "Loading Conversations",
"CANNOT_REPLY": "You cannot reply due to", "CANNOT_REPLY": "You cannot reply due to",
"24_HOURS_WINDOW": "24 hour message window restriction", "24_HOURS_WINDOW": "24 hour message window restriction",
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "This conversation is not assigned to you. Would you like to assign this conversation to yourself?", "NOT_ASSIGNED_TO_YOU": "This conversation is not assigned to you. Would you like to assign this conversation to yourself?",
"ASSIGN_TO_ME": "Assign to me", "ASSIGN_TO_ME": "Assign to me",
"TWILIO_WHATSAPP_CAN_REPLY": "You can only reply to this conversation using a template message due to", "TWILIO_WHATSAPP_CAN_REPLY": "You can only reply to this conversation using a template message due to",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 hour message window restriction", "TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 hour message window restriction",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
"REPLYING_TO": "You are replying to:", "REPLYING_TO": "You are replying to:",
"REMOVE_SELECTION": "Remove Selection", "REMOVE_SELECTION": "Remove Selection",
"DOWNLOAD": "Download", "DOWNLOAD": "Download",
@@ -293,6 +295,7 @@
"CONVERSATION_ACTIONS": "Conversation Actions", "CONVERSATION_ACTIONS": "Conversation Actions",
"CONVERSATION_LABELS": "Етикети на разговора", "CONVERSATION_LABELS": "Етикети на разговора",
"CONVERSATION_INFO": "Conversation Information", "CONVERSATION_INFO": "Conversation Information",
"CONTACT_NOTES": "Contact Notes",
"CONTACT_ATTRIBUTES": "Contact Attributes", "CONTACT_ATTRIBUTES": "Contact Attributes",
"PREVIOUS_CONVERSATION": "Предишни разговори", "PREVIOUS_CONVERSATION": "Предишни разговори",
"MACROS": "Macros", "MACROS": "Macros",
@@ -1,5 +1,11 @@
{ {
"GENERAL_SETTINGS": { "GENERAL_SETTINGS": {
"LIMIT_MESSAGES": {
"CONVERSATION": "You have exceeded the conversation limit. Hacker plan allows only 500 conversations.",
"INBOXES": "You have exceeded the inbox limit. Hacker plan only supports website live-chat. Additional inboxes like email, WhatsApp etc. require a paid plan.",
"AGENTS": "You have exceeded the agent limit. Hacker plan allows only 2 agents.",
"NON_ADMIN": "Please contact your administrator to upgrade the plan and continue using all features."
},
"TITLE": "Account settings", "TITLE": "Account settings",
"SUBMIT": "Update settings", "SUBMIT": "Update settings",
"BACK": "Back", "BACK": "Back",
@@ -8,6 +14,26 @@
"ERROR": "Could not update settings, try again!", "ERROR": "Could not update settings, try again!",
"SUCCESS": "Successfully updated account settings" "SUCCESS": "Successfully updated account settings"
}, },
"ACCOUNT_DELETE_SECTION": {
"TITLE": "Delete your Account",
"NOTE": "Once you delete your account, all your data will be deleted.",
"BUTTON_TEXT": "Delete Your Account",
"CONFIRM": {
"TITLE": "Delete Account",
"MESSAGE": "Deleting your Account is irreversible. Enter your account name below to confirm you want to permanently delete it.",
"BUTTON_TEXT": "Изтрий",
"DISMISS": "Отмени",
"PLACE_HOLDER": "Please type {accountName} to confirm"
},
"SUCCESS": "Account marked for deletion",
"FAILURE": "Could not delete account, try again!",
"SCHEDULED_DELETION": {
"TITLE": "Account Scheduled for Deletion",
"MESSAGE_MANUAL": "This account is scheduled for deletion on {deletionDate}. This was requested by an administrator. You can cancel the deletion before this date.",
"MESSAGE_INACTIVITY": "This account is scheduled for deletion on {deletionDate} due to account inactivity. You can cancel the deletion before this date.",
"CLEAR_BUTTON": "Cancel Scheduled Deletion"
}
},
"FORM": { "FORM": {
"ERROR": "Please fix form errors", "ERROR": "Please fix form errors",
"GENERAL_SECTION": { "GENERAL_SECTION": {
@@ -51,6 +77,7 @@
"UPDATE_CHATWOOT": "An update {latestChatwootVersion} for Chatwoot is available. Please update your instance.", "UPDATE_CHATWOOT": "An update {latestChatwootVersion} for Chatwoot is available. Please update your instance.",
"LEARN_MORE": "Learn more", "LEARN_MORE": "Learn more",
"PAYMENT_PENDING": "Your payment is pending. Please update your payment information to continue using Chatwoot", "PAYMENT_PENDING": "Your payment is pending. Please update your payment information to continue using Chatwoot",
"UPGRADE": "Upgrade to continue using Chatwoot",
"LIMITS_UPGRADE": "Your account has exceeded the usage limits, please upgrade your plan to continue using Chatwoot", "LIMITS_UPGRADE": "Your account has exceeded the usage limits, please upgrade your plan to continue using Chatwoot",
"OPEN_BILLING": "Open billing" "OPEN_BILLING": "Open billing"
}, },
@@ -696,7 +696,8 @@
"SLUG": { "SLUG": {
"LABEL": "Slug", "LABEL": "Slug",
"PLACEHOLDER": "user-guide", "PLACEHOLDER": "user-guide",
"ERROR": "Slug is required" "ERROR": "Slug is required",
"FORMAT_ERROR": "Please enter a valid slug, for eg: user-guide"
} }
}, },
"PORTAL_SETTINGS": { "PORTAL_SETTINGS": {
@@ -43,7 +43,17 @@
"INBOX_NAME": "Inbox Name", "INBOX_NAME": "Inbox Name",
"ADD_NAME": "Add a name for your inbox", "ADD_NAME": "Add a name for your inbox",
"PICK_NAME": "Pick a Name for your Inbox", "PICK_NAME": "Pick a Name for your Inbox",
"PICK_A_VALUE": "Pick a value" "PICK_A_VALUE": "Pick a value",
"CREATE_INBOX": "Create Inbox"
},
"INSTAGRAM": {
"CONTINUE_WITH_INSTAGRAM": "Continue with Instagram",
"CONNECT_YOUR_INSTAGRAM_PROFILE": "Connect your Instagram Profile",
"HELP": "To add your Instagram profile as a channel, you need to authenticate your Instagram Profile by clicking on 'Continue with Instagram' ",
"ERROR_MESSAGE": "There was an error connecting to Instagram, please try again",
"ERROR_AUTH": "There was an error connecting to Instagram, please try again",
"NEW_INBOX_SUGGESTION": "This Instagram account was previously linked to a different inbox and has now been migrated here. All new messages will appear here. The old inbox will no longer be able to send or receive messages for this account.",
"DUPLICATE_INBOX_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. You won’t be able to send/receive Instagram messages from this inbox anymore."
}, },
"TWITTER": { "TWITTER": {
"HELP": "To add your Twitter profile as a channel, you need to authenticate your Twitter Profile by clicking on 'Sign in with Twitter' ", "HELP": "To add your Twitter profile as a channel, you need to authenticate your Twitter Profile by clicking on 'Sign in with Twitter' ",
@@ -753,7 +763,8 @@
"EMAIL": "Имейл", "EMAIL": "Имейл",
"TELEGRAM": "Telegram", "TELEGRAM": "Telegram",
"LINE": "Line", "LINE": "Line",
"API": "API Channel" "API": "API Channel",
"INSTAGRAM": "Instagram"
} }
} }
} }
@@ -329,11 +329,34 @@
"HEADER_KNOW_MORE": "Know more", "HEADER_KNOW_MORE": "Know more",
"COPILOT": { "COPILOT": {
"SEND_MESSAGE": "Изпрати съобщение...", "SEND_MESSAGE": "Изпрати съобщение...",
"EMPTY_MESSAGE": "There was an error generating the response. Please try again.",
"LOADER": "Captain is thinking", "LOADER": "Captain is thinking",
"YOU": "You", "YOU": "You",
"USE": "Use this", "USE": "Use this",
"RESET": "Reset", "RESET": "Reset",
"SELECT_ASSISTANT": "Select Assistant" "SELECT_ASSISTANT": "Select Assistant",
"PROMPTS": {
"SUMMARIZE": {
"LABEL": "Summarize this conversation",
"CONTENT": "Summarize the key points discussed between the customer and the support agent, including the customer's concerns, questions, and the solutions or responses provided by the support agent"
},
"SUGGEST": {
"LABEL": "Suggest an answer",
"CONTENT": "Analyze the customer's inquiry, and draft a response that effectively addresses their concerns or questions. Ensure the reply is clear, concise, and provides helpful information."
},
"RATE": {
"LABEL": "Rate this conversation",
"CONTENT": "Review the conversation to see how well it meets the customer's needs. Share a rating out of 5 based on tone, clarity, and effectiveness."
}
}
},
"PLAYGROUND": {
"USER": "You",
"ASSISTANT": "Assistant",
"MESSAGE_PLACEHOLDER": "Напишете вашето съобщение...",
"HEADER": "Playground",
"DESCRIPTION": "Use this playground to send messages to your assistant and check if it responds accurately, quickly, and in the tone you expect.",
"CREDIT_NOTE": "Messages sent here will count toward your Captain credits."
}, },
"PAYWALL": { "PAYWALL": {
"TITLE": "Upgrade to use Captain AI", "TITLE": "Upgrade to use Captain AI",
@@ -373,21 +396,45 @@
"ERROR_MESSAGE": "There was an error creating the assistant, please try again." "ERROR_MESSAGE": "There was an error creating the assistant, please try again."
}, },
"FORM": { "FORM": {
"UPDATE": "Update",
"SECTIONS": {
"BASIC_INFO": "Basic Information",
"SYSTEM_MESSAGES": "System Messages",
"INSTRUCTIONS": "Instructions",
"FEATURES": "Features",
"TOOLS": "Tools "
},
"NAME": { "NAME": {
"LABEL": "Assistant Name", "LABEL": "Име",
"PLACEHOLDER": "Enter a name for the assistant", "PLACEHOLDER": "Enter assistant name",
"ERROR": "Please provide a name for the assistant" "ERROR": "The name is required"
}, },
"DESCRIPTION": { "DESCRIPTION": {
"LABEL": "Assistant Description", "LABEL": "Описание",
"PLACEHOLDER": "Describe how and where this assistant will be used", "PLACEHOLDER": "Enter assistant description",
"ERROR": "A description is required" "ERROR": "The description is required"
}, },
"PRODUCT_NAME": { "PRODUCT_NAME": {
"LABEL": "Product Name", "LABEL": "Product Name",
"PLACEHOLDER": "Enter the name of the product this assistant is designed for", "PLACEHOLDER": "Enter product name",
"ERROR": "The product name is required" "ERROR": "The product name is required"
}, },
"WELCOME_MESSAGE": {
"LABEL": "Welcome Message",
"PLACEHOLDER": "Enter welcome message"
},
"HANDOFF_MESSAGE": {
"LABEL": "Handoff Message",
"PLACEHOLDER": "Enter handoff message"
},
"RESOLUTION_MESSAGE": {
"LABEL": "Resolution Message",
"PLACEHOLDER": "Enter resolution message"
},
"INSTRUCTIONS": {
"LABEL": "Instructions",
"PLACEHOLDER": "Enter instructions for the assistant"
},
"FEATURES": { "FEATURES": {
"TITLE": "Features", "TITLE": "Features",
"ALLOW_CONVERSATION_FAQS": "Generate FAQs from resolved conversations", "ALLOW_CONVERSATION_FAQS": "Generate FAQs from resolved conversations",
@@ -397,7 +444,8 @@
"EDIT": { "EDIT": {
"TITLE": "Update the assistant", "TITLE": "Update the assistant",
"SUCCESS_MESSAGE": "The assistant has been successfully updated", "SUCCESS_MESSAGE": "The assistant has been successfully updated",
"ERROR_MESSAGE": "There was an error updating the assistant, please try again." "ERROR_MESSAGE": "There was an error updating the assistant, please try again.",
"NOT_FOUND": "Could not find the assistant. Please try again."
}, },
"OPTIONS": { "OPTIONS": {
"EDIT_ASSISTANT": "Edit Assistant", "EDIT_ASSISTANT": "Edit Assistant",
@@ -83,6 +83,22 @@
"ACTION_PARAMETERS_REQUIRED": "Action parameters are required", "ACTION_PARAMETERS_REQUIRED": "Action parameters are required",
"ATLEAST_ONE_CONDITION_REQUIRED": "At least one condition is required", "ATLEAST_ONE_CONDITION_REQUIRED": "At least one condition is required",
"ATLEAST_ONE_ACTION_REQUIRED": "At least one action is required" "ATLEAST_ONE_ACTION_REQUIRED": "At least one action is required"
},
"ACTIONS": {
"ASSIGN_TEAM": "Assign a Team",
"ASSIGN_AGENT": "Assign an Agent",
"ADD_LABEL": "Add a Label",
"REMOVE_LABEL": "Remove a Label",
"REMOVE_ASSIGNED_TEAM": "Remove Assigned Team",
"SEND_EMAIL_TRANSCRIPT": "Send an Email Transcript",
"MUTE_CONVERSATION": "Заглушаване на разговора",
"SNOOZE_CONVERSATION": "Snooze Conversation",
"RESOLVE_CONVERSATION": "Resolve Conversation",
"SEND_ATTACHMENT": "Send Attachment",
"SEND_MESSAGE": "Send a Message",
"CHANGE_PRIORITY": "Change Priority",
"ADD_PRIVATE_NOTE": "Add a Private Note",
"SEND_WEBHOOK_EVENT": "Send Webhook Event"
} }
} }
} }
@@ -387,7 +387,8 @@
"LABEL": "Име на фирма", "LABEL": "Име на фирма",
"PLACEHOLDER": "Wayne Enterprises" "PLACEHOLDER": "Wayne Enterprises"
}, },
"SUBMIT": "Изпращане" "SUBMIT": "Изпращане",
"CANCEL": "Отмени"
} }
}, },
"KEYBOARD_SHORTCUTS": { "KEYBOARD_SHORTCUTS": {
@@ -2,23 +2,13 @@
"AGENT_BOTS": { "AGENT_BOTS": {
"HEADER": "Bots", "HEADER": "Bots",
"LOADING_EDITOR": "S'està carregant l'editor...", "LOADING_EDITOR": "S'està carregant l'editor...",
"DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try.You can manage your bots from this page or create new ones using the 'Configure new bot' button.", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.",
"LEARN_MORE": "Learn about agent bots", "LEARN_MORE": "Learn about agent bots",
"CSML_BOT_EDITOR": { "GLOBAL_BOT": "System bot",
"NAME": { "GLOBAL_BOT_BADGE": "Sistema",
"LABEL": "Nom del bot", "AVATAR": {
"PLACEHOLDER": "Anomena el teu bot.", "SUCCESS_DELETE": "Bot avatar deleted successfully",
"ERROR": "El nom del bot és obligatori." "ERROR_DELETE": "Error deleting bot avatar, please try again"
},
"DESCRIPTION": {
"LABEL": "Descripció del bot",
"PLACEHOLDER": "Què fa aquest bot?"
},
"BOT_CONFIG": {
"ERROR": "Introdueix la configuració del bot CSML més amunt.",
"API_ERROR": "La vostra configuració CSML no és vàlida. Arregla-ho i torna-ho a provar."
},
"SUBMIT": "Valida i desa"
}, },
"BOT_CONFIGURATION": { "BOT_CONFIGURATION": {
"TITLE": "Selecciona un bot d'agent", "TITLE": "Selecciona un bot d'agent",
@@ -32,7 +22,7 @@
"SELECT_PLACEHOLDER": "Selecciona el bot" "SELECT_PLACEHOLDER": "Selecciona el bot"
}, },
"ADD": { "ADD": {
"TITLE": "Configura el nou bot", "TITLE": "Add Bot",
"CANCEL_BUTTON_TEXT": "Cancel·la", "CANCEL_BUTTON_TEXT": "Cancel·la",
"API": { "API": {
"SUCCESS_MESSAGE": "Bot afegit correctament.", "SUCCESS_MESSAGE": "Bot afegit correctament.",
@@ -40,16 +30,22 @@
} }
}, },
"LIST": { "LIST": {
"404": "No s'han trobat bots. Pots crear un bot fent clic al botó \"Configura un bot nou\" ↗", "404": "No bots found. You can create a bot by clicking the 'Add Bot' button.",
"LOADING": "S'estan obtenint bots...", "LOADING": "S'estan obtenint bots...",
"TYPE": "Tipus de bot" "TABLE_HEADER": {
"DETAILS": "Bot Details",
"URL": "URL del webhook"
}
}, },
"DELETE": { "DELETE": {
"BUTTON_TEXT": "Esborrar", "BUTTON_TEXT": "Esborrar",
"TITLE": "Suprimeix el bot", "TITLE": "Suprimeix el bot",
"SUBMIT": "Esborrar", "CONFIRM": {
"CANCEL_BUTTON_TEXT": "Cancel·la", "TITLE": "Confirma l'esborrat",
"DESCRIPTION": "Estàs segur que vols suprimir aquest bot? Aquesta acció és irreversible.", "MESSAGE": "Are you sure you want to delete {name}?",
"YES": "Si, esborra",
"NO": "No, segueix"
},
"API": { "API": {
"SUCCESS_MESSAGE": "S'ha esborrat el bot correctament.", "SUCCESS_MESSAGE": "S'ha esborrat el bot correctament.",
"ERROR_MESSAGE": "No s'ha pogut eliminar el bot. Torneu-ho a provar més endavant." "ERROR_MESSAGE": "No s'ha pogut eliminar el bot. Torneu-ho a provar més endavant."
@@ -57,17 +53,44 @@
}, },
"EDIT": { "EDIT": {
"BUTTON_TEXT": "Edita", "BUTTON_TEXT": "Edita",
"LOADING": "S'estan obtenint bots...",
"TITLE": "Edita el bot", "TITLE": "Edita el bot",
"CANCEL_BUTTON_TEXT": "Cancel·la",
"API": { "API": {
"SUCCESS_MESSAGE": "Bot actualitzat correctament.", "SUCCESS_MESSAGE": "Bot actualitzat correctament.",
"ERROR_MESSAGE": "No s'ha pogut actualitzar el bot. Torneu-ho a provar." "ERROR_MESSAGE": "No s'ha pogut actualitzar el bot. Torneu-ho a provar."
} }
}, },
"FORM": {
"AVATAR": {
"LABEL": "Bot avatar"
},
"NAME": {
"LABEL": "Nom del bot",
"PLACEHOLDER": "Enter bot name",
"REQUIRED": "El nom del bot és obligatori"
},
"DESCRIPTION": {
"LABEL": "Descripció",
"PLACEHOLDER": "Què fa aquest bot?"
},
"WEBHOOK_URL": {
"LABEL": "URL del webhook",
"PLACEHOLDER": "https://example.com/webhook",
"REQUIRED": "Webhook URL is required"
},
"ERRORS": {
"NAME": "El nom del bot és obligatori",
"URL": "Webhook URL is required",
"VALID_URL": "Please enter a valid URL starting with http:// or https://"
},
"CANCEL": "Cancel·la",
"CREATE": "Create Bot",
"UPDATE": "Update Bot"
},
"WEBHOOK": {
"DESCRIPTION": "Configure a webhook bot to integrate with your custom services. The bot will receive and process events from conversations and can respond to them."
},
"TYPES": { "TYPES": {
"WEBHOOK": "Webhook bot", "WEBHOOK": "Webhook bot"
"CSML": "CSML bot"
} }
} }
} }
@@ -126,6 +126,44 @@
"ATLEAST_ONE_CONDITION_REQUIRED": "At least one condition is required", "ATLEAST_ONE_CONDITION_REQUIRED": "At least one condition is required",
"ATLEAST_ONE_ACTION_REQUIRED": "At least one action is required" "ATLEAST_ONE_ACTION_REQUIRED": "At least one action is required"
}, },
"NONE_OPTION": "Ningú" "NONE_OPTION": "Ningú",
"EVENTS": {
"CONVERSATION_CREATED": "Conversa Creada",
"CONVERSATION_UPDATED": "Conversa Actualitzada",
"MESSAGE_CREATED": "Message Created",
"CONVERSATION_OPENED": "Conversation Opened"
},
"ACTIONS": {
"ASSIGN_AGENT": "Assign to Agent",
"ASSIGN_TEAM": "Assign a Team",
"ADD_LABEL": "Add a Label",
"REMOVE_LABEL": "Remove a Label",
"SEND_EMAIL_TO_TEAM": "Send an Email to Team",
"SEND_EMAIL_TRANSCRIPT": "Send an Email Transcript",
"MUTE_CONVERSATION": "Silencia la conversa",
"SNOOZE_CONVERSATION": "Posposa la conversa",
"RESOLVE_CONVERSATION": "Resol la conversa",
"SEND_WEBHOOK_EVENT": "Send Webhook Event",
"SEND_ATTACHMENT": "Send Attachment",
"SEND_MESSAGE": "Send a Message",
"CHANGE_PRIORITY": "Canvia la prioritat",
"ADD_SLA": "Afegeix SLA"
},
"ATTRIBUTES": {
"MESSAGE_TYPE": "Message Type",
"MESSAGE_CONTAINS": "Message Contains",
"EMAIL": "Correu electrònic",
"INBOX": "Safata d'entrada",
"CONVERSATION_LANGUAGE": "Conversation Language",
"PHONE_NUMBER": "Número de telèfon",
"STATUS": "Estat",
"BROWSER_LANGUAGE": "Idioma del navegador",
"MAIL_SUBJECT": "Email Subject",
"COUNTRY_NAME": "País",
"REFERER_LINK": "Referrer Link",
"ASSIGNEE_NAME": "Cessionari",
"TEAM_NAME": "Equip",
"PRIORITY": "Prioritat"
}
} }
} }
@@ -544,6 +544,9 @@
"WROTE": "va escriure", "WROTE": "va escriure",
"YOU": "Tu", "YOU": "Tu",
"SAVE": "Save note", "SAVE": "Save note",
"EXPAND": "Expandeix",
"COLLAPSE": "Collapse",
"NO_NOTES": "No notes, you can add notes from the contact details page.",
"EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above."
} }
}, },
@@ -32,10 +32,12 @@
"LOADING_CONVERSATIONS": "S'estan carregant les converses", "LOADING_CONVERSATIONS": "S'estan carregant les converses",
"CANNOT_REPLY": "No pots respondre degut a", "CANNOT_REPLY": "No pots respondre degut a",
"24_HOURS_WINDOW": "Restricció de finestra de missatges de 24 hores", "24_HOURS_WINDOW": "Restricció de finestra de missatges de 24 hores",
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "Aquesta conversa no està assignada a tu. Vols assignar-te-la?", "NOT_ASSIGNED_TO_YOU": "Aquesta conversa no està assignada a tu. Vols assignar-te-la?",
"ASSIGN_TO_ME": "Assigna'm", "ASSIGN_TO_ME": "Assigna'm",
"TWILIO_WHATSAPP_CAN_REPLY": "Només pots respondre a aquesta conversa mitjançant una plantilla de missatge a causa de", "TWILIO_WHATSAPP_CAN_REPLY": "Només pots respondre a aquesta conversa mitjançant una plantilla de missatge a causa de",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "Restricció de finestra de missatges de 24 hores", "TWILIO_WHATSAPP_24_HOURS_WINDOW": "Restricció de finestra de missatges de 24 hores",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
"REPLYING_TO": "Estas responent a:", "REPLYING_TO": "Estas responent a:",
"REMOVE_SELECTION": "Elimina la selecció", "REMOVE_SELECTION": "Elimina la selecció",
"DOWNLOAD": "Descarrega", "DOWNLOAD": "Descarrega",
@@ -293,6 +295,7 @@
"CONVERSATION_ACTIONS": "Accions de conversa", "CONVERSATION_ACTIONS": "Accions de conversa",
"CONVERSATION_LABELS": "Etiquetes de converses", "CONVERSATION_LABELS": "Etiquetes de converses",
"CONVERSATION_INFO": "Informació de la conversa", "CONVERSATION_INFO": "Informació de la conversa",
"CONTACT_NOTES": "Contact Notes",
"CONTACT_ATTRIBUTES": "Atributs de contacte", "CONTACT_ATTRIBUTES": "Atributs de contacte",
"PREVIOUS_CONVERSATION": "Converses prèvies", "PREVIOUS_CONVERSATION": "Converses prèvies",
"MACROS": "Macros", "MACROS": "Macros",
@@ -1,5 +1,11 @@
{ {
"GENERAL_SETTINGS": { "GENERAL_SETTINGS": {
"LIMIT_MESSAGES": {
"CONVERSATION": "You have exceeded the conversation limit. Hacker plan allows only 500 conversations.",
"INBOXES": "You have exceeded the inbox limit. Hacker plan only supports website live-chat. Additional inboxes like email, WhatsApp etc. require a paid plan.",
"AGENTS": "You have exceeded the agent limit. Hacker plan allows only 2 agents.",
"NON_ADMIN": "Please contact your administrator to upgrade the plan and continue using all features."
},
"TITLE": "Configuració del compte", "TITLE": "Configuració del compte",
"SUBMIT": "Actualització de la configuració", "SUBMIT": "Actualització de la configuració",
"BACK": "Enrere", "BACK": "Enrere",
@@ -8,6 +14,26 @@
"ERROR": "No s'ha pogut actualitzar la configuració, torna-ho a provar!", "ERROR": "No s'ha pogut actualitzar la configuració, torna-ho a provar!",
"SUCCESS": "La configuració del compte s'ha actualitzat correctament" "SUCCESS": "La configuració del compte s'ha actualitzat correctament"
}, },
"ACCOUNT_DELETE_SECTION": {
"TITLE": "Delete your Account",
"NOTE": "Once you delete your account, all your data will be deleted.",
"BUTTON_TEXT": "Delete Your Account",
"CONFIRM": {
"TITLE": "Delete Account",
"MESSAGE": "Deleting your Account is irreversible. Enter your account name below to confirm you want to permanently delete it.",
"BUTTON_TEXT": "Esborrar",
"DISMISS": "Cancel·la",
"PLACE_HOLDER": "Escriu {accountName} per confirmar"
},
"SUCCESS": "Account marked for deletion",
"FAILURE": "Could not delete account, try again!",
"SCHEDULED_DELETION": {
"TITLE": "Account Scheduled for Deletion",
"MESSAGE_MANUAL": "This account is scheduled for deletion on {deletionDate}. This was requested by an administrator. You can cancel the deletion before this date.",
"MESSAGE_INACTIVITY": "This account is scheduled for deletion on {deletionDate} due to account inactivity. You can cancel the deletion before this date.",
"CLEAR_BUTTON": "Cancel Scheduled Deletion"
}
},
"FORM": { "FORM": {
"ERROR": "Corregiu els errors del formulari", "ERROR": "Corregiu els errors del formulari",
"GENERAL_SECTION": { "GENERAL_SECTION": {
@@ -51,6 +77,7 @@
"UPDATE_CHATWOOT": "L'actualització {latestChatwootVersion} per Chatwoot està disponible. Si us plau, actualitza l'instancia.", "UPDATE_CHATWOOT": "L'actualització {latestChatwootVersion} per Chatwoot està disponible. Si us plau, actualitza l'instancia.",
"LEARN_MORE": "Aprèn més", "LEARN_MORE": "Aprèn més",
"PAYMENT_PENDING": "El teu pagament està pendent. Actualitzeu la vostra informació de pagament per continuar utilitzant Chatwoot", "PAYMENT_PENDING": "El teu pagament està pendent. Actualitzeu la vostra informació de pagament per continuar utilitzant Chatwoot",
"UPGRADE": "Upgrade to continue using Chatwoot",
"LIMITS_UPGRADE": "El teu compte ha superat els límits d'ús, actualitza el pla per continuar utilitzant Chatwoot", "LIMITS_UPGRADE": "El teu compte ha superat els límits d'ús, actualitza el pla per continuar utilitzant Chatwoot",
"OPEN_BILLING": "Obrir facturació" "OPEN_BILLING": "Obrir facturació"
}, },
@@ -696,7 +696,8 @@
"SLUG": { "SLUG": {
"LABEL": "Slug", "LABEL": "Slug",
"PLACEHOLDER": "user-guide", "PLACEHOLDER": "user-guide",
"ERROR": "El slug és obligatori" "ERROR": "El slug és obligatori",
"FORMAT_ERROR": "Please enter a valid slug, for eg: user-guide"
} }
}, },
"PORTAL_SETTINGS": { "PORTAL_SETTINGS": {
@@ -43,7 +43,17 @@
"INBOX_NAME": "Nom de la safata d'entrada", "INBOX_NAME": "Nom de la safata d'entrada",
"ADD_NAME": "Afegeix un nom per a la safata d'entrada", "ADD_NAME": "Afegeix un nom per a la safata d'entrada",
"PICK_NAME": "Tria un nom per a la teva safata d'entrada", "PICK_NAME": "Tria un nom per a la teva safata d'entrada",
"PICK_A_VALUE": "Tria un valor" "PICK_A_VALUE": "Tria un valor",
"CREATE_INBOX": "Crear safata d'entrada"
},
"INSTAGRAM": {
"CONTINUE_WITH_INSTAGRAM": "Continue with Instagram",
"CONNECT_YOUR_INSTAGRAM_PROFILE": "Connect your Instagram Profile",
"HELP": "To add your Instagram profile as a channel, you need to authenticate your Instagram Profile by clicking on 'Continue with Instagram' ",
"ERROR_MESSAGE": "There was an error connecting to Instagram, please try again",
"ERROR_AUTH": "There was an error connecting to Instagram, please try again",
"NEW_INBOX_SUGGESTION": "This Instagram account was previously linked to a different inbox and has now been migrated here. All new messages will appear here. The old inbox will no longer be able to send or receive messages for this account.",
"DUPLICATE_INBOX_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. You won’t be able to send/receive Instagram messages from this inbox anymore."
}, },
"TWITTER": { "TWITTER": {
"HELP": "Per afegir el teu perfil de Twitter com a canal, has d'autentificar el vostre perfil de Twitter fent clic a 'Inicieu la sessió amb Twitter' ", "HELP": "Per afegir el teu perfil de Twitter com a canal, has d'autentificar el vostre perfil de Twitter fent clic a 'Inicieu la sessió amb Twitter' ",
@@ -753,7 +763,8 @@
"EMAIL": "Correu electrònic", "EMAIL": "Correu electrònic",
"TELEGRAM": "Telegram", "TELEGRAM": "Telegram",
"LINE": "Line", "LINE": "Line",
"API": "Canal de l'API" "API": "Canal de l'API",
"INSTAGRAM": "Instagram"
} }
} }
} }
@@ -329,11 +329,34 @@
"HEADER_KNOW_MORE": "Know more", "HEADER_KNOW_MORE": "Know more",
"COPILOT": { "COPILOT": {
"SEND_MESSAGE": "Envia missatge...", "SEND_MESSAGE": "Envia missatge...",
"EMPTY_MESSAGE": "There was an error generating the response. Please try again.",
"LOADER": "Captain is thinking", "LOADER": "Captain is thinking",
"YOU": "Tu", "YOU": "Tu",
"USE": "Use this", "USE": "Use this",
"RESET": "Reset", "RESET": "Reset",
"SELECT_ASSISTANT": "Select Assistant" "SELECT_ASSISTANT": "Select Assistant",
"PROMPTS": {
"SUMMARIZE": {
"LABEL": "Summarize this conversation",
"CONTENT": "Summarize the key points discussed between the customer and the support agent, including the customer's concerns, questions, and the solutions or responses provided by the support agent"
},
"SUGGEST": {
"LABEL": "Suggest an answer",
"CONTENT": "Analyze the customer's inquiry, and draft a response that effectively addresses their concerns or questions. Ensure the reply is clear, concise, and provides helpful information."
},
"RATE": {
"LABEL": "Rate this conversation",
"CONTENT": "Review the conversation to see how well it meets the customer's needs. Share a rating out of 5 based on tone, clarity, and effectiveness."
}
}
},
"PLAYGROUND": {
"USER": "Tu",
"ASSISTANT": "Assistant",
"MESSAGE_PLACEHOLDER": "Escriu el missatge...",
"HEADER": "Playground",
"DESCRIPTION": "Use this playground to send messages to your assistant and check if it responds accurately, quickly, and in the tone you expect.",
"CREDIT_NOTE": "Messages sent here will count toward your Captain credits."
}, },
"PAYWALL": { "PAYWALL": {
"TITLE": "Upgrade to use Captain AI", "TITLE": "Upgrade to use Captain AI",
@@ -373,21 +396,45 @@
"ERROR_MESSAGE": "There was an error creating the assistant, please try again." "ERROR_MESSAGE": "There was an error creating the assistant, please try again."
}, },
"FORM": { "FORM": {
"UPDATE": "Actualitza",
"SECTIONS": {
"BASIC_INFO": "Basic Information",
"SYSTEM_MESSAGES": "System Messages",
"INSTRUCTIONS": "Instructions",
"FEATURES": "Característiques",
"TOOLS": "Tools "
},
"NAME": { "NAME": {
"LABEL": "Assistant Name", "LABEL": "Nom",
"PLACEHOLDER": "Enter a name for the assistant", "PLACEHOLDER": "Enter assistant name",
"ERROR": "Please provide a name for the assistant" "ERROR": "The name is required"
}, },
"DESCRIPTION": { "DESCRIPTION": {
"LABEL": "Assistant Description", "LABEL": "Descripció",
"PLACEHOLDER": "Describe how and where this assistant will be used", "PLACEHOLDER": "Enter assistant description",
"ERROR": "A description is required" "ERROR": "The description is required"
}, },
"PRODUCT_NAME": { "PRODUCT_NAME": {
"LABEL": "Product Name", "LABEL": "Product Name",
"PLACEHOLDER": "Enter the name of the product this assistant is designed for", "PLACEHOLDER": "Enter product name",
"ERROR": "The product name is required" "ERROR": "The product name is required"
}, },
"WELCOME_MESSAGE": {
"LABEL": "Welcome Message",
"PLACEHOLDER": "Enter welcome message"
},
"HANDOFF_MESSAGE": {
"LABEL": "Handoff Message",
"PLACEHOLDER": "Enter handoff message"
},
"RESOLUTION_MESSAGE": {
"LABEL": "Resolution Message",
"PLACEHOLDER": "Enter resolution message"
},
"INSTRUCTIONS": {
"LABEL": "Instructions",
"PLACEHOLDER": "Enter instructions for the assistant"
},
"FEATURES": { "FEATURES": {
"TITLE": "Característiques", "TITLE": "Característiques",
"ALLOW_CONVERSATION_FAQS": "Generate FAQs from resolved conversations", "ALLOW_CONVERSATION_FAQS": "Generate FAQs from resolved conversations",
@@ -397,7 +444,8 @@
"EDIT": { "EDIT": {
"TITLE": "Update the assistant", "TITLE": "Update the assistant",
"SUCCESS_MESSAGE": "The assistant has been successfully updated", "SUCCESS_MESSAGE": "The assistant has been successfully updated",
"ERROR_MESSAGE": "There was an error updating the assistant, please try again." "ERROR_MESSAGE": "There was an error updating the assistant, please try again.",
"NOT_FOUND": "Could not find the assistant. Please try again."
}, },
"OPTIONS": { "OPTIONS": {
"EDIT_ASSISTANT": "Edit Assistant", "EDIT_ASSISTANT": "Edit Assistant",
@@ -83,6 +83,22 @@
"ACTION_PARAMETERS_REQUIRED": "Action parameters are required", "ACTION_PARAMETERS_REQUIRED": "Action parameters are required",
"ATLEAST_ONE_CONDITION_REQUIRED": "At least one condition is required", "ATLEAST_ONE_CONDITION_REQUIRED": "At least one condition is required",
"ATLEAST_ONE_ACTION_REQUIRED": "At least one action is required" "ATLEAST_ONE_ACTION_REQUIRED": "At least one action is required"
},
"ACTIONS": {
"ASSIGN_TEAM": "Assign a Team",
"ASSIGN_AGENT": "Assign an Agent",
"ADD_LABEL": "Add a Label",
"REMOVE_LABEL": "Remove a Label",
"REMOVE_ASSIGNED_TEAM": "Remove Assigned Team",
"SEND_EMAIL_TRANSCRIPT": "Send an Email Transcript",
"MUTE_CONVERSATION": "Silencia la conversa",
"SNOOZE_CONVERSATION": "Posposa la conversa",
"RESOLVE_CONVERSATION": "Resol la conversa",
"SEND_ATTACHMENT": "Send Attachment",
"SEND_MESSAGE": "Send a Message",
"CHANGE_PRIORITY": "Canvia la prioritat",
"ADD_PRIVATE_NOTE": "Add a Private Note",
"SEND_WEBHOOK_EVENT": "Send Webhook Event"
} }
} }
} }
@@ -387,7 +387,8 @@
"LABEL": "Nom de la companyia", "LABEL": "Nom de la companyia",
"PLACEHOLDER": "Wayne Enterprises" "PLACEHOLDER": "Wayne Enterprises"
}, },
"SUBMIT": "Envia" "SUBMIT": "Envia",
"CANCEL": "Cancel·la"
} }
}, },
"KEYBOARD_SHORTCUTS": { "KEYBOARD_SHORTCUTS": {
@@ -2,23 +2,13 @@
"AGENT_BOTS": { "AGENT_BOTS": {
"HEADER": "Bots", "HEADER": "Bots",
"LOADING_EDITOR": "Loading editor...", "LOADING_EDITOR": "Loading editor...",
"DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try.You can manage your bots from this page or create new ones using the 'Configure new bot' button.", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.",
"LEARN_MORE": "Learn about agent bots", "LEARN_MORE": "Learn about agent bots",
"CSML_BOT_EDITOR": { "GLOBAL_BOT": "System bot",
"NAME": { "GLOBAL_BOT_BADGE": "System",
"LABEL": "Bot name", "AVATAR": {
"PLACEHOLDER": "Name your bot.", "SUCCESS_DELETE": "Bot avatar deleted successfully",
"ERROR": "Bot name is required." "ERROR_DELETE": "Error deleting bot avatar, please try again"
},
"DESCRIPTION": {
"LABEL": "Bot description",
"PLACEHOLDER": "What does this bot do?"
},
"BOT_CONFIG": {
"ERROR": "Please enter your CSML bot configuration above.",
"API_ERROR": "Your CSML configuration is invalid. Please fix it and try again."
},
"SUBMIT": "Validate and save"
}, },
"BOT_CONFIGURATION": { "BOT_CONFIGURATION": {
"TITLE": "Select an agent bot", "TITLE": "Select an agent bot",
@@ -32,7 +22,7 @@
"SELECT_PLACEHOLDER": "Select bot" "SELECT_PLACEHOLDER": "Select bot"
}, },
"ADD": { "ADD": {
"TITLE": "Configure new bot", "TITLE": "Add Bot",
"CANCEL_BUTTON_TEXT": "Zrušit", "CANCEL_BUTTON_TEXT": "Zrušit",
"API": { "API": {
"SUCCESS_MESSAGE": "Bot added successfully.", "SUCCESS_MESSAGE": "Bot added successfully.",
@@ -40,16 +30,22 @@
} }
}, },
"LIST": { "LIST": {
"404": "No bots found. You can create a bot by clicking the 'Configure new bot' button ↗", "404": "No bots found. You can create a bot by clicking the 'Add Bot' button.",
"LOADING": "Fetching bots...", "LOADING": "Fetching bots...",
"TYPE": "Bot type" "TABLE_HEADER": {
"DETAILS": "Bot Details",
"URL": "URL webového háčku"
}
}, },
"DELETE": { "DELETE": {
"BUTTON_TEXT": "Vymazat", "BUTTON_TEXT": "Vymazat",
"TITLE": "Delete bot", "TITLE": "Delete bot",
"SUBMIT": "Vymazat", "CONFIRM": {
"CANCEL_BUTTON_TEXT": "Zrušit", "TITLE": "Potvrdit odstranění",
"DESCRIPTION": "Are you sure you want to delete this bot? This action is irreversible.", "MESSAGE": "Are you sure you want to delete {name}?",
"YES": "Ano, odstranit",
"NO": "Ne, zachovat"
},
"API": { "API": {
"SUCCESS_MESSAGE": "Bot deleted successfully.", "SUCCESS_MESSAGE": "Bot deleted successfully.",
"ERROR_MESSAGE": "Could not delete bot. Please try again." "ERROR_MESSAGE": "Could not delete bot. Please try again."
@@ -57,17 +53,44 @@
}, },
"EDIT": { "EDIT": {
"BUTTON_TEXT": "Upravit", "BUTTON_TEXT": "Upravit",
"LOADING": "Fetching bots...",
"TITLE": "Edit bot", "TITLE": "Edit bot",
"CANCEL_BUTTON_TEXT": "Zrušit",
"API": { "API": {
"SUCCESS_MESSAGE": "Bot updated successfully.", "SUCCESS_MESSAGE": "Bot updated successfully.",
"ERROR_MESSAGE": "Could not update bot. Please try again." "ERROR_MESSAGE": "Could not update bot. Please try again."
} }
}, },
"FORM": {
"AVATAR": {
"LABEL": "Bot avatar"
},
"NAME": {
"LABEL": "Bot name",
"PLACEHOLDER": "Enter bot name",
"REQUIRED": "Bot name is required"
},
"DESCRIPTION": {
"LABEL": "Description",
"PLACEHOLDER": "What does this bot do?"
},
"WEBHOOK_URL": {
"LABEL": "URL webového háčku",
"PLACEHOLDER": "https://example.com/webhook",
"REQUIRED": "Webhook URL is required"
},
"ERRORS": {
"NAME": "Bot name is required",
"URL": "Webhook URL is required",
"VALID_URL": "Please enter a valid URL starting with http:// or https://"
},
"CANCEL": "Zrušit",
"CREATE": "Create Bot",
"UPDATE": "Update Bot"
},
"WEBHOOK": {
"DESCRIPTION": "Configure a webhook bot to integrate with your custom services. The bot will receive and process events from conversations and can respond to them."
},
"TYPES": { "TYPES": {
"WEBHOOK": "Webhook bot", "WEBHOOK": "Webhook bot"
"CSML": "CSML bot"
} }
} }
} }
@@ -126,6 +126,44 @@
"ATLEAST_ONE_CONDITION_REQUIRED": "At least one condition is required", "ATLEAST_ONE_CONDITION_REQUIRED": "At least one condition is required",
"ATLEAST_ONE_ACTION_REQUIRED": "At least one action is required" "ATLEAST_ONE_ACTION_REQUIRED": "At least one action is required"
}, },
"NONE_OPTION": "Nic" "NONE_OPTION": "Nic",
"EVENTS": {
"CONVERSATION_CREATED": "Conversation Created",
"CONVERSATION_UPDATED": "Conversation Updated",
"MESSAGE_CREATED": "Zpráva vytvořena",
"CONVERSATION_OPENED": "Konverzace otevřena"
},
"ACTIONS": {
"ASSIGN_AGENT": "Přiřadit agentovi",
"ASSIGN_TEAM": "Přiřadit tým",
"ADD_LABEL": "Přidat štítek",
"REMOVE_LABEL": "Odebrat štítek",
"SEND_EMAIL_TO_TEAM": "Poslat e-mail týmu",
"SEND_EMAIL_TRANSCRIPT": "Send an Email Transcript",
"MUTE_CONVERSATION": "Ztlumit konverzaci",
"SNOOZE_CONVERSATION": "Snooze Conversation",
"RESOLVE_CONVERSATION": "Resolve Conversation",
"SEND_WEBHOOK_EVENT": "Send Webhook Event",
"SEND_ATTACHMENT": "Odeslat přílohu",
"SEND_MESSAGE": "Odeslat zprávu",
"CHANGE_PRIORITY": "Change Priority",
"ADD_SLA": "Add SLA"
},
"ATTRIBUTES": {
"MESSAGE_TYPE": "Typ zprávy",
"MESSAGE_CONTAINS": "Zpráva obsahuje",
"EMAIL": "E-mailová adresa",
"INBOX": "Inbox",
"CONVERSATION_LANGUAGE": "Jazyk konverzace",
"PHONE_NUMBER": "Telefonní číslo",
"STATUS": "Stav",
"BROWSER_LANGUAGE": "Browser Language",
"MAIL_SUBJECT": "Předmět e-mailu",
"COUNTRY_NAME": "Země",
"REFERER_LINK": "Referrer Link",
"ASSIGNEE_NAME": "Assignee",
"TEAM_NAME": "Team",
"PRIORITY": "Priority"
}
} }
} }
@@ -544,6 +544,9 @@
"WROTE": "wrote", "WROTE": "wrote",
"YOU": "Vy", "YOU": "Vy",
"SAVE": "Save note", "SAVE": "Save note",
"EXPAND": "Expand",
"COLLAPSE": "Collapse",
"NO_NOTES": "No notes, you can add notes from the contact details page.",
"EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above."
} }
}, },
@@ -32,10 +32,12 @@
"LOADING_CONVERSATIONS": "Načítání konverzací", "LOADING_CONVERSATIONS": "Načítání konverzací",
"CANNOT_REPLY": "Nemůžete odpovědět z důvodu", "CANNOT_REPLY": "Nemůžete odpovědět z důvodu",
"24_HOURS_WINDOW": "24 hodinové omezení okna", "24_HOURS_WINDOW": "24 hodinové omezení okna",
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "Tato konverzace vám není přiřazena. Chcete si přiřadit tuto konverzaci?", "NOT_ASSIGNED_TO_YOU": "Tato konverzace vám není přiřazena. Chcete si přiřadit tuto konverzaci?",
"ASSIGN_TO_ME": "Přiřadit mi", "ASSIGN_TO_ME": "Přiřadit mi",
"TWILIO_WHATSAPP_CAN_REPLY": "Na tuto konverzaci můžete odpovědět pouze pomocí šablony zprávy z důvodu", "TWILIO_WHATSAPP_CAN_REPLY": "Na tuto konverzaci můžete odpovědět pouze pomocí šablony zprávy z důvodu",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 hodinové omezení okna", "TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 hodinové omezení okna",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
"REPLYING_TO": "Odpovídáte uživateli:", "REPLYING_TO": "Odpovídáte uživateli:",
"REMOVE_SELECTION": "Odstranit výběr", "REMOVE_SELECTION": "Odstranit výběr",
"DOWNLOAD": "Stáhnout", "DOWNLOAD": "Stáhnout",
@@ -293,6 +295,7 @@
"CONVERSATION_ACTIONS": "Akce konverzace", "CONVERSATION_ACTIONS": "Akce konverzace",
"CONVERSATION_LABELS": "Štítky konverzace", "CONVERSATION_LABELS": "Štítky konverzace",
"CONVERSATION_INFO": "Informace o konverzaci", "CONVERSATION_INFO": "Informace o konverzaci",
"CONTACT_NOTES": "Contact Notes",
"CONTACT_ATTRIBUTES": "Atributy kontaktu", "CONTACT_ATTRIBUTES": "Atributy kontaktu",
"PREVIOUS_CONVERSATION": "Předchozí konverzace", "PREVIOUS_CONVERSATION": "Předchozí konverzace",
"MACROS": "Macros", "MACROS": "Macros",
@@ -1,5 +1,11 @@
{ {
"GENERAL_SETTINGS": { "GENERAL_SETTINGS": {
"LIMIT_MESSAGES": {
"CONVERSATION": "You have exceeded the conversation limit. Hacker plan allows only 500 conversations.",
"INBOXES": "You have exceeded the inbox limit. Hacker plan only supports website live-chat. Additional inboxes like email, WhatsApp etc. require a paid plan.",
"AGENTS": "You have exceeded the agent limit. Hacker plan allows only 2 agents.",
"NON_ADMIN": "Please contact your administrator to upgrade the plan and continue using all features."
},
"TITLE": "Nastavení účtu", "TITLE": "Nastavení účtu",
"SUBMIT": "Aktualizovat nastavení", "SUBMIT": "Aktualizovat nastavení",
"BACK": "Zpět", "BACK": "Zpět",
@@ -8,6 +14,26 @@
"ERROR": "Nelze aktualizovat nastavení, zkuste to znovu!", "ERROR": "Nelze aktualizovat nastavení, zkuste to znovu!",
"SUCCESS": "Nastavení účtu bylo úspěšně aktualizováno" "SUCCESS": "Nastavení účtu bylo úspěšně aktualizováno"
}, },
"ACCOUNT_DELETE_SECTION": {
"TITLE": "Odstranit účet",
"NOTE": "Once you delete your account, all your data will be deleted.",
"BUTTON_TEXT": "Odstranit účet",
"CONFIRM": {
"TITLE": "Odstranit účet",
"MESSAGE": "Deleting your Account is irreversible. Enter your account name below to confirm you want to permanently delete it.",
"BUTTON_TEXT": "Vymazat",
"DISMISS": "Zrušit",
"PLACE_HOLDER": "Please type {accountName} to confirm"
},
"SUCCESS": "Account marked for deletion",
"FAILURE": "Účet nelze odstranit, zkuste to znovu!",
"SCHEDULED_DELETION": {
"TITLE": "Account Scheduled for Deletion",
"MESSAGE_MANUAL": "This account is scheduled for deletion on {deletionDate}. This was requested by an administrator. You can cancel the deletion before this date.",
"MESSAGE_INACTIVITY": "This account is scheduled for deletion on {deletionDate} due to account inactivity. You can cancel the deletion before this date.",
"CLEAR_BUTTON": "Cancel Scheduled Deletion"
}
},
"FORM": { "FORM": {
"ERROR": "Opravte chyby formuláře", "ERROR": "Opravte chyby formuláře",
"GENERAL_SECTION": { "GENERAL_SECTION": {
@@ -51,6 +77,7 @@
"UPDATE_CHATWOOT": "Je dostupná aktualizace {latestChatwootVersion} pro Chatwoot. Aktualizujte prosím svou instanci.", "UPDATE_CHATWOOT": "Je dostupná aktualizace {latestChatwootVersion} pro Chatwoot. Aktualizujte prosím svou instanci.",
"LEARN_MORE": "Learn more", "LEARN_MORE": "Learn more",
"PAYMENT_PENDING": "Your payment is pending. Please update your payment information to continue using Chatwoot", "PAYMENT_PENDING": "Your payment is pending. Please update your payment information to continue using Chatwoot",
"UPGRADE": "Upgrade to continue using Chatwoot",
"LIMITS_UPGRADE": "Your account has exceeded the usage limits, please upgrade your plan to continue using Chatwoot", "LIMITS_UPGRADE": "Your account has exceeded the usage limits, please upgrade your plan to continue using Chatwoot",
"OPEN_BILLING": "Open billing" "OPEN_BILLING": "Open billing"
}, },
@@ -696,7 +696,8 @@
"SLUG": { "SLUG": {
"LABEL": "Slug", "LABEL": "Slug",
"PLACEHOLDER": "user-guide", "PLACEHOLDER": "user-guide",
"ERROR": "Slug is required" "ERROR": "Slug is required",
"FORMAT_ERROR": "Please enter a valid slug, for eg: user-guide"
} }
}, },
"PORTAL_SETTINGS": { "PORTAL_SETTINGS": {
@@ -43,7 +43,17 @@
"INBOX_NAME": "Název schránky", "INBOX_NAME": "Název schránky",
"ADD_NAME": "Zadejte název schránky", "ADD_NAME": "Zadejte název schránky",
"PICK_NAME": "Pick a Name for your Inbox", "PICK_NAME": "Pick a Name for your Inbox",
"PICK_A_VALUE": "Vyberte hodnotu" "PICK_A_VALUE": "Vyberte hodnotu",
"CREATE_INBOX": "Vytvořit doručenou poštu"
},
"INSTAGRAM": {
"CONTINUE_WITH_INSTAGRAM": "Pokračovat pomocí Instagramu",
"CONNECT_YOUR_INSTAGRAM_PROFILE": "Připojte svůj Instagram profil",
"HELP": "To add your Instagram profile as a channel, you need to authenticate your Instagram Profile by clicking on 'Continue with Instagram' ",
"ERROR_MESSAGE": "There was an error connecting to Instagram, please try again",
"ERROR_AUTH": "There was an error connecting to Instagram, please try again",
"NEW_INBOX_SUGGESTION": "This Instagram account was previously linked to a different inbox and has now been migrated here. All new messages will appear here. The old inbox will no longer be able to send or receive messages for this account.",
"DUPLICATE_INBOX_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. You won’t be able to send/receive Instagram messages from this inbox anymore."
}, },
"TWITTER": { "TWITTER": {
"HELP": "Chcete-li přidat svůj Twitter profil jako kanál, musíte ověřit svůj Twitter profil kliknutím na tlačítko 'Přihlásit se přes Twitter' ", "HELP": "Chcete-li přidat svůj Twitter profil jako kanál, musíte ověřit svůj Twitter profil kliknutím na tlačítko 'Přihlásit se přes Twitter' ",
@@ -753,7 +763,8 @@
"EMAIL": "E-mailová adresa", "EMAIL": "E-mailová adresa",
"TELEGRAM": "Telegram", "TELEGRAM": "Telegram",
"LINE": "Line", "LINE": "Line",
"API": "API Channel" "API": "API Channel",
"INSTAGRAM": "Instagram"
} }
} }
} }
@@ -329,11 +329,34 @@
"HEADER_KNOW_MORE": "Know more", "HEADER_KNOW_MORE": "Know more",
"COPILOT": { "COPILOT": {
"SEND_MESSAGE": "Send message...", "SEND_MESSAGE": "Send message...",
"EMPTY_MESSAGE": "There was an error generating the response. Please try again.",
"LOADER": "Captain is thinking", "LOADER": "Captain is thinking",
"YOU": "Vy", "YOU": "Vy",
"USE": "Use this", "USE": "Use this",
"RESET": "Reset", "RESET": "Reset",
"SELECT_ASSISTANT": "Select Assistant" "SELECT_ASSISTANT": "Select Assistant",
"PROMPTS": {
"SUMMARIZE": {
"LABEL": "Summarize this conversation",
"CONTENT": "Summarize the key points discussed between the customer and the support agent, including the customer's concerns, questions, and the solutions or responses provided by the support agent"
},
"SUGGEST": {
"LABEL": "Suggest an answer",
"CONTENT": "Analyze the customer's inquiry, and draft a response that effectively addresses their concerns or questions. Ensure the reply is clear, concise, and provides helpful information."
},
"RATE": {
"LABEL": "Rate this conversation",
"CONTENT": "Review the conversation to see how well it meets the customer's needs. Share a rating out of 5 based on tone, clarity, and effectiveness."
}
}
},
"PLAYGROUND": {
"USER": "Vy",
"ASSISTANT": "Assistant",
"MESSAGE_PLACEHOLDER": "Zde začněte psát...",
"HEADER": "Playground",
"DESCRIPTION": "Use this playground to send messages to your assistant and check if it responds accurately, quickly, and in the tone you expect.",
"CREDIT_NOTE": "Messages sent here will count toward your Captain credits."
}, },
"PAYWALL": { "PAYWALL": {
"TITLE": "Upgrade to use Captain AI", "TITLE": "Upgrade to use Captain AI",
@@ -373,21 +396,45 @@
"ERROR_MESSAGE": "There was an error creating the assistant, please try again." "ERROR_MESSAGE": "There was an error creating the assistant, please try again."
}, },
"FORM": { "FORM": {
"UPDATE": "Aktualizovat",
"SECTIONS": {
"BASIC_INFO": "Basic Information",
"SYSTEM_MESSAGES": "System Messages",
"INSTRUCTIONS": "Instructions",
"FEATURES": "Funkce",
"TOOLS": "Tools "
},
"NAME": { "NAME": {
"LABEL": "Assistant Name", "LABEL": "Název",
"PLACEHOLDER": "Enter a name for the assistant", "PLACEHOLDER": "Enter assistant name",
"ERROR": "Please provide a name for the assistant" "ERROR": "The name is required"
}, },
"DESCRIPTION": { "DESCRIPTION": {
"LABEL": "Assistant Description", "LABEL": "Description",
"PLACEHOLDER": "Describe how and where this assistant will be used", "PLACEHOLDER": "Enter assistant description",
"ERROR": "A description is required" "ERROR": "The description is required"
}, },
"PRODUCT_NAME": { "PRODUCT_NAME": {
"LABEL": "Product Name", "LABEL": "Product Name",
"PLACEHOLDER": "Enter the name of the product this assistant is designed for", "PLACEHOLDER": "Enter product name",
"ERROR": "The product name is required" "ERROR": "The product name is required"
}, },
"WELCOME_MESSAGE": {
"LABEL": "Welcome Message",
"PLACEHOLDER": "Enter welcome message"
},
"HANDOFF_MESSAGE": {
"LABEL": "Handoff Message",
"PLACEHOLDER": "Enter handoff message"
},
"RESOLUTION_MESSAGE": {
"LABEL": "Resolution Message",
"PLACEHOLDER": "Enter resolution message"
},
"INSTRUCTIONS": {
"LABEL": "Instructions",
"PLACEHOLDER": "Enter instructions for the assistant"
},
"FEATURES": { "FEATURES": {
"TITLE": "Funkce", "TITLE": "Funkce",
"ALLOW_CONVERSATION_FAQS": "Generate FAQs from resolved conversations", "ALLOW_CONVERSATION_FAQS": "Generate FAQs from resolved conversations",
@@ -397,7 +444,8 @@
"EDIT": { "EDIT": {
"TITLE": "Update the assistant", "TITLE": "Update the assistant",
"SUCCESS_MESSAGE": "The assistant has been successfully updated", "SUCCESS_MESSAGE": "The assistant has been successfully updated",
"ERROR_MESSAGE": "There was an error updating the assistant, please try again." "ERROR_MESSAGE": "There was an error updating the assistant, please try again.",
"NOT_FOUND": "Could not find the assistant. Please try again."
}, },
"OPTIONS": { "OPTIONS": {
"EDIT_ASSISTANT": "Edit Assistant", "EDIT_ASSISTANT": "Edit Assistant",
@@ -83,6 +83,22 @@
"ACTION_PARAMETERS_REQUIRED": "Action parameters are required", "ACTION_PARAMETERS_REQUIRED": "Action parameters are required",
"ATLEAST_ONE_CONDITION_REQUIRED": "At least one condition is required", "ATLEAST_ONE_CONDITION_REQUIRED": "At least one condition is required",
"ATLEAST_ONE_ACTION_REQUIRED": "At least one action is required" "ATLEAST_ONE_ACTION_REQUIRED": "At least one action is required"
},
"ACTIONS": {
"ASSIGN_TEAM": "Přiřadit tým",
"ASSIGN_AGENT": "Přiřadit agenta",
"ADD_LABEL": "Přidat štítek",
"REMOVE_LABEL": "Odebrat štítek",
"REMOVE_ASSIGNED_TEAM": "Remove Assigned Team",
"SEND_EMAIL_TRANSCRIPT": "Send an Email Transcript",
"MUTE_CONVERSATION": "Ztlumit konverzaci",
"SNOOZE_CONVERSATION": "Snooze Conversation",
"RESOLVE_CONVERSATION": "Resolve Conversation",
"SEND_ATTACHMENT": "Odeslat přílohu",
"SEND_MESSAGE": "Odeslat zprávu",
"CHANGE_PRIORITY": "Change Priority",
"ADD_PRIVATE_NOTE": "Přidat soukromou poznámku",
"SEND_WEBHOOK_EVENT": "Poslat událost webhook"
} }
} }
} }
@@ -387,7 +387,8 @@
"LABEL": "Název společnosti", "LABEL": "Název společnosti",
"PLACEHOLDER": "Wayne podniky" "PLACEHOLDER": "Wayne podniky"
}, },
"SUBMIT": "Odeslat" "SUBMIT": "Odeslat",
"CANCEL": "Zrušit"
} }
}, },
"KEYBOARD_SHORTCUTS": { "KEYBOARD_SHORTCUTS": {
@@ -2,23 +2,13 @@
"AGENT_BOTS": { "AGENT_BOTS": {
"HEADER": "Bots", "HEADER": "Bots",
"LOADING_EDITOR": "Loading editor...", "LOADING_EDITOR": "Loading editor...",
"DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try.You can manage your bots from this page or create new ones using the 'Configure new bot' button.", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.",
"LEARN_MORE": "Learn about agent bots", "LEARN_MORE": "Learn about agent bots",
"CSML_BOT_EDITOR": { "GLOBAL_BOT": "System bot",
"NAME": { "GLOBAL_BOT_BADGE": "System",
"LABEL": "Bot name", "AVATAR": {
"PLACEHOLDER": "Name your bot.", "SUCCESS_DELETE": "Bot avatar deleted successfully",
"ERROR": "Bot navn er påkrævet." "ERROR_DELETE": "Error deleting bot avatar, please try again"
},
"DESCRIPTION": {
"LABEL": "Bot description",
"PLACEHOLDER": "Hvad gør denne bot?"
},
"BOT_CONFIG": {
"ERROR": "Please enter your CSML bot configuration above.",
"API_ERROR": "Your CSML configuration is invalid. Please fix it and try again."
},
"SUBMIT": "Bekræft og gem"
}, },
"BOT_CONFIGURATION": { "BOT_CONFIGURATION": {
"TITLE": "Select an agent bot", "TITLE": "Select an agent bot",
@@ -32,7 +22,7 @@
"SELECT_PLACEHOLDER": "Select bot" "SELECT_PLACEHOLDER": "Select bot"
}, },
"ADD": { "ADD": {
"TITLE": "Configure new bot", "TITLE": "Add Bot",
"CANCEL_BUTTON_TEXT": "Annuller", "CANCEL_BUTTON_TEXT": "Annuller",
"API": { "API": {
"SUCCESS_MESSAGE": "Bot added successfully.", "SUCCESS_MESSAGE": "Bot added successfully.",
@@ -40,16 +30,22 @@
} }
}, },
"LIST": { "LIST": {
"404": "No bots found. You can create a bot by clicking the 'Configure new bot' button ↗", "404": "No bots found. You can create a bot by clicking the 'Add Bot' button.",
"LOADING": "Fetching bots...", "LOADING": "Fetching bots...",
"TYPE": "Bot type" "TABLE_HEADER": {
"DETAILS": "Bot Details",
"URL": "Webhook URL"
}
}, },
"DELETE": { "DELETE": {
"BUTTON_TEXT": "Slet", "BUTTON_TEXT": "Slet",
"TITLE": "Delete bot", "TITLE": "Delete bot",
"SUBMIT": "Slet", "CONFIRM": {
"CANCEL_BUTTON_TEXT": "Annuller", "TITLE": "Bekræft Sletning",
"DESCRIPTION": "Are you sure you want to delete this bot? This action is irreversible.", "MESSAGE": "Are you sure you want to delete {name}?",
"YES": "Ja, Slet",
"NO": "Nej, Behold"
},
"API": { "API": {
"SUCCESS_MESSAGE": "Bot deleted successfully.", "SUCCESS_MESSAGE": "Bot deleted successfully.",
"ERROR_MESSAGE": "Could not delete bot. Please try again." "ERROR_MESSAGE": "Could not delete bot. Please try again."
@@ -57,17 +53,44 @@
}, },
"EDIT": { "EDIT": {
"BUTTON_TEXT": "Rediger", "BUTTON_TEXT": "Rediger",
"LOADING": "Fetching bots...",
"TITLE": "Edit bot", "TITLE": "Edit bot",
"CANCEL_BUTTON_TEXT": "Annuller",
"API": { "API": {
"SUCCESS_MESSAGE": "Bot updated successfully.", "SUCCESS_MESSAGE": "Bot updated successfully.",
"ERROR_MESSAGE": "Could not update bot. Please try again." "ERROR_MESSAGE": "Could not update bot. Please try again."
} }
}, },
"FORM": {
"AVATAR": {
"LABEL": "Bot avatar"
},
"NAME": {
"LABEL": "Bot name",
"PLACEHOLDER": "Enter bot name",
"REQUIRED": "Bot navn er påkrævet"
},
"DESCRIPTION": {
"LABEL": "Beskrivelse",
"PLACEHOLDER": "Hvad gør denne bot?"
},
"WEBHOOK_URL": {
"LABEL": "Webhook URL",
"PLACEHOLDER": "https://example.com/webhook",
"REQUIRED": "Webhook URL is required"
},
"ERRORS": {
"NAME": "Bot navn er påkrævet",
"URL": "Webhook URL is required",
"VALID_URL": "Please enter a valid URL starting with http:// or https://"
},
"CANCEL": "Annuller",
"CREATE": "Create Bot",
"UPDATE": "Update Bot"
},
"WEBHOOK": {
"DESCRIPTION": "Configure a webhook bot to integrate with your custom services. The bot will receive and process events from conversations and can respond to them."
},
"TYPES": { "TYPES": {
"WEBHOOK": "Webhook bot", "WEBHOOK": "Webhook bot"
"CSML": "CSML bot"
} }
} }
} }
@@ -126,6 +126,44 @@
"ATLEAST_ONE_CONDITION_REQUIRED": "At least one condition is required", "ATLEAST_ONE_CONDITION_REQUIRED": "At least one condition is required",
"ATLEAST_ONE_ACTION_REQUIRED": "At least one action is required" "ATLEAST_ONE_ACTION_REQUIRED": "At least one action is required"
}, },
"NONE_OPTION": "Ingen" "NONE_OPTION": "Ingen",
"EVENTS": {
"CONVERSATION_CREATED": "Samtale Oprettet",
"CONVERSATION_UPDATED": "Samtale Opdateret",
"MESSAGE_CREATED": "Message Created",
"CONVERSATION_OPENED": "Conversation Opened"
},
"ACTIONS": {
"ASSIGN_AGENT": "Assign to Agent",
"ASSIGN_TEAM": "Assign a Team",
"ADD_LABEL": "Add a Label",
"REMOVE_LABEL": "Remove a Label",
"SEND_EMAIL_TO_TEAM": "Send an Email to Team",
"SEND_EMAIL_TRANSCRIPT": "Send an Email Transcript",
"MUTE_CONVERSATION": "Gør Samtale Lydløs",
"SNOOZE_CONVERSATION": "Udsæt Samtale",
"RESOLVE_CONVERSATION": "Løs Samtale",
"SEND_WEBHOOK_EVENT": "Send Webhook Event",
"SEND_ATTACHMENT": "Send Attachment",
"SEND_MESSAGE": "Send a Message",
"CHANGE_PRIORITY": "Change Priority",
"ADD_SLA": "Add SLA"
},
"ATTRIBUTES": {
"MESSAGE_TYPE": "Message Type",
"MESSAGE_CONTAINS": "Message Contains",
"EMAIL": "E-mail",
"INBOX": "Indbakke",
"CONVERSATION_LANGUAGE": "Conversation Language",
"PHONE_NUMBER": "Telefonnummer",
"STATUS": "Status",
"BROWSER_LANGUAGE": "Browser Sprog",
"MAIL_SUBJECT": "Email Subject",
"COUNTRY_NAME": "Land",
"REFERER_LINK": "Referrer Link",
"ASSIGNEE_NAME": "Assignee",
"TEAM_NAME": "Team",
"PRIORITY": "Priority"
}
} }
} }
@@ -544,6 +544,9 @@
"WROTE": "wrote", "WROTE": "wrote",
"YOU": "Dig", "YOU": "Dig",
"SAVE": "Save note", "SAVE": "Save note",
"EXPAND": "Expand",
"COLLAPSE": "Collapse",
"NO_NOTES": "No notes, you can add notes from the contact details page.",
"EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above."
} }
}, },
@@ -32,10 +32,12 @@
"LOADING_CONVERSATIONS": "Indlæser Samtaler", "LOADING_CONVERSATIONS": "Indlæser Samtaler",
"CANNOT_REPLY": "Du kan ikke svare på grund af", "CANNOT_REPLY": "Du kan ikke svare på grund af",
"24_HOURS_WINDOW": "24 timers beskedvindue begrænsning", "24_HOURS_WINDOW": "24 timers beskedvindue begrænsning",
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "Denne samtale er ikke tildelt dig. Vil du tildele denne samtale til dig selv?", "NOT_ASSIGNED_TO_YOU": "Denne samtale er ikke tildelt dig. Vil du tildele denne samtale til dig selv?",
"ASSIGN_TO_ME": "Tildel til mig", "ASSIGN_TO_ME": "Tildel til mig",
"TWILIO_WHATSAPP_CAN_REPLY": "Du kan kun svare på denne samtale ved hjælp af en skabelon besked på grund af", "TWILIO_WHATSAPP_CAN_REPLY": "Du kan kun svare på denne samtale ved hjælp af en skabelon besked på grund af",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 timers beskedvindue begrænsning", "TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 timers beskedvindue begrænsning",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
"REPLYING_TO": "Du svarer til:", "REPLYING_TO": "Du svarer til:",
"REMOVE_SELECTION": "Fjern Markering", "REMOVE_SELECTION": "Fjern Markering",
"DOWNLOAD": "Download", "DOWNLOAD": "Download",
@@ -293,6 +295,7 @@
"CONVERSATION_ACTIONS": "Samtale Handlinger", "CONVERSATION_ACTIONS": "Samtale Handlinger",
"CONVERSATION_LABELS": "Samtale Etiketter", "CONVERSATION_LABELS": "Samtale Etiketter",
"CONVERSATION_INFO": "Samtale Information", "CONVERSATION_INFO": "Samtale Information",
"CONTACT_NOTES": "Contact Notes",
"CONTACT_ATTRIBUTES": "Kontakt Attributter", "CONTACT_ATTRIBUTES": "Kontakt Attributter",
"PREVIOUS_CONVERSATION": "Tidligere Samtaler", "PREVIOUS_CONVERSATION": "Tidligere Samtaler",
"MACROS": "Macros", "MACROS": "Macros",
@@ -1,5 +1,11 @@
{ {
"GENERAL_SETTINGS": { "GENERAL_SETTINGS": {
"LIMIT_MESSAGES": {
"CONVERSATION": "You have exceeded the conversation limit. Hacker plan allows only 500 conversations.",
"INBOXES": "You have exceeded the inbox limit. Hacker plan only supports website live-chat. Additional inboxes like email, WhatsApp etc. require a paid plan.",
"AGENTS": "You have exceeded the agent limit. Hacker plan allows only 2 agents.",
"NON_ADMIN": "Please contact your administrator to upgrade the plan and continue using all features."
},
"TITLE": "Kontoindstillinger", "TITLE": "Kontoindstillinger",
"SUBMIT": "Opdater indstillinger", "SUBMIT": "Opdater indstillinger",
"BACK": "Tilbage", "BACK": "Tilbage",
@@ -8,6 +14,26 @@
"ERROR": "Kunne ikke opdatere indstillinger, prøv igen!", "ERROR": "Kunne ikke opdatere indstillinger, prøv igen!",
"SUCCESS": "Kontoindstillinger blev opdateret" "SUCCESS": "Kontoindstillinger blev opdateret"
}, },
"ACCOUNT_DELETE_SECTION": {
"TITLE": "Delete your Account",
"NOTE": "Once you delete your account, all your data will be deleted.",
"BUTTON_TEXT": "Delete Your Account",
"CONFIRM": {
"TITLE": "Delete Account",
"MESSAGE": "Deleting your Account is irreversible. Enter your account name below to confirm you want to permanently delete it.",
"BUTTON_TEXT": "Slet",
"DISMISS": "Annuller",
"PLACE_HOLDER": "Skriv venligst {accountName} for at bekræfte"
},
"SUCCESS": "Account marked for deletion",
"FAILURE": "Could not delete account, try again!",
"SCHEDULED_DELETION": {
"TITLE": "Account Scheduled for Deletion",
"MESSAGE_MANUAL": "This account is scheduled for deletion on {deletionDate}. This was requested by an administrator. You can cancel the deletion before this date.",
"MESSAGE_INACTIVITY": "This account is scheduled for deletion on {deletionDate} due to account inactivity. You can cancel the deletion before this date.",
"CLEAR_BUTTON": "Cancel Scheduled Deletion"
}
},
"FORM": { "FORM": {
"ERROR": "Ret venligst formularfejl", "ERROR": "Ret venligst formularfejl",
"GENERAL_SECTION": { "GENERAL_SECTION": {
@@ -51,6 +77,7 @@
"UPDATE_CHATWOOT": "En opdatering {latestChatwootVersion} til Chatwoot er tilgængelig. Opdater venligst din instans.", "UPDATE_CHATWOOT": "En opdatering {latestChatwootVersion} til Chatwoot er tilgængelig. Opdater venligst din instans.",
"LEARN_MORE": "Lær mere", "LEARN_MORE": "Lær mere",
"PAYMENT_PENDING": "Your payment is pending. Please update your payment information to continue using Chatwoot", "PAYMENT_PENDING": "Your payment is pending. Please update your payment information to continue using Chatwoot",
"UPGRADE": "Upgrade to continue using Chatwoot",
"LIMITS_UPGRADE": "Your account has exceeded the usage limits, please upgrade your plan to continue using Chatwoot", "LIMITS_UPGRADE": "Your account has exceeded the usage limits, please upgrade your plan to continue using Chatwoot",
"OPEN_BILLING": "Open billing" "OPEN_BILLING": "Open billing"
}, },
@@ -696,7 +696,8 @@
"SLUG": { "SLUG": {
"LABEL": "Snegl", "LABEL": "Snegl",
"PLACEHOLDER": "user-guide", "PLACEHOLDER": "user-guide",
"ERROR": "Slug er påkrævet" "ERROR": "Slug er påkrævet",
"FORMAT_ERROR": "Please enter a valid slug, for eg: user-guide"
} }
}, },
"PORTAL_SETTINGS": { "PORTAL_SETTINGS": {
@@ -43,7 +43,17 @@
"INBOX_NAME": "Indbakke Navn", "INBOX_NAME": "Indbakke Navn",
"ADD_NAME": "Tilføj et navn til din indbakke", "ADD_NAME": "Tilføj et navn til din indbakke",
"PICK_NAME": "Pick a Name for your Inbox", "PICK_NAME": "Pick a Name for your Inbox",
"PICK_A_VALUE": "Vælg en værdi" "PICK_A_VALUE": "Vælg en værdi",
"CREATE_INBOX": "Opret Indbakke"
},
"INSTAGRAM": {
"CONTINUE_WITH_INSTAGRAM": "Continue with Instagram",
"CONNECT_YOUR_INSTAGRAM_PROFILE": "Connect your Instagram Profile",
"HELP": "To add your Instagram profile as a channel, you need to authenticate your Instagram Profile by clicking on 'Continue with Instagram' ",
"ERROR_MESSAGE": "There was an error connecting to Instagram, please try again",
"ERROR_AUTH": "There was an error connecting to Instagram, please try again",
"NEW_INBOX_SUGGESTION": "This Instagram account was previously linked to a different inbox and has now been migrated here. All new messages will appear here. The old inbox will no longer be able to send or receive messages for this account.",
"DUPLICATE_INBOX_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. You won’t be able to send/receive Instagram messages from this inbox anymore."
}, },
"TWITTER": { "TWITTER": {
"HELP": "For at tilføje din Twitter-profil som en kanal, skal du godkende din Twitter-profil ved at klikke på 'Log ind med Twitter' ", "HELP": "For at tilføje din Twitter-profil som en kanal, skal du godkende din Twitter-profil ved at klikke på 'Log ind med Twitter' ",
@@ -753,7 +763,8 @@
"EMAIL": "E-mail", "EMAIL": "E-mail",
"TELEGRAM": "Telegram", "TELEGRAM": "Telegram",
"LINE": "Line", "LINE": "Line",
"API": "API Kanal" "API": "API Kanal",
"INSTAGRAM": "Instagram"
} }
} }
} }
@@ -329,11 +329,34 @@
"HEADER_KNOW_MORE": "Know more", "HEADER_KNOW_MORE": "Know more",
"COPILOT": { "COPILOT": {
"SEND_MESSAGE": "Send besked...", "SEND_MESSAGE": "Send besked...",
"EMPTY_MESSAGE": "There was an error generating the response. Please try again.",
"LOADER": "Captain is thinking", "LOADER": "Captain is thinking",
"YOU": "Dig", "YOU": "Dig",
"USE": "Use this", "USE": "Use this",
"RESET": "Reset", "RESET": "Reset",
"SELECT_ASSISTANT": "Select Assistant" "SELECT_ASSISTANT": "Select Assistant",
"PROMPTS": {
"SUMMARIZE": {
"LABEL": "Summarize this conversation",
"CONTENT": "Summarize the key points discussed between the customer and the support agent, including the customer's concerns, questions, and the solutions or responses provided by the support agent"
},
"SUGGEST": {
"LABEL": "Suggest an answer",
"CONTENT": "Analyze the customer's inquiry, and draft a response that effectively addresses their concerns or questions. Ensure the reply is clear, concise, and provides helpful information."
},
"RATE": {
"LABEL": "Rate this conversation",
"CONTENT": "Review the conversation to see how well it meets the customer's needs. Share a rating out of 5 based on tone, clarity, and effectiveness."
}
}
},
"PLAYGROUND": {
"USER": "Dig",
"ASSISTANT": "Assistant",
"MESSAGE_PLACEHOLDER": "Skriv din besked...",
"HEADER": "Playground",
"DESCRIPTION": "Use this playground to send messages to your assistant and check if it responds accurately, quickly, and in the tone you expect.",
"CREDIT_NOTE": "Messages sent here will count toward your Captain credits."
}, },
"PAYWALL": { "PAYWALL": {
"TITLE": "Upgrade to use Captain AI", "TITLE": "Upgrade to use Captain AI",
@@ -373,21 +396,45 @@
"ERROR_MESSAGE": "There was an error creating the assistant, please try again." "ERROR_MESSAGE": "There was an error creating the assistant, please try again."
}, },
"FORM": { "FORM": {
"UPDATE": "Opdater",
"SECTIONS": {
"BASIC_INFO": "Basic Information",
"SYSTEM_MESSAGES": "System Messages",
"INSTRUCTIONS": "Instructions",
"FEATURES": "Funktioner",
"TOOLS": "Tools "
},
"NAME": { "NAME": {
"LABEL": "Assistant Name", "LABEL": "Navn",
"PLACEHOLDER": "Enter a name for the assistant", "PLACEHOLDER": "Enter assistant name",
"ERROR": "Please provide a name for the assistant" "ERROR": "The name is required"
}, },
"DESCRIPTION": { "DESCRIPTION": {
"LABEL": "Assistant Description", "LABEL": "Beskrivelse",
"PLACEHOLDER": "Describe how and where this assistant will be used", "PLACEHOLDER": "Enter assistant description",
"ERROR": "A description is required" "ERROR": "The description is required"
}, },
"PRODUCT_NAME": { "PRODUCT_NAME": {
"LABEL": "Product Name", "LABEL": "Product Name",
"PLACEHOLDER": "Enter the name of the product this assistant is designed for", "PLACEHOLDER": "Enter product name",
"ERROR": "The product name is required" "ERROR": "The product name is required"
}, },
"WELCOME_MESSAGE": {
"LABEL": "Welcome Message",
"PLACEHOLDER": "Enter welcome message"
},
"HANDOFF_MESSAGE": {
"LABEL": "Handoff Message",
"PLACEHOLDER": "Enter handoff message"
},
"RESOLUTION_MESSAGE": {
"LABEL": "Resolution Message",
"PLACEHOLDER": "Enter resolution message"
},
"INSTRUCTIONS": {
"LABEL": "Instructions",
"PLACEHOLDER": "Enter instructions for the assistant"
},
"FEATURES": { "FEATURES": {
"TITLE": "Funktioner", "TITLE": "Funktioner",
"ALLOW_CONVERSATION_FAQS": "Generate FAQs from resolved conversations", "ALLOW_CONVERSATION_FAQS": "Generate FAQs from resolved conversations",
@@ -397,7 +444,8 @@
"EDIT": { "EDIT": {
"TITLE": "Update the assistant", "TITLE": "Update the assistant",
"SUCCESS_MESSAGE": "The assistant has been successfully updated", "SUCCESS_MESSAGE": "The assistant has been successfully updated",
"ERROR_MESSAGE": "There was an error updating the assistant, please try again." "ERROR_MESSAGE": "There was an error updating the assistant, please try again.",
"NOT_FOUND": "Could not find the assistant. Please try again."
}, },
"OPTIONS": { "OPTIONS": {
"EDIT_ASSISTANT": "Edit Assistant", "EDIT_ASSISTANT": "Edit Assistant",
@@ -83,6 +83,22 @@
"ACTION_PARAMETERS_REQUIRED": "Action parameters are required", "ACTION_PARAMETERS_REQUIRED": "Action parameters are required",
"ATLEAST_ONE_CONDITION_REQUIRED": "At least one condition is required", "ATLEAST_ONE_CONDITION_REQUIRED": "At least one condition is required",
"ATLEAST_ONE_ACTION_REQUIRED": "At least one action is required" "ATLEAST_ONE_ACTION_REQUIRED": "At least one action is required"
},
"ACTIONS": {
"ASSIGN_TEAM": "Assign a Team",
"ASSIGN_AGENT": "Assign an Agent",
"ADD_LABEL": "Add a Label",
"REMOVE_LABEL": "Remove a Label",
"REMOVE_ASSIGNED_TEAM": "Remove Assigned Team",
"SEND_EMAIL_TRANSCRIPT": "Send an Email Transcript",
"MUTE_CONVERSATION": "Gør Samtale Lydløs",
"SNOOZE_CONVERSATION": "Udsæt Samtale",
"RESOLVE_CONVERSATION": "Løs Samtale",
"SEND_ATTACHMENT": "Send Attachment",
"SEND_MESSAGE": "Send a Message",
"CHANGE_PRIORITY": "Change Priority",
"ADD_PRIVATE_NOTE": "Add a Private Note",
"SEND_WEBHOOK_EVENT": "Send Webhook Event"
} }
} }
} }
@@ -387,7 +387,8 @@
"LABEL": "Virksomhedens Navn", "LABEL": "Virksomhedens Navn",
"PLACEHOLDER": "Wayne Enterprises" "PLACEHOLDER": "Wayne Enterprises"
}, },
"SUBMIT": "Send" "SUBMIT": "Send",
"CANCEL": "Annuller"
} }
}, },
"KEYBOARD_SHORTCUTS": { "KEYBOARD_SHORTCUTS": {
@@ -2,23 +2,13 @@
"AGENT_BOTS": { "AGENT_BOTS": {
"HEADER": "Bots", "HEADER": "Bots",
"LOADING_EDITOR": "Lade Editor...", "LOADING_EDITOR": "Lade Editor...",
"DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try.You can manage your bots from this page or create new ones using the 'Configure new bot' button.", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.",
"LEARN_MORE": "Learn about agent bots", "LEARN_MORE": "Learn about agent bots",
"CSML_BOT_EDITOR": { "GLOBAL_BOT": "System bot",
"NAME": { "GLOBAL_BOT_BADGE": "System",
"LABEL": "Bot Name", "AVATAR": {
"PLACEHOLDER": "Benenne den Bot.", "SUCCESS_DELETE": "Bot avatar deleted successfully",
"ERROR": "Bot Name ist erforderlich." "ERROR_DELETE": "Error deleting bot avatar, please try again"
},
"DESCRIPTION": {
"LABEL": "Bot Beschreibung",
"PLACEHOLDER": "Was macht dieser Bot?"
},
"BOT_CONFIG": {
"ERROR": "Bitte geben Sie Ihre CSML Bot-Konfiguration oben ein.",
"API_ERROR": "Deine CSML-Konfiguration ist ungültig, bitte korrigiere sie und versuche es erneut."
},
"SUBMIT": "Validieren und speichern"
}, },
"BOT_CONFIGURATION": { "BOT_CONFIGURATION": {
"TITLE": "Agenten-Bot auswählen", "TITLE": "Agenten-Bot auswählen",
@@ -32,7 +22,7 @@
"SELECT_PLACEHOLDER": "Bot auswählen" "SELECT_PLACEHOLDER": "Bot auswählen"
}, },
"ADD": { "ADD": {
"TITLE": "Neuen Bot konfigurieren", "TITLE": "Add Bot",
"CANCEL_BUTTON_TEXT": "Stornieren", "CANCEL_BUTTON_TEXT": "Stornieren",
"API": { "API": {
"SUCCESS_MESSAGE": "Bot erfolgreich hinzugefügt.", "SUCCESS_MESSAGE": "Bot erfolgreich hinzugefügt.",
@@ -40,16 +30,22 @@
} }
}, },
"LIST": { "LIST": {
"404": "Keine Bots gefunden. Du kannst einen Bot erstellen, indem du auf den 'Neuen Bot konfigurieren' Knopf klickst ↗", "404": "No bots found. You can create a bot by clicking the 'Add Bot' button.",
"LOADING": "Bots werden geladen...", "LOADING": "Bots werden geladen...",
"TYPE": "Bot-Typ" "TABLE_HEADER": {
"DETAILS": "Bot Details",
"URL": "Webhook-URL"
}
}, },
"DELETE": { "DELETE": {
"BUTTON_TEXT": "Löschen", "BUTTON_TEXT": "Löschen",
"TITLE": "Bot löschen", "TITLE": "Bot löschen",
"SUBMIT": "Löschen", "CONFIRM": {
"CANCEL_BUTTON_TEXT": "Stornieren", "TITLE": "Löschung bestätigen",
"DESCRIPTION": "Sind Sie sicher, dass Sie diesen Bot löschen wollen? Diese Aktion kann nicht rückgängig gemacht werden.", "MESSAGE": "Are you sure you want to delete {name}?",
"YES": "Ja, löschen",
"NO": "Nein, behalten"
},
"API": { "API": {
"SUCCESS_MESSAGE": "Bot erfolgreich gelöscht.", "SUCCESS_MESSAGE": "Bot erfolgreich gelöscht.",
"ERROR_MESSAGE": "Der Bot konnte nicht gelöscht werden, bitte versuche es später erneut." "ERROR_MESSAGE": "Der Bot konnte nicht gelöscht werden, bitte versuche es später erneut."
@@ -57,17 +53,44 @@
}, },
"EDIT": { "EDIT": {
"BUTTON_TEXT": "Bearbeiten", "BUTTON_TEXT": "Bearbeiten",
"LOADING": "Bots werden geladen...",
"TITLE": "Bot bearbeiten", "TITLE": "Bot bearbeiten",
"CANCEL_BUTTON_TEXT": "Stornieren",
"API": { "API": {
"SUCCESS_MESSAGE": "Bot erfolgreich aktualisiert.", "SUCCESS_MESSAGE": "Bot erfolgreich aktualisiert.",
"ERROR_MESSAGE": "Der Bot konnte nicht aktualisiert werden, bitte versuche es später erneut." "ERROR_MESSAGE": "Der Bot konnte nicht aktualisiert werden, bitte versuche es später erneut."
} }
}, },
"FORM": {
"AVATAR": {
"LABEL": "Bot avatar"
},
"NAME": {
"LABEL": "Bot Name",
"PLACEHOLDER": "Enter bot name",
"REQUIRED": "Bot Name ist erforderlich"
},
"DESCRIPTION": {
"LABEL": "Beschreibung",
"PLACEHOLDER": "Was macht dieser Bot?"
},
"WEBHOOK_URL": {
"LABEL": "Webhook-URL",
"PLACEHOLDER": "https://example.com/webhook",
"REQUIRED": "Webhook URL is required"
},
"ERRORS": {
"NAME": "Bot Name ist erforderlich",
"URL": "Webhook URL is required",
"VALID_URL": "Please enter a valid URL starting with http:// or https://"
},
"CANCEL": "Stornieren",
"CREATE": "Create Bot",
"UPDATE": "Update Bot"
},
"WEBHOOK": {
"DESCRIPTION": "Configure a webhook bot to integrate with your custom services. The bot will receive and process events from conversations and can respond to them."
},
"TYPES": { "TYPES": {
"WEBHOOK": "Webhook Bot", "WEBHOOK": "Webhook Bot"
"CSML": "CSML Bot"
} }
} }
} }
@@ -126,6 +126,44 @@
"ATLEAST_ONE_CONDITION_REQUIRED": "Mindestens eine Bedingung ist erforderlich", "ATLEAST_ONE_CONDITION_REQUIRED": "Mindestens eine Bedingung ist erforderlich",
"ATLEAST_ONE_ACTION_REQUIRED": "Mindestens eine Aktion ist erforderlich" "ATLEAST_ONE_ACTION_REQUIRED": "Mindestens eine Aktion ist erforderlich"
}, },
"NONE_OPTION": "Keine" "NONE_OPTION": "Keine",
"EVENTS": {
"CONVERSATION_CREATED": "Konversation erstellt",
"CONVERSATION_UPDATED": "Konversation aktualisiert",
"MESSAGE_CREATED": "Message Created",
"CONVERSATION_OPENED": "Conversation Opened"
},
"ACTIONS": {
"ASSIGN_AGENT": "Assign to Agent",
"ASSIGN_TEAM": "Assign a Team",
"ADD_LABEL": "Add a Label",
"REMOVE_LABEL": "Remove a Label",
"SEND_EMAIL_TO_TEAM": "Send an Email to Team",
"SEND_EMAIL_TRANSCRIPT": "Send an Email Transcript",
"MUTE_CONVERSATION": "Unterhaltung stummschalten",
"SNOOZE_CONVERSATION": "Snooze-Konversation",
"RESOLVE_CONVERSATION": "Unterhaltung als gelöst kennzeichnen",
"SEND_WEBHOOK_EVENT": "Send Webhook Event",
"SEND_ATTACHMENT": "Send Attachment",
"SEND_MESSAGE": "Send a Message",
"CHANGE_PRIORITY": "Priorität ändern",
"ADD_SLA": "Add SLA"
},
"ATTRIBUTES": {
"MESSAGE_TYPE": "Message Type",
"MESSAGE_CONTAINS": "Message Contains",
"EMAIL": "E-Mail",
"INBOX": "Posteingang",
"CONVERSATION_LANGUAGE": "Conversation Language",
"PHONE_NUMBER": "Telefonnummer",
"STATUS": "Status",
"BROWSER_LANGUAGE": "Browsersprache",
"MAIL_SUBJECT": "Email Subject",
"COUNTRY_NAME": "Land",
"REFERER_LINK": "Referrer Link",
"ASSIGNEE_NAME": "Zugewiesener",
"TEAM_NAME": "Team",
"PRIORITY": "Priorität"
}
} }
} }
@@ -544,6 +544,9 @@
"WROTE": "schrieb", "WROTE": "schrieb",
"YOU": "Sie", "YOU": "Sie",
"SAVE": "Notiz speichern", "SAVE": "Notiz speichern",
"EXPAND": "Erweitern",
"COLLAPSE": "Collapse",
"NO_NOTES": "No notes, you can add notes from the contact details page.",
"EMPTY_STATE": "Es gibt keine Notizen zu diesem Kontakt. Sie können eine Notiz hinzufügen, indem Sie diese in das obige Feld eingeben." "EMPTY_STATE": "Es gibt keine Notizen zu diesem Kontakt. Sie können eine Notiz hinzufügen, indem Sie diese in das obige Feld eingeben."
} }
}, },
@@ -32,10 +32,12 @@
"LOADING_CONVERSATIONS": "Gespräche laden", "LOADING_CONVERSATIONS": "Gespräche laden",
"CANNOT_REPLY": "Sie können nicht antworten, weil", "CANNOT_REPLY": "Sie können nicht antworten, weil",
"24_HOURS_WINDOW": "24-Stunden-Nachrichtenfenster-Beschränkung", "24_HOURS_WINDOW": "24-Stunden-Nachrichtenfenster-Beschränkung",
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "Diese Konversation ist Ihnen nicht zugeordnet. Möchten Sie dieses Gespräch sich selbst zuordnen?", "NOT_ASSIGNED_TO_YOU": "Diese Konversation ist Ihnen nicht zugeordnet. Möchten Sie dieses Gespräch sich selbst zuordnen?",
"ASSIGN_TO_ME": "Mir zuweisen", "ASSIGN_TO_ME": "Mir zuweisen",
"TWILIO_WHATSAPP_CAN_REPLY": "Sie können auf diese Konversation nur mit einer Nachrichtenvorlage antworten wegen", "TWILIO_WHATSAPP_CAN_REPLY": "Sie können auf diese Konversation nur mit einer Nachrichtenvorlage antworten wegen",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24-Stunden-Nachrichtenfenster-Beschränkung", "TWILIO_WHATSAPP_24_HOURS_WINDOW": "24-Stunden-Nachrichtenfenster-Beschränkung",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
"REPLYING_TO": "Sie antworten auf:", "REPLYING_TO": "Sie antworten auf:",
"REMOVE_SELECTION": "Auswahl entfernen", "REMOVE_SELECTION": "Auswahl entfernen",
"DOWNLOAD": "Herunterladen", "DOWNLOAD": "Herunterladen",
@@ -293,6 +295,7 @@
"CONVERSATION_ACTIONS": "Konversationsaktionen", "CONVERSATION_ACTIONS": "Konversationsaktionen",
"CONVERSATION_LABELS": "Konversationslabels", "CONVERSATION_LABELS": "Konversationslabels",
"CONVERSATION_INFO": "Konversationsinformationen", "CONVERSATION_INFO": "Konversationsinformationen",
"CONTACT_NOTES": "Contact Notes",
"CONTACT_ATTRIBUTES": "Kontakt-Attribute", "CONTACT_ATTRIBUTES": "Kontakt-Attribute",
"PREVIOUS_CONVERSATION": "Vorherige Konversationen", "PREVIOUS_CONVERSATION": "Vorherige Konversationen",
"MACROS": "Makros", "MACROS": "Makros",
@@ -1,5 +1,11 @@
{ {
"GENERAL_SETTINGS": { "GENERAL_SETTINGS": {
"LIMIT_MESSAGES": {
"CONVERSATION": "You have exceeded the conversation limit. Hacker plan allows only 500 conversations.",
"INBOXES": "You have exceeded the inbox limit. Hacker plan only supports website live-chat. Additional inboxes like email, WhatsApp etc. require a paid plan.",
"AGENTS": "You have exceeded the agent limit. Hacker plan allows only 2 agents.",
"NON_ADMIN": "Please contact your administrator to upgrade the plan and continue using all features."
},
"TITLE": "Kontoeinstellungen", "TITLE": "Kontoeinstellungen",
"SUBMIT": "Einstellungen aktualisieren", "SUBMIT": "Einstellungen aktualisieren",
"BACK": "Zurück", "BACK": "Zurück",
@@ -8,6 +14,26 @@
"ERROR": "Einstellungen konnten nicht aktualisiert werden, versuchen Sie es erneut!", "ERROR": "Einstellungen konnten nicht aktualisiert werden, versuchen Sie es erneut!",
"SUCCESS": "Kontoeinstellungen erfolgreich aktualisiert" "SUCCESS": "Kontoeinstellungen erfolgreich aktualisiert"
}, },
"ACCOUNT_DELETE_SECTION": {
"TITLE": "Delete your Account",
"NOTE": "Once you delete your account, all your data will be deleted.",
"BUTTON_TEXT": "Delete Your Account",
"CONFIRM": {
"TITLE": "Delete Account",
"MESSAGE": "Deleting your Account is irreversible. Enter your account name below to confirm you want to permanently delete it.",
"BUTTON_TEXT": "Löschen",
"DISMISS": "Stornieren",
"PLACE_HOLDER": "Bitte {accountName} zur Bestätigung eingeben"
},
"SUCCESS": "Account marked for deletion",
"FAILURE": "Could not delete account, try again!",
"SCHEDULED_DELETION": {
"TITLE": "Account Scheduled for Deletion",
"MESSAGE_MANUAL": "This account is scheduled for deletion on {deletionDate}. This was requested by an administrator. You can cancel the deletion before this date.",
"MESSAGE_INACTIVITY": "This account is scheduled for deletion on {deletionDate} due to account inactivity. You can cancel the deletion before this date.",
"CLEAR_BUTTON": "Cancel Scheduled Deletion"
}
},
"FORM": { "FORM": {
"ERROR": "Bitte Formularfehler korrigieren", "ERROR": "Bitte Formularfehler korrigieren",
"GENERAL_SECTION": { "GENERAL_SECTION": {
@@ -51,6 +77,7 @@
"UPDATE_CHATWOOT": "Ein Update {latestChatwootVersion} für Chatwoot ist verfügbar. Bitte aktualisieren Sie Ihre Instanz.", "UPDATE_CHATWOOT": "Ein Update {latestChatwootVersion} für Chatwoot ist verfügbar. Bitte aktualisieren Sie Ihre Instanz.",
"LEARN_MORE": "Mehr erfahren", "LEARN_MORE": "Mehr erfahren",
"PAYMENT_PENDING": "Ihre Zahlung steht noch aus. Um Chatwoot weiter zu verwenden, aktualisieren Sie Bitte Ihre Zahlungsinformationen", "PAYMENT_PENDING": "Ihre Zahlung steht noch aus. Um Chatwoot weiter zu verwenden, aktualisieren Sie Bitte Ihre Zahlungsinformationen",
"UPGRADE": "Upgrade to continue using Chatwoot",
"LIMITS_UPGRADE": "Ihr Konto hat die Nutzungsbeschränkungen überschritten. Um Chatwoot weiter nutzen zu können aktualisieren Sie bitte Ihren Tarif", "LIMITS_UPGRADE": "Ihr Konto hat die Nutzungsbeschränkungen überschritten. Um Chatwoot weiter nutzen zu können aktualisieren Sie bitte Ihren Tarif",
"OPEN_BILLING": "Rechnung öffnen" "OPEN_BILLING": "Rechnung öffnen"
}, },
@@ -696,7 +696,8 @@
"SLUG": { "SLUG": {
"LABEL": "Slug", "LABEL": "Slug",
"PLACEHOLDER": "user-guide", "PLACEHOLDER": "user-guide",
"ERROR": "Slug ist erforderlich" "ERROR": "Slug ist erforderlich",
"FORMAT_ERROR": "Please enter a valid slug, for eg: user-guide"
} }
}, },
"PORTAL_SETTINGS": { "PORTAL_SETTINGS": {
@@ -43,7 +43,17 @@
"INBOX_NAME": "Posteingang-Name", "INBOX_NAME": "Posteingang-Name",
"ADD_NAME": "Namen für diesen Posteingang eingeben", "ADD_NAME": "Namen für diesen Posteingang eingeben",
"PICK_NAME": "Wählen Sie einen Namen für Ihren Posteingang aus", "PICK_NAME": "Wählen Sie einen Namen für Ihren Posteingang aus",
"PICK_A_VALUE": "Wählen Sie einen Wert aus" "PICK_A_VALUE": "Wählen Sie einen Wert aus",
"CREATE_INBOX": "Posteingang erstellen"
},
"INSTAGRAM": {
"CONTINUE_WITH_INSTAGRAM": "Continue with Instagram",
"CONNECT_YOUR_INSTAGRAM_PROFILE": "Connect your Instagram Profile",
"HELP": "To add your Instagram profile as a channel, you need to authenticate your Instagram Profile by clicking on 'Continue with Instagram' ",
"ERROR_MESSAGE": "There was an error connecting to Instagram, please try again",
"ERROR_AUTH": "There was an error connecting to Instagram, please try again",
"NEW_INBOX_SUGGESTION": "This Instagram account was previously linked to a different inbox and has now been migrated here. All new messages will appear here. The old inbox will no longer be able to send or receive messages for this account.",
"DUPLICATE_INBOX_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. You won’t be able to send/receive Instagram messages from this inbox anymore."
}, },
"TWITTER": { "TWITTER": {
"HELP": "Um Ihr Twitter-Profil als Kanal hinzuzufügen, müssen Sie Ihr Twitter-Profil authentifizieren, indem Sie auf 'Mit Twitter anmelden' klicken.", "HELP": "Um Ihr Twitter-Profil als Kanal hinzuzufügen, müssen Sie Ihr Twitter-Profil authentifizieren, indem Sie auf 'Mit Twitter anmelden' klicken.",
@@ -753,7 +763,8 @@
"EMAIL": "E-Mail", "EMAIL": "E-Mail",
"TELEGRAM": "Telegramm", "TELEGRAM": "Telegramm",
"LINE": "Line", "LINE": "Line",
"API": "API-Kanal" "API": "API-Kanal",
"INSTAGRAM": "Instagram"
} }
} }
} }
@@ -329,11 +329,34 @@
"HEADER_KNOW_MORE": "Know more", "HEADER_KNOW_MORE": "Know more",
"COPILOT": { "COPILOT": {
"SEND_MESSAGE": "Nachricht senden...", "SEND_MESSAGE": "Nachricht senden...",
"EMPTY_MESSAGE": "There was an error generating the response. Please try again.",
"LOADER": "Captain denkt nach", "LOADER": "Captain denkt nach",
"YOU": "Sie", "YOU": "Sie",
"USE": "Verwenden", "USE": "Verwenden",
"RESET": "Zurücksetzen", "RESET": "Zurücksetzen",
"SELECT_ASSISTANT": "Assistent auswählen" "SELECT_ASSISTANT": "Assistent auswählen",
"PROMPTS": {
"SUMMARIZE": {
"LABEL": "Summarize this conversation",
"CONTENT": "Summarize the key points discussed between the customer and the support agent, including the customer's concerns, questions, and the solutions or responses provided by the support agent"
},
"SUGGEST": {
"LABEL": "Suggest an answer",
"CONTENT": "Analyze the customer's inquiry, and draft a response that effectively addresses their concerns or questions. Ensure the reply is clear, concise, and provides helpful information."
},
"RATE": {
"LABEL": "Rate this conversation",
"CONTENT": "Review the conversation to see how well it meets the customer's needs. Share a rating out of 5 based on tone, clarity, and effectiveness."
}
}
},
"PLAYGROUND": {
"USER": "Sie",
"ASSISTANT": "Assistant",
"MESSAGE_PLACEHOLDER": "Schreiben Sie Ihre Nachricht...",
"HEADER": "Playground",
"DESCRIPTION": "Use this playground to send messages to your assistant and check if it responds accurately, quickly, and in the tone you expect.",
"CREDIT_NOTE": "Messages sent here will count toward your Captain credits."
}, },
"PAYWALL": { "PAYWALL": {
"TITLE": "Upgrade auf Captain AI", "TITLE": "Upgrade auf Captain AI",
@@ -373,21 +396,45 @@
"ERROR_MESSAGE": "There was an error creating the assistant, please try again." "ERROR_MESSAGE": "There was an error creating the assistant, please try again."
}, },
"FORM": { "FORM": {
"UPDATE": "Aktualisieren",
"SECTIONS": {
"BASIC_INFO": "Basic Information",
"SYSTEM_MESSAGES": "System Messages",
"INSTRUCTIONS": "Instructions",
"FEATURES": "Funktionen",
"TOOLS": "Tools "
},
"NAME": { "NAME": {
"LABEL": "Assistant Name", "LABEL": "Name",
"PLACEHOLDER": "Enter a name for the assistant", "PLACEHOLDER": "Enter assistant name",
"ERROR": "Please provide a name for the assistant" "ERROR": "The name is required"
}, },
"DESCRIPTION": { "DESCRIPTION": {
"LABEL": "Assistant Description", "LABEL": "Beschreibung",
"PLACEHOLDER": "Describe how and where this assistant will be used", "PLACEHOLDER": "Enter assistant description",
"ERROR": "A description is required" "ERROR": "The description is required"
}, },
"PRODUCT_NAME": { "PRODUCT_NAME": {
"LABEL": "Product Name", "LABEL": "Product Name",
"PLACEHOLDER": "Enter the name of the product this assistant is designed for", "PLACEHOLDER": "Enter product name",
"ERROR": "The product name is required" "ERROR": "The product name is required"
}, },
"WELCOME_MESSAGE": {
"LABEL": "Welcome Message",
"PLACEHOLDER": "Enter welcome message"
},
"HANDOFF_MESSAGE": {
"LABEL": "Handoff Message",
"PLACEHOLDER": "Enter handoff message"
},
"RESOLUTION_MESSAGE": {
"LABEL": "Resolution Message",
"PLACEHOLDER": "Enter resolution message"
},
"INSTRUCTIONS": {
"LABEL": "Instructions",
"PLACEHOLDER": "Enter instructions for the assistant"
},
"FEATURES": { "FEATURES": {
"TITLE": "Funktionen", "TITLE": "Funktionen",
"ALLOW_CONVERSATION_FAQS": "Generate FAQs from resolved conversations", "ALLOW_CONVERSATION_FAQS": "Generate FAQs from resolved conversations",
@@ -397,7 +444,8 @@
"EDIT": { "EDIT": {
"TITLE": "Update the assistant", "TITLE": "Update the assistant",
"SUCCESS_MESSAGE": "The assistant has been successfully updated", "SUCCESS_MESSAGE": "The assistant has been successfully updated",
"ERROR_MESSAGE": "There was an error updating the assistant, please try again." "ERROR_MESSAGE": "There was an error updating the assistant, please try again.",
"NOT_FOUND": "Could not find the assistant. Please try again."
}, },
"OPTIONS": { "OPTIONS": {
"EDIT_ASSISTANT": "Edit Assistant", "EDIT_ASSISTANT": "Edit Assistant",
@@ -83,6 +83,22 @@
"ACTION_PARAMETERS_REQUIRED": "Aktionsparameter sind erforderlich", "ACTION_PARAMETERS_REQUIRED": "Aktionsparameter sind erforderlich",
"ATLEAST_ONE_CONDITION_REQUIRED": "Mindestens eine Bedingung ist erforderlich", "ATLEAST_ONE_CONDITION_REQUIRED": "Mindestens eine Bedingung ist erforderlich",
"ATLEAST_ONE_ACTION_REQUIRED": "Mindestens eine Aktion ist erforderlich" "ATLEAST_ONE_ACTION_REQUIRED": "Mindestens eine Aktion ist erforderlich"
},
"ACTIONS": {
"ASSIGN_TEAM": "Assign a Team",
"ASSIGN_AGENT": "Assign an Agent",
"ADD_LABEL": "Add a Label",
"REMOVE_LABEL": "Remove a Label",
"REMOVE_ASSIGNED_TEAM": "Remove Assigned Team",
"SEND_EMAIL_TRANSCRIPT": "Send an Email Transcript",
"MUTE_CONVERSATION": "Unterhaltung stummschalten",
"SNOOZE_CONVERSATION": "Snooze-Konversation",
"RESOLVE_CONVERSATION": "Unterhaltung als gelöst kennzeichnen",
"SEND_ATTACHMENT": "Send Attachment",
"SEND_MESSAGE": "Send a Message",
"CHANGE_PRIORITY": "Priorität ändern",
"ADD_PRIVATE_NOTE": "Add a Private Note",
"SEND_WEBHOOK_EVENT": "Send Webhook Event"
} }
} }
} }
@@ -387,7 +387,8 @@
"LABEL": "Firmenname", "LABEL": "Firmenname",
"PLACEHOLDER": "Wayne Enterprises" "PLACEHOLDER": "Wayne Enterprises"
}, },
"SUBMIT": "Abschicken" "SUBMIT": "Abschicken",
"CANCEL": "Stornieren"
} }
}, },
"KEYBOARD_SHORTCUTS": { "KEYBOARD_SHORTCUTS": {
@@ -2,23 +2,13 @@
"AGENT_BOTS": { "AGENT_BOTS": {
"HEADER": "Bots", "HEADER": "Bots",
"LOADING_EDITOR": "Loading editor...", "LOADING_EDITOR": "Loading editor...",
"DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try.You can manage your bots from this page or create new ones using the 'Configure new bot' button.", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.",
"LEARN_MORE": "Learn about agent bots", "LEARN_MORE": "Learn about agent bots",
"CSML_BOT_EDITOR": { "GLOBAL_BOT": "System bot",
"NAME": { "GLOBAL_BOT_BADGE": "System",
"LABEL": "Bot name", "AVATAR": {
"PLACEHOLDER": "Name your bot.", "SUCCESS_DELETE": "Bot avatar deleted successfully",
"ERROR": "Το Όνομα Bot είναι απαραίτητο." "ERROR_DELETE": "Error deleting bot avatar, please try again"
},
"DESCRIPTION": {
"LABEL": "Bot description",
"PLACEHOLDER": "Τι κάνει αυτό το bot?"
},
"BOT_CONFIG": {
"ERROR": "Παρακαλώ εισάγετε την διαμόρφωση του CSML bot παραπάνω.",
"API_ERROR": "Your CSML configuration is invalid. Please fix it and try again."
},
"SUBMIT": "Επαλήθευση και αποθήκευση"
}, },
"BOT_CONFIGURATION": { "BOT_CONFIGURATION": {
"TITLE": "Επιλέξτε ενός Agent Bot", "TITLE": "Επιλέξτε ενός Agent Bot",
@@ -32,7 +22,7 @@
"SELECT_PLACEHOLDER": "Select bot" "SELECT_PLACEHOLDER": "Select bot"
}, },
"ADD": { "ADD": {
"TITLE": "Ρύθμιση νέου bot", "TITLE": "Add Bot",
"CANCEL_BUTTON_TEXT": "Άκυρο", "CANCEL_BUTTON_TEXT": "Άκυρο",
"API": { "API": {
"SUCCESS_MESSAGE": "Το bot προστέθηκε επιτυχώς.", "SUCCESS_MESSAGE": "Το bot προστέθηκε επιτυχώς.",
@@ -40,16 +30,22 @@
} }
}, },
"LIST": { "LIST": {
"404": "No bots found. You can create a bot by clicking the 'Configure new bot' button ↗", "404": "No bots found. You can create a bot by clicking the 'Add Bot' button.",
"LOADING": "Fetching bots...", "LOADING": "Fetching bots...",
"TYPE": "Bot type" "TABLE_HEADER": {
"DETAILS": "Bot Details",
"URL": "Σύνδεσμος Webhook"
}
}, },
"DELETE": { "DELETE": {
"BUTTON_TEXT": "Διαγραφή", "BUTTON_TEXT": "Διαγραφή",
"TITLE": "Delete bot", "TITLE": "Delete bot",
"SUBMIT": "Διαγραφή", "CONFIRM": {
"CANCEL_BUTTON_TEXT": "Άκυρο", "TITLE": "Επιβεβαίωση Διαγραφής",
"DESCRIPTION": "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό το bot? Αυτή η ενέργεια είναι μη αναστρέψιμη.", "MESSAGE": "Are you sure you want to delete {name}?",
"YES": "Ναι, Διέγραψε το",
"NO": "Όχι, Διατήρηση"
},
"API": { "API": {
"SUCCESS_MESSAGE": "Το bot διαγράφηκε επιτυχώς.", "SUCCESS_MESSAGE": "Το bot διαγράφηκε επιτυχώς.",
"ERROR_MESSAGE": "Could not delete bot. Please try again." "ERROR_MESSAGE": "Could not delete bot. Please try again."
@@ -57,17 +53,44 @@
}, },
"EDIT": { "EDIT": {
"BUTTON_TEXT": "Επεξεργασία", "BUTTON_TEXT": "Επεξεργασία",
"LOADING": "Fetching bots...",
"TITLE": "Edit bot", "TITLE": "Edit bot",
"CANCEL_BUTTON_TEXT": "Άκυρο",
"API": { "API": {
"SUCCESS_MESSAGE": "Το bot ενημερώθηκε επιτυχώς.", "SUCCESS_MESSAGE": "Το bot ενημερώθηκε επιτυχώς.",
"ERROR_MESSAGE": "Could not update bot. Please try again." "ERROR_MESSAGE": "Could not update bot. Please try again."
} }
}, },
"FORM": {
"AVATAR": {
"LABEL": "Bot avatar"
},
"NAME": {
"LABEL": "Bot name",
"PLACEHOLDER": "Enter bot name",
"REQUIRED": "Το Όνομα Bot είναι απαραίτητο"
},
"DESCRIPTION": {
"LABEL": "Περιγραφή",
"PLACEHOLDER": "Τι κάνει αυτό το bot?"
},
"WEBHOOK_URL": {
"LABEL": "Σύνδεσμος Webhook",
"PLACEHOLDER": "https://example.com/webhook",
"REQUIRED": "Webhook URL is required"
},
"ERRORS": {
"NAME": "Το Όνομα Bot είναι απαραίτητο",
"URL": "Webhook URL is required",
"VALID_URL": "Please enter a valid URL starting with http:// or https://"
},
"CANCEL": "Άκυρο",
"CREATE": "Create Bot",
"UPDATE": "Update Bot"
},
"WEBHOOK": {
"DESCRIPTION": "Configure a webhook bot to integrate with your custom services. The bot will receive and process events from conversations and can respond to them."
},
"TYPES": { "TYPES": {
"WEBHOOK": "Webhook bot", "WEBHOOK": "Webhook bot"
"CSML": "CSML bot"
} }
} }
} }
@@ -126,6 +126,44 @@
"ATLEAST_ONE_CONDITION_REQUIRED": "At least one condition is required", "ATLEAST_ONE_CONDITION_REQUIRED": "At least one condition is required",
"ATLEAST_ONE_ACTION_REQUIRED": "At least one action is required" "ATLEAST_ONE_ACTION_REQUIRED": "At least one action is required"
}, },
"NONE_OPTION": "Κανένα" "NONE_OPTION": "Κανένα",
"EVENTS": {
"CONVERSATION_CREATED": "Δημιουργήθηκε Συνομιλία",
"CONVERSATION_UPDATED": "Η Συνομιλία Ενημερώθηκε",
"MESSAGE_CREATED": "Message Created",
"CONVERSATION_OPENED": "Conversation Opened"
},
"ACTIONS": {
"ASSIGN_AGENT": "Assign to Agent",
"ASSIGN_TEAM": "Assign a Team",
"ADD_LABEL": "Add a Label",
"REMOVE_LABEL": "Remove a Label",
"SEND_EMAIL_TO_TEAM": "Send an Email to Team",
"SEND_EMAIL_TRANSCRIPT": "Send an Email Transcript",
"MUTE_CONVERSATION": "Σίγαση Συνομιλίας",
"SNOOZE_CONVERSATION": "Αναβολή Συνομιλίας",
"RESOLVE_CONVERSATION": "Επίλυση Συνομιλίας",
"SEND_WEBHOOK_EVENT": "Send Webhook Event",
"SEND_ATTACHMENT": "Send Attachment",
"SEND_MESSAGE": "Send a Message",
"CHANGE_PRIORITY": "Change Priority",
"ADD_SLA": "Add SLA"
},
"ATTRIBUTES": {
"MESSAGE_TYPE": "Message Type",
"MESSAGE_CONTAINS": "Message Contains",
"EMAIL": "Email",
"INBOX": "Εισερχόμενα",
"CONVERSATION_LANGUAGE": "Conversation Language",
"PHONE_NUMBER": "Αριθμός Τηλεφώνου",
"STATUS": "Κατάσταση",
"BROWSER_LANGUAGE": "Γλώσσα Περιήγησης",
"MAIL_SUBJECT": "Email Subject",
"COUNTRY_NAME": "Χώρα",
"REFERER_LINK": "Referrer Link",
"ASSIGNEE_NAME": "Assignee",
"TEAM_NAME": "Ομάδα",
"PRIORITY": "Priority"
}
} }
} }
@@ -544,6 +544,9 @@
"WROTE": "wrote", "WROTE": "wrote",
"YOU": "You", "YOU": "You",
"SAVE": "Save note", "SAVE": "Save note",
"EXPAND": "Expand",
"COLLAPSE": "Collapse",
"NO_NOTES": "No notes, you can add notes from the contact details page.",
"EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above."
} }
}, },
@@ -32,10 +32,12 @@
"LOADING_CONVERSATIONS": "Φόρτωση Συζητήσεων", "LOADING_CONVERSATIONS": "Φόρτωση Συζητήσεων",
"CANNOT_REPLY": "Δεν μπορείτε να απαντήσετε εξαιτίας", "CANNOT_REPLY": "Δεν μπορείτε να απαντήσετε εξαιτίας",
"24_HOURS_WINDOW": "του περιορισμού των 24 ωρών", "24_HOURS_WINDOW": "του περιορισμού των 24 ωρών",
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "Αυτή η συνομιλία δεν έχει ανατεθεί σε εσάς. Θα θέλατε να αντιστοιχίσετε αυτή τη συνομιλία στον εαυτό σας;", "NOT_ASSIGNED_TO_YOU": "Αυτή η συνομιλία δεν έχει ανατεθεί σε εσάς. Θα θέλατε να αντιστοιχίσετε αυτή τη συνομιλία στον εαυτό σας;",
"ASSIGN_TO_ME": "Ανάθεση σε μένα", "ASSIGN_TO_ME": "Ανάθεση σε μένα",
"TWILIO_WHATSAPP_CAN_REPLY": "Μπορείτε να απαντήσετε μόνο σε αυτή τη συνομιλία χρησιμοποιώντας ένα πρότυπο μήνυμα επειδή", "TWILIO_WHATSAPP_CAN_REPLY": "Μπορείτε να απαντήσετε μόνο σε αυτή τη συνομιλία χρησιμοποιώντας ένα πρότυπο μήνυμα επειδή",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "του περιορισμού των 24 ωρών", "TWILIO_WHATSAPP_24_HOURS_WINDOW": "του περιορισμού των 24 ωρών",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
"REPLYING_TO": "Απαντάτε στο:", "REPLYING_TO": "Απαντάτε στο:",
"REMOVE_SELECTION": "Διαγραφή Επιλογής", "REMOVE_SELECTION": "Διαγραφή Επιλογής",
"DOWNLOAD": "Κατέβασμα", "DOWNLOAD": "Κατέβασμα",
@@ -293,6 +295,7 @@
"CONVERSATION_ACTIONS": "Ενέργειες Συνομιλίας", "CONVERSATION_ACTIONS": "Ενέργειες Συνομιλίας",
"CONVERSATION_LABELS": "Ετικέτες συνομιλίας", "CONVERSATION_LABELS": "Ετικέτες συνομιλίας",
"CONVERSATION_INFO": "Πληροφορίες Συνομιλίας", "CONVERSATION_INFO": "Πληροφορίες Συνομιλίας",
"CONTACT_NOTES": "Contact Notes",
"CONTACT_ATTRIBUTES": "Ιδιότητες Επαφής", "CONTACT_ATTRIBUTES": "Ιδιότητες Επαφής",
"PREVIOUS_CONVERSATION": "Προηγούμενες συνομιλίες", "PREVIOUS_CONVERSATION": "Προηγούμενες συνομιλίες",
"MACROS": "Μακροεντολές", "MACROS": "Μακροεντολές",
@@ -1,5 +1,11 @@
{ {
"GENERAL_SETTINGS": { "GENERAL_SETTINGS": {
"LIMIT_MESSAGES": {
"CONVERSATION": "You have exceeded the conversation limit. Hacker plan allows only 500 conversations.",
"INBOXES": "You have exceeded the inbox limit. Hacker plan only supports website live-chat. Additional inboxes like email, WhatsApp etc. require a paid plan.",
"AGENTS": "You have exceeded the agent limit. Hacker plan allows only 2 agents.",
"NON_ADMIN": "Please contact your administrator to upgrade the plan and continue using all features."
},
"TITLE": "Ρυθμίσεις", "TITLE": "Ρυθμίσεις",
"SUBMIT": "Ενημέρωση Ρυθμίσεων", "SUBMIT": "Ενημέρωση Ρυθμίσεων",
"BACK": "Πίσω", "BACK": "Πίσω",
@@ -8,6 +14,26 @@
"ERROR": "Δεν μπορεί να ενημερωθεί η ρύθμιση προσπαθήστε ξανά!", "ERROR": "Δεν μπορεί να ενημερωθεί η ρύθμιση προσπαθήστε ξανά!",
"SUCCESS": "Επιτυχής Ενημέρωση Ρυθμίσεων" "SUCCESS": "Επιτυχής Ενημέρωση Ρυθμίσεων"
}, },
"ACCOUNT_DELETE_SECTION": {
"TITLE": "Delete your Account",
"NOTE": "Once you delete your account, all your data will be deleted.",
"BUTTON_TEXT": "Delete Your Account",
"CONFIRM": {
"TITLE": "Delete Account",
"MESSAGE": "Deleting your Account is irreversible. Enter your account name below to confirm you want to permanently delete it.",
"BUTTON_TEXT": "Διαγραφή",
"DISMISS": "Άκυρο",
"PLACE_HOLDER": "Παρακαλώ πληκτρολογήστε {accountName} για επιβεβαίωση"
},
"SUCCESS": "Account marked for deletion",
"FAILURE": "Could not delete account, try again!",
"SCHEDULED_DELETION": {
"TITLE": "Account Scheduled for Deletion",
"MESSAGE_MANUAL": "This account is scheduled for deletion on {deletionDate}. This was requested by an administrator. You can cancel the deletion before this date.",
"MESSAGE_INACTIVITY": "This account is scheduled for deletion on {deletionDate} due to account inactivity. You can cancel the deletion before this date.",
"CLEAR_BUTTON": "Cancel Scheduled Deletion"
}
},
"FORM": { "FORM": {
"ERROR": "Παρακαλώ διορθώστε τα λάθη της Φόρμας", "ERROR": "Παρακαλώ διορθώστε τα λάθη της Φόρμας",
"GENERAL_SECTION": { "GENERAL_SECTION": {
@@ -51,6 +77,7 @@
"UPDATE_CHATWOOT": "Μια ενημέρωση {latestChatwootVersion} για το Chatwoot είναι διαθέσιμη. Ενημερώστε την εφαρμογή σας.", "UPDATE_CHATWOOT": "Μια ενημέρωση {latestChatwootVersion} για το Chatwoot είναι διαθέσιμη. Ενημερώστε την εφαρμογή σας.",
"LEARN_MORE": "Μάθετε περισσότερα", "LEARN_MORE": "Μάθετε περισσότερα",
"PAYMENT_PENDING": "Your payment is pending. Please update your payment information to continue using Chatwoot", "PAYMENT_PENDING": "Your payment is pending. Please update your payment information to continue using Chatwoot",
"UPGRADE": "Upgrade to continue using Chatwoot",
"LIMITS_UPGRADE": "Your account has exceeded the usage limits, please upgrade your plan to continue using Chatwoot", "LIMITS_UPGRADE": "Your account has exceeded the usage limits, please upgrade your plan to continue using Chatwoot",
"OPEN_BILLING": "Open billing" "OPEN_BILLING": "Open billing"
}, },
@@ -696,7 +696,8 @@
"SLUG": { "SLUG": {
"LABEL": "Slug", "LABEL": "Slug",
"PLACEHOLDER": "user-guide", "PLACEHOLDER": "user-guide",
"ERROR": "Το Slug είναι απαραίτητο" "ERROR": "Το Slug είναι απαραίτητο",
"FORMAT_ERROR": "Please enter a valid slug, for eg: user-guide"
} }
}, },
"PORTAL_SETTINGS": { "PORTAL_SETTINGS": {

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