From 40312b95b83865ce2a3595586c71970a28f37f4f Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Thu, 27 Jun 2024 16:06:19 -0300 Subject: [PATCH 01/59] feat: create contact entity --- apps/meteor/server/models/LivechatContacts.ts | 6 +++++ .../server/models/raw/LivechatContacts.ts | 11 ++++++++ apps/meteor/server/models/startup.ts | 1 + .../end-to-end/api/livechat/25-contacts.ts | 0 packages/core-typings/src/ILivechatContact.ts | 25 +++++++++++++++++++ packages/core-typings/src/index.ts | 1 + packages/model-typings/src/index.ts | 1 + .../src/models/ILivechatContactsModel.ts | 5 ++++ packages/models/src/index.ts | 2 ++ 9 files changed, 52 insertions(+) create mode 100644 apps/meteor/server/models/LivechatContacts.ts create mode 100644 apps/meteor/server/models/raw/LivechatContacts.ts create mode 100644 apps/meteor/tests/end-to-end/api/livechat/25-contacts.ts create mode 100644 packages/core-typings/src/ILivechatContact.ts create mode 100644 packages/model-typings/src/models/ILivechatContactsModel.ts diff --git a/apps/meteor/server/models/LivechatContacts.ts b/apps/meteor/server/models/LivechatContacts.ts new file mode 100644 index 000000000000..d341ae87b021 --- /dev/null +++ b/apps/meteor/server/models/LivechatContacts.ts @@ -0,0 +1,6 @@ +import { registerModel } from '@rocket.chat/models'; + +import { db } from '../database/utils'; +import { LivechatContactsRaw } from './raw/LivechatContacts'; + +registerModel('ILivechatContactsModel', new LivechatContactsRaw(db)); diff --git a/apps/meteor/server/models/raw/LivechatContacts.ts b/apps/meteor/server/models/raw/LivechatContacts.ts new file mode 100644 index 000000000000..1f5f29a3cc78 --- /dev/null +++ b/apps/meteor/server/models/raw/LivechatContacts.ts @@ -0,0 +1,11 @@ +import type { ILivechatContact, RocketChatRecordDeleted } from '@rocket.chat/core-typings'; +import type { ILivechatContactsModel } from '@rocket.chat/model-typings'; +import type { Collection, Db } from 'mongodb'; + +import { BaseRaw } from './BaseRaw'; + +export class LivechatContactsRaw extends BaseRaw implements ILivechatContactsModel { + constructor(db: Db, trash?: Collection>) { + super(db, 'livechat_contact', trash); + } +} diff --git a/apps/meteor/server/models/startup.ts b/apps/meteor/server/models/startup.ts index 3d6dc6066689..eaca155674f5 100644 --- a/apps/meteor/server/models/startup.ts +++ b/apps/meteor/server/models/startup.ts @@ -22,6 +22,7 @@ import './Integrations'; import './Invites'; import './LivechatAgentActivity'; import './LivechatBusinessHours'; +import './LivechatContacts'; import './LivechatCustomField'; import './LivechatDepartment'; import './LivechatDepartmentAgents'; diff --git a/apps/meteor/tests/end-to-end/api/livechat/25-contacts.ts b/apps/meteor/tests/end-to-end/api/livechat/25-contacts.ts new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/packages/core-typings/src/ILivechatContact.ts b/packages/core-typings/src/ILivechatContact.ts new file mode 100644 index 000000000000..149dab2b88b1 --- /dev/null +++ b/packages/core-typings/src/ILivechatContact.ts @@ -0,0 +1,25 @@ +import type { IRocketChatRecord } from './IRocketChatRecord'; + +export interface ILivechatContactChannel { + name: string; + verified: boolean; + visitorId: string; +} + +export interface ILivechatContactConflictingField { + field: string; + oldValue: string; + newValue: string; +} + +export interface ILivechatContact extends IRocketChatRecord { + name: string; + phones: string[]; + emails: string[]; + contactManager?: string; + unknown?: boolean; + hasConflict?: boolean; + conflictingFields?: ILivechatContactConflictingField[]; + customFields?: Record; + channels?: ILivechatContactChannel[]; +} diff --git a/packages/core-typings/src/index.ts b/packages/core-typings/src/index.ts index c310ba486516..decb58966d30 100644 --- a/packages/core-typings/src/index.ts +++ b/packages/core-typings/src/index.ts @@ -96,6 +96,7 @@ export * from './ILivechatCustomField'; export * from './IOmnichannel'; export * from './ILivechatAgentActivity'; export * from './ILivechatBusinessHour'; +export * from './ILivechatContact'; export * from './ILivechatVisitor'; export * from './ILivechatDepartmentAgents'; export * from './ILivechatAgent'; diff --git a/packages/model-typings/src/index.ts b/packages/model-typings/src/index.ts index 23e77ff1de29..de19289812fa 100644 --- a/packages/model-typings/src/index.ts +++ b/packages/model-typings/src/index.ts @@ -21,6 +21,7 @@ export * from './models/IInvitesModel'; export * from './models/IImportDataModel'; export * from './models/ILivechatAgentActivityModel'; export * from './models/ILivechatBusinessHoursModel'; +export * from './models/ILivechatContactsModel'; export * from './models/ILivechatCustomFieldModel'; export * from './models/ILivechatDepartmentAgentsModel'; export * from './models/ILivechatDepartmentModel'; diff --git a/packages/model-typings/src/models/ILivechatContactsModel.ts b/packages/model-typings/src/models/ILivechatContactsModel.ts new file mode 100644 index 000000000000..bcf48a837400 --- /dev/null +++ b/packages/model-typings/src/models/ILivechatContactsModel.ts @@ -0,0 +1,5 @@ +import type { ILivechatContact } from '@rocket.chat/core-typings'; + +import type { IBaseModel } from './IBaseModel'; + +export type ILivechatContactsModel = IBaseModel; diff --git a/packages/models/src/index.ts b/packages/models/src/index.ts index e1cf91f1b0ee..aae411e7f4e8 100644 --- a/packages/models/src/index.ts +++ b/packages/models/src/index.ts @@ -20,6 +20,7 @@ import type { IImportDataModel, ILivechatAgentActivityModel, ILivechatBusinessHoursModel, + ILivechatContactsModel, ILivechatCustomFieldModel, ILivechatDepartmentAgentsModel, ILivechatDepartmentModel, @@ -116,6 +117,7 @@ export const Integrations = proxify('IIntegrationsModel'); export const Invites = proxify('IInvitesModel'); export const LivechatAgentActivity = proxify('ILivechatAgentActivityModel'); export const LivechatBusinessHours = proxify('ILivechatBusinessHoursModel'); +export const LivechatContacts = proxify('ILivechatContactsModel'); export const LivechatCustomField = proxify('ILivechatCustomFieldModel'); export const LivechatDepartmentAgents = proxify('ILivechatDepartmentAgentsModel'); export const LivechatDepartment = proxify('ILivechatDepartmentModel'); From 668d93465dd45d85e0206856d4173178ea0302f1 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Thu, 27 Jun 2024 18:06:57 -0300 Subject: [PATCH 02/59] feat: add create contact endpoint --- .../app/livechat/server/api/v1/contact.ts | 12 +++ .../app/livechat/server/lib/Contacts.ts | 91 ++++++++++++++++++- packages/rest-typings/src/v1/omnichannel.ts | 48 ++++++++++ 3 files changed, 149 insertions(+), 2 deletions(-) diff --git a/apps/meteor/app/livechat/server/api/v1/contact.ts b/apps/meteor/app/livechat/server/api/v1/contact.ts index 57c1d117f1b0..4b93bedd10ac 100644 --- a/apps/meteor/app/livechat/server/api/v1/contact.ts +++ b/apps/meteor/app/livechat/server/api/v1/contact.ts @@ -82,3 +82,15 @@ API.v1.addRoute( }, }, ); + +API.v1.addRoute( + 'omnichannel/contacts', + { authRequired: true, permissionsRequired: ['view-l-room'], validateParams: isPOSTOmnichannelContactsProps }, + { + async post() { + const contactId = await createContact({ ...this.bodyParams, unknown: false }); + + return API.v1.success({ contactId }); + }, + }, +); diff --git a/apps/meteor/app/livechat/server/lib/Contacts.ts b/apps/meteor/app/livechat/server/lib/Contacts.ts index 2e648b02f5dd..401342614482 100644 --- a/apps/meteor/app/livechat/server/lib/Contacts.ts +++ b/apps/meteor/app/livechat/server/lib/Contacts.ts @@ -1,5 +1,14 @@ -import type { ILivechatCustomField, ILivechatVisitor, IOmnichannelRoom } from '@rocket.chat/core-typings'; -import { LivechatVisitors, Users, LivechatRooms, LivechatCustomField, LivechatInquiry, Rooms, Subscriptions } from '@rocket.chat/models'; +import type { ILivechatContactChannel, ILivechatCustomField, ILivechatVisitor, IOmnichannelRoom } from '@rocket.chat/core-typings'; +import { + LivechatVisitors, + Users, + LivechatRooms, + LivechatCustomField, + LivechatInquiry, + Rooms, + Subscriptions, + LivechatContacts, +} from '@rocket.chat/models'; import { check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; import type { MatchKeysAndValues, OnlyFieldsOfType } from 'mongodb'; @@ -22,6 +31,16 @@ type RegisterContactProps = { }; }; +type CreateContactParams = { + name: string; + emails: string[]; + phones: string[]; + unknown: boolean; + customFields?: Record; + contactManager?: string; + channels?: ILivechatContactChannel[]; +}; + export const Contacts = { async registerContact({ token, @@ -152,3 +171,71 @@ export const Contacts = { return contactId; }, }; + +export async function createContact(params: CreateContactParams): Promise { + const { name, emails, phones, customFields = {}, contactManager, channels, unknown } = params; + + if (contactManager) { + const contactManagerUser = await Users.findOneById(contactManager); + if (!contactManagerUser) { + throw new Meteor.Error('error-contact-manager-not-found', `No user found with id ${contactManager}`); + } + if (!contactManagerUser.roles || !Array.isArray(contactManagerUser.roles) || !contactManagerUser.roles.includes('livechat-agent')) { + throw new Meteor.Error('error-invalid-contact-manager', 'The contact manager must have the role "livechat-agent"'); + } + } + + await validateCustomFields(customFields); + + const { insertedId } = await LivechatContacts.insertOne({ + name, + emails, + phones, + contactManager, + channels, + customFields, + unknown, + }); + + return insertedId; +} + +async function validateCustomFields(customFields: Record) { + const allowedCustomFields = LivechatCustomField.findByScope< + Pick + >( + 'visitor', + { + projection: { _id: 1, label: 1, regexp: 1, required: 1 }, + }, + false, + ); + + const livechatData: Record = {}; + + for await (const cf of allowedCustomFields) { + if (!customFields.hasOwnProperty(cf._id)) { + if (cf.required) { + throw new Error(i18n.t('error-invalid-custom-field-value', { field: cf.label })); + } + continue; + } + const cfValue: string = trim(customFields[cf._id]); + + if (!cfValue || typeof cfValue !== 'string') { + if (cf.required) { + throw new Error(i18n.t('error-invalid-custom-field-value', { field: cf.label })); + } + continue; + } + + if (cf.regexp) { + const regex = new RegExp(cf.regexp); + if (!regex.test(cfValue)) { + throw new Error(i18n.t('error-invalid-custom-field-value', { field: cf.label })); + } + } + + livechatData[cf._id] = cfValue; + } +} diff --git a/packages/rest-typings/src/v1/omnichannel.ts b/packages/rest-typings/src/v1/omnichannel.ts index 3dad53cbe8d2..cf599b6810ba 100644 --- a/packages/rest-typings/src/v1/omnichannel.ts +++ b/packages/rest-typings/src/v1/omnichannel.ts @@ -1211,6 +1211,50 @@ const POSTOmnichannelContactSchema = { export const isPOSTOmnichannelContactProps = ajv.compile(POSTOmnichannelContactSchema); +type POSTOmnichannelContactsProps = { + name: string; + emails: string[]; + phones: string[]; + customFields?: Record; + contactManager?: string; +}; + +const POSTOmnichannelContactsSchema = { + type: 'object', + properties: { + name: { + type: 'string', + }, + emails: { + type: 'array', + items: { + type: 'string', + }, + uniqueItems: true, + }, + phone: { + type: 'array', + items: { + type: 'string', + }, + uniqueItems: true, + nullable: true, + }, + customFields: { + type: 'object', + nullable: true, + }, + contactManager: { + type: 'string', + nullable: true, + }, + }, + required: ['name', 'emails', 'phones'], + additionalProperties: false, +}; + +export const isPOSTOmnichannelContactsProps = ajv.compile(POSTOmnichannelContactsSchema); + type GETOmnichannelContactProps = { contactId: string }; const GETOmnichannelContactSchema = { @@ -3642,6 +3686,10 @@ export type OmnichannelEndpoints = { GET: (params: GETOmnichannelContactProps) => { contact: ILivechatVisitor | null }; }; + '/v1/omnichannel/contacts': { + POST: (params: POSTOmnichannelContactsProps) => { contactId: string }; + }; + '/v1/omnichannel/contact.search': { GET: (params: GETOmnichannelContactSearchProps) => { contact: ILivechatVisitor | null }; }; From de25810beb42e9d9c1017012e400ab144ec6bcdb Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Thu, 27 Jun 2024 18:07:45 -0300 Subject: [PATCH 03/59] add deprecation message to old endpoint --- apps/meteor/app/livechat/server/api/v1/contact.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/meteor/app/livechat/server/api/v1/contact.ts b/apps/meteor/app/livechat/server/api/v1/contact.ts index 4b93bedd10ac..05587c689766 100644 --- a/apps/meteor/app/livechat/server/api/v1/contact.ts +++ b/apps/meteor/app/livechat/server/api/v1/contact.ts @@ -1,11 +1,15 @@ import { LivechatCustomField, LivechatVisitors } from '@rocket.chat/models'; +import { isPOSTOmnichannelContactsProps } from '@rocket.chat/rest-typings'; import { escapeRegExp } from '@rocket.chat/string-helpers'; import { Match, check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; import { API } from '../../../../api/server'; -import { Contacts } from '../../lib/Contacts'; +import { Contacts, createContact } from '../../lib/Contacts'; +/** + * @deprecated to create a contact, use the omnichannel/contacts endpoint + */ API.v1.addRoute( 'omnichannel/contact', { authRequired: true, permissionsRequired: ['view-l-room'] }, From 74c9ed824c3f374de0b9fa82fd7aee3302ec94c4 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Thu, 27 Jun 2024 18:12:03 -0300 Subject: [PATCH 04/59] remove unused file --- apps/meteor/tests/end-to-end/api/livechat/25-contacts.ts | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 apps/meteor/tests/end-to-end/api/livechat/25-contacts.ts diff --git a/apps/meteor/tests/end-to-end/api/livechat/25-contacts.ts b/apps/meteor/tests/end-to-end/api/livechat/25-contacts.ts deleted file mode 100644 index e69de29bb2d1..000000000000 From ae70c00a47b0caf8e2e0f56ab058863a2f857d2e Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Thu, 27 Jun 2024 18:52:20 -0300 Subject: [PATCH 05/59] fix: typo in prop --- packages/rest-typings/src/v1/omnichannel.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/rest-typings/src/v1/omnichannel.ts b/packages/rest-typings/src/v1/omnichannel.ts index cf599b6810ba..7688e88f4e72 100644 --- a/packages/rest-typings/src/v1/omnichannel.ts +++ b/packages/rest-typings/src/v1/omnichannel.ts @@ -1232,7 +1232,7 @@ const POSTOmnichannelContactsSchema = { }, uniqueItems: true, }, - phone: { + phones: { type: 'array', items: { type: 'string', From 20c3892e1dc7f3aed8412e84ad6e5c33329e13db Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Thu, 27 Jun 2024 18:54:07 -0300 Subject: [PATCH 06/59] test: implement contact tests --- .../tests/end-to-end/api/livechat/contacts.ts | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 apps/meteor/tests/end-to-end/api/livechat/contacts.ts diff --git a/apps/meteor/tests/end-to-end/api/livechat/contacts.ts b/apps/meteor/tests/end-to-end/api/livechat/contacts.ts new file mode 100644 index 000000000000..b23916ec409a --- /dev/null +++ b/apps/meteor/tests/end-to-end/api/livechat/contacts.ts @@ -0,0 +1,80 @@ +import { faker } from '@faker-js/faker'; +import { expect } from 'chai'; +import { before } from 'mocha'; + +import { getCredentials, api, request, credentials } from '../../../data/api-data'; +import { removePermissionFromAllRoles, restorePermissionToRoles } from '../../../data/permissions.helper'; +import { createUser } from '../../../data/users.helper'; + +describe('LIVECHAT - contacts', () => { + before((done) => getCredentials(done)); + + describe('[POST] omnichannel/contacts', () => { + it('should be able to create a new contact', async () => { + const res = await request + .post(api('omnichannel/contacts')) + .set(credentials) + .send({ + name: faker.person.fullName(), + emails: [faker.internet.email().toLowerCase()], + phones: [faker.phone.number()], + }); + + expect(res.body).to.have.property('success', true); + expect(res.body).to.have.property('contactId'); + expect(res.body.contactId).to.be.an('string'); + }); + + it("should return an error if user doesn't have view-l-room permission", async () => { + await removePermissionFromAllRoles('view-l-room'); + + const res = await request + .post(api('omnichannel/contacts')) + .set(credentials) + .send({ + name: faker.person.fullName(), + emails: [faker.internet.email().toLowerCase()], + phones: [faker.phone.number()], + }); + + expect(res.body).to.have.property('success', false); + expect(res.body.error).to.be.equal('User does not have the permissions required for this action [error-unauthorized]'); + + await restorePermissionToRoles('view-l-room'); + }); + + it('should return an error if contact manager not exists', async () => { + const res = await request + .post(api('omnichannel/contacts')) + .set(credentials) + .send({ + name: faker.person.fullName(), + emails: [faker.internet.email().toLowerCase()], + phones: [faker.phone.number()], + contactManager: 'invalid', + }); + + expect(res.body).to.have.property('success', false); + expect(res.body).to.have.property('error'); + expect(res.body.error).to.be.equal('No user found with id invalid [error-contact-manager-not-found]'); + }); + + it('should return an error if contact manager is not a livechat-agent', async () => { + const normalUser = await createUser(); + + const res = await request + .post(api('omnichannel/contacts')) + .set(credentials) + .send({ + name: faker.person.fullName(), + emails: [faker.internet.email().toLowerCase()], + phones: [faker.phone.number()], + contactManager: normalUser._id, + }); + + expect(res.body).to.have.property('success', false); + expect(res.body).to.have.property('error'); + expect(res.body.error).to.be.equal('The contact manager must have the role "livechat-agent" [error-invalid-contact-manager]'); + }); + }); +}); From da25a9c7a04f8d30ba9aca9a10984cd4216e5d07 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Thu, 27 Jun 2024 18:58:52 -0300 Subject: [PATCH 07/59] Create sixty-spoons-own.md --- .changeset/sixty-spoons-own.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 .changeset/sixty-spoons-own.md diff --git a/.changeset/sixty-spoons-own.md b/.changeset/sixty-spoons-own.md new file mode 100644 index 000000000000..b7768407c374 --- /dev/null +++ b/.changeset/sixty-spoons-own.md @@ -0,0 +1,9 @@ +--- +"@rocket.chat/meteor": minor +"@rocket.chat/core-typings": minor +"@rocket.chat/model-typings": minor +"@rocket.chat/models": minor +"@rocket.chat/rest-typings": minor +--- + +Introduce contacts to the omnichannel From b7e0bf7698fffb6a4eeaa2c0774b9e920b5f5f4e Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Fri, 28 Jun 2024 09:22:34 -0300 Subject: [PATCH 08/59] Update sixty-spoons-own.md --- .changeset/sixty-spoons-own.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/sixty-spoons-own.md b/.changeset/sixty-spoons-own.md index b7768407c374..e542d34937b1 100644 --- a/.changeset/sixty-spoons-own.md +++ b/.changeset/sixty-spoons-own.md @@ -6,4 +6,4 @@ "@rocket.chat/rest-typings": minor --- -Introduce contacts to the omnichannel +Introduce create contacts endpoint to the omnichannel From 675bb1287dec9cb4c5c6cf82f96bf1bfa2ac3e84 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Tue, 2 Jul 2024 11:17:25 -0300 Subject: [PATCH 09/59] Update .changeset/sixty-spoons-own.md Co-authored-by: Marcos Spessatto Defendi --- .changeset/sixty-spoons-own.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/sixty-spoons-own.md b/.changeset/sixty-spoons-own.md index e542d34937b1..8bcafbf7c941 100644 --- a/.changeset/sixty-spoons-own.md +++ b/.changeset/sixty-spoons-own.md @@ -6,4 +6,4 @@ "@rocket.chat/rest-typings": minor --- -Introduce create contacts endpoint to the omnichannel +Introduced "create contacts" endpoint to the omnichannel From c59c4c2af19a6b87096d01d270b1dbce6617f3f2 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Tue, 2 Jul 2024 17:07:30 -0300 Subject: [PATCH 10/59] test: include custom fields validations --- .../tests/end-to-end/api/livechat/contacts.ts | 87 ++++++++++++++++++- 1 file changed, 85 insertions(+), 2 deletions(-) diff --git a/apps/meteor/tests/end-to-end/api/livechat/contacts.ts b/apps/meteor/tests/end-to-end/api/livechat/contacts.ts index b23916ec409a..52076e594b15 100644 --- a/apps/meteor/tests/end-to-end/api/livechat/contacts.ts +++ b/apps/meteor/tests/end-to-end/api/livechat/contacts.ts @@ -1,14 +1,25 @@ import { faker } from '@faker-js/faker'; import { expect } from 'chai'; -import { before } from 'mocha'; +import { before, after, describe, it } from 'mocha'; import { getCredentials, api, request, credentials } from '../../../data/api-data'; -import { removePermissionFromAllRoles, restorePermissionToRoles } from '../../../data/permissions.helper'; +import { createCustomField, deleteCustomField } from '../../../data/livechat/custom-fields'; +import { removePermissionFromAllRoles, restorePermissionToRoles, updatePermission, updateSetting } from '../../../data/permissions.helper'; import { createUser } from '../../../data/users.helper'; describe('LIVECHAT - contacts', () => { before((done) => getCredentials(done)); + before(async () => { + await updateSetting('Livechat_enabled', true); + await updatePermission('view-l-room', ['admin']); + }); + + after(async () => { + await restorePermissionToRoles('view-l-room'); + await updateSetting('Livechat_enabled', false); + }); + describe('[POST] omnichannel/contacts', () => { it('should be able to create a new contact', async () => { const res = await request @@ -76,5 +87,77 @@ describe('LIVECHAT - contacts', () => { expect(res.body).to.have.property('error'); expect(res.body.error).to.be.equal('The contact manager must have the role "livechat-agent" [error-invalid-contact-manager]'); }); + + describe('Custom Fields', () => { + before(async () => { + await createCustomField({ + field: 'cf1', + label: 'Custom Field 1', + scope: 'visitor', + visibility: 'public', + type: 'input', + required: true, + regexp: '^[0-9]+$', + searchable: true, + public: true, + }); + }); + + after(async () => { + await deleteCustomField('cf1'); + }); + + it('should validate custom fields correctly', async () => { + const res = await request + .post(api('omnichannel/contacts')) + .set(credentials) + .send({ + name: faker.person.fullName(), + emails: [faker.internet.email().toLowerCase()], + phones: [faker.phone.number()], + customFields: { + cf1: '123', + }, + }); + + expect(res.body).to.have.property('success', true); + expect(res.body).to.have.property('contactId'); + expect(res.body.contactId).to.be.an('string'); + }); + + it('should return an error for missing required custom field', async () => { + const res = await request + .post(api('omnichannel/contacts')) + .set(credentials) + .send({ + name: faker.person.fullName(), + emails: [faker.internet.email().toLowerCase()], + phones: [faker.phone.number()], + customFields: {}, + }); + + expect(res.body).to.have.property('success', false); + expect(res.body).to.have.property('error'); + expect(res.body.error).to.include('Invalid value for Custom Field 1 field'); + }); + + it('should return an error for invalid custom field value', async () => { + const res = await request + .post(api('omnichannel/contacts')) + .set(credentials) + .send({ + name: faker.person.fullName(), + emails: [faker.internet.email().toLowerCase()], + phones: [faker.phone.number()], + customFields: { + cf1: 'invalid', + }, + }); + + expect(res.body).to.have.property('success', false); + expect(res.body).to.have.property('error'); + expect(res.body.error).to.include('Invalid value for Custom Field 1 field'); + }); + }); }); }); From e13f736cc55a604b9dd527f570fb28a3ac482429 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Tue, 2 Jul 2024 17:24:34 -0300 Subject: [PATCH 11/59] test: ensure body is being validated --- .../tests/end-to-end/api/livechat/contacts.ts | 95 +++++++++++++++++++ 1 file changed, 95 insertions(+) diff --git a/apps/meteor/tests/end-to-end/api/livechat/contacts.ts b/apps/meteor/tests/end-to-end/api/livechat/contacts.ts index 52076e594b15..e4cb6a598fb8 100644 --- a/apps/meteor/tests/end-to-end/api/livechat/contacts.ts +++ b/apps/meteor/tests/end-to-end/api/livechat/contacts.ts @@ -159,5 +159,100 @@ describe('LIVECHAT - contacts', () => { expect(res.body.error).to.include('Invalid value for Custom Field 1 field'); }); }); + + describe('Fields Validation', () => { + it('should return an error if name is missing', async () => { + const res = await request + .post(api('omnichannel/contacts')) + .set(credentials) + .send({ + emails: [faker.internet.email().toLowerCase()], + phones: [faker.phone.number()], + }); + + expect(res.body).to.have.property('success', false); + expect(res.body).to.have.property('error'); + expect(res.body.error).to.be.equal("must have required property 'name' [invalid-params]"); + expect(res.body.errorType).to.be.equal('invalid-params'); + }); + + it('should return an error if emails is missing', async () => { + const res = await request + .post(api('omnichannel/contacts')) + .set(credentials) + .send({ + name: faker.person.fullName(), + phones: [faker.phone.number()], + }); + + expect(res.body).to.have.property('success', false); + expect(res.body).to.have.property('error'); + expect(res.body.error).to.be.equal("must have required property 'emails' [invalid-params]"); + expect(res.body.errorType).to.be.equal('invalid-params'); + }); + + it('should return an error if phones is missing', async () => { + const res = await request + .post(api('omnichannel/contacts')) + .set(credentials) + .send({ + name: faker.person.fullName(), + emails: [faker.internet.email().toLowerCase()], + }); + + expect(res.body).to.have.property('success', false); + expect(res.body).to.have.property('error'); + expect(res.body.error).to.be.equal("must have required property 'phones' [invalid-params]"); + expect(res.body.errorType).to.be.equal('invalid-params'); + }); + + it('should return an error if emails is not an array', async () => { + const res = await request + .post(api('omnichannel/contacts')) + .set(credentials) + .send({ + name: faker.person.fullName(), + emails: 'invalid', + phones: [faker.phone.number()], + }); + + expect(res.body).to.have.property('success', false); + expect(res.body).to.have.property('error'); + expect(res.body.error).to.be.equal('must be array [invalid-params]'); + expect(res.body.errorType).to.be.equal('invalid-params'); + }); + + it('should return an error if emails is not an array of strings', async () => { + const res = await request + .post(api('omnichannel/contacts')) + .set(credentials) + .send({ + name: faker.person.fullName(), + emails: [{ invalid: true }], + phones: [faker.phone.number()], + }); + + expect(res.body).to.have.property('success', false); + expect(res.body).to.have.property('error'); + expect(res.body.error).to.be.equal('must be string [invalid-params]'); + expect(res.body.errorType).to.be.equal('invalid-params'); + }); + + it('should return an error if phones is not an array of strings', async () => { + const res = await request + .post(api('omnichannel/contacts')) + .set(credentials) + .send({ + name: faker.person.fullName(), + emails: [faker.internet.email().toLowerCase()], + phones: [{ invalid: true }], + }); + + expect(res.body).to.have.property('success', false); + expect(res.body).to.have.property('error'); + expect(res.body.error).to.be.equal('must be string [invalid-params]'); + expect(res.body.errorType).to.be.equal('invalid-params'); + }); + }); }); }); From e329740801b5dd0dcfb057fcb13d2d559fbdc90c Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Tue, 2 Jul 2024 17:25:35 -0300 Subject: [PATCH 12/59] test: ensure error message is equal the expected --- apps/meteor/tests/end-to-end/api/livechat/contacts.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/meteor/tests/end-to-end/api/livechat/contacts.ts b/apps/meteor/tests/end-to-end/api/livechat/contacts.ts index e4cb6a598fb8..1c63e778e52f 100644 --- a/apps/meteor/tests/end-to-end/api/livechat/contacts.ts +++ b/apps/meteor/tests/end-to-end/api/livechat/contacts.ts @@ -138,7 +138,7 @@ describe('LIVECHAT - contacts', () => { expect(res.body).to.have.property('success', false); expect(res.body).to.have.property('error'); - expect(res.body.error).to.include('Invalid value for Custom Field 1 field'); + expect(res.body.error).to.be.equal('Invalid value for Custom Field 1 field'); }); it('should return an error for invalid custom field value', async () => { @@ -156,7 +156,7 @@ describe('LIVECHAT - contacts', () => { expect(res.body).to.have.property('success', false); expect(res.body).to.have.property('error'); - expect(res.body.error).to.include('Invalid value for Custom Field 1 field'); + expect(res.body.error).to.be.equal('Invalid value for Custom Field 1 field'); }); }); From 4b74679669df8c362b8635366ab86031afe5a73a Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Tue, 2 Jul 2024 17:49:57 -0300 Subject: [PATCH 13/59] test: ensure that it is possible to create contact with contact manager defined --- .../tests/end-to-end/api/livechat/contacts.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/apps/meteor/tests/end-to-end/api/livechat/contacts.ts b/apps/meteor/tests/end-to-end/api/livechat/contacts.ts index 1c63e778e52f..e16150e340df 100644 --- a/apps/meteor/tests/end-to-end/api/livechat/contacts.ts +++ b/apps/meteor/tests/end-to-end/api/livechat/contacts.ts @@ -4,6 +4,7 @@ import { before, after, describe, it } from 'mocha'; import { getCredentials, api, request, credentials } from '../../../data/api-data'; import { createCustomField, deleteCustomField } from '../../../data/livechat/custom-fields'; +import { createAgent } from '../../../data/livechat/rooms'; import { removePermissionFromAllRoles, restorePermissionToRoles, updatePermission, updateSetting } from '../../../data/permissions.helper'; import { createUser } from '../../../data/users.helper'; @@ -88,6 +89,24 @@ describe('LIVECHAT - contacts', () => { expect(res.body.error).to.be.equal('The contact manager must have the role "livechat-agent" [error-invalid-contact-manager]'); }); + it('should be able to create a new contact with a contact manager', async () => { + const livechatAgent = await createAgent(); + + const res = await request + .post(api('omnichannel/contacts')) + .set(credentials) + .send({ + name: faker.person.fullName(), + emails: [faker.internet.email().toLowerCase()], + phones: [faker.phone.number()], + contactManager: livechatAgent._id, + }); + + expect(res.body).to.have.property('success', true); + expect(res.body).to.have.property('contactId'); + expect(res.body.contactId).to.be.an('string'); + }); + describe('Custom Fields', () => { before(async () => { await createCustomField({ From 8b1a303f6d63f4d995963f8075ec3fdba1263301 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Tue, 2 Jul 2024 18:07:01 -0300 Subject: [PATCH 14/59] feat: create new permission --- .../app/authorization/server/constant/permissions.ts | 4 ++++ apps/meteor/app/livechat/server/api/v1/contact.ts | 2 +- apps/meteor/server/startup/migrations/index.ts | 1 + apps/meteor/server/startup/migrations/v305.ts | 9 +++++++++ apps/meteor/tests/end-to-end/api/livechat/contacts.ts | 10 +++++----- 5 files changed, 20 insertions(+), 6 deletions(-) create mode 100644 apps/meteor/server/startup/migrations/v305.ts diff --git a/apps/meteor/app/authorization/server/constant/permissions.ts b/apps/meteor/app/authorization/server/constant/permissions.ts index 6efe99e14d0e..d9ae4133e49e 100644 --- a/apps/meteor/app/authorization/server/constant/permissions.ts +++ b/apps/meteor/app/authorization/server/constant/permissions.ts @@ -93,6 +93,10 @@ export const permissions = [ _id: 'view-l-room', roles: ['livechat-manager', 'livechat-monitor', 'livechat-agent', 'admin'], }, + { + _id: 'create-livechat-contact', + roles: ['livechat-manager', 'livechat-monitor', 'livechat-agent', 'admin'], + }, { _id: 'view-livechat-manager', roles: ['livechat-manager', 'livechat-monitor', 'admin'] }, { _id: 'view-omnichannel-contact-center', diff --git a/apps/meteor/app/livechat/server/api/v1/contact.ts b/apps/meteor/app/livechat/server/api/v1/contact.ts index 05587c689766..2669fa4c69be 100644 --- a/apps/meteor/app/livechat/server/api/v1/contact.ts +++ b/apps/meteor/app/livechat/server/api/v1/contact.ts @@ -89,7 +89,7 @@ API.v1.addRoute( API.v1.addRoute( 'omnichannel/contacts', - { authRequired: true, permissionsRequired: ['view-l-room'], validateParams: isPOSTOmnichannelContactsProps }, + { authRequired: true, permissionsRequired: ['create-livechat-contact'], validateParams: isPOSTOmnichannelContactsProps }, { async post() { const contactId = await createContact({ ...this.bodyParams, unknown: false }); diff --git a/apps/meteor/server/startup/migrations/index.ts b/apps/meteor/server/startup/migrations/index.ts index 4cda096b151c..e7a18e836722 100644 --- a/apps/meteor/server/startup/migrations/index.ts +++ b/apps/meteor/server/startup/migrations/index.ts @@ -37,5 +37,6 @@ import './v300'; import './v301'; import './v303'; import './v304'; +import './v305'; export * from './xrun'; diff --git a/apps/meteor/server/startup/migrations/v305.ts b/apps/meteor/server/startup/migrations/v305.ts new file mode 100644 index 000000000000..71e4263a3739 --- /dev/null +++ b/apps/meteor/server/startup/migrations/v305.ts @@ -0,0 +1,9 @@ +import { upsertPermissions } from '../../../app/authorization/server/functions/upsertPermissions'; +import { addMigration } from '../../lib/migrations'; + +addMigration({ + version: 305, + async up() { + await upsertPermissions(); + }, +}); diff --git a/apps/meteor/tests/end-to-end/api/livechat/contacts.ts b/apps/meteor/tests/end-to-end/api/livechat/contacts.ts index e16150e340df..d879760728d9 100644 --- a/apps/meteor/tests/end-to-end/api/livechat/contacts.ts +++ b/apps/meteor/tests/end-to-end/api/livechat/contacts.ts @@ -13,11 +13,11 @@ describe('LIVECHAT - contacts', () => { before(async () => { await updateSetting('Livechat_enabled', true); - await updatePermission('view-l-room', ['admin']); + await updatePermission('create-livechat-contact', ['admin']); }); after(async () => { - await restorePermissionToRoles('view-l-room'); + await restorePermissionToRoles('create-livechat-contact'); await updateSetting('Livechat_enabled', false); }); @@ -37,8 +37,8 @@ describe('LIVECHAT - contacts', () => { expect(res.body.contactId).to.be.an('string'); }); - it("should return an error if user doesn't have view-l-room permission", async () => { - await removePermissionFromAllRoles('view-l-room'); + it("should return an error if user doesn't have 'create-livechat-contact' permission", async () => { + await removePermissionFromAllRoles('create-livechat-contact'); const res = await request .post(api('omnichannel/contacts')) @@ -52,7 +52,7 @@ describe('LIVECHAT - contacts', () => { expect(res.body).to.have.property('success', false); expect(res.body.error).to.be.equal('User does not have the permissions required for this action [error-unauthorized]'); - await restorePermissionToRoles('view-l-room'); + await restorePermissionToRoles('create-livechat-contact'); }); it('should return an error if contact manager not exists', async () => { From 3d266503564493f60c7199bef74e828fd0e8a2d1 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Wed, 3 Jul 2024 10:11:19 -0300 Subject: [PATCH 15/59] fix: replace MeteorError to Error --- apps/meteor/app/livechat/server/lib/Contacts.ts | 6 +++--- apps/meteor/tests/end-to-end/api/livechat/contacts.ts | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/meteor/app/livechat/server/lib/Contacts.ts b/apps/meteor/app/livechat/server/lib/Contacts.ts index 401342614482..caadfaf25956 100644 --- a/apps/meteor/app/livechat/server/lib/Contacts.ts +++ b/apps/meteor/app/livechat/server/lib/Contacts.ts @@ -176,12 +176,12 @@ export async function createContact(params: CreateContactParams): Promise { expect(res.body).to.have.property('success', false); expect(res.body).to.have.property('error'); - expect(res.body.error).to.be.equal('No user found with id invalid [error-contact-manager-not-found]'); + expect(res.body.error).to.be.equal('error-contact-manager-not-found'); }); it('should return an error if contact manager is not a livechat-agent', async () => { @@ -86,7 +86,7 @@ describe('LIVECHAT - contacts', () => { expect(res.body).to.have.property('success', false); expect(res.body).to.have.property('error'); - expect(res.body.error).to.be.equal('The contact manager must have the role "livechat-agent" [error-invalid-contact-manager]'); + expect(res.body.error).to.be.equal('error-invalid-contact-manager'); }); it('should be able to create a new contact with a contact manager', async () => { From 9fe155c949632933068943a84a16ac685f76172f Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Wed, 3 Jul 2024 10:57:18 -0300 Subject: [PATCH 16/59] refactor: deprecate old endpoint --- apps/meteor/app/livechat/server/api/v1/contact.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/meteor/app/livechat/server/api/v1/contact.ts b/apps/meteor/app/livechat/server/api/v1/contact.ts index 2669fa4c69be..1c5ea3b40574 100644 --- a/apps/meteor/app/livechat/server/api/v1/contact.ts +++ b/apps/meteor/app/livechat/server/api/v1/contact.ts @@ -12,7 +12,7 @@ import { Contacts, createContact } from '../../lib/Contacts'; */ API.v1.addRoute( 'omnichannel/contact', - { authRequired: true, permissionsRequired: ['view-l-room'] }, + { authRequired: true, permissionsRequired: ['view-l-room'], deprecationVersion: '8.0.0' }, { async post() { check(this.bodyParams, { From 35bc9417ac526f0fef199c742763ecfc6b144300 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Thu, 4 Jul 2024 10:59:10 -0300 Subject: [PATCH 17/59] fix: remove migration --- apps/meteor/server/startup/migrations/index.ts | 1 - apps/meteor/server/startup/migrations/v305.ts | 9 --------- 2 files changed, 10 deletions(-) delete mode 100644 apps/meteor/server/startup/migrations/v305.ts diff --git a/apps/meteor/server/startup/migrations/index.ts b/apps/meteor/server/startup/migrations/index.ts index e7a18e836722..4cda096b151c 100644 --- a/apps/meteor/server/startup/migrations/index.ts +++ b/apps/meteor/server/startup/migrations/index.ts @@ -37,6 +37,5 @@ import './v300'; import './v301'; import './v303'; import './v304'; -import './v305'; export * from './xrun'; diff --git a/apps/meteor/server/startup/migrations/v305.ts b/apps/meteor/server/startup/migrations/v305.ts deleted file mode 100644 index 71e4263a3739..000000000000 --- a/apps/meteor/server/startup/migrations/v305.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { upsertPermissions } from '../../../app/authorization/server/functions/upsertPermissions'; -import { addMigration } from '../../lib/migrations'; - -addMigration({ - version: 305, - async up() { - await upsertPermissions(); - }, -}); From 9813b26377e95f57ce31c1844c396dc607ba65b7 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Fri, 5 Jul 2024 14:52:09 -0300 Subject: [PATCH 18/59] feat: implement update contact endpoint --- .../server/constant/permissions.ts | 4 + .../app/livechat/server/api/v1/contact.ts | 15 +- .../app/livechat/server/lib/Contacts.ts | 70 ++++- .../tests/end-to-end/api/livechat/contacts.ts | 258 +++++++++++++++++- packages/rest-typings/src/v1/omnichannel.ts | 54 ++++ 5 files changed, 387 insertions(+), 14 deletions(-) diff --git a/apps/meteor/app/authorization/server/constant/permissions.ts b/apps/meteor/app/authorization/server/constant/permissions.ts index d9ae4133e49e..e5e8f7fb05dd 100644 --- a/apps/meteor/app/authorization/server/constant/permissions.ts +++ b/apps/meteor/app/authorization/server/constant/permissions.ts @@ -97,6 +97,10 @@ export const permissions = [ _id: 'create-livechat-contact', roles: ['livechat-manager', 'livechat-monitor', 'livechat-agent', 'admin'], }, + { + _id: 'update-livechat-contact', + roles: ['livechat-manager', 'livechat-monitor', 'livechat-agent', 'admin'], + }, { _id: 'view-livechat-manager', roles: ['livechat-manager', 'livechat-monitor', 'admin'] }, { _id: 'view-omnichannel-contact-center', diff --git a/apps/meteor/app/livechat/server/api/v1/contact.ts b/apps/meteor/app/livechat/server/api/v1/contact.ts index 1c5ea3b40574..01c2a93018ab 100644 --- a/apps/meteor/app/livechat/server/api/v1/contact.ts +++ b/apps/meteor/app/livechat/server/api/v1/contact.ts @@ -1,11 +1,11 @@ import { LivechatCustomField, LivechatVisitors } from '@rocket.chat/models'; -import { isPOSTOmnichannelContactsProps } from '@rocket.chat/rest-typings'; +import { isPOSTOmnichannelContactsProps, isPOSTUpdateOmnichannelContactsProps } from '@rocket.chat/rest-typings'; import { escapeRegExp } from '@rocket.chat/string-helpers'; import { Match, check } from 'meteor/check'; import { Meteor } from 'meteor/meteor'; import { API } from '../../../../api/server'; -import { Contacts, createContact } from '../../lib/Contacts'; +import { Contacts, createContact, updateContact } from '../../lib/Contacts'; /** * @deprecated to create a contact, use the omnichannel/contacts endpoint @@ -98,3 +98,14 @@ API.v1.addRoute( }, }, ); +API.v1.addRoute( + 'omnichannel/contacts.update', + { authRequired: true, permissionsRequired: ['update-livechat-contact'], validateParams: isPOSTUpdateOmnichannelContactsProps }, + { + async post() { + const contact = await updateContact({ ...this.bodyParams }); + + return API.v1.success({ contact }); + }, + }, +); diff --git a/apps/meteor/app/livechat/server/lib/Contacts.ts b/apps/meteor/app/livechat/server/lib/Contacts.ts index caadfaf25956..24190c118adf 100644 --- a/apps/meteor/app/livechat/server/lib/Contacts.ts +++ b/apps/meteor/app/livechat/server/lib/Contacts.ts @@ -1,4 +1,10 @@ -import type { ILivechatContactChannel, ILivechatCustomField, ILivechatVisitor, IOmnichannelRoom } from '@rocket.chat/core-typings'; +import type { + ILivechatContact, + ILivechatContactChannel, + ILivechatCustomField, + ILivechatVisitor, + IOmnichannelRoom, +} from '@rocket.chat/core-typings'; import { LivechatVisitors, Users, @@ -41,6 +47,16 @@ type CreateContactParams = { channels?: ILivechatContactChannel[]; }; +type UpdateContactParams = { + contactId: string; + name?: string; + emails?: string[]; + phones?: string[]; + customFields?: Record; + contactManager?: string; + channels?: ILivechatContactChannel[]; +}; + export const Contacts = { async registerContact({ token, @@ -176,13 +192,7 @@ export async function createContact(params: CreateContactParams): Promise { + const { contactId, name, emails, phones, customFields, contactManager, channels } = params; + + const contact = await LivechatContacts.findOneById(contactId, { projection: { _id: 1 } }); + + if (!contact) { + throw new Error('error-contact-not-found'); + } + + if (contactManager) { + await validateContactManager(contactManager); + } + + if (customFields) { + await validateCustomFields(customFields); + } + + const updateContact: { $set: MatchKeysAndValues } = { + $set: { + name, + emails, + phones, + contactManager, + channels, + customFields, + unknown: true, + }, + }; + + await LivechatContacts.updateOne({ _id: contactId }, updateContact); + + return LivechatContacts.findOneById(contactId) as Promise; +} + async function validateCustomFields(customFields: Record) { const allowedCustomFields = LivechatCustomField.findByScope< Pick @@ -239,3 +283,13 @@ async function validateCustomFields(customFields: Record { + let livechatAgent: ILivechatAgent; before((done) => getCredentials(done)); before(async () => { await updateSetting('Livechat_enabled', true); - await updatePermission('create-livechat-contact', ['admin']); + livechatAgent = await createAgent(); }); after(async () => { - await restorePermissionToRoles('create-livechat-contact'); await updateSetting('Livechat_enabled', false); + await removeAgent(livechatAgent._id); }); describe('[POST] omnichannel/contacts', () => { + before(async () => { + await updatePermission('create-livechat-contact', ['admin']); + }); + + after(async () => { + await restorePermissionToRoles('create-livechat-contact'); + }); + it('should be able to create a new contact', async () => { const res = await request .post(api('omnichannel/contacts')) @@ -90,8 +101,6 @@ describe('LIVECHAT - contacts', () => { }); it('should be able to create a new contact with a contact manager', async () => { - const livechatAgent = await createAgent(); - const res = await request .post(api('omnichannel/contacts')) .set(credentials) @@ -274,4 +283,245 @@ describe('LIVECHAT - contacts', () => { }); }); }); + + describe('[POST] omnichannel/contacts.update', () => { + let contactId: string; + + before(async () => { + await updatePermission('update-livechat-contact', ['admin']); + const { body } = await request + .post(api('omnichannel/contacts')) + .set(credentials) + .send({ + name: faker.person.fullName(), + emails: [faker.internet.email().toLowerCase()], + phones: [faker.phone.number()], + }); + contactId = body.contactId; + }); + + after(async () => { + await restorePermissionToRoles('update-livechat-contact'); + }); + + it('should be able to update a contact', async () => { + const name = faker.person.fullName(); + const emails = [faker.internet.email().toLowerCase()]; + const phones = [faker.phone.number()]; + + const res = await request.post(api('omnichannel/contacts.update')).set(credentials).send({ + contactId, + name, + emails, + phones, + }); + + expect(res.status).to.be.equal(200); + expect(res.body).to.have.property('success', true); + expect(res.body.contact._id).to.be.equal(contactId); + expect(res.body.contact.name).to.be.equal(name); + expect(res.body.contact.emails).to.be.deep.equal(emails); + expect(res.body.contact.phones).to.be.deep.equal(phones); + }); + + it('should set the unknown field to true when updating a contact', async () => { + const res = await request.post(api('omnichannel/contacts.update')).set(credentials).send({ + contactId, + name: faker.person.fullName(), + }); + + expect(res.status).to.be.equal(200); + expect(res.body).to.have.property('success', true); + expect(res.body.contact._id).to.be.equal(contactId); + expect(res.body.contact.unknown).to.be.equal(true); + }); + + it('should be able to update the contact manager', async () => { + const res = await request.post(api('omnichannel/contacts.update')).set(credentials).send({ + contactId, + contactManager: livechatAgent._id, + }); + + expect(res.status).to.be.equal(200); + expect(res.body).to.have.property('success', true); + expect(res.body.contact._id).to.be.equal(contactId); + expect(res.body.contact.contactManager).to.be.equal(livechatAgent._id); + }); + + it('should return an error if contact does not exist', async () => { + const res = await request + .post(api('omnichannel/contacts.update')) + .set(credentials) + .send({ + contactId: 'invalid', + name: faker.person.fullName(), + emails: [faker.internet.email().toLowerCase()], + phones: [faker.phone.number()], + }); + + expect(res.body).to.have.property('success', false); + expect(res.body).to.have.property('error'); + expect(res.body.error).to.be.equal('error-contact-not-found'); + }); + + it('should return an error if contact manager not exists', async () => { + const res = await request.post(api('omnichannel/contacts.update')).set(credentials).send({ + contactId, + contactManager: 'invalid', + }); + + expect(res.body).to.have.property('success', false); + expect(res.body).to.have.property('error'); + expect(res.body.error).to.be.equal('error-contact-manager-not-found'); + }); + + it("should return an error if user doesn't have 'update-livechat-contact' permission", async () => { + await removePermissionFromAllRoles('update-livechat-contact'); + + const res = await request.post(api('omnichannel/contacts.update')).set(credentials).send({ + contactId, + }); + + expect(res.body).to.have.property('success', false); + expect(res.body).to.have.property('error'); + expect(res.body.error).to.be.equal('User does not have the permissions required for this action [error-unauthorized]'); + + await restorePermissionToRoles('update-livechat-contact'); + }); + + describe('Custom Fields', () => { + before(async () => { + await createCustomField({ + field: 'cf1', + label: 'Custom Field 1', + scope: 'visitor', + visibility: 'public', + type: 'input', + required: true, + regexp: '^[0-9]+$', + searchable: true, + public: true, + }); + }); + + after(async () => { + await deleteCustomField('cf1'); + }); + + it('should validate custom fields correctly', async () => { + const res = await request + .post(api('omnichannel/contacts.update')) + .set(credentials) + .send({ + contactId, + customFields: { + cf1: '123', + }, + }); + + expect(res.status).to.be.equal(200); + expect(res.body).to.have.property('success', true); + expect(res.body.contact._id).to.be.equal(contactId); + }); + + it('should return an error for invalid custom field value', async () => { + const res = await request + .post(api('omnichannel/contacts.update')) + .set(credentials) + .send({ + contactId, + customFields: { + cf1: 'invalid', + }, + }); + + expect(res.body).to.have.property('success', false); + expect(res.body).to.have.property('error'); + expect(res.body.error).to.be.equal('Invalid value for Custom Field 1 field'); + }); + }); + + describe('Fields Validation', () => { + it('should return an error if contactId is missing', async () => { + const res = await request + .post(api('omnichannel/contacts.update')) + .set(credentials) + .send({ + emails: [faker.internet.email().toLowerCase()], + phones: [faker.phone.number()], + }); + + expect(res.body).to.have.property('success', false); + expect(res.body).to.have.property('error'); + expect(res.body.error).to.be.equal("must have required property 'contactId' [invalid-params]"); + expect(res.body.errorType).to.be.equal('invalid-params'); + }); + + it('should return an error if emails is not an array', async () => { + const res = await request.post(api('omnichannel/contacts.update')).set(credentials).send({ + contactId, + emails: 'invalid', + }); + + expect(res.body).to.have.property('success', false); + expect(res.body).to.have.property('error'); + expect(res.body.error).to.be.equal('must be array [invalid-params]'); + expect(res.body.errorType).to.be.equal('invalid-params'); + }); + + it('should return an error if emails is not an array of strings', async () => { + const res = await request + .post(api('omnichannel/contacts.update')) + .set(credentials) + .send({ + contactId, + emails: [{ invalid: true }], + }); + + expect(res.body).to.have.property('success', false); + expect(res.body).to.have.property('error'); + expect(res.body.error).to.be.equal('must be string [invalid-params]'); + expect(res.body.errorType).to.be.equal('invalid-params'); + }); + + it('should return an error if emails is not an array', async () => { + const res = await request.post(api('omnichannel/contacts.update')).set(credentials).send({ + contactId, + phones: 'invalid', + }); + + expect(res.body).to.have.property('success', false); + expect(res.body).to.have.property('error'); + expect(res.body.error).to.be.equal('must be array [invalid-params]'); + expect(res.body.errorType).to.be.equal('invalid-params'); + }); + + it('should return an error if phones is not an array of strings', async () => { + const res = await request + .post(api('omnichannel/contacts.update')) + .set(credentials) + .send({ + contactId, + phones: [{ invalid: true }], + }); + + expect(res.body).to.have.property('success', false); + expect(res.body).to.have.property('error'); + expect(res.body.error).to.be.equal('must be string [invalid-params]'); + expect(res.body.errorType).to.be.equal('invalid-params'); + }); + + it('should return an error if additional fields are provided', async () => { + const res = await request.post(api('omnichannel/contacts.update')).set(credentials).send({ + contactId, + unknown: true, + }); + + expect(res.body).to.have.property('success', false); + expect(res.body).to.have.property('error'); + expect(res.body.error).to.be.equal('must NOT have additional properties [invalid-params]'); + expect(res.body.errorType).to.be.equal('invalid-params'); + }); + }); + }); }); diff --git a/packages/rest-typings/src/v1/omnichannel.ts b/packages/rest-typings/src/v1/omnichannel.ts index 7688e88f4e72..0f19a07435d4 100644 --- a/packages/rest-typings/src/v1/omnichannel.ts +++ b/packages/rest-typings/src/v1/omnichannel.ts @@ -27,6 +27,7 @@ import type { ReportWithUnmatchingElements, SMSProviderResponse, ILivechatTriggerActionResponse, + ILivechatContact, } from '@rocket.chat/core-typings'; import { ILivechatAgentStatus } from '@rocket.chat/core-typings'; import Ajv from 'ajv'; @@ -1255,6 +1256,56 @@ const POSTOmnichannelContactsSchema = { export const isPOSTOmnichannelContactsProps = ajv.compile(POSTOmnichannelContactsSchema); +type POSTUpdateOmnichannelContactsProps = { + contactId: string; + name?: string; + emails?: string[]; + phones?: string[]; + customFields?: Record; + contactManager?: string; +}; + +const POSTUpdateOmnichannelContactsSchema = { + type: 'object', + properties: { + contactId: { + type: 'string', + }, + name: { + type: 'string', + nullable: true, + }, + emails: { + type: 'array', + items: { + type: 'string', + }, + uniqueItems: true, + nullable: true, + }, + phones: { + type: 'array', + items: { + type: 'string', + }, + uniqueItems: true, + nullable: true, + }, + customFields: { + type: 'object', + nullable: true, + }, + contactManager: { + type: 'string', + nullable: true, + }, + }, + required: ['contactId'], + additionalProperties: false, +}; + +export const isPOSTUpdateOmnichannelContactsProps = ajv.compile(POSTUpdateOmnichannelContactsSchema); + type GETOmnichannelContactProps = { contactId: string }; const GETOmnichannelContactSchema = { @@ -3689,6 +3740,9 @@ export type OmnichannelEndpoints = { '/v1/omnichannel/contacts': { POST: (params: POSTOmnichannelContactsProps) => { contactId: string }; }; + '/v1/omnichannel/contacts.update': { + POST: (params: POSTUpdateOmnichannelContactsProps) => { contact: ILivechatContact }; + }; '/v1/omnichannel/contact.search': { GET: (params: GETOmnichannelContactSearchProps) => { contact: ILivechatVisitor | null }; From 1549a4ea4093ad5730365b5fa406cd4e54a60af3 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Fri, 5 Jul 2024 15:03:56 -0300 Subject: [PATCH 19/59] Create heavy-snails-help.md --- .changeset/heavy-snails-help.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .changeset/heavy-snails-help.md diff --git a/.changeset/heavy-snails-help.md b/.changeset/heavy-snails-help.md new file mode 100644 index 000000000000..26070ece57e0 --- /dev/null +++ b/.changeset/heavy-snails-help.md @@ -0,0 +1,6 @@ +--- +"@rocket.chat/meteor": patch +"@rocket.chat/rest-typings": patch +--- + +implemented "update contacts" endpoint to the omnichannel From b4c268695b952deb42b23088cb55443f1c7e256e Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Tue, 9 Jul 2024 13:46:17 -0300 Subject: [PATCH 20/59] test: additional fields --- .../tests/end-to-end/api/livechat/contacts.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/apps/meteor/tests/end-to-end/api/livechat/contacts.ts b/apps/meteor/tests/end-to-end/api/livechat/contacts.ts index 5575ac87ed38..83dd822e7a2e 100644 --- a/apps/meteor/tests/end-to-end/api/livechat/contacts.ts +++ b/apps/meteor/tests/end-to-end/api/livechat/contacts.ts @@ -272,6 +272,23 @@ describe('LIVECHAT - contacts', () => { expect(res.body.error).to.be.equal('must be string [invalid-params]'); expect(res.body.errorType).to.be.equal('invalid-params'); }); + + it('should return an error if additional fields are provided', async () => { + const res = await request + .post(api('omnichannel/contacts')) + .set(credentials) + .send({ + name: faker.person.fullName(), + emails: [faker.internet.email().toLowerCase()], + phones: [faker.phone.number()], + additional: 'invalid', + }); + + expect(res.body).to.have.property('success', false); + expect(res.body).to.have.property('error'); + expect(res.body.error).to.be.equal('must NOT have additional properties [invalid-params]'); + expect(res.body.errorType).to.be.equal('invalid-params'); + }); }); }); }); From af05b314aca81a5e86263aca4bc54d4179339d30 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Tue, 9 Jul 2024 13:56:48 -0300 Subject: [PATCH 21/59] test: create agent to test --- apps/meteor/tests/end-to-end/api/livechat/contacts.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/apps/meteor/tests/end-to-end/api/livechat/contacts.ts b/apps/meteor/tests/end-to-end/api/livechat/contacts.ts index 83dd822e7a2e..9a22e23115a8 100644 --- a/apps/meteor/tests/end-to-end/api/livechat/contacts.ts +++ b/apps/meteor/tests/end-to-end/api/livechat/contacts.ts @@ -6,7 +6,7 @@ import { getCredentials, api, request, credentials } from '../../../data/api-dat import { createCustomField, deleteCustomField } from '../../../data/livechat/custom-fields'; import { createAgent } from '../../../data/livechat/rooms'; import { removePermissionFromAllRoles, restorePermissionToRoles, updatePermission, updateSetting } from '../../../data/permissions.helper'; -import { createUser } from '../../../data/users.helper'; +import { createUser, deleteUser } from '../../../data/users.helper'; describe('LIVECHAT - contacts', () => { before((done) => getCredentials(done)); @@ -87,10 +87,13 @@ describe('LIVECHAT - contacts', () => { expect(res.body).to.have.property('success', false); expect(res.body).to.have.property('error'); expect(res.body.error).to.be.equal('error-invalid-contact-manager'); + + await deleteUser(normalUser); }); it('should be able to create a new contact with a contact manager', async () => { - const livechatAgent = await createAgent(); + const user = await createUser(); + const livechatAgent = await createAgent(user.username); const res = await request .post(api('omnichannel/contacts')) @@ -105,6 +108,8 @@ describe('LIVECHAT - contacts', () => { expect(res.body).to.have.property('success', true); expect(res.body).to.have.property('contactId'); expect(res.body.contactId).to.be.an('string'); + + await deleteUser(user); }); describe('Custom Fields', () => { From 06a656e21c0275f6996e01e7b8487b699cbdc2d8 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Tue, 9 Jul 2024 13:58:06 -0300 Subject: [PATCH 22/59] test: restore setting to the original value --- apps/meteor/tests/end-to-end/api/livechat/contacts.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/meteor/tests/end-to-end/api/livechat/contacts.ts b/apps/meteor/tests/end-to-end/api/livechat/contacts.ts index 9a22e23115a8..c2c68af0c45b 100644 --- a/apps/meteor/tests/end-to-end/api/livechat/contacts.ts +++ b/apps/meteor/tests/end-to-end/api/livechat/contacts.ts @@ -18,7 +18,7 @@ describe('LIVECHAT - contacts', () => { after(async () => { await restorePermissionToRoles('create-livechat-contact'); - await updateSetting('Livechat_enabled', false); + await updateSetting('Livechat_enabled', true); }); describe('[POST] omnichannel/contacts', () => { From d61e15e638137602909a8dc5deea9a0bfbfc071b Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Tue, 9 Jul 2024 14:02:30 -0300 Subject: [PATCH 23/59] fix: set `phones` as required property --- packages/rest-typings/src/v1/omnichannel.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/rest-typings/src/v1/omnichannel.ts b/packages/rest-typings/src/v1/omnichannel.ts index 7688e88f4e72..965ffafe5ebd 100644 --- a/packages/rest-typings/src/v1/omnichannel.ts +++ b/packages/rest-typings/src/v1/omnichannel.ts @@ -1238,7 +1238,6 @@ const POSTOmnichannelContactsSchema = { type: 'string', }, uniqueItems: true, - nullable: true, }, customFields: { type: 'object', From 167da1af643f47d36c998a5881d42b1b9ab9e5c3 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Tue, 9 Jul 2024 14:53:34 -0300 Subject: [PATCH 24/59] refactor: breaks `validateCustomFields` into two functions --- .../app/livechat/server/lib/Contacts.ts | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/apps/meteor/app/livechat/server/lib/Contacts.ts b/apps/meteor/app/livechat/server/lib/Contacts.ts index caadfaf25956..292ce5d7a298 100644 --- a/apps/meteor/app/livechat/server/lib/Contacts.ts +++ b/apps/meteor/app/livechat/server/lib/Contacts.ts @@ -185,7 +185,8 @@ export async function createContact(params: CreateContactParams): Promise) { - const allowedCustomFields = LivechatCustomField.findByScope< - Pick - >( +async function getAllowedCustomFields(): Promise { + return LivechatCustomField.findByScope( 'visitor', { projection: { _id: 1, label: 1, regexp: 1, required: 1 }, }, false, - ); - - const livechatData: Record = {}; + ).toArray(); +} - for await (const cf of allowedCustomFields) { +export function validateCustomFields(allowedCustomFields: ILivechatCustomField[], customFields: Record) { + for (const cf of allowedCustomFields) { if (!customFields.hasOwnProperty(cf._id)) { if (cf.required) { throw new Error(i18n.t('error-invalid-custom-field-value', { field: cf.label })); @@ -235,7 +234,5 @@ async function validateCustomFields(customFields: Record Date: Tue, 9 Jul 2024 14:53:57 -0300 Subject: [PATCH 25/59] test: ensure that custom fields are properly validated --- .../app/livechat/server/lib/Contacts.spec.ts | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 apps/meteor/tests/unit/app/livechat/server/lib/Contacts.spec.ts diff --git a/apps/meteor/tests/unit/app/livechat/server/lib/Contacts.spec.ts b/apps/meteor/tests/unit/app/livechat/server/lib/Contacts.spec.ts new file mode 100644 index 000000000000..9ff2019ffca5 --- /dev/null +++ b/apps/meteor/tests/unit/app/livechat/server/lib/Contacts.spec.ts @@ -0,0 +1,40 @@ +import { expect } from 'chai'; +import proxyquire from 'proxyquire'; +import sinon from 'sinon'; + +const { validateCustomFields } = proxyquire.noCallThru().load('../../../../../../app/livechat/server/lib/Contacts', { + 'meteor/check': sinon.stub(), + 'meteor/meteor': sinon.stub(), +}); + +describe('[OC] Contacts', () => { + describe('validateCustomFields', () => { + const mockCustomFields = [{ _id: 'cf1', label: 'Custom Field 1', regexp: '^[0-9]+$', required: true }]; + + it('should validate custom fields correctly', () => { + expect(() => validateCustomFields(mockCustomFields, { cf1: '123' })).to.not.throw(); + }); + + it('should throw an error if a required custom field is missing', () => { + expect(() => validateCustomFields(mockCustomFields, {})).to.throw(); + }); + + it('should NOT throw an error when a non-required custom field is missing', () => { + const allowedCustomFields = [{ _id: 'field1', label: 'Field 1', required: false }]; + const customFields = {}; + + expect(() => validateCustomFields(allowedCustomFields, customFields)).not.to.throw(); + }); + + it('should throw an error if a custom field value does not match the regexp', () => { + expect(() => validateCustomFields(mockCustomFields, { cf1: 'invalid' })).to.throw(); + }); + + it('should handle an empty customFields input without throwing an error', () => { + const allowedCustomFields = [{ _id: 'field1', label: 'Field 1', required: false }]; + const customFields = {}; + + expect(() => validateCustomFields(allowedCustomFields, customFields)).not.to.throw(); + }); + }); +}); From d1927edf806ee88b731c13f456e7c30e2c5e0771 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Tue, 9 Jul 2024 14:56:49 -0300 Subject: [PATCH 26/59] Update .changeset/heavy-snails-help.md Co-authored-by: Marcos Spessatto Defendi --- .changeset/heavy-snails-help.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.changeset/heavy-snails-help.md b/.changeset/heavy-snails-help.md index 26070ece57e0..4d2cb570f0df 100644 --- a/.changeset/heavy-snails-help.md +++ b/.changeset/heavy-snails-help.md @@ -1,6 +1,6 @@ --- -"@rocket.chat/meteor": patch -"@rocket.chat/rest-typings": patch +"@rocket.chat/meteor": minor +"@rocket.chat/rest-typings": minor --- implemented "update contacts" endpoint to the omnichannel From 63a4c631e92a40f0a00096775e4ced94c544c753 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Tue, 9 Jul 2024 15:26:45 -0300 Subject: [PATCH 27/59] Update apps/meteor/tests/end-to-end/api/livechat/contacts.ts Co-authored-by: Marcos Spessatto Defendi --- apps/meteor/tests/end-to-end/api/livechat/contacts.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/meteor/tests/end-to-end/api/livechat/contacts.ts b/apps/meteor/tests/end-to-end/api/livechat/contacts.ts index a548c0ef71b4..0d3f79c706c6 100644 --- a/apps/meteor/tests/end-to-end/api/livechat/contacts.ts +++ b/apps/meteor/tests/end-to-end/api/livechat/contacts.ts @@ -484,7 +484,7 @@ describe('LIVECHAT - contacts', () => { expect(res.body.errorType).to.be.equal('invalid-params'); }); - it('should return an error if emails is not an array', async () => { + it('should return an error if phones is not an array', async () => { const res = await request.post(api('omnichannel/contacts.update')).set(credentials).send({ contactId, phones: 'invalid', From 56b36c4ca05384d5efcae51b4ddbd700ac0618c1 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Tue, 9 Jul 2024 15:46:07 -0300 Subject: [PATCH 28/59] test: create agent to test --- .../meteor/tests/end-to-end/api/livechat/contacts.ts | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/apps/meteor/tests/end-to-end/api/livechat/contacts.ts b/apps/meteor/tests/end-to-end/api/livechat/contacts.ts index 20aea04618c6..130973399560 100644 --- a/apps/meteor/tests/end-to-end/api/livechat/contacts.ts +++ b/apps/meteor/tests/end-to-end/api/livechat/contacts.ts @@ -1,5 +1,5 @@ import { faker } from '@faker-js/faker'; -import type { ILivechatAgent } from '@rocket.chat/core-typings'; +import type { ILivechatAgent, IUser } from '@rocket.chat/core-typings'; import { expect } from 'chai'; import { before, after, describe, it } from 'mocha'; @@ -11,16 +11,19 @@ import { removePermissionFromAllRoles, restorePermissionToRoles, updatePermissio import { createUser, deleteUser } from '../../../data/users.helper'; describe('LIVECHAT - contacts', () => { + let agentUser: IUser; let livechatAgent: ILivechatAgent; before((done) => getCredentials(done)); before(async () => { await updateSetting('Livechat_enabled', true); - livechatAgent = await createAgent(); + agentUser = await createUser(); + livechatAgent = await createAgent(agentUser.username); }); after(async () => { await removeAgent(livechatAgent._id); + await deleteUser(agentUser); await restorePermissionToRoles('create-livechat-contact'); await updateSetting('Livechat_enabled', true); }); @@ -104,9 +107,6 @@ describe('LIVECHAT - contacts', () => { }); it('should be able to create a new contact with a contact manager', async () => { - const user = await createUser(); - const livechatAgent = await createAgent(user.username); - const res = await request .post(api('omnichannel/contacts')) .set(credentials) @@ -120,8 +120,6 @@ describe('LIVECHAT - contacts', () => { expect(res.body).to.have.property('success', true); expect(res.body).to.have.property('contactId'); expect(res.body.contactId).to.be.an('string'); - - await deleteUser(user); }); describe('Custom Fields', () => { From f602e92d4dee1b5d5f9ab1e0ea733aaa61cb49d8 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Tue, 9 Jul 2024 15:51:44 -0300 Subject: [PATCH 29/59] refactor: pass the user to check if is valid manager --- apps/meteor/app/livechat/server/lib/Contacts.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/meteor/app/livechat/server/lib/Contacts.ts b/apps/meteor/app/livechat/server/lib/Contacts.ts index 46da3fd87642..91e21fd9a04c 100644 --- a/apps/meteor/app/livechat/server/lib/Contacts.ts +++ b/apps/meteor/app/livechat/server/lib/Contacts.ts @@ -4,6 +4,7 @@ import type { ILivechatCustomField, ILivechatVisitor, IOmnichannelRoom, + IUser, } from '@rocket.chat/core-typings'; import { LivechatVisitors, @@ -192,7 +193,8 @@ export async function createContact(params: CreateContactParams): Promise Date: Tue, 9 Jul 2024 15:53:39 -0300 Subject: [PATCH 30/59] test: ensure that contact manager is properly validated --- .../app/livechat/server/lib/Contacts.spec.ts | 30 ++++++++++++++++--- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/apps/meteor/tests/unit/app/livechat/server/lib/Contacts.spec.ts b/apps/meteor/tests/unit/app/livechat/server/lib/Contacts.spec.ts index 9ff2019ffca5..ff455e8e412b 100644 --- a/apps/meteor/tests/unit/app/livechat/server/lib/Contacts.spec.ts +++ b/apps/meteor/tests/unit/app/livechat/server/lib/Contacts.spec.ts @@ -2,10 +2,12 @@ import { expect } from 'chai'; import proxyquire from 'proxyquire'; import sinon from 'sinon'; -const { validateCustomFields } = proxyquire.noCallThru().load('../../../../../../app/livechat/server/lib/Contacts', { - 'meteor/check': sinon.stub(), - 'meteor/meteor': sinon.stub(), -}); +const { validateCustomFields, validateContactManager } = proxyquire + .noCallThru() + .load('../../../../../../app/livechat/server/lib/Contacts', { + 'meteor/check': sinon.stub(), + 'meteor/meteor': sinon.stub(), + }); describe('[OC] Contacts', () => { describe('validateCustomFields', () => { @@ -37,4 +39,24 @@ describe('[OC] Contacts', () => { expect(() => validateCustomFields(allowedCustomFields, customFields)).not.to.throw(); }); }); + + describe('validateContactManager', () => { + it('should throw an error if the user does not exist', async () => { + const user = null; + + await expect(validateContactManager(user)).to.be.rejectedWith('error-contact-manager-not-found'); + }); + + it('should throw an error if the user does not have the "livechat-agent" role', async () => { + const user = { roles: ['user'] }; + + await expect(validateContactManager(user)).to.be.rejectedWith('error-invalid-contact-manager'); + }); + + it('should not throw an error if the user has the "livechat-agent" role', async () => { + const user = { roles: ['livechat-agent'] }; + + await expect(validateContactManager(user)).to.not.be.rejected; + }); + }); }); From 422943d317f5e50e0397b9bfd8d5cb7d804ff7de Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Tue, 9 Jul 2024 16:02:45 -0300 Subject: [PATCH 31/59] refactor: extract update to a proper method --- apps/meteor/app/livechat/server/lib/Contacts.ts | 16 ++-------------- .../meteor/server/models/raw/LivechatContacts.ts | 5 +++++ .../src/models/ILivechatContactsModel.ts | 4 +++- 3 files changed, 10 insertions(+), 15 deletions(-) diff --git a/apps/meteor/app/livechat/server/lib/Contacts.ts b/apps/meteor/app/livechat/server/lib/Contacts.ts index 91e21fd9a04c..32270d46f466 100644 --- a/apps/meteor/app/livechat/server/lib/Contacts.ts +++ b/apps/meteor/app/livechat/server/lib/Contacts.ts @@ -232,21 +232,9 @@ export async function updateContact(params: UpdateContactParams): Promise } = { - $set: { - name, - emails, - phones, - contactManager, - channels, - customFields, - unknown: true, - }, - }; - - await LivechatContacts.updateOne({ _id: contactId }, updateContact); + const updatedContact = await LivechatContacts.updateContact(contactId, { name, emails, phones, contactManager, channels, customFields }); - return LivechatContacts.findOneById(contactId) as Promise; + return updatedContact; } async function getAllowedCustomFields(): Promise { diff --git a/apps/meteor/server/models/raw/LivechatContacts.ts b/apps/meteor/server/models/raw/LivechatContacts.ts index 1f5f29a3cc78..c85e9657260e 100644 --- a/apps/meteor/server/models/raw/LivechatContacts.ts +++ b/apps/meteor/server/models/raw/LivechatContacts.ts @@ -8,4 +8,9 @@ export class LivechatContactsRaw extends BaseRaw implements IL constructor(db: Db, trash?: Collection>) { super(db, 'livechat_contact', trash); } + + async updateContact(contactId: string, data: Partial): Promise { + await this.updateOne({ _id: contactId }, { $set: { ...data, unknown: true } }); + return this.findOneById(contactId) as Promise; + } } diff --git a/packages/model-typings/src/models/ILivechatContactsModel.ts b/packages/model-typings/src/models/ILivechatContactsModel.ts index bcf48a837400..f94216830884 100644 --- a/packages/model-typings/src/models/ILivechatContactsModel.ts +++ b/packages/model-typings/src/models/ILivechatContactsModel.ts @@ -2,4 +2,6 @@ import type { ILivechatContact } from '@rocket.chat/core-typings'; import type { IBaseModel } from './IBaseModel'; -export type ILivechatContactsModel = IBaseModel; +export interface ILivechatContactsModel extends IBaseModel { + updateContact(contactId: string, data: Partial): Promise; +} From 8c3a68fb537c52a1441f58ce31d06a69b038bb2e Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Wed, 10 Jul 2024 14:05:24 -0300 Subject: [PATCH 32/59] Update .changeset/sixty-spoons-own.md Co-authored-by: Kevin Aleman --- .changeset/sixty-spoons-own.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/sixty-spoons-own.md b/.changeset/sixty-spoons-own.md index 8bcafbf7c941..0b717c3965ef 100644 --- a/.changeset/sixty-spoons-own.md +++ b/.changeset/sixty-spoons-own.md @@ -6,4 +6,4 @@ "@rocket.chat/rest-typings": minor --- -Introduced "create contacts" endpoint to the omnichannel +Introduced "create contacts" endpoint to omnichannel From 80172f9391872c849cfe6ec9c92f8641e0b8c52e Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Wed, 10 Jul 2024 14:06:59 -0300 Subject: [PATCH 33/59] Update apps/meteor/app/livechat/server/lib/Contacts.ts Co-authored-by: Kevin Aleman --- apps/meteor/app/livechat/server/lib/Contacts.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/meteor/app/livechat/server/lib/Contacts.ts b/apps/meteor/app/livechat/server/lib/Contacts.ts index 292ce5d7a298..4b7f5d568f98 100644 --- a/apps/meteor/app/livechat/server/lib/Contacts.ts +++ b/apps/meteor/app/livechat/server/lib/Contacts.ts @@ -176,7 +176,7 @@ export async function createContact(params: CreateContactParams): Promise>(contactManager, { projection: { roles: 1 } }); if (!contactManagerUser) { throw new Error('error-contact-manager-not-found'); } From 0d0d016fd40e392e290422503de1fa7b0864b9e6 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Wed, 10 Jul 2024 14:08:49 -0300 Subject: [PATCH 34/59] fix: use correct method to deprecation --- apps/meteor/app/livechat/server/api/v1/contact.ts | 6 +++++- apps/meteor/app/livechat/server/lib/Contacts.ts | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/apps/meteor/app/livechat/server/api/v1/contact.ts b/apps/meteor/app/livechat/server/api/v1/contact.ts index 1c5ea3b40574..dfd47305df4e 100644 --- a/apps/meteor/app/livechat/server/api/v1/contact.ts +++ b/apps/meteor/app/livechat/server/api/v1/contact.ts @@ -12,7 +12,11 @@ import { Contacts, createContact } from '../../lib/Contacts'; */ API.v1.addRoute( 'omnichannel/contact', - { authRequired: true, permissionsRequired: ['view-l-room'], deprecationVersion: '8.0.0' }, + { + authRequired: true, + permissionsRequired: ['view-l-room'], + deprecation: { version: '8.0.0', message: 'Use the omnichannel/contacts endpoint instead' }, + }, { async post() { check(this.bodyParams, { diff --git a/apps/meteor/app/livechat/server/lib/Contacts.ts b/apps/meteor/app/livechat/server/lib/Contacts.ts index 4b7f5d568f98..c25a6ffeba74 100644 --- a/apps/meteor/app/livechat/server/lib/Contacts.ts +++ b/apps/meteor/app/livechat/server/lib/Contacts.ts @@ -1,4 +1,4 @@ -import type { ILivechatContactChannel, ILivechatCustomField, ILivechatVisitor, IOmnichannelRoom } from '@rocket.chat/core-typings'; +import type { ILivechatContactChannel, ILivechatCustomField, ILivechatVisitor, IOmnichannelRoom, IUser } from '@rocket.chat/core-typings'; import { LivechatVisitors, Users, From cf6da0c037b3c24da4c1098a67557debc527c9da Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Wed, 10 Jul 2024 14:13:55 -0300 Subject: [PATCH 35/59] fix: type of IUser --- apps/meteor/app/livechat/server/lib/Contacts.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/meteor/app/livechat/server/lib/Contacts.ts b/apps/meteor/app/livechat/server/lib/Contacts.ts index 58af940b542e..4a719b1c4856 100644 --- a/apps/meteor/app/livechat/server/lib/Contacts.ts +++ b/apps/meteor/app/livechat/server/lib/Contacts.ts @@ -223,7 +223,7 @@ export async function updateContact(params: UpdateContactParams): Promise>(contactManager, { projection: { roles: 1 } }); await validateContactManager(contactManagerUser); } @@ -273,7 +273,7 @@ export function validateCustomFields(allowedCustomFields: ILivechatCustomField[] } } -export async function validateContactManager(user: IUser | null) { +export async function validateContactManager(user: Pick | null) { if (!user) { throw new Error('error-contact-manager-not-found'); } From ef56b06fd59b48e234f74168cda8df63d01d144f Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Tue, 16 Jul 2024 14:38:54 -0300 Subject: [PATCH 36/59] fix: find only agents --- apps/meteor/app/livechat/server/lib/Contacts.ts | 5 +---- apps/meteor/tests/end-to-end/api/livechat/contacts.ts | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/apps/meteor/app/livechat/server/lib/Contacts.ts b/apps/meteor/app/livechat/server/lib/Contacts.ts index c25a6ffeba74..e5a71a2ebdfd 100644 --- a/apps/meteor/app/livechat/server/lib/Contacts.ts +++ b/apps/meteor/app/livechat/server/lib/Contacts.ts @@ -176,13 +176,10 @@ export async function createContact(params: CreateContactParams): Promise>(contactManager, { projection: { roles: 1 } }); + const contactManagerUser = await Users.findOneAgentById>(contactManager, { projection: { roles: 1 } }); if (!contactManagerUser) { throw new Error('error-contact-manager-not-found'); } - if (!contactManagerUser.roles || !Array.isArray(contactManagerUser.roles) || !contactManagerUser.roles.includes('livechat-agent')) { - throw new Error('error-invalid-contact-manager'); - } } const allowedCustomFields = await getAllowedCustomFields(); diff --git a/apps/meteor/tests/end-to-end/api/livechat/contacts.ts b/apps/meteor/tests/end-to-end/api/livechat/contacts.ts index c2c68af0c45b..21eced5ee7e9 100644 --- a/apps/meteor/tests/end-to-end/api/livechat/contacts.ts +++ b/apps/meteor/tests/end-to-end/api/livechat/contacts.ts @@ -86,7 +86,7 @@ describe('LIVECHAT - contacts', () => { expect(res.body).to.have.property('success', false); expect(res.body).to.have.property('error'); - expect(res.body.error).to.be.equal('error-invalid-contact-manager'); + expect(res.body.error).to.be.equal('error-contact-manager-not-found'); await deleteUser(normalUser); }); From 307661ae220be9c5eb41eb34d5614ea2fe3cf234 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Tue, 16 Jul 2024 14:40:24 -0300 Subject: [PATCH 37/59] Update apps/meteor/app/livechat/server/api/v1/contact.ts Co-authored-by: Kevin Aleman --- apps/meteor/app/livechat/server/api/v1/contact.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/meteor/app/livechat/server/api/v1/contact.ts b/apps/meteor/app/livechat/server/api/v1/contact.ts index dfd47305df4e..b42801a068a4 100644 --- a/apps/meteor/app/livechat/server/api/v1/contact.ts +++ b/apps/meteor/app/livechat/server/api/v1/contact.ts @@ -15,7 +15,7 @@ API.v1.addRoute( { authRequired: true, permissionsRequired: ['view-l-room'], - deprecation: { version: '8.0.0', message: 'Use the omnichannel/contacts endpoint instead' }, + deprecation: { version: '8.0.0', alternatives: ['omnichannel/contacts'] }, }, { async post() { From 6cbc007911117a53a0cd413c2b8b19513fb8bbe2 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Tue, 16 Jul 2024 15:23:40 -0300 Subject: [PATCH 38/59] test: remove test since it never happen --- .../tests/unit/app/livechat/server/lib/Contacts.spec.ts | 6 ------ 1 file changed, 6 deletions(-) diff --git a/apps/meteor/tests/unit/app/livechat/server/lib/Contacts.spec.ts b/apps/meteor/tests/unit/app/livechat/server/lib/Contacts.spec.ts index ff455e8e412b..b030fa19241c 100644 --- a/apps/meteor/tests/unit/app/livechat/server/lib/Contacts.spec.ts +++ b/apps/meteor/tests/unit/app/livechat/server/lib/Contacts.spec.ts @@ -47,12 +47,6 @@ describe('[OC] Contacts', () => { await expect(validateContactManager(user)).to.be.rejectedWith('error-contact-manager-not-found'); }); - it('should throw an error if the user does not have the "livechat-agent" role', async () => { - const user = { roles: ['user'] }; - - await expect(validateContactManager(user)).to.be.rejectedWith('error-invalid-contact-manager'); - }); - it('should not throw an error if the user has the "livechat-agent" role', async () => { const user = { roles: ['livechat-agent'] }; From 5b8fec0951f7329641a5bb626ec4c3e371d4e620 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Tue, 23 Jul 2024 11:06:21 -0300 Subject: [PATCH 39/59] refactor: turn fields to optional to be able to create a unknown contact --- apps/meteor/app/livechat/server/lib/Contacts.ts | 4 ++-- packages/core-typings/src/ILivechatContact.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/meteor/app/livechat/server/lib/Contacts.ts b/apps/meteor/app/livechat/server/lib/Contacts.ts index 28951239b7e9..7c1b4060d8c0 100644 --- a/apps/meteor/app/livechat/server/lib/Contacts.ts +++ b/apps/meteor/app/livechat/server/lib/Contacts.ts @@ -40,8 +40,8 @@ type RegisterContactProps = { type CreateContactParams = { name: string; - emails: string[]; - phones: string[]; + emails?: string[]; + phones?: string[]; unknown: boolean; customFields?: Record; contactManager?: string; diff --git a/packages/core-typings/src/ILivechatContact.ts b/packages/core-typings/src/ILivechatContact.ts index 149dab2b88b1..1e7bd4ff5399 100644 --- a/packages/core-typings/src/ILivechatContact.ts +++ b/packages/core-typings/src/ILivechatContact.ts @@ -14,8 +14,8 @@ export interface ILivechatContactConflictingField { export interface ILivechatContact extends IRocketChatRecord { name: string; - phones: string[]; - emails: string[]; + phones?: string[]; + emails?: string[]; contactManager?: string; unknown?: boolean; hasConflict?: boolean; From 168a9436dc5d37bb49796e96263e9c0df04c41e6 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Tue, 23 Jul 2024 11:06:39 -0300 Subject: [PATCH 40/59] feat: create an unknown contact for a new visitor --- .../app/livechat/server/lib/LivechatTyped.ts | 19 +++++++++++++++++++ .../server/models/raw/LivechatContacts.ts | 5 +++++ packages/core-typings/src/ILivechatVisitor.ts | 1 + .../src/models/ILivechatContactsModel.ts | 2 ++ 4 files changed, 27 insertions(+) diff --git a/apps/meteor/app/livechat/server/lib/LivechatTyped.ts b/apps/meteor/app/livechat/server/lib/LivechatTyped.ts index bb56eb81ceb3..31400192bea6 100644 --- a/apps/meteor/app/livechat/server/lib/LivechatTyped.ts +++ b/apps/meteor/app/livechat/server/lib/LivechatTyped.ts @@ -22,6 +22,7 @@ import type { ILivechatDepartmentAgents, LivechatDepartmentDTO, OmnichannelSourceType, + ILivechatContact, } from '@rocket.chat/core-typings'; import { ILivechatAgentStatus, UserStatus, isOmnichannelRoom } from '@rocket.chat/core-typings'; import { Logger, type MainLogger } from '@rocket.chat/logger'; @@ -37,6 +38,7 @@ import { ReadReceipts, Rooms, LivechatCustomField, + LivechatContacts, } from '@rocket.chat/models'; import { serverFetch as fetch } from '@rocket.chat/server-fetch'; import { Match, check } from 'meteor/check'; @@ -70,6 +72,7 @@ import { metrics } from '../../../metrics/server'; import { settings } from '../../../settings/server'; import { getTimezone } from '../../../utils/server/lib/getTimezone'; import { businessHourManager } from '../business-hour'; +import { createContact } from './Contacts'; import { parseAgentCustomFields, updateDepartmentAgents, validateEmail, normalizeTransferredByData } from './Helper'; import { QueueManager } from './QueueManager'; import { RoutingManager } from './RoutingManager'; @@ -759,6 +762,22 @@ class LivechatClass { } } + let contactId; + if (email) { + const contact = await LivechatContacts.findVerifiedContactByEmail>(email, { projection: { _id: 1 } }); + contactId = contact?._id; + } + + if (!contactId) { + contactId = await createContact({ + name: name ?? (visitorDataToUpdate.username as string), + emails: email ? [email] : [], + phones: phone ? [phone.number] : [], + unknown: true, + }); + } + visitorDataToUpdate.contactId = contactId; + const upsertedLivechatVisitor = await LivechatVisitors.updateOneByIdOrToken(visitorDataToUpdate, { upsert: true, returnDocument: 'after', diff --git a/apps/meteor/server/models/raw/LivechatContacts.ts b/apps/meteor/server/models/raw/LivechatContacts.ts index c85e9657260e..6c3e985d11cf 100644 --- a/apps/meteor/server/models/raw/LivechatContacts.ts +++ b/apps/meteor/server/models/raw/LivechatContacts.ts @@ -13,4 +13,9 @@ export class LivechatContactsRaw extends BaseRaw implements IL await this.updateOne({ _id: contactId }, { $set: { ...data, unknown: true } }); return this.findOneById(contactId) as Promise; } + + async findVerifiedContactByEmail(email: string): Promise { + // TODO: find only contacts with verified channels + return this.findOne({ emails: { $elemMatch: { address: email } }, channels: { $elemMatch: { verified: true } } }); + } } diff --git a/packages/core-typings/src/ILivechatVisitor.ts b/packages/core-typings/src/ILivechatVisitor.ts index 21819cc23f24..eefb4ebd720c 100644 --- a/packages/core-typings/src/ILivechatVisitor.ts +++ b/packages/core-typings/src/ILivechatVisitor.ts @@ -49,6 +49,7 @@ export interface ILivechatVisitor extends IRocketChatRecord { }; activity?: string[]; disabled?: boolean; + contactId?: string; } export interface ILivechatVisitorDTO { diff --git a/packages/model-typings/src/models/ILivechatContactsModel.ts b/packages/model-typings/src/models/ILivechatContactsModel.ts index f94216830884..0e56f8c7790a 100644 --- a/packages/model-typings/src/models/ILivechatContactsModel.ts +++ b/packages/model-typings/src/models/ILivechatContactsModel.ts @@ -1,7 +1,9 @@ import type { ILivechatContact } from '@rocket.chat/core-typings'; +import type { FindOptions } from 'mongodb'; import type { IBaseModel } from './IBaseModel'; export interface ILivechatContactsModel extends IBaseModel { updateContact(contactId: string, data: Partial): Promise; + findVerifiedContactByEmail(email: string, options?: FindOptions): Promise; } From e218fb1240c2d83f2500c50fd66727685bd81c50 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Mon, 29 Jul 2024 14:19:59 -0300 Subject: [PATCH 41/59] fix: always create unknown contact --- .../app/livechat/server/lib/LivechatTyped.ts | 22 +++++-------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/apps/meteor/app/livechat/server/lib/LivechatTyped.ts b/apps/meteor/app/livechat/server/lib/LivechatTyped.ts index 31400192bea6..315c7c04f501 100644 --- a/apps/meteor/app/livechat/server/lib/LivechatTyped.ts +++ b/apps/meteor/app/livechat/server/lib/LivechatTyped.ts @@ -22,7 +22,6 @@ import type { ILivechatDepartmentAgents, LivechatDepartmentDTO, OmnichannelSourceType, - ILivechatContact, } from '@rocket.chat/core-typings'; import { ILivechatAgentStatus, UserStatus, isOmnichannelRoom } from '@rocket.chat/core-typings'; import { Logger, type MainLogger } from '@rocket.chat/logger'; @@ -38,7 +37,6 @@ import { ReadReceipts, Rooms, LivechatCustomField, - LivechatContacts, } from '@rocket.chat/models'; import { serverFetch as fetch } from '@rocket.chat/server-fetch'; import { Match, check } from 'meteor/check'; @@ -762,20 +760,12 @@ class LivechatClass { } } - let contactId; - if (email) { - const contact = await LivechatContacts.findVerifiedContactByEmail>(email, { projection: { _id: 1 } }); - contactId = contact?._id; - } - - if (!contactId) { - contactId = await createContact({ - name: name ?? (visitorDataToUpdate.username as string), - emails: email ? [email] : [], - phones: phone ? [phone.number] : [], - unknown: true, - }); - } + const contactId = await createContact({ + name: name ?? (visitorDataToUpdate.username as string), + emails: email ? [email] : [], + phones: phone ? [phone.number] : [], + unknown: true, + }); visitorDataToUpdate.contactId = contactId; const upsertedLivechatVisitor = await LivechatVisitors.updateOneByIdOrToken(visitorDataToUpdate, { From a9bf6e05a34871ce66f202454479c3728b1951f8 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Mon, 29 Jul 2024 15:29:19 -0300 Subject: [PATCH 42/59] test: ensure that a contact is created --- apps/meteor/tests/end-to-end/api/livechat/09-visitors.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/meteor/tests/end-to-end/api/livechat/09-visitors.ts b/apps/meteor/tests/end-to-end/api/livechat/09-visitors.ts index 5bc961087efc..f02d9d1d1e95 100644 --- a/apps/meteor/tests/end-to-end/api/livechat/09-visitors.ts +++ b/apps/meteor/tests/end-to-end/api/livechat/09-visitors.ts @@ -56,6 +56,7 @@ describe('LIVECHAT - visitors', () => { expect(body).to.have.property('success', true); expect(body).to.have.property('visitor'); expect(body.visitor).to.have.property('token', 'test'); + expect(body.visitor).to.have.property('contactId'); // Ensure all new visitors are created as online :) expect(body.visitor).to.have.property('status', 'online'); From 3c87d582f45ef9e770a148a65ddb8d9e7b988826 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Wed, 28 Aug 2024 11:41:04 -0300 Subject: [PATCH 43/59] feat: add translation for new permissions --- packages/i18n/src/locales/en.i18n.json | 2 ++ packages/i18n/src/locales/pt-BR.i18n.json | 2 ++ 2 files changed, 4 insertions(+) diff --git a/packages/i18n/src/locales/en.i18n.json b/packages/i18n/src/locales/en.i18n.json index 159c1641e05e..18e22273aa47 100644 --- a/packages/i18n/src/locales/en.i18n.json +++ b/packages/i18n/src/locales/en.i18n.json @@ -5842,6 +5842,8 @@ "view-joined-room": "View Joined Room", "view-joined-room_description": "Permission to view the currently joined channels", "view-l-room": "View Omnichannel Rooms", + "create-livechat-contact": "Create Omnichannel contacts", + "update-livechat-contact": "Update Omnichannel contacts", "view-l-room_description": "Permission to view Omnichannel rooms", "view-livechat-analytics": "View Omnichannel Analytics", "onboarding.page.awaitingConfirmation.subtitle": "We have sent you an email to {{emailAddress}} with a confirmation link. Please verify that the security code below matches the one in the email.", diff --git a/packages/i18n/src/locales/pt-BR.i18n.json b/packages/i18n/src/locales/pt-BR.i18n.json index f072bc626270..ad490a1b6f04 100644 --- a/packages/i18n/src/locales/pt-BR.i18n.json +++ b/packages/i18n/src/locales/pt-BR.i18n.json @@ -4678,6 +4678,8 @@ "view-joined-room": "Ver sala incorporada", "view-joined-room_description": "Permissão para ver os canais atualmente associados", "view-l-room": "Ver salas de omnichannel", + "create-livechat-contact": "Criar contatos do omnichannel", + "update-livechat-contact": "Atualizar contatos do omnichannel", "view-l-room_description": "Permissão para ver salas de omnichannel", "view-livechat-analytics": "Ver a análise do omnichannel", "onboarding.page.awaitingConfirmation.subtitle": "Enviamos um e-mail para {{emailAddress}} com um link de confirmação. Verifique se o código de segurança abaixo coincide com o do e-mail.", From a4d84fe5805269622840e999c3b77718c25a4676 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Wed, 28 Aug 2024 11:54:13 -0300 Subject: [PATCH 44/59] refactor: extract contact manager validation to a function --- apps/meteor/app/livechat/server/lib/Contacts.ts | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/apps/meteor/app/livechat/server/lib/Contacts.ts b/apps/meteor/app/livechat/server/lib/Contacts.ts index 61c7c76c762b..f753e0ea1ca5 100644 --- a/apps/meteor/app/livechat/server/lib/Contacts.ts +++ b/apps/meteor/app/livechat/server/lib/Contacts.ts @@ -206,8 +206,7 @@ export async function createContact(params: CreateContactParams): Promise>(contactManager, { projection: { roles: 1 } }); - await validateContactManager(contactManagerUser); + await validateContactManager(contactManager); } const allowedCustomFields = await getAllowedCustomFields(); @@ -229,15 +228,14 @@ export async function createContact(params: CreateContactParams): Promise { const { contactId, name, emails, phones, customFields, contactManager, channels } = params; - const contact = await LivechatContacts.findOneById(contactId, { projection: { _id: 1 } }); + const contact = await LivechatContacts.findOneById>(contactId, { projection: { _id: 1 } }); if (!contact) { throw new Error('error-contact-not-found'); } if (contactManager) { - const contactManagerUser = await Users.findOneById>(contactManager, { projection: { roles: 1 } }); - await validateContactManager(contactManagerUser); + await validateContactManager(contactManager); } if (customFields) { @@ -286,8 +284,9 @@ export function validateCustomFields(allowedCustomFields: ILivechatCustomField[] } } -export async function validateContactManager(user: Pick | null) { - if (!user) { +export async function validateContactManager(contactManagerUserId: string) { + const contactManagerUser = await Users.findOneAgentById>(contactManagerUserId, { projection: { roles: 1 } }); + if (!contactManagerUser) { throw new Error('error-contact-manager-not-found'); } } From 504c4ec9b9aeb55a35735904c49583e57dab7980 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Wed, 28 Aug 2024 12:06:09 -0300 Subject: [PATCH 45/59] refactor: use findOneAndUpdate instead --- apps/meteor/server/models/raw/LivechatContacts.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/meteor/server/models/raw/LivechatContacts.ts b/apps/meteor/server/models/raw/LivechatContacts.ts index c85e9657260e..9fe3b258b7f0 100644 --- a/apps/meteor/server/models/raw/LivechatContacts.ts +++ b/apps/meteor/server/models/raw/LivechatContacts.ts @@ -10,7 +10,7 @@ export class LivechatContactsRaw extends BaseRaw implements IL } async updateContact(contactId: string, data: Partial): Promise { - await this.updateOne({ _id: contactId }, { $set: { ...data, unknown: true } }); - return this.findOneById(contactId) as Promise; + const updatedValue = await this.findOneAndUpdate({ _id: contactId }, { $set: { ...data, unknown: true } }, { returnDocument: 'after' }); + return updatedValue.value as ILivechatContact; } } From 0babebc2d423af68d960eeea7db230da689173da Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Wed, 28 Aug 2024 12:07:53 -0300 Subject: [PATCH 46/59] fix: set unknown to false when contact is updated --- apps/meteor/server/models/raw/LivechatContacts.ts | 6 +++++- apps/meteor/tests/end-to-end/api/livechat/contacts.ts | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/apps/meteor/server/models/raw/LivechatContacts.ts b/apps/meteor/server/models/raw/LivechatContacts.ts index 9fe3b258b7f0..88dac1b9f5c1 100644 --- a/apps/meteor/server/models/raw/LivechatContacts.ts +++ b/apps/meteor/server/models/raw/LivechatContacts.ts @@ -10,7 +10,11 @@ export class LivechatContactsRaw extends BaseRaw implements IL } async updateContact(contactId: string, data: Partial): Promise { - const updatedValue = await this.findOneAndUpdate({ _id: contactId }, { $set: { ...data, unknown: true } }, { returnDocument: 'after' }); + const updatedValue = await this.findOneAndUpdate( + { _id: contactId }, + { $set: { ...data, unknown: false } }, + { returnDocument: 'after' }, + ); return updatedValue.value as ILivechatContact; } } diff --git a/apps/meteor/tests/end-to-end/api/livechat/contacts.ts b/apps/meteor/tests/end-to-end/api/livechat/contacts.ts index 64428c0e772b..f13aa37ae180 100644 --- a/apps/meteor/tests/end-to-end/api/livechat/contacts.ts +++ b/apps/meteor/tests/end-to-end/api/livechat/contacts.ts @@ -347,7 +347,7 @@ describe('LIVECHAT - contacts', () => { expect(res.body.contact.phones).to.be.deep.equal(phones); }); - it('should set the unknown field to true when updating a contact', async () => { + it('should set the unknown field to false when updating a contact', async () => { const res = await request.post(api('omnichannel/contacts.update')).set(credentials).send({ contactId, name: faker.person.fullName(), @@ -356,7 +356,7 @@ describe('LIVECHAT - contacts', () => { expect(res.status).to.be.equal(200); expect(res.body).to.have.property('success', true); expect(res.body.contact._id).to.be.equal(contactId); - expect(res.body.contact.unknown).to.be.equal(true); + expect(res.body.contact.unknown).to.be.equal(false); }); it('should be able to update the contact manager', async () => { From cb5d963cfb8cba0cf40a9b6a6c0c1f30dc7f5a7c Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Wed, 28 Aug 2024 14:20:15 -0300 Subject: [PATCH 47/59] refactor: get only the id to check if user exists --- apps/meteor/app/livechat/server/lib/Contacts.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/meteor/app/livechat/server/lib/Contacts.ts b/apps/meteor/app/livechat/server/lib/Contacts.ts index f753e0ea1ca5..2003d1131ce0 100644 --- a/apps/meteor/app/livechat/server/lib/Contacts.ts +++ b/apps/meteor/app/livechat/server/lib/Contacts.ts @@ -285,7 +285,7 @@ export function validateCustomFields(allowedCustomFields: ILivechatCustomField[] } export async function validateContactManager(contactManagerUserId: string) { - const contactManagerUser = await Users.findOneAgentById>(contactManagerUserId, { projection: { roles: 1 } }); + const contactManagerUser = await Users.findOneAgentById>(contactManagerUserId, { projection: { _id: 1 } }); if (!contactManagerUser) { throw new Error('error-contact-manager-not-found'); } From 1fea4e267940044e17f9a28ef3e898795d3cb95b Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Wed, 28 Aug 2024 15:01:23 -0300 Subject: [PATCH 48/59] fix: throw an error if additional custom fields are provided --- .../app/livechat/server/lib/Contacts.ts | 7 + .../tests/end-to-end/api/livechat/contacts.ts | 17 + .../app/livechat/server/lib/Contacts.spec.ts | 7 + packages/i18n/src/locales/en.i18n.json | 13075 ++++++++-------- packages/i18n/src/locales/pt-BR.i18n.json | 1 + 5 files changed, 6570 insertions(+), 6537 deletions(-) diff --git a/apps/meteor/app/livechat/server/lib/Contacts.ts b/apps/meteor/app/livechat/server/lib/Contacts.ts index 2003d1131ce0..58404ce27584 100644 --- a/apps/meteor/app/livechat/server/lib/Contacts.ts +++ b/apps/meteor/app/livechat/server/lib/Contacts.ts @@ -282,6 +282,13 @@ export function validateCustomFields(allowedCustomFields: ILivechatCustomField[] } } } + + const allowedCustomFieldIds = new Set(allowedCustomFields.map((cf) => cf._id)); + for (const key in customFields) { + if (!allowedCustomFieldIds.has(key)) { + throw new Error(i18n.t('error-custom-field-not-allowed', { key })); + } + } } export async function validateContactManager(contactManagerUserId: string) { diff --git a/apps/meteor/tests/end-to-end/api/livechat/contacts.ts b/apps/meteor/tests/end-to-end/api/livechat/contacts.ts index f13aa37ae180..2ac1768fddef 100644 --- a/apps/meteor/tests/end-to-end/api/livechat/contacts.ts +++ b/apps/meteor/tests/end-to-end/api/livechat/contacts.ts @@ -462,6 +462,23 @@ describe('LIVECHAT - contacts', () => { expect(res.body).to.have.property('error'); expect(res.body.error).to.be.equal('Invalid value for Custom Field 1 field'); }); + + it('should return an error if additional custom fields are provided', async () => { + const res = await request + .post(api('omnichannel/contacts.update')) + .set(credentials) + .send({ + contactId, + customFields: { + cf1: '123', + cf2: 'invalid', + }, + }); + + expect(res.body).to.have.property('success', false); + expect(res.body).to.have.property('error'); + expect(res.body.error).to.be.equal('Custom field cf2 is not allowed'); + }); }); describe('Fields Validation', () => { diff --git a/apps/meteor/tests/unit/app/livechat/server/lib/Contacts.spec.ts b/apps/meteor/tests/unit/app/livechat/server/lib/Contacts.spec.ts index b030fa19241c..2dd82c974ffd 100644 --- a/apps/meteor/tests/unit/app/livechat/server/lib/Contacts.spec.ts +++ b/apps/meteor/tests/unit/app/livechat/server/lib/Contacts.spec.ts @@ -38,6 +38,13 @@ describe('[OC] Contacts', () => { expect(() => validateCustomFields(allowedCustomFields, customFields)).not.to.throw(); }); + + it('should throw an error if a extra custom field is passed', () => { + const allowedCustomFields = [{ _id: 'field1', label: 'Field 1', required: false }]; + const customFields = { field2: 'value' }; + + expect(() => validateCustomFields(allowedCustomFields, customFields)).to.throw(); + }); }); describe('validateContactManager', () => { diff --git a/packages/i18n/src/locales/en.i18n.json b/packages/i18n/src/locales/en.i18n.json index 18e22273aa47..cec378a9ed31 100644 --- a/packages/i18n/src/locales/en.i18n.json +++ b/packages/i18n/src/locales/en.i18n.json @@ -1,6539 +1,6540 @@ { - "500": "Internal Server Error", - "__agents__agents_and__count__conversations__period__": "{{agents}} agents and {{count}} conversations, {{period}}", - "__count__empty_rooms_will_be_removed_automatically": "{{count}} empty rooms will be removed automatically.", - "__count__empty_rooms_will_be_removed_automatically__rooms__": "{{count}} empty rooms will be removed automatically:
{{rooms}}.", - "__count__message_pruned_one": "{{count}} message pruned", - "__count__message_pruned_other": "{{count}} messages pruned", - "__count__conversations__period__": "{{count}} conversations, {{period}}", - "__count__tags__and__count__conversations__period__": "{{count}} tags and {{conversations}} conversations, {{period}}", - "__departments__departments_and__count__conversations__period__": "{{departments}} departments and {{count}} conversations, {{period}}", - "__usersCount__member_joined_one": "+ {{count}} member joined", - "__usersCount__member_joined_other": "+ {{count}} members joined", - "__usersCount__people_will_be_invited": "{{usersCount}} people will be invited", - "__username__is_no_longer__role__defined_by__user_by_": "{{username}} is no longer {{role}} by {{user_by}}", - "__username__was_set__role__by__user_by_": "{{username}} was set {{role}} by {{user_by}}", - "__count__without__department__": "{{count}} without department", - "__count__without__tags__": "{{count}} without tags", - "__count__without__assignee__": "{{count}} without assignee", - "__roomName__was_added_to_favorites": "{{roomName}} was added to favorites", - "__roomName__was_removed_from_favorites": "{{roomName}} was removed from favorites", - "__roomName__is_encrypted": "{{roomName}} is encrypted", - "__roomName__encryption_keys_need_to_be_updated": "{{roomName}} encryption keys need to be updated to give you access. Another room member needs to be online for this to happen.", - "removed__username__as__role_": "removed {{username}} as {{role}}", - "set__username__as__role_": "set {{username}} as {{role}}", - "sequential_message": "sequential message", - "This_room_encryption_has_been_enabled_by__username_": "This room's encryption has been enabled by {{username}}", - "This_room_encryption_has_been_disabled_by__username_": "This room's encryption has been disabled by {{username}}", - "Third_party_login": "Third-party login", - "Enabled_E2E_Encryption_for_this_room": "enabled E2E Encryption for this room", - "Enable_business_hours": "Enable business hours", - "disabled": "disabled", - "Disabled_E2E_Encryption_for_this_room": "disabled E2E Encryption for this room", - "@username": "@username", - "@username_message": "@username ", - "#channel": "#channel", - "%_of_conversations": "% of Conversations", - "0_Errors_Only": "0 - Errors Only", - "1_Errors_and_Information": "1 - Errors and Information", - "2_Erros_Information_and_Debug": "2 - Errors, Information and Debug", - "12_Hour": "12-hour clock", - "24_Hour": "24-hour clock", - "A_cloud-based_platform_for_those_needing_a_plug-and-play_app": "A cloud-based platform for those needing a plug-and-play app.", - "A_new_owner_will_be_assigned_automatically_to__count__rooms": "A new owner will be assigned automatically to {{count}} rooms.", - "A_new_owner_will_be_assigned_automatically_to_the__roomName__room": "A new owner will be assigned automatically to the {{roomName}} room.", - "A_new_owner_will_be_assigned_automatically_to_those__count__rooms__rooms__": "A new owner will be assigned automatically to those {{count}} rooms:
{{rooms}}.", - "A_secure_and_highly_private_self-managed_solution_for_conference_calls": "A secure and highly private self-managed solution for conference calls.", - "A_workspace_admin_needs_to_install_and_configure_a_conference_call_app": "A workspace admin needs to install and configure a conference call app.", - "An_app_needs_to_be_installed_and_configured": "An app needs to be installed and configured.", - "Accessibility": "Accessibility", - "Accessibility_and_Appearance": "Accessibility & appearance", - "Accessibility_activation": "Here you can activate a range of features to enhance your browsing experience.", - "Accessibility_statement": "Accessibility statement", - "Accessibility_feature_documentation": "Accessibility feature documentation", - "Accept_Call": "Accept Call", - "Accept": "Accept", - "Accept_incoming_livechat_requests_even_if_there_are_no_online_agents": "Accept incoming omnichannel requests even if there are no online agents", - "Accept_new_livechats_when_agent_is_idle": "Accept new omnichannel requests when the agent is idle", - "Accept_with_no_online_agents": "Accept with No Online Agents", - "Access_not_authorized": "Access not authorized", - "Access_Token_URL": "Access Token URL", - "Access_Your_Account": "Access Your Account", - "access_your_basic_information": "access your basic information", - "access-mailer": "Access Mailer Screen", - "access-mailer_description": "Permission to send mass email to all users.", - "access-marketplace": "Access marketplace", - "access-marketplace_description": "Permission to browse and get apps from the marketplace", - "access-permissions": "Access Permissions Screen", - "access-permissions_description": "Modify permissions for various roles.", - "access-setting-permissions": "Modify Setting-Based Permissions", - "access-setting-permissions_description": "Permission to modify setting-based permissions", - "Accessing_permissions": "Accessing permissions", - "Account_SID": "Account SID", - "Account": "Account", - "Accounts": "Accounts", - "Accounts_Description": "Modify workspace member account settings.", - "Accounts_Admin_Email_Approval_Needed_Default": "

The user [name] ([email]) has been registered.

Please check \"Administration -> Users\" to activate or delete it.

", - "Accounts_Admin_Email_Approval_Needed_Subject_Default": "A new user registered and needs approval", - "Accounts_Admin_Email_Approval_Needed_With_Reason_Default": "

The user [name] ([email]) has been registered.

Reason: [reason]

Please check \"Administration -> Users\" to activate or delete it.

", - "Accounts_AllowAnonymousRead": "Allow Anonymous Read", - "Accounts_AllowAnonymousWrite": "Allow Anonymous Write", - "Accounts_AllowDeleteOwnAccount": "Allow Users to Delete Own Account", - "Accounts_AllowedDomainsList": "Allowed Domains List", - "Accounts_AllowedDomainsList_Description": "Comma-separated list of allowed domains", - "Accounts_AllowInvisibleStatusOption": "Allow Invisible status option", - "Accounts_AllowEmailChange": "Allow Email Change", - "Accounts_AllowEmailNotifications": "Allow Email Notifications", - "Accounts_AllowFeaturePreview": "Allow Feature Preview", - "Accounts_AllowPasswordChange": "Allow Password Change", - "Accounts_AllowPasswordChangeForOAuthUsers": "Allow Password Change for OAuth Users", - "Accounts_AllowRealNameChange": "Allow Name Change", - "Accounts_AllowUserAvatarChange": "Allow User Avatar Change", - "Accounts_AllowUsernameChange": "Allow Username Change", - "Accounts_AllowUserProfileChange": "Allow User Profile Change", - "Accounts_AllowUserStatusMessageChange": "Allow Custom Status Message", - "Accounts_AvatarBlockUnauthenticatedAccess": "Block Unauthenticated Access to Avatars", - "Accounts_AvatarCacheTime": "Avatar cache time", - "Accounts_AvatarCacheTime_description": "Number of seconds the http protocol is told to cache the avatar images.", - "Accounts_AvatarExternalProviderUrl": "Avatar External Provider URL", - "Accounts_AvatarExternalProviderUrl_Description": "Example: `https://acme.com/api/v1/{username}`", - "Accounts_AvatarResize": "Resize Avatars", - "Accounts_AvatarSize": "Avatar Size", - "Accounts_BlockedDomainsList": "Blocked Domains List", - "Accounts_BlockedDomainsList_Description": "Comma-separated list of blocked domains", - "Accounts_BlockedUsernameList": "Blocked Username List", - "Accounts_BlockedUsernameList_Description": "Comma-separated list of blocked usernames (case-insensitive)", - "Accounts_CustomFields_Description": "Should be a valid JSON where keys are the field names containing a dictionary of field settings. Example: \n`{\"role\":{ \"type\": \"select\", \"defaultValue\": \"student\", \"options\": [\"teacher\", \"student\"], \"required\": true, \"modifyRecordField\": { \"array\": true, \"field\": \"roles\" } }, \"twitter\": { \"type\": \"text\", \"required\": true, \"minLength\": 2, \"maxLength\": 10 }}`", - "Accounts_CustomFieldsToShowInUserInfo": "Custom Fields to Show in User Info", - "Accounts_Default_User_Preferences": "Default User Preferences", - "Accounts_Default_User_Preferences_audioNotifications": "Audio Notifications Default Alert", - "Accounts_Default_User_Preferences_alsoSendThreadToChannel_Description": "Allow users to select the Also send to channel behavior", - "Accounts_Default_User_Preferences_desktopNotifications": "Desktop Notifications Default Alert", - "Accounts_Default_User_Preferences_pushNotifications": "Push Notifications Default Alert", - "Accounts_Default_User_Preferences_not_available": "Failed to retrieve User Preferences because they haven't been set up by the user yet", - "Accounts_Default_User_Preferences_showThreadsInMainChannel_Description": "When enabled, all replies under a thread will also be displayed directly in the main room. When disabled, thread replies will be displayed based on the sender's choice.", - "Accounts_DefaultUsernamePrefixSuggestion": "Default Username Prefix Suggestion", - "Accounts_denyUnverifiedEmail": "Deny unverified email", - "Accounts_Directory_DefaultView": "Default Directory Listing", - "Accounts_Email_Activated": "[name]

Your account was activated.

", - "Accounts_Email_Activated_Subject": "Account activated", - "Accounts_Email_Approved": "[name]

Your account was approved.

", - "Accounts_Email_Approved_Subject": "Account approved", - "Accounts_Email_Deactivated": "[name]

Your account was deactivated.

", - "Accounts_Email_Deactivated_Subject": "Account deactivated", - "Accounts_EmailVerification": "Require email verification to login", - "Accounts_EmailVerification_Description": "Ensure SMTP is configured to enable", - "Accounts_Enrollment_Email": "Enrollment Email", - "Accounts_Enrollment_Email_Default": "

Welcome to [Site_Name]

Go to [Site_URL] and try the best open source chat solution available today!

", - "Accounts_Enrollment_Email_Description": "You may use the following placeholders: \n - `[name]`, `[fname]`, `[lname]` for the user's full name, first name or last name, respectively. \n - `[email]` for the user's email. \n - `[Site_Name]` and `[Site_URL]` for the Application Name and URL respectively. ", - "Accounts_Enrollment_Email_Subject_Default": "Welcome to [Site_Name]", - "Accounts_ForgetUserSessionOnWindowClose": "Forget User Session on Window Close", - "Accounts_Iframe_api_method": "Api Method", - "Accounts_Iframe_api_url": "API URL", - "Accounts_iframe_enabled": "Enabled", - "Accounts_iframe_url": "Iframe URL", - "Accounts_LoginExpiration": "Login Expiration in Days", - "Accounts_ManuallyApproveNewUsers": "Manually Approve New Users", - "Accounts_OAuth_Apple": "Sign in with Apple", - "Accounts_OAuth_Apple_Description": "If you want Apple login enabled only on mobile, you can leave all fields empty.", - "Accounts_OAuth_Custom_Access_Token_Param": "Param Name for access token", - "Accounts_OAuth_Custom_Authorize_Path": "Authorize Path", - "Accounts_OAuth_Custom_Avatar_Field": "Avatar field", - "Accounts_OAuth_Custom_Button_Color": "Button Color", - "Accounts_OAuth_Custom_Button_Label_Color": "Button Text Color", - "Accounts_OAuth_Custom_Button_Label_Text": "Button Text", - "Accounts_OAuth_Custom_Channel_Admin": "User Data Group Map", - "Accounts_OAuth_Custom_Channel_Map": "OAuth Group Channel Map", - "Accounts_OAuth_Custom_Email_Field": "Email field", - "Accounts_OAuth_Custom_Enable": "Enable", - "Accounts_OAuth_Custom_Groups_Claim": "Roles/Groups field for channel mapping", - "Accounts_OAuth_Custom_id": "Id", - "Accounts_OAuth_Custom_Identity_Path": "Identity Path", - "Accounts_OAuth_Custom_Identity_Token_Sent_Via": "Identity Token Sent Via", - "Accounts_OAuth_Custom_Key_Field": "Key Field", - "Accounts_OAuth_Custom_Login_Style": "Login Style", - "Accounts_OAuth_Custom_Map_Channels": "Map Roles/Groups to channels", - "Accounts_OAuth_Custom_Merge_Roles": "Merge Roles from SSO", - "Accounts_OAuth_Custom_Merge_Users": "Merge users", - "Accounts_OAuth_Custom_Merge_Users_Distinct_Services": "Merge users from distinct services", - "Accounts_OAuth_Custom_Merge_Users_Distinct_Services_Description": "When the given key field matches the one of an existing user, allow users from this OAuth service to be merged to existing users regardless of their origin service.", - "Accounts_OAuth_Custom_Name_Field": "Name field", - "Accounts_OAuth_Custom_Roles_Claim": "Roles/Groups field name", - "Accounts_OAuth_Custom_Roles_To_Sync": "Roles to Sync", - "Accounts_OAuth_Custom_Roles_To_Sync_Description": "OAuth Roles to sync on user login and creation (comma-separated).", - "Accounts_OAuth_Custom_Scope": "Scope", - "Accounts_OAuth_Custom_Secret": "Secret", - "Accounts_OAuth_Custom_Show_Button_On_Login_Page": "Show Button on Login Page", - "Accounts_OAuth_Custom_Token_Path": "Token Path", - "Accounts_OAuth_Custom_Token_Sent_Via": "Token Sent Via", - "Accounts_OAuth_Custom_Username_Field": "Username field", - "Accounts_OAuth_Drupal": "Drupal Login Enabled", - "Accounts_OAuth_Drupal_callback_url": "Drupal oAuth2 Redirect URI", - "Accounts_OAuth_Drupal_id": "Drupal oAuth2 Client ID", - "Accounts_OAuth_Drupal_secret": "Drupal oAuth2 Client Secret", - "Accounts_OAuth_Facebook": "Facebook Login", - "Accounts_OAuth_Facebook_callback_url": "Facebook Callback URL", - "Accounts_OAuth_Facebook_id": "Facebook App ID", - "Accounts_OAuth_Facebook_secret": "Facebook Secret", - "Accounts_OAuth_Github": "OAuth Enabled", - "Accounts_OAuth_Github_callback_url": "Github Callback URL", - "Accounts_OAuth_GitHub_Enterprise": "OAuth Enabled", - "Accounts_OAuth_GitHub_Enterprise_callback_url": "GitHub Enterprise Callback URL", - "Accounts_OAuth_GitHub_Enterprise_id": "Client Id", - "Accounts_OAuth_GitHub_Enterprise_secret": "Client Secret", - "Accounts_OAuth_Github_id": "Client Id", - "Accounts_OAuth_Github_secret": "Client Secret", - "Accounts_OAuth_Gitlab": "OAuth Enabled", - "Accounts_OAuth_Gitlab_callback_url": "GitLab Callback URL", - "Accounts_OAuth_Gitlab_id": "GitLab Id", - "Accounts_OAuth_Gitlab_identity_path": "Identity Path", - "Accounts_OAuth_Gitlab_merge_users": "Merge Users", - "Accounts_OAuth_Gitlab_secret": "Client Secret", - "Accounts_OAuth_Google": "Google Login", - "Accounts_OAuth_Google_callback_url": "Google Callback URL", - "Accounts_OAuth_Google_id": "Google Id", - "Accounts_OAuth_Google_secret": "Google Secret", - "Accounts_OAuth_Linkedin": "LinkedIn Login", - "Accounts_OAuth_Linkedin_callback_url": "Linkedin Callback URL", - "Accounts_OAuth_Linkedin_id": "LinkedIn Id", - "Accounts_OAuth_Linkedin_secret": "LinkedIn Secret", - "Accounts_OAuth_Meteor": "Meteor Login", - "Accounts_OAuth_Meteor_callback_url": "Meteor Callback URL", - "Accounts_OAuth_Meteor_id": "Meteor Id", - "Accounts_OAuth_Meteor_secret": "Meteor Secret", - "Accounts_OAuth_Nextcloud": "OAuth Enabled", - "Accounts_OAuth_Nextcloud_callback_url": "Nextcloud Callback URL", - "Accounts_OAuth_Nextcloud_id": "Nextcloud Id", - "Accounts_OAuth_Nextcloud_secret": "Client Secret", - "Accounts_OAuth_Nextcloud_URL": "Nextcloud Server URL", - "Accounts_OAuth_Proxy_host": "Proxy Host", - "Accounts_OAuth_Proxy_services": "Proxy Services", - "Accounts_OAuth_Tokenpass": "Tokenpass Login", - "Accounts_OAuth_Tokenpass_callback_url": "Tokenpass Callback URL", - "Accounts_OAuth_Tokenpass_id": "Tokenpass Id", - "Accounts_OAuth_Tokenpass_secret": "Tokenpass Secret", - "Accounts_OAuth_Twitter": "Twitter Login", - "Accounts_OAuth_Twitter_callback_url": "Twitter Callback URL", - "Accounts_OAuth_Twitter_id": "Twitter Id", - "Accounts_OAuth_Twitter_secret": "Twitter Secret", - "Accounts_OAuth_Wordpress": "WordPress Login", - "Accounts_OAuth_Wordpress_authorize_path": "Authorize Path", - "Accounts_OAuth_Wordpress_callback_url": "WordPress Callback URL", - "Accounts_OAuth_Wordpress_id": "WordPress Id", - "Accounts_OAuth_Wordpress_identity_path": "Identity Path", - "Accounts_OAuth_Wordpress_identity_token_sent_via": "Identity Token Sent Via", - "Accounts_OAuth_Wordpress_scope": "Scope", - "Accounts_OAuth_Wordpress_secret": "WordPress Secret", - "Accounts_OAuth_Wordpress_server_type_custom": "Custom", - "Accounts_OAuth_Wordpress_server_type_wordpress_com": "Wordpress.com", - "Accounts_OAuth_Wordpress_server_type_wp_oauth_server": "WP OAuth Server Plugin", - "Accounts_OAuth_Wordpress_token_path": "Token Path", - "Accounts_Password_Policy_AtLeastOneLowercase": "At Least One Lowercase", - "Accounts_Password_Policy_AtLeastOneLowercase_Description": "Enforce that a password contain at least one lowercase character.", - "Accounts_Password_Policy_AtLeastOneNumber": "At Least One Number", - "Accounts_Password_Policy_AtLeastOneNumber_Description": "Enforce that a password contain at least one numerical character.", - "Accounts_Password_Policy_AtLeastOneSpecialCharacter": "At Least One Symbol", - "Accounts_Password_Policy_AtLeastOneSpecialCharacter_Description": "Enforce that a password contain at least one special character.", - "Accounts_Password_Policy_AtLeastOneUppercase": "At Least One Uppercase", - "Accounts_Password_Policy_AtLeastOneUppercase_Description": "Enforce that a password contain at least one uppercase character.", - "Accounts_Password_Policy_Enabled": "Enable Password Policy", - "Accounts_Password_Policy_Enabled_Description": "When enabled, user passwords must adhere to the policies set forth. Note: this only applies to new passwords, not existing passwords.", - "Accounts_Password_Policy_ForbidRepeatingCharacters": "Forbid Repeating Characters", - "Accounts_Password_Policy_ForbidRepeatingCharacters_Description": "Ensures passwords do not contain the same character repeating next to each other.", - "Accounts_Password_Policy_ForbidRepeatingCharactersCount": "Max Repeating Characters", - "Accounts_Password_Policy_ForbidRepeatingCharactersCount_Description": "The amount of times a character can be repeating before it is not allowed.", - "Accounts_Password_Policy_MaxLength": "Maximum Length", - "Accounts_Password_Policy_MaxLength_Description": "Ensures that passwords do not have more than this amount of characters. Use `-1` to disable.", - "Accounts_Password_Policy_MinLength": "Minimum Length", - "Accounts_Password_Policy_MinLength_Description": "Ensures that passwords must have at least this amount of characters. Use `-1` to disable.", - "Accounts_PasswordReset": "Password Reset", - "Accounts_Registration_AuthenticationServices_Default_Roles": "Default Roles for Authentication Services", - "Accounts_Registration_AuthenticationServices_Default_Roles_Description": "Default roles (comma-separated) users will be given when registering through authentication services", - "Accounts_Registration_AuthenticationServices_Enabled": "Registration with Authentication Services", - "Accounts_Registration_Users_Default_Roles": "Default Roles for Users", - "Accounts_Registration_Users_Default_Roles_Description": "Default roles (comma-separated) users will be given when registering through manual registration (including via API)", - "Accounts_Registration_Users_Default_Roles_Enabled": "Enable Default Roles for Manual Registration", - "Accounts_Registration_InviteUrlType": "Invite URL Type", - "Accounts_Registration_InviteUrlType_Direct": "Direct", - "Accounts_Registration_InviteUrlType_Proxy": "Proxy", - "Accounts_RegistrationForm": "Registration Form", - "Accounts_RegistrationForm_Disabled": "Disabled", - "Accounts_RegistrationForm_LinkReplacementText": "Registration Form Link Replacement Text", - "Accounts_RegistrationForm_Public": "Public", - "Accounts_RegistrationForm_Secret_URL": "Secret URL", - "Accounts_RegistrationForm_SecretURL": "Registration Form Secret URL", - "Accounts_RegistrationForm_SecretURL_Description": "You must provide a random string that will be added to your registration URL. Example: `https://open.rocket.chat/register/[secret_hash]`", - "Accounts_RequireNameForSignUp": "Require Name For Signup", - "Accounts_RequirePasswordConfirmation": "Require Password Confirmation", - "Accounts_RoomAvatarExternalProviderUrl": "Room Avatar External Provider URL", - "Accounts_RoomAvatarExternalProviderUrl_Description": "Example: `https://acme.com/api/v1/{roomId}`", - "Accounts_SearchFields": "Fields to Consider in Search", - "Accounts_Send_Email_When_Activating": "Send email to user when user is activated", - "Accounts_Send_Email_When_Deactivating": "Send email to user when user is deactivated", - "Accounts_Set_Email_Of_External_Accounts_as_Verified": "Set email of external accounts as verified", - "Accounts_Set_Email_Of_External_Accounts_as_Verified_Description": "Accounts created from external services, like LDAP, OAuth, etc, will have their emails verified automatically", - "Accounts_SetDefaultAvatar": "Set Default Avatar", - "Accounts_SetDefaultAvatar_Description": "Tries to determine default avatar based on OAuth Account or Gravatar", - "Accounts_ShowFormLogin": "Show Default Login Form", - "Accounts_TwoFactorAuthentication_By_TOTP_Enabled": "Enable Two Factor Authentication via TOTP", - "Accounts_TwoFactorAuthentication_By_TOTP_Enabled_Description": "Users can setup their Two Factor Authentication using any TOTP App, like Google Authenticator or Authy.", - "Accounts_TwoFactorAuthentication_By_Email_Auto_Opt_In": "Auto opt in new users for Two Factor via Email", - "Accounts_TwoFactorAuthentication_By_Email_Auto_Opt_In_Description": "New users will have the Two Factor Authentication via Email enabled by default. They will be able to disable it in their profile page.", - "Accounts_TwoFactorAuthentication_By_Email_Code_Expiration": "Time to expire the code sent via email in seconds", - "Accounts_TwoFactorAuthentication_By_Email_Enabled": "Enable Two Factor Authentication via Email", - "Accounts_TwoFactorAuthentication_By_Email_Enabled_Description": "Users with email verified and the option enabled in their profile page will receive an email with a temporary code to authorize certain actions like login, save the profile, etc.", - "Accounts_TwoFactorAuthentication_Enabled": "Enable Two Factor Authentication", - "Accounts_TwoFactorAuthentication_Enabled_Description": "If deactivated, this setting will deactivate all Two Factor Authentication. \nTo force users to use Two Factor Authentication, the admin has to configure the 'user' role to enforce it.", - "Accounts_TwoFactorAuthentication_Enforce_Password_Fallback": "Enforce password fallback", - "Accounts_TwoFactorAuthentication_Enforce_Password_Fallback_Description": "Users will be forced to enter their password, for important actions, if no other Two Factor Authentication method is enabled for that user and a password is set for him.", - "Accounts_TwoFactorAuthentication_MaxDelta": "Maximum Delta", - "Accounts_TwoFactorAuthentication_MaxDelta_Description": "The Maximum Delta determines how many tokens are valid at any given time. Tokens are generated every 30 seconds, and are valid for (30 * Maximum Delta) seconds. \nExample: With a Maximum Delta set to 10, each token can be used up to 300 seconds before or after it's timestamp. This is useful when the client's clock is not properly synced with the server.", - "Accounts_TwoFactorAuthentication_RememberFor": "Remember Two Factor for (seconds)", - "Accounts_TwoFactorAuthentication_RememberFor_Description": "Do not request two factor authorization code if it was already provided before in the given time.", - "Accounts_TwoFactorAuthentication_Max_Invalid_Email_Code_Attempts": "Maximun Invalid Email OTP Codes Allowed", - "Accounts_TwoFactorAuthentication_Max_Invalid_Email_Code_Attempts_Description": "The system allows a maximum number of invalid email OTP codes, after which a new code is automatically generated. We highly recommend using this setting along with 'Block failed login attempts by Username'.", - "Accounts_UseDefaultBlockedDomainsList": "Use Default Blocked Domains List", - "Accounts_UseDNSDomainCheck": "Use DNS Domain Check", - "API_EmbedDisabledFor": "Disable Embed for Users", - "Accounts_UserAddedEmail_Default": "

Welcome to [Site_Name]

Go to [Site_URL] and try the best open source chat solution available today!

You may login using your email: [email] and password: [password]. You may be required to change it after your first login.", - "Accounts_UserAddedEmail_Description": "You may use the following placeholders: \n - `[name]`, `[fname]`, `[lname]` for the user's full name, first name or last name, respectively. \n - `[email]` for the user's email. \n - `[password]` for the user's password. \n - `[Site_Name]` and `[Site_URL]` for the Application Name and URL respectively. ", - "API_EmbedDisabledFor_Description": "Comma-separated list of usernames to disable the embedded link previews.", - "Accounts_UserAddedEmailSubject_Default": "You have been added to [Site_Name]", - "Accounts_Verify_Email_For_External_Accounts": "Mark Email for External Accounts Verified", - "Action": "Action", - "Action_required": "Action required", - "Action_Available_After_Custom_Content_Added": "This action will become available after the custom content has been added", - "Action_Available_After_Custom_Content_Added_And_Visible": "This action will become available after the custom content has been added and made visible to everyone", - "Action_not_available_encrypted_content": "{{action}} not available on encrypted content", - "Activate": "Activate", - "Activation": "Activation", - "Active": "Active", - "active": "active", - "Active_users": "Active users", - "Activity": "Activity", - "Add": "Add", - "Add_a_Message": "Add a Message", - "Add_agent": "Add agent", - "Add_custom_oauth": "Add custom OAuth", - "Add_Domain": "Add Domain", - "Add_emoji": "Add emoji", - "Add_files_from": "Add files from", - "Add_manager": "Add manager", - "Add_monitor": "Add monitor", - "Add_more_users": "Add more users", - "Add_link": "Add link", - "Add_Reaction": "Add reaction", - "Add_Role": "Add Role", - "Add_Sender_To_ReplyTo": "Add Sender to Reply-To", - "Add_Server": "Add Server", - "Add_URL": "Add URL", - "Add_user": "Add user", - "Add_User": "Add User", - "Add_users": "Add users", - "Add_members": "Add Members", - "add-to-room": "Add to room", - "add-all-to-room": "Add all users to a room", - "add-all-to-room_description": "Permission to add all users to a room", - "add-livechat-department-agents": "Add Omnichannel Agents to Departments", - "add-livechat-department-agents_description": "Permission to add omnichannel agents to departments", - "add-oauth-service": "Add OAuth Service", - "add-oauth-service_description": "Permission to add a new OAuth service", - "bypass-time-limit-edit-and-delete": "Bypass time limit", - "bypass-time-limit-edit-and-delete_description": "Permission to Bypass time limit for editing and deleting messages", - "add-team-channel": "Add Team Channel", - "add-team-channel_description": "Permission to add a channel to a team", - "add-team-member": "Add Team Member", - "add-team-member_description": "Permission to add members to a team", - "Add_them": "Add them", - "add-user": "Add User", - "add-user_description": "Permission to add new users to the server via users screen", - "add-user-to-any-c-room": "Add User to Any Public Channel", - "add-user-to-any-c-room_description": "Permission to add a user to any public channel", - "add-user-to-any-p-room": "Add User to Any Private Channel", - "add-user-to-any-p-room_description": "Permission to add a user to any private channel", - "add-user-to-joined-room": "Add User to Any Joined Channel", - "add-user-to-joined-room_description": "Permission to add a user to a currently joined channel", - "added__roomName__to_team": "added #{{roomName}} to this Team", - "Added__username__to_team": "added @{{user_added}} to this Team", - "added__roomName__to_this_team": "added #{{roomName}} to this team", - "Apps_Framework_enabled": "Enable the App Framework", - "Added__username__to_this_team": "added @{{user_added}} to this team", - "Adding_OAuth_Services": "Adding OAuth Services", - "Adding_permission": "Adding permission", - "Adjustable_layout": "Adjustable layout", - "Adding_user": "Adding user", - "Additional_emails": "Additional Emails", - "Additional_Feedback": "Additional Feedback", - "additional_integrations_Bots": "If you are looking for how to integrate your own bot, then look no further than our Hubot adapter. https://github.com/RocketChat/hubot-rocketchat", - "Admin_disabled_encryption": "Your administrator did not enable E2E encryption.", - "Admin_Info": "Admin Info", - "admin-no-active-video-conf-provider": "**Conference call not enabled**: Configure conference calls in order to make it available on this workspace.", - "admin-video-conf-provider-not-configured": "**Conference call not enabled**: Configure conference calls in order to make it available on this workspace.", - "admin-no-videoconf-provider-app": "**Conference call not enabled**: Conference call apps are available in the Rocket.Chat marketplace.", - "Administration": "Administration", - "Address": "Address", - "Adjustable_font_size": "Adjustable font size", - "Adjustable_font_size_description": "Designed for those who prefer larger or smaller text for improved readability. This flexibility promotes inclusivity by empowering users to tailor the software interface to their specific needs.", - "Adult_images_are_not_allowed": "Adult images are not allowed", - "Aerospace_and_Defense": "Aerospace & Defense", - "After_OAuth2_authentication_users_will_be_redirected_to_this_URL": "After OAuth2 authentication, users will be redirected to an URL on this list. You can add one URL per line.", - "After_guest_registration": "After guest registration", - "Agent": "Agent", - "Agent_added": "Agent added", - "Agent_Info": "Agent Info", - "Agent_messages": "Agent Messages", - "Agent_Name": "Agent Name", - "Agent_Name_Placeholder": "Please enter an agent name...", - "Agent_removed": "Agent removed", - "Agent_deactivated": "Agent was deactivated", - "Agent_Without_Extensions": "Agent Without Extensions", - "Agents": "Agents", - "Agree": "Agree", - "Alerts": "Alerts", - "Alias": "Alias", - "Alias_Format": "Alias Format", - "Alias_Format_Description": "Import messages from Slack with an alias; %s is replaced by the username of the user. If empty, no alias will be used.", - "Alias_Set": "Alias Set", - "AutoLinker_Email": "AutoLinker Email", - "Aliases": "Aliases", - "AutoLinker_Phone": "AutoLinker Phone", - "AutoLinker_Phone_Description": "Automatically linked for Phone numbers. e.g. `(123)456-7890`", - "All": "All", - "AutoLinker_StripPrefix": "AutoLinker Strip Prefix", - "All_Apps": "All Apps", - "AutoLinker_StripPrefix_Description": "Short display. e.g. https://rocket.chat => rocket.chat", - "All_added_tokens_will_be_required_by_the_user": "All added tokens will be required by the user", - "All_categories": "All categories", - "AutoLinker_Urls_Scheme": "AutoLinker Scheme:// URLs", - "All_channels": "All channels", - "AutoLinker_Urls_TLD": "AutoLinker TLD URLs", - "All_closed_chats_have_been_removed": "All closed chats have been removed", - "AutoLinker_Urls_www": "AutoLinker 'www' URLs", - "All_logs": "All logs", - "AutoLinker_UrlsRegExp": "AutoLinker URL Regular Expression", - "All_messages": "All messages", - "All_Prices": "All prices", - "All_roles": "All roles", - "All_status": "All status", - "All_users": "All users", - "All_users_in_the_channel_can_write_new_messages": "All users in the channel can write new messages", - "Allow_collect_and_store_HTTP_header_informations": "Allow to collect and store HTTP header informations", - "Allow_collect_and_store_HTTP_header_informations_description": "This setting determines whether Livechat is allowed to store information collected from HTTP header data, such as IP address, User-Agent, and so on.", - "Allow_Invalid_SelfSigned_Certs": "Allow Invalid Self-Signed Certs", - "Allow_Invalid_SelfSigned_Certs_Description": "Allow invalid and self-signed SSL certificate's for link validation and previews.", - "Allow_Marketing_Emails": "Allow Marketing Emails", - "Allow_Online_Agents_Outside_Business_Hours": "Allow online agents outside of business hours", - "Allow_Online_Agents_Outside_Office_Hours": "Allow online agents outside of office hours", - "Allow_Save_Media_to_Gallery": "Allow Save Media to Gallery", - "Allow_switching_departments": "Allow Visitor to Switch Departments", - "Almost_done": "Almost done", - "Alphabetical": "Alphabetical", - "bold": "bold", - "Also_send_thread_message_to_channel_behavior": "Also send thread message to channel behavior", - "Also_send_to_channel": "Also send to channel", - "Always_open_in_new_window": "Always Open in New Window", - "Always_show_thread_replies_in_main_channel": "Always show thread replies in main channel", - "Analytic_reports": "Analytic reports", - "Analytics": "Analytics", - "Analytics_Description": "See how users interact with your workspace.", - "Analytics_features_enabled": "Features Enabled", - "Analytics_features_messages_Description": "Tracks custom events related to actions a user does on messages.", - "Analytics_features_rooms_Description": "Tracks custom events related to actions on a channel or group (create, leave, delete).", - "Analytics_features_users_Description": "Tracks custom events related to actions related to users (password reset times, profile picture change, etc).", - "Analytics_Google": "Google Analytics", - "Analytics_Google_id": "Tracking ID", - "Analytics_page_briefing_first_paragraph": "Rocket.Chat collects anonymous usage data, such as feature usage and session lengths, to improve the product for everyone.", - "Analytics_page_briefing_second_paragraph": "We protect your privacy by never collecting personal or sensitive data. This section shows what is collected, reinforcing our commitment to transparency and trust.", - "Analyze_practical_usage": "Analyze practical usage statistics about users, messages and channels", - "and": "and", - "And_more": "And {{length}} more", - "Animals_and_Nature": "Animals & Nature", - "Announcement": "Announcement", - "Anonymous": "Anonymous", - "Answer_call": "Answer Call", - "API": "API", - "API_Add_Personal_Access_Token": "Add new Personal Access Token", - "API_Allow_Infinite_Count": "Allow Getting Everything", - "API_Allow_Infinite_Count_Description": "Should calls to the REST API be allowed to return everything in one call?", - "API_Analytics": "Analytics", - "API_CORS_Origin": "CORS Origin", - "API_Apply_permission_view-outside-room_on_users-list": "Apply permission `view-outside-room` to api `users.list`", - "API_Apply_permission_view-outside-room_on_users-list_Description": "Temporary setting to enforce permission. Will be removed on next Major release within the change to always enforce the permission", - "API_Default_Count": "Default Count", - "API_Default_Count_Description": "The default count for REST API results if the consumer did not provided any.", - "API_Drupal_URL": "Drupal Server URL", - "API_Drupal_URL_Description": "Example: `https://domain.com` (excluding trailing slash)", - "API_Embed": "Embed Link Previews", - "API_Embed_Description": "Whether embedded link previews are enabled or not when a user posts a link to a website.", - "API_EmbedIgnoredHosts": "Embed Ignored Hosts", - "API_EmbedIgnoredHosts_Description": "Comma-separated list of hosts or CIDR addresses, eg. localhost, 127.0.0.1, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16", - "API_EmbedSafePorts": "Safe Ports", - "API_EmbedSafePorts_Description": "Comma-separated list of ports allowed for previewing.", - "API_Embed_UserAgent": "Embed Request User Agent", - "API_EmbedCacheExpirationDays": "Embed Cache Expiration Days", - "API_Enable_CORS": "Enable CORS", - "API_Enable_Direct_Message_History_EndPoint": "Enable Direct Message History Endpoint", - "API_Enable_Direct_Message_History_EndPoint_Description": "This enables the `/api/v1/im.messages.others` which allows the viewing of direct messages sent by other users that the caller is not part of.", - "API_Enable_Personal_Access_Tokens": "Enable Personal Access Tokens to REST API", - "API_Enable_Personal_Access_Tokens_Description": "Enable personal access tokens for use with the REST API", - "API_Enable_Rate_Limiter": "Enable Rate Limiter", - "API_Enable_Rate_Limiter_Dev": "Enable Rate Limiter in development", - "API_Enable_Rate_Limiter_Dev_Description": "Should limit the amount of calls to the endpoints in the development environment?", - "API_Enable_Rate_Limiter_Limit_Calls_Default": "Default number calls to the rate limiter", - "API_Enable_Rate_Limiter_Limit_Calls_Default_Description": "Number of default calls for each endpoint of the REST API, allowed within the time range defined below", - "API_Enable_Rate_Limiter_Limit_Time_Default": "Default time limit for the rate limiter (in ms)", - "API_Enable_Rate_Limiter_Limit_Time_Default_Description": "Default timeout to limit the number of calls at each endpoint of the REST API(in ms)", - "API_Enable_Shields": "Enable Shields", - "API_Enable_Shields_Description": "Enable shields available at `/api/v1/shield.svg`", - "API_GitHub_Enterprise_URL": "Server URL", - "API_GitHub_Enterprise_URL_Description": "Example: `https://domain.com` (excluding trailing slash)", - "API_Gitlab_URL": "GitLab URL", - "API_Personal_Access_Token_Generated": "Personal Access Token successfully generated", - "API_Personal_Access_Token_Generated_Text_Token_s_UserId_s": "Please save your token carefully as you will no longer be able to view it afterwards.
Token: {{token}}
Your user Id: {{userId}}", - "API_Personal_Access_Token_Name": "Personal Access Token Name", - "API_Personal_Access_Tokens_Regenerate_It": "Regenerate token", - "API_Personal_Access_Tokens_Regenerate_Modal": "If you lost or forgot your token, you can regenerate it, but remember that all applications that use this token should be updated", - "API_Personal_Access_Tokens_Remove_Modal": "Are you sure you wish to remove this personal access token?", - "API_Personal_Access_Tokens_To_REST_API": "Personal access tokens to REST API", - "API_Rate_Limiter": "API Rate Limiter", - "API_Shield_Types": "Shield Types", - "API_Shield_Types_Description": "Types of shields to enable as a comma separated list, choose from `online`, `channel` or `*` for all", - "Apps_Framework_Development_Mode": "Enable development mode", - "API_Shield_user_require_auth": "Require authentication for users shields", - "API_Token": "API Token", - "Apps_Framework_Development_Mode_Description": "Development mode allows the installation of Apps that are not from the Rocket.Chat's Marketplace.", - "API_Tokenpass_URL": "Tokenpass Server URL", - "API_Tokenpass_URL_Description": "Example: `https://domain.com` (excluding trailing slash)", - "API_Upper_Count_Limit": "Max Record Amount", - "API_Upper_Count_Limit_Description": "What is the maximum number of records the REST API should return (when not unlimited)?", - "API_Use_REST_For_DDP_Calls": "Use REST instead of websocket for Meteor calls", - "API_User_Limit": "User Limit for Adding All Users to Channel", - "API_Wordpress_URL": "WordPress URL", - "api-bypass-rate-limit": "Bypass rate limit for REST API", - "api-bypass-rate-limit_description": "Permission to call api without rate limitation", - "Apiai_Key": "Api.ai Key", - "Apiai_Language": "Api.ai Language", - "APIs": "APIs", - "App_author_homepage": "author homepage", - "App_Details": "App details", - "App_Info": "App Info", - "App_Information": "App Information", - "Apps_context_enterprise": "Enterprise", - "App_Installation": "App Installation", - "App_Installation_Deprecation_Title": "Deprecation Warning", - "App_Installation_Deprecation": "Install apps from URL is deprecated and will be removed in the next major release.", - "App_not_enabled": "App not enabled", - "App_not_found": "App not found", - "App_status_auto_enabled": "Enabled", - "App_status_constructed": "Constructed", - "App_status_disabled": "Disabled", - "App_status_error_disabled": "Disabled: Uncaught Error", - "App_status_initialized": "Initialized", - "App_status_invalid_license_disabled": "Disabled: Invalid License", - "Apps_disabled_when_Enterprise_trial_ended": "Apps disabled when Enterprise trial ended", - "App_status_invalid_settings_disabled": "Disabled: Configuration Needed", - "App_status_manually_disabled": "Disabled: Manually", - "App_status_manually_enabled": "Enabled", - "App_status_unknown": "Unknown", - "App_Store": "App Store", - "App_support_url": "support url", - "App_Url_to_Install_From": "Install from URL", - "App_Url_to_Install_From_File": "Install from file", - "App_user_not_allowed_to_login": "App users are not allowed to log in directly.", - "Appearance": "Appearance", - "Application_added": "Application added", - "Application_delete_warning": "You will not be able to recover this Application!", - "Application_Name": "Application Name", - "Application_updated": "Application updated", - "Apply": "Apply", - "Apply_and_refresh_all_clients": "Apply and refresh all clients", - "Apps": "Apps", - "Apps_context_explore": "Explore", - "Apps_context_installed": "Installed", - "Apps_context_requested": "Requested", - "Apps_context_private": "Private Apps", - "Apps_context_premium": "Premium", - "Apps_Count_Enabled_one": "{{count}} app enabled", - "Apps_Count_Enabled_other": "{{count}} apps enabled", - "Private_Apps_Count_Enabled_one": "{{count}} private app enabled", - "Private_Apps_Count_Enabled_other": "{{count}} private apps enabled", - "Apps_Count_Enabled_tooltip": "Community workspaces can enable up to {{number}} {{context}} apps", - "Apps_disabled_when_Premium_trial_ended": "Apps disabled when Premium plan trial ended", - "Apps_disabled_when_Premium_trial_ended_description": "Workspaces on Community can have up to 5 marketplace apps and 3 private apps enabled. Ask your workspace admin to reenable apps.", - "Apps_disabled_when_Premium_trial_ended_description_admin": "Workspaces on Community can have up to 5 marketplace apps and 3 private apps enabled. Reenable the apps you require.", - "Apps_Engine_Version": "Apps Engine Version", - "Apps_Error_private_app_install_disabled": "Private app installation and updates are disabled in this workspace", - "Apps_Essential_Alert": "This app is essential for the following events:", - "Apps_Essential_Disclaimer": "Events listed above will be disrupted if this app is disabled. If you want Rocket.Chat to work without this app's functionality, you need to uninstall it", - "Apps_Framework_Source_Package_Storage_Type": "Apps' Source Package Storage type", - "Apps_Framework_Source_Package_Storage_Type_Description": "Choose where all the apps' source code will be stored. Apps can have multiple megabytes in size each.", - "Apps_Framework_Source_Package_Storage_Type_Alert": "Changing where the apps are stored may cause instabilities in apps there are already installed", - "Apps_Framework_Source_Package_Storage_FileSystem_Path": "Directory for storing apps source package", - "Apps_Framework_Source_Package_Storage_FileSystem_Path_Description": "Absolute path in the filesystem for storing the apps' source code (in zip file format)", - "Apps_Framework_Source_Package_Storage_FileSystem_Alert": "Make sure the chosen directory exist and Rocket.Chat can access it (e.g. permission to read/write)", - "Apps_Game_Center": "Game Center", - "Apps_Game_Center_Back": "Back to Game Center", - "Apps_Game_Center_Invite_Friends": "Invite your friends to join", - "Apps_Game_Center_Play_Game_Together": "@here Let's play {{name}} together!", - "Apps_Interface_IPostExternalComponentClosed": "Event happening after an external component is closed", - "Apps_Interface_IPostExternalComponentOpened": "Event happening after an external component is opened", - "Apps_Interface_IPostMessageDeleted": "Event happening after a message is deleted", - "Apps_Interface_IPostMessageSent": "Event happening after a message is sent", - "Apps_Interface_IPostMessageUpdated": "Event happening after a message is updated", - "Apps_Interface_IPostRoomCreate": "Event happening after a room is created", - "Apps_Interface_IPostRoomDeleted": "Event happening after a room is deleted", - "Apps_Interface_IPostRoomUserJoined": "Event happening after a user joins a room (private group, public channel)", - "Apps_Interface_IPreMessageDeletePrevent": "Event happening before a message is deleted", - "Apps_Interface_IPreMessageSentExtend": "Event happening before a message is sent", - "Apps_Interface_IPreMessageSentModify": "Event happening before a message is sent", - "Apps_Interface_IPreMessageSentPrevent": "Event happening before a message is sent", - "Apps_Interface_IPreMessageUpdatedExtend": "Event happening before a message is updated", - "Apps_Interface_IPreMessageUpdatedModify": "Event happening before a message is updated", - "Apps_Interface_IPreMessageUpdatedPrevent": "Event happening before a message is updated", - "Apps_Interface_IPreRoomCreateExtend": "Event happening before a room is created", - "Apps_Interface_IPreRoomCreateModify": "Event happening before a room is created", - "Apps_Interface_IPreRoomCreatePrevent": "Event happening before a room is created", - "Apps_Interface_IPreRoomDeletePrevent": "Event happening before a room is deleted", - "Apps_Interface_IPreRoomUserJoined": "Event happening before a user joins a room (private group, public channel)", - "Apps_License_Message_appId": "License hasn't been issued for this app", - "Apps_License_Message_bundle": "License issued for a bundle that does not contain the app", - "Apps_License_Message_expire": "License is no longer valid and needs to be renewed", - "Apps_License_Message_maxSeats": "License does not accomodate the current amount of active users. Please increase the number of seats", - "Apps_License_Message_publicKey": "There has been an error trying to decrypt the license. Please sync your workspace in the Connectivity Services and try again", - "Apps_License_Message_renewal": "License has expired and needs to be renewed", - "Apps_License_Message_seats": "License does not have enough seats to accommodate the current amount of active users. Please increase the number of seats", - "Apps_Logs_TTL": "Number of days to keep logs from apps stored", - "Apps_Logs_TTL_7days": "7 days", - "Apps_Logs_TTL_14days": "14 days", - "Apps_Logs_TTL_30days": "30 days", - "Apps_Logs_TTL_Alert": "Depending on the size of the Logs collection, changing this setting may cause slowness for some moments", - "Apps_Marketplace_Deactivate_App_Prompt": "Do you really want to disable this app?", - "Apps_Marketplace_Login_Required_Description": "Purchasing apps from the Rocket.Chat Marketplace requires registering your workspace and logging in.", - "Apps_Marketplace_Login_Required_Title": "Marketplace Login Required", - "Apps_Marketplace_Modify_App_Subscription": "Modify Subscription", - "Apps_Marketplace_pricingPlan_monthly": "{{price}} / month", - "Apps_Marketplace_pricingPlan_monthly_perUser": "{{price}} / month per user", - "Apps_Marketplace_pricingPlan_monthly_trialDays": "{{price}} / month-{{trialDays}}-day trial", - "Apps_Marketplace_pricingPlan_monthly_perUser_trialDays": "{{price}} / month per user-{{trialDays}}-day trial", - "Apps_Marketplace_pricingPlan_+*_monthly": " {{price}}+* / month", - "Apps_Marketplace_pricingPlan_+*_monthly_trialDays": " {{price}}+* / month-{{trialDays}}-day trial", - "Apps_Marketplace_pricingPlan_+*_monthly_perUser": " {{price}}+* / month per user", - "Apps_Marketplace_pricingPlan_+*_monthly_perUser_trialDays": " {{price}}+* / month per user-{{trialDays}}-day trial", - "Apps_Marketplace_pricingPlan_+*_yearly": " {{price}}+* / year", - "Apps_Marketplace_pricingPlan_+*_yearly_trialDays": " {{price}}+* / year-{{trialDays}}-day trial", - "Apps_Marketplace_pricingPlan_+*_yearly_perUser": " {{price}}+* / year per user", - "Apps_Marketplace_pricingPlan_+*_yearly_perUser_trialDays": " {{price}}+* / year per user-{{trialDays}}-day trial", - "Apps_Marketplace_pricingPlan_yearly_trialDays": "{{price}} / year-{{trialDays}}-day trial", - "Apps_Marketplace_pricingPlan_yearly_perUser_trialDays": "{{price}} / year per user-{{trialDays}}-day trial", - "Apps_Marketplace_Uninstall_App_Prompt": "Do you really want to uninstall this app?", - "Apps_Marketplace_Uninstall_Subscribed_App_Anyway": "Uninstall it anyway", - "Apps_Marketplace_Uninstall_Subscribed_App_Prompt": "This app has an active subscription and uninstalling will not cancel it. If you'd like to do that, please modify your subscription before uninstalling.", - "Apps_Permissions_Review_Modal_Title": "Required Permissions", - "Apps_Permissions_Review_Modal_Subtitle": "This app would like access to the following permissions. Do you agree?", - "Apps_Permissions_No_Permissions_Required": "The App does not require additional permissions", - "Apps_Permissions_cloud_workspace-token": "Interact with Cloud Services on behalf of this server", - "Apps_Permissions_user_read": "Access user information", - "Apps_Permissions_user_write": "Modify user information", - "Apps_Permissions_upload_read": "Access files uploaded to this server", - "Apps_Permissions_upload_write": "Upload files to this server", - "Apps_Permissions_server-setting_read": "Access settings in this server", - "Apps_Permissions_server-setting_write": "Modify settings in this server", - "Apps_Permissions_room_read": "Access room information", - "Apps_Permissions_room_write": "Create and modify rooms", - "Apps_Permissions_message_read": "Access messages", - "Apps_Permissions_message_write": "Send and modify messages", - "Apps_Permissions_livechat-status_read": "Access Livechat status information", - "Apps_Permissions_livechat-custom-fields_write": "Modify Livechat custom field configuration", - "Apps_Permissions_livechat-visitor_read": "Access Livechat visitor information", - "Apps_Permissions_livechat-visitor_write": "Modify Livechat visitor information", - "Apps_Permissions_livechat-message_read": "Access Livechat message information", - "Apps_Permissions_livechat-message_write": "Modify Livechat message information", - "Apps_Permissions_livechat-room_read": "Access Livechat room information", - "Apps_Permissions_livechat-room_write": "Modify Livechat room information", - "Apps_Permissions_livechat-department_read": "Access Livechat department information", - "Apps_Permissions_livechat-department_multiple": "Access to multiple Livechat departments information", - "Apps_Permissions_livechat-department_write": "Modify Livechat department information", - "Apps_Permissions_slashcommand": "Register new slash commands", - "Apps_Permissions_api": "Register new HTTP endpoints", - "Apps_Permissions_env_read": "Access minimal information about this server environment", - "Apps_Permissions_networking": "Access to this server network", - "Apps_Permissions_persistence": "Store internal data in the database", - "Apps_Permissions_scheduler": "Register and maintain scheduled jobs", - "Apps_Permissions_ui_interact": "Interact with the UI", - "Apps_Settings": "App's Settings", - "Apps_Manual_Update_Modal_Title": "This app is already installed", - "Apps_Manual_Update_Modal_Body": "Do you want to update it?", - "Apps_User_Already_Exists": "The username \"{{username}}\" is already being used. Rename or remove the user using it to install this App", - "AutoLinker": "AutoLinker", - "Apps_WhatIsIt": "Apps: What Are They?", - "Apps_WhatIsIt_paragraph1": "A new icon in the administration area! What does this mean and what are Apps?", - "Apps_WhatIsIt_paragraph2": "First off, Apps in this context do not refer to the mobile applications. In fact, it would be best to think of them in terms of plugins or advanced integrations.", - "Apps_WhatIsIt_paragraph3": "Secondly, they are dynamic scripts or packages which will allow you to customize your Rocket.Chat instance without having to fork the codebase. But do keep in mind, this is a new feature set and due to that it might not be 100% stable. Also, we are still developing the feature set so not everything can be customized at this point in time. For more information about getting started developing an app, go here to read:", - "Apps_WhatIsIt_paragraph4": "But with that said, if you are interested in enabling this feature and trying it out then here click this button to enable the Apps system.", - "Archive": "Archive", - "Archived": "Archived", - "archive-room": "Archive Room", - "archive-room_description": "Permission to archive a channel", - "are_typing": "are typing", - "are_playing": "are playing", - "is_playing": "is playing", - "are_uploading": "are uploading", - "are_recording": "are recording", - "is_uploading": "is uploading", - "is_recording": "is recording", - "Are_you_sure": "Are you sure?", - "Are_you_sure_delete_department": "Are you sure you want to delete this department? This action cannot be undone. Please enter the department name to confirm.", - "Are_you_sure_you_want_to_clear_all_unread_messages": "Are you sure you want to clear all unread messages?", - "Are_you_sure_you_want_to_close_this_chat": "Are you sure you want to close this chat?", - "Are_you_sure_you_want_to_delete_this_record": "Are you sure you want to delete this record?", - "Are_you_sure_you_want_to_delete_your_account": "Are you sure you want to delete your account?", - "Are_you_sure_you_want_to_disable_Facebook_integration": "Are you sure you want to disable Facebook integration?", - "Are_you_sure_you_want_to_pin_this_message": "Are you sure you want to pin this message?", - "Are_you_sure_you_want_to_reset_the_name_of_all_priorities": "Are you sure you want to reset the name of all priorities?", - "Assets": "Assets", - "Assets_Description": "Modify your workspace's logo, icon, favicon and more.", - "Asset_preview": "Asset preview", - "Assign_admin": "Assigning admin", - "Assign_new_conversations_to_bot_agent": "Assign new conversations to bot agent", - "Assign_new_conversations_to_bot_agent_description": "The routing system will attempt to find a bot agent before addressing new conversations to a human agent.", - "assign-admin-role": "Assign Admin Role", - "assign-admin-role_description": "Permission to assign the admin role to other users", - "assign-roles": "Assign Roles", - "assign-roles_description": "Permission to assign roles to other users", - "Associate": "Associate", - "Associate_Agent": "Associate Agent", - "Associate_Agent_to_Extension": "Associate Agent to Extension", - "at": "at", - "At_least_one_added_token_is_required_by_the_user": "At least one added token is required by the user", - "AtlassianCrowd": "Atlassian Crowd", - "AtlassianCrowd_Description": "Integrate Atlassian Crowd.", - "Attachment_File_Uploaded": "File Uploaded", - "Attribute_handling": "Attribute handling", - "Audio": "Audio", - "Audio_message": "Audio message", - "Audio_Notification_Value_Description": "Can be any custom sound or the default ones: beep, chelle, ding, droplet, highbell, seasons", - "Audio_Notifications_Default_Alert": "Audio Notifications Default Alert", - "Audio_Notifications_Value": "Default Message Notification Audio", - "Audio_record": "Audio record", - "Audios": "Audios", - "Audit": "Audit", - "Auditing": "Auditing", - "Auth": "Auth", - "Auth_Token": "Auth Token", - "Authentication": "Authentication", - "Author": "Author", - "Author_Information": "Author Information", - "Author_Site": "Author site", - "Authorization_URL": "Authorization URL", - "Authorize": "Authorize", - "Authorize_access_to_your_account": "Authorize access to your account", - "Automatic_translation_not_available": "Automatic translation not available", - "Automatic_translation_not_available_info": "This room has E2E encryption enabled, translation cannot work with encrypted messages", - "Auto_Load_Images": "Auto Load Images", - "Auto_Selection": "Auto Selection", - "Auto_Translate": "Auto-Translate", - "Calls_in_queue": "{{calls}} call in queue", - "auto-translate": "Auto Translate", - "auto-translate_description": "Permission to use the auto translate tool", - "Automatic_Translation": "Automatic Translation", - "AutoTranslate": "Auto-Translate", - "AutoTranslate_APIKey": "API Key", - "AutoTranslate_Change_Language_Description": "Changing the auto-translate language does not translate previous messages.", - "AutoTranslate_DeepL": "DeepL", - "AutoTranslate_Disabled_for_room": "Auto-translate disabled for #{{roomName}}", - "AutoTranslate_Enabled": "Enable Auto-Translate", - "AutoTranslate_Enabled_Description": "Enabling auto-translation will allow people with the `auto-translate` permission to have all messages automatically translated into their selected language. Fees may apply.", - "AutoTranslate_Enabled_for_room": "Auto-translate enabled for #{{roomName}}", - "AutoTranslate_AutoEnableOnJoinRoom": "Auto-Translate for non-default language members", - "AutoTranslate_AutoEnableOnJoinRoom_Description": "If enabled, whenever a user with a language preference different than the workspace default joins a room, it will be automatically translated for them.", - "AutoTranslate_Google": "Google", - "AutoTranslate_language_set_to": "Auto-translate language set to {{language}}", - "AutoTranslate_Microsoft": "Microsoft", - "AutoTranslate_Microsoft_API_Key": "Ocp-Apim-Subscription-Key", - "AutoTranslate_ServiceProvider": "Service Provider", - "Available": "Available", - "Available_agents": "Available agents", - "Available_departments": "Available Departments", - "Avatar": "Avatar", - "Avatars": "Avatars", - "Avatar_changed_successfully": "Avatar changed successfully", - "Avatar_URL": "Avatar URL", - "Avatar_format_invalid": "Invalid Format. Only image type is allowed", - "Avatar_url_invalid_or_error": "The url provided is invalid or not accessible. Please try again, but with a different url.", - "Avg_chat_duration": "Average of Chat Duration", - "Avg_first_response_time": "Average of First Response Time", - "Avg_of_abandoned_chats": "Average of Abandoned Chats", - "Avg_of_available_service_time": "Average of Service Available Time", - "Avg_of_chat_duration_time": "Average of Chat Duration Time", - "Avg_of_service_time": "Average of Service Time", - "Avg_of_waiting_time": "Average of Waiting Time", - "Avg_reaction_time": "Average of Reaction Time", - "Avg_response_time": "Average of Response Time", - "away": "away", - "Away": "Away", - "Back": "Back", - "Back_to_applications": "Back to applications", - "Back_to_calendar": "Back to calendar", - "Back_to_chat": "Back to chat", - "Back_to_home": "Back to home", - "Back_to_imports": "Back to imports", - "Back_to_integration_detail": "Back to the integration detail", - "Back_to_integrations": "Back to integrations", - "Back_to_login": "Back to login", - "Back_to_Manage_Apps": "Back to Manage Apps", - "Back_to_permissions": "Back to permissions", - "Back_to_room": "Back to Room", - "Back_to_threads": "Back to threads", - "Backup_codes": "Backup codes", - "ban-user": "Ban User", - "ban-user_description": "Permission to ban a user from a channel", - "BBB_End_Meeting": "End Meeting", - "BBB_Enable_Teams": "Enable for Teams", - "BBB_Join_Meeting": "Join Meeting", - "BBB_Start_Meeting": "Start Meeting", - "BBB_Video_Call": "BBB Video Call", - "BBB_You_have_no_permission_to_start_a_call": "You have no permission to start a call", - "Be_the_first_to_join": "Be the first to join", - "Belongs_To": "Belongs To", - "Best_first_response_time": "Best first response time", - "Beta_feature_Depends_on_Video_Conference_to_be_enabled": "Beta feature. Depends on Video Conference to be enabled.", - "Better": "Better", - "Bio": "Bio", - "Bio_Placeholder": "Bio Placeholder", - "Block": "Block", - "Block_Multiple_Failed_Logins_Attempts_Until_Block_By_Ip": "Amount of failed attempts before blocking IP address", - "Block_Multiple_Failed_Logins_Attempts_Until_Block_by_User": "Amount of failed attempts before blocking user", - "Block_Multiple_Failed_Logins_By_Ip": "Block failed login attempts by IP", - "Block_Multiple_Failed_Logins_By_User": "Block failed login attempts by Username", - "Block_Multiple_Failed_Logins_Enable_Collect_Login_data_Description": "Stores IP and username from log in attempts to a collection on database", - "Block_Multiple_Failed_Logins_Enabled": "Enable collect log in data", - "Block_Multiple_Failed_Logins_Ip_Whitelist": "IP Whitelist", - "Block_Multiple_Failed_Logins_Ip_Whitelist_Description": "Comma-separated list of whitelisted IPs", - "Block_Multiple_Failed_Logins_Time_To_Unblock_By_Ip_In_Minutes": "Duration of IP address block (in minutes)", - "Block_Multiple_Failed_Logins_Time_To_Unblock_By_Ip_In_Minutes_Description": "This is the time the IP address is blocked by, and the time in which the failed attempts can happen before the counter resets", - "Block_Multiple_Failed_Logins_Time_To_Unblock_By_User_In_Minutes": "Duration of user block (in minutes)", - "Block_Multiple_Failed_Logins_Time_To_Unblock_By_User_In_Minutes_Description": "This is the time the user is blocked by, and the time in which the failed attempts can happen before the counter resets", - "Block_Multiple_Failed_Logins_Notify_Failed": "Notify of failed login attempts", - "Block_Multiple_Failed_Logins_Notify_Failed_Channel": "Channel to send the notifications", - "Block_Multiple_Failed_Logins_Notify_Failed_Channel_Desc": "This is where notifications will be received. Make sure the channel exists. The channel name should not include # symbol", - "Block_User": "Block User", - "Blockchain": "Blockchain", - "block-ip-device-management": "Block IP Device Management", - "block-ip-device-management_description": "Permission to block an IP adress", - "Block_IP_Address": "Block IP Address", - "Blocked_IP_Addresses": "Blocked IP addresses", - "Blockstack": "Blockstack", - "Blockstack_Description": "Give workspace members the ability to sign in without relying on any third parties or remote servers.", - "Blockstack_Auth_Description": "Auth description", - "Blockstack_ButtonLabelText": "Button label text", - "Blockstack_Generate_Username": "Generate username", - "Body": "Body", - "Bold": "Bold", - "bot_request": "Bot request", - "BotHelpers_userFields": "User Fields", - "BotHelpers_userFields_Description": "CSV of user fields that can be accessed by bots helper methods.", - "Bot": "Bot", - "Bots": "Bots", - "Bots_Description": "Set the fields that can be referenced and used when developing bots.", - "Branch": "Branch", - "Broadcast": "Broadcast", - "Broadcast_channel": "Broadcast Channel", - "Broadcast_channel_Description": "Only authorized users can write new messages, but the other users will be able to reply", - "Broadcast_Connected_Instances": "Broadcast Connected Instances", - "Broadcasting_api_key": "Broadcasting API Key", - "Broadcasting_client_id": "Broadcasting Client ID", - "Broadcasting_client_secret": "Broadcasting Client Secret", - "Broadcasting_enabled": "Broadcasting Enabled", - "Broadcasting_media_server_url": "Broadcasting Media Server URL", - "Browse_Files": "Browse Files", - "Browser_does_not_support_audio_element": "Your browser does not support the audio element.", - "Call_number_enterprise_only": "Call number (Enterprise Edition only)", - "Browser_does_not_support_video_element": "Your browser does not support the video element.", - "Browser_does_not_support_recording_video": "Your browser does not support recording video", - "Bugsnag_api_key": "Bugsnag API Key", - "Build_Environment": "Build Environment", - "bulk-register-user": "Bulk Create Users", - "bulk-register-user_description": "Permission to create users in bulk", - "Bundles": "Bundles", - "Busiest_day": "Busiest Day", - "Busiest_time": "Busiest Time", - "Business_Hour": "Business Hour", - "Business_Hour_Removed": "Business Hour Removed", - "Business_Hours": "Business Hours", - "Business_hours_enabled": "Business hours enabled", - "Business_hours_is_disabled": "Business hours is disabled", - "Business_hours_is_disabled_description": "Enable business hours at the workspace admin panel to let customers know when you're available and when can they expect a response.", - "Business_hours_updated": "Business hours updated", - "Business_hours_will_update_automatically": "Business hours will update automatically", - "busy": "busy", - "Busy": "Busy", - "Buy": "Buy", - "By": "By", - "by": "by", - "cache_cleared": "Cache cleared", - "Calendar_MeetingUrl_Regex": "Meeting url Regular Expression", - "Calendar_MeetingUrl_Regex_Description": "Expression used to detect meeting URLs in event descriptions. The first matching group with a valid url will be used. HTML encoded urls will be decoded automatically.", - "Calendar_settings": "Calendar settings", - "Call": "Call", - "Call_again": "Call again", - "Call_back": "Call back", - "Call_not_found": "Call not found", - "Call_not_found_error": "This could happen when the call URL is not valid, or you're having connection issues. Please check with the source of the call URL and try again, or talk to your workspace administrator if the problem persists", - "Calling": "Calling", - "Call_Center": "Voice Channel", - "Call_Center_Description": "Configure Rocket.Chat's voice channels", - "Call_ended": "Call ended", - "Calls": "Calls", - "Calls_in_queue_zero": "Queue is empty", - "Calls_in_queue_one": "{{count}} call in queue", - "Calls_in_queue_other": "{{count}} calls in queue", - "Call_declined": "Call Declined!", - "Call_history_provides_a_record_of_when_calls_took_place_and_who_joined": "Call history provides a record of when calls took place and who joined.", - "Call_Information": "Call Information", - "Call_provider": "Call Provider", - "Call_Already_Ended": "Call Already Ended", - "Call_number": "Call number", - "Call_number_premium_only": "Call number (Premium plans only)", - "call-management": "Call Management", - "call-management_description": "Permission to start a meeting", - "Call_ongoing": "Call ongoing", - "Call_started": "Call started", - "Call_unavailable_for_federation": "Call is unavailable for Federated rooms", - "Call_was_not_answered": "Call was not answered", - "Caller": "Caller", - "Caller_Id": "Caller ID", - "Camera_access_not_allowed": "Camera access was not allowed, please check your browser settings.", - "Cam_on": "Cam On", - "Cam_off": "Cam Off", - "can-audit": "Can Audit", - "can-audit_description": "Permission to access audit", - "can-audit-log": "Can Audit Log", - "can-audit-log_description": "Permission to access audit log", - "Cancel": "Cancel", - "Cancel_message_input": "Cancel", - "Canceled": "Canceled", - "Cancel_subscription": "Cancel subscription", - "Canned_Response_Created": "Canned Response created", - "Canned_Response_Updated": "Canned Response updated", - "Canned_Response_Delete_Warning": "Deleting a canned response cannot be undone.", - "Canned_Response_Removed": "Canned Response Removed", - "Canned_Response_Sharing_Department_Description": "Anyone in the selected department can access this canned response", - "Canned_Response_Sharing_Private_Description": "Only you and Omnichannel managers can access this canned response", - "Canned_Response_Sharing_Public_Description": "Anyone can access this canned response", - "Canned_Responses": "Canned Responses", - "Canned_Responses_Enable": "Enable Canned Responses", - "Create_department": "Create department", - "Create_direct_message": "New direct message", - "Create_tag": "Create tag", - "Create_trigger": "Create trigger", - "Create_SLA_policy": "Create SLA policy", - "Cannot_invite_users_to_direct_rooms": "Cannot invite users to direct rooms", - "Cannot_open_conversation_with_yourself": "Cannot Direct Message with yourself", - "Cannot_share_your_location": "Cannot share your location...", - "Cannot_disable_while_on_call": "Can't change status during calls ", - "Cant_join": "Can't join", - "CAS": "CAS", - "CAS_Description": "Central Authentication Service allows members to use one set of credentials to sign in to multiple sites over multiple protocols.", - "CAS_autoclose": "Autoclose Login Popup", - "CAS_base_url": "SSO Base URL", - "CAS_base_url_Description": "The base URL of your external SSO service e.g: `https://sso.example.undef/sso/`", - "CAS_button_color": "Login Button Background Color", - "CAS_button_label_color": "Login Button Text Color", - "CAS_button_label_text": "Login Button Label", - "CAS_Creation_User_Enabled": "Allow user creation", - "CAS_Creation_User_Enabled_Description": "Allow CAS User creation from data provided by the CAS ticket.", - "CAS_enabled": "Enabled", - "CAS_Login_Layout": "CAS Login Layout", - "CAS_login_url": "SSO Login URL", - "CAS_login_url_Description": "The login URL of your external SSO service e.g: `https://sso.example.undef/sso/login`", - "CAS_popup_height": "Login Popup Height", - "CAS_popup_width": "Login Popup Width", - "CAS_Sync_User_Data_Enabled": "Always Sync User Data", - "CAS_Sync_User_Data_Enabled_Description": "Always synchronize external CAS User data into available attributes upon login. Note: Attributes are always synced upon account creation anyway.", - "CAS_Sync_User_Data_FieldMap": "Attribute Map", - "CAS_Sync_User_Data_FieldMap_Description": "Use this JSON input to build internal attributes (key) from external attributes (value). External attribute names enclosed with '%' will interpolated in value strings. \nExample, `{\"email\":\"%email%\", \"name\":\"%firstname%, %lastname%\"}` \n \nThe attribute map is always interpolated. In CAS 1.0 only the `username` attribute is available. Available internal attributes are: username, name, email, rooms; rooms is a comma separated list of rooms to join upon user creation e.g: `{\"rooms\": \"%team%,%department%\"}` would join CAS users on creation to their team and department channel.", - "CAS_trust_username": "Trust CAS username", - "CAS_trust_username_description": "When enabled, Rocket.Chat will trust that any username from CAS belongs to the same user on Rocket.Chat. \nThis may be needed if a user is renamed on CAS, but may also allow people to take control of Rocket.Chat accounts by renaming their own CAS users.", - "CAS_version": "CAS Version", - "CAS_version_Description": "Only use a supported CAS version supported by your CAS SSO service.", - "Categories": "Categories", - "Categories*": "Categories*", - "CDN_JSCSS_PREFIX": "CDN Prefix for JS/CSS", - "CDN_PREFIX": "CDN Prefix", - "CDN_PREFIX_ALL": "Use CDN Prefix for all assets", - "Certificates_and_Keys": "Certificates and Keys", - "changed_room_announcement_to__room_announcement_": "changed room announcement to: {{room_announcement}}", - "changed_room_description_to__room_description_": "changed room description to: {{room_description}}", - "change-livechat-room-visitor": "Change Livechat Room Visitors", - "change-livechat-room-visitor_description": "Permission to add additional information to the livechat room visitor", - "Change_Room_Type": "Changing the Room Type", - "Changing_email": "Changing email", - "channel": "channel", - "Channel": "Channel", - "Channel_info": "Channel info", - "Channel_already_exist": "The channel `#%s` already exists.", - "Channel_already_exist_static": "The channel already exists.", - "Channel_already_Unarchived": "Channel with name `#%s` is already in Unarchived state", - "Channel_Archived": "Channel with name `#%s` has been archived successfully", - "Channel_created": "Channel `#%s` created.", - "Channel_doesnt_exist": "The channel `#%s` does not exist.", - "Channel_Export": "Channel Export", - "Channel_name": "Channel Name", - "Channel_Name_Placeholder": "Please enter channel name...", - "Channel_to_listen_on": "Channel to listen on", - "Channel_Unarchived": "Channel with name `#%s` has been Unarchived successfully", - "Channel__roomName__": "Channel {{roomName}}.", - "Channels": "Channels", - "Channels_added": "Channels added sucessfully", - "Channels_are_where_your_team_communicate": "Channels are where your team communicate", - "Channels_list": "List of public channels", - "Channel_what_is_this_channel_about": "What is this channel about?", - "Chart": "Chart", - "Chats": "Chats", - "Chat_button": "Chat button", - "Chat_close": "Chat Close", - "Chat_closed": "Chat closed", - "Chat_closed_by_agent": "Chat closed by agent", - "Chat_closed_successfully": "Chat closed successfully", - "Chat_History": "Chat History", - "Chat_Now": "Chat Now", - "chat_on_hold_due_to_inactivity": "This chat is on-hold due to inactivity", - "Chat_On_Hold": "Chat On-Hold", - "Chat_On_Hold_Successfully": "This chat was successfully placed On-Hold", - "Chat_queued": "Chat Queued", - "Chat_removed": "Chat Removed", - "Chat_resumed": "Chat Resumed", - "Chat_start": "Chat Start", - "Chat_started": "Chat started", - "Chat_taken": "Chat Taken", - "Chat_window": "Chat window", - "Chatops_Enabled": "Enable Chatops", - "Chatops_Title": "Chatops Panel", - "Chatops_Username": "Chatops Username", - "Chat_Duration": "Chat Duration", - "Chats_removed": "Chats Removed", - "Check_All": "Check All", - "Check_back_later": "Check back later", - "Check_if_the_spelling_is_correct": "Check if the spelling is correct", - "Check_Progress": "Check Progress", - "Check_device_activity": "Check device activity", - "Choose_a_room": "Choose a room", - "Choose_messages": "Choose messages", - "Choose_the_alias_that_will_appear_before_the_username_in_messages": "Choose the alias that will appear before the username in messages.", - "Choose_the_username_that_this_integration_will_post_as": "Choose the username that this integration will post as.", - "Choose_users": "Choose users", - "Clean_History_unavailable_for_federation": "Clean history is unavailable for federation", - "Clean_Usernames": "Clear usernames", - "clean-channel-history": "Clean Channel History", - "clean-channel-history_description": "Permission to Clear the history from channels", - "clear": "Clear", - "Clear_all_unreads_question": "Clear all unreads?", - "clear_cache_now": "Clear Cache Now", - "Clear_filters": "Clear filters", - "clear_history": "Clear History", - "Clear_livechat_session_when_chat_ended": "Clear guest session when chat ended", - "clear-oembed-cache": "Clear OEmbed cache", - "clear-oembed-cache_description": "Permission to clear OEmbed cache", - "Click_here": "Click here", - "Click_here_for_more_details_or_contact_sales_for_a_new_license": "Click here for more details or contact {{email}} for a new license.", - "Click_here_for_more_info": "Click here for more info", - "Click_here_to_clear_the_selection": "Click here to clear the selection", - "Click_here_to_enter_your_encryption_password": "Click here to enter your encryption password", - "Click_here_to_view_and_copy_your_password": "Click here to view and copy your password.", - "Click_the_messages_you_would_like_to_send_by_email": "Click the messages you would like to send by e-mail", - "Click_to_join": "Click to Join!", - "Click_to_load": "Click to load", - "Client_ID": "Client ID", - "Client_Secret": "Client Secret", - "Client": "Client", - "Clients_will_refresh_in_a_few_seconds": "Clients will refresh in a few seconds", - "close": "close", - "Close": "Close", - "Close_chat": "Close chat", - "Close_room_description": "You are about to close this chat. Are you sure you want to continue?", - "close-livechat-room": "Close Omnichannel Room", - "close-livechat-room_description": "Permission to close the current Omnichannel room", - "close-others-livechat-room": "Close Other Omnichannel Room", - "close-others-livechat-room_description": "Permission to close other Omnichannel rooms", - "Close_Window": "Close Window", - "Closed": "Closed", - "Closed_At": "Closed at", - "Closed_automatically": "Closed automatically by the system", - "Closed_automatically_because_chat_was_onhold_for_seconds": "Closed automatically because chat was On Hold for {{onHoldTime}} seconds", - "Closed_automatically_chat_queued_too_long": "Closed automatically by the system (queue maximum time exceeded)", - "Closed_by_visitor": "Closed by visitor", - "Wrap_up_conversation": "Wrap up conversation", - "These_options_affect_this_conversation_only_To_set_default_selections_go_to_My_Account_Omnichannel": "These options affect this conversation only. To set default selections, go to My Account > Omnichannel.", - "This_option_affect_this_conversation_only_To_set_default_selection_go_to_My_Account_Omnichannel": "This option affect this conversation only. To set default selection, go to My Account > Omnichannel.", - "Closing_chat": "Closing chat", - "Closing_chat_message": "Closing chat message", - "Cloud": "Cloud", - "Cloud_Apply_Offline_License": "Apply Offline License", - "Cloud_Change_Offline_License": "Change Offline License", - "Cloud_License_applied_successfully": "License applied successfully!", - "Cloud_Invalid_license": "Invalid license!", - "Cloud_Apply_license": "Apply license", - "Cloud_connectivity": "Cloud Connectivity", - "Cloud_address_to_send_registration_to": "The address to send your Cloud registration email to.", - "Cloud_click_here": "After copying the text, go to [cloud console (click here)]({{cloudConsoleUrl}}).", - "Cloud_console": "Cloud Console", - "Cloud_error_code": "Code: {{errorCode}}", - "Cloud_error_in_authenticating": "Error received while authenticating", - "Cloud_Info": "Cloud Info", - "Cloud_login_to_cloud": "Login to Rocket.Chat Cloud", - "Cloud_logout": "Logout of Rocket.Chat Cloud", - "Cloud_manually_input_token": "Enter the token received from the Cloud Console.", - "Cloud_register_error": "There has been an error trying to process your request. Please try again later.", - "Cloud_Register_manually": "Register Offline", - "Cloud_register_offline_finish_helper": "After completing the registration process in the Cloud Console you should be presented with some text. Please paste it here to finish the registration.", - "Cloud_register_offline_helper": "Workspaces can be manually registered if airgapped or network access is restricted. Copy the text below and go to our Cloud Console to complete the process.", - "Cloud_register_success": "Your workspace has been successfully registered!", - "Cloud_registration_required": "Registration Required", - "Cloud_registration_required_description": "Looks like during setup you didn't chose to register your workspace.", - "Cloud_registration_required_link_text": "Click here to register your workspace.", - "Cloud_resend_email": "Resend email", - "Cloud_Service_Agree_PrivacyTerms": "Cloud Service Privacy Terms Agreement", - "Cloud_Service_Agree_PrivacyTerms_Description": "I agree with the [Terms](https://rocket.chat/terms) & [Privacy Policy](https://rocket.chat/privacy)", - "Cloud_Service_Agree_PrivacyTerms_Login_Disabled_Warning": "You should accept the cloud privacy terms (Setup Wizard > Cloud Info > Cloud Service Privacy Terms Agreement) to connect to your cloud workspace", - "Cloud_status_page_description": "If a particular Cloud Service is having issues you can check for known issues on our status page at", - "Cloud_token_instructions": "To Register your workspace go to Cloud Console. Login or Create an account and click register self-managed. Paste the token provided below", - "Cloud_troubleshooting": "Troubleshooting", - "Cloud_update_email": "Update Email", - "Cloud_what_is_it": "What is this?", - "Copy_Link": "Copy Link", - "Copy_password": "Copy password", - "Cloud_what_is_it_additional": "In addition you will be able to manage licenses, billing and support from the Rocket.Chat Cloud Console.", - "Cloud_what_is_it_description": "Rocket.Chat Cloud Connect allows you to connect your self-hosted Rocket.Chat Workspace to services we provide in our Cloud.", - "Cloud_what_is_it_services_like": "Services like:", - "Cloud_workspace_connected": "Your workspace is connected to Rocket.Chat Cloud. Logging into your Rocket.Chat Cloud account here will allow you to interact with some services like marketplace.", - "Cloud_workspace_connected_plus_account": "Your workspace is now connected to the Rocket.Chat Cloud and an account is associated.", - "Cloud_workspace_connected_without_account": "Your workspace is now connected to the Rocket.Chat Cloud. If you would like, you can login to the Rocket.Chat Cloud and associate your workspace with your Cloud account.", - "Cloud_workspace_disconnect": "If you no longer wish to utilize cloud services you can disconnect your workspace from Rocket.Chat Cloud.", - "Cloud_workspace_support": "If you have trouble with a cloud service, please try to sync first. Should the issue persist, please open a support ticket in the Cloud Console.", - "Cloud_Workspace_Id": "Cloud Workspace ID", - "Collaborative": "Collaborative", - "Collapse": "Collapse", - "Collapse_Embedded_Media_By_Default": "Collapse Embedded Media by Default", - "color": "Color", - "Color": "Color", - "Colors": "Colors", - "Commands": "Commands", - "Comment_to_leave_on_closing_session": "Comment to Leave on Closing Session", - "Comment": "Comment", - "Common_Access": "Common Access", - "Commit": "Commit", - "Community": "Community", - "Contextualbar_resizable": "Contextual bar resizable", - "Contextualbar_resizable_description": "Allows you to adjust the size of the contextual bar by simply dragging, giving you instant customization and flexibility", - "Free_Edition": "Free edition", - "Composer_not_available_phone_calls": "Messages are not available on phone calls", - "Condensed": "Condensed", - "Condition": "Condition", - "Commit_details": "Commit Details", - "Completed": "Completed", - "Computer": "Computer", - "Conference_call_apps": "Conference call apps", - "Conference_call_has_ended": "_Call has ended._", - "Conference_name": "Conference name", - "Configure_Incoming_Mail_IMAP": "Configure Incoming Mail (IMAP)", - "Configure_Outgoing_Mail_SMTP": "Configure Outgoing Mail (SMTP)", - "Configure_video_conference_to_make_it_available_on_this_workspace": "Configure video conference to make it available on this workspace", - "Confirm": "Confirm", - "Confirm_new_encryption_password": "Confirm new encryption password", - "Confirm_new_password": "Confirm New Password", - "Confirm_New_Password_Placeholder": "Please re-enter new password...", - "Confirm_password": "Confirm password", - "Confirm_your_password": "Confirm your password", - "Confirm_configuration_update_description": "Identification data and cloud connection data will be retained.

Warning: If this is actually a new workspace, please go back and select new workspace option to avoid communication conflicts.", - "Confirm_configuration_update": "Confirm configuration update", - "Confirm_new_workspace_description": "Identification data and cloud connection data will be reset.

Warning: License can be affected if changing workspace URL.", - "Confirm_new_workspace": "Confirm new workspace", - "Confirmation": "Confirmation", - "Configure_video_conference": "Configure conference call", - "Configuration_update_confirmed": "Configuration update confirmed", - "Configuration_update": "Configuration update", - "Connect": "Connect", - "Connected": "Connected", - "Connect_SSL_TLS": "Connect with SSL/TLS", - "Connection_Closed": "Connection closed", - "Connection_Reset": "Connection reset", - "Connection_error": "Connection error", - "Connection_failed": "LDAP Connection Failed", - "Connectivity_Services": "Connectivity Services", - "Consulting": "Consulting", - "Consumer_Packaged_Goods": "Consumer Packaged Goods", - "Contact": "Contact", - "Contacts": "Contacts", - "Contact_Name": "Contact Name", - "Contact_Center": "Contact Center", - "Contact_Chat_History": "Contact Chat History", - "Contains_Security_Fixes": "Contains Security Fixes", - "Contact_Manager": "Contact Manager", - "Contact_not_found": "Contact not found", - "Contact_Profile": "Contact Profile", - "Contact_Info": "Contact Information", - "Content": "Content", - "Continue": "Continue", - "Continue_Adding": "Continue Adding?", - "Continuous_sound_notifications_for_new_livechat_room": "Continuous sound notifications for new omnichannel room", - "convert-team": "Convert Team", - "convert-team_description": "Permission to convert team to channel", - "Conversation": "Conversation", - "Conversation_closed": "Conversation closed: {{comment}}.", - "Conversation_closed_without_comment": "Conversation closed", - "Conversation_closing_tags": "Conversation closing tags", - "Conversation_closing_tags_description": "Closing tags will be automatically assigned to conversations at closing.", - "Conversation_finished": "Conversation Finished", - "Conversation_finished_message": "Conversation Finished Message", - "Conversation_finished_text": "Conversation Finished Text", - "conversation_with_s": "the conversation with %s", - "Conversation_with__roomName__": "Conversation with {{roomName}}.", - "Conversations": "Conversations", - "Conversations_per_day": "Conversations per Day", - "Convert": "Convert", - "Convert_Ascii_Emojis": "Convert ASCII to Emoji", - "Convert_to_channel": "Convert to Channel", - "Converting_channel_to_a_team": "You are converting this Channel to a Team. All members will be kept.", - "Converted__roomName__to_team": "converted #{{roomName}} to a Team", - "Converted__roomName__to_channel": "converted #{{roomName}} to a Channel", - "Converted__roomName__to_a_team": "converted #{{roomName}} to a team", - "Converted__roomName__to_a_channel": "converted #{{roomName}} to channel", - "Converting_team_to_channel": "Converting Team to Channel", - "Copied": "Copied", - "Copy": "Copy", - "Copy_text": "Copy text", - "Copy_to_clipboard": "Copy to clipboard", - "COPY_TO_CLIPBOARD": "COPY TO CLIPBOARD", - "could-not-access-webdav": "Could not access WebDAV", - "Count": "Count", - "Counters": "Counters", - "Country": "Country", - "Country_Afghanistan": "Afghanistan", - "Country_Albania": "Albania", - "Country_Algeria": "Algeria", - "Country_American_Samoa": "American Samoa", - "Country_Andorra": "Andorra", - "Country_Angola": "Angola", - "Country_Anguilla": "Anguilla", - "Country_Antarctica": "Antarctica", - "Country_Antigua_and_Barbuda": "Antigua and Barbuda", - "Country_Argentina": "Argentina", - "Country_Armenia": "Armenia", - "Country_Aruba": "Aruba", - "Country_Australia": "Australia", - "Country_Austria": "Austria", - "Country_Azerbaijan": "Azerbaijan", - "Country_Bahamas": "Bahamas", - "Country_Bahrain": "Bahrain", - "Country_Bangladesh": "Bangladesh", - "Country_Barbados": "Barbados", - "Country_Belarus": "Belarus", - "Country_Belgium": "Belgium", - "Country_Belize": "Belize", - "Country_Benin": "Benin", - "Country_Bermuda": "Bermuda", - "Country_Bhutan": "Bhutan", - "Country_Bolivia": "Bolivia", - "Country_Bosnia_and_Herzegovina": "Bosnia and Herzegovina", - "Country_Botswana": "Botswana", - "Country_Bouvet_Island": "Bouvet Island", - "Country_Brazil": "Brazil", - "Country_British_Indian_Ocean_Territory": "British Indian Ocean Territory", - "Country_Brunei_Darussalam": "Brunei Darussalam", - "Country_Bulgaria": "Bulgaria", - "Country_Burkina_Faso": "Burkina Faso", - "Country_Burundi": "Burundi", - "Country_Cambodia": "Cambodia", - "Country_Cameroon": "Cameroon", - "Country_Canada": "Canada", - "Country_Cape_Verde": "Cape Verde", - "Country_Cayman_Islands": "Cayman Islands", - "Country_Central_African_Republic": "Central African Republic", - "Country_Chad": "Chad", - "Country_Chile": "Chile", - "Country_China": "China", - "Country_Christmas_Island": "Christmas Island", - "Country_Cocos_Keeling_Islands": "Cocos (Keeling) Islands", - "Country_Colombia": "Colombia", - "Country_Comoros": "Comoros", - "Country_Congo": "Congo", - "Country_Congo_The_Democratic_Republic_of_The": "Congo, The Democratic Republic of The", - "Country_Cook_Islands": "Cook Islands", - "Country_Costa_Rica": "Costa Rica", - "Country_Cote_Divoire": "Cote D'ivoire", - "Country_Croatia": "Croatia", - "Country_Cuba": "Cuba", - "Country_Cyprus": "Cyprus", - "Country_Czech_Republic": "Czech Republic", - "Country_Denmark": "Denmark", - "Country_Djibouti": "Djibouti", - "Country_Dominica": "Dominica", - "Country_Dominican_Republic": "Dominican Republic", - "Country_Ecuador": "Ecuador", - "Country_Egypt": "Egypt", - "Country_El_Salvador": "El Salvador", - "Country_Equatorial_Guinea": "Equatorial Guinea", - "Country_Eritrea": "Eritrea", - "Country_Estonia": "Estonia", - "Country_Ethiopia": "Ethiopia", - "Country_Falkland_Islands_Malvinas": "Falkland Islands (Malvinas)", - "Country_Faroe_Islands": "Faroe Islands", - "Country_Fiji": "Fiji", - "Country_Finland": "Finland", - "Country_France": "France", - "Country_French_Guiana": "French Guiana", - "Country_French_Polynesia": "French Polynesia", - "Country_French_Southern_Territories": "French Southern Territories", - "Country_Gabon": "Gabon", - "Country_Gambia": "Gambia", - "Country_Georgia": "Georgia", - "Country_Germany": "Germany", - "Country_Ghana": "Ghana", - "Country_Gibraltar": "Gibraltar", - "Country_Greece": "Greece", - "Country_Greenland": "Greenland", - "Country_Grenada": "Grenada", - "Country_Guadeloupe": "Guadeloupe", - "Country_Guam": "Guam", - "Country_Guatemala": "Guatemala", - "Country_Guinea": "Guinea", - "Country_Guinea_bissau": "Guinea-bissau", - "Country_Guyana": "Guyana", - "Country_Haiti": "Haiti", - "Country_Heard_Island_and_Mcdonald_Islands": "Heard Island and Mcdonald Islands", - "Country_Holy_See_Vatican_City_State": "Holy See (Vatican City State)", - "Country_Honduras": "Honduras", - "Country_Hong_Kong": "Hong Kong", - "Country_Hungary": "Hungary", - "Country_Iceland": "Iceland", - "Country_India": "India", - "Country_Indonesia": "Indonesia", - "Country_Iran_Islamic_Republic_of": "Iran, Islamic Republic of", - "Country_Iraq": "Iraq", - "Country_Ireland": "Ireland", - "Country_Israel": "Israel", - "Country_Italy": "Italy", - "Country_Jamaica": "Jamaica", - "Country_Japan": "Japan", - "Country_Jordan": "Jordan", - "Country_Kazakhstan": "Kazakhstan", - "Country_Kenya": "Kenya", - "Country_Kiribati": "Kiribati", - "Country_Korea_Democratic_Peoples_Republic_of": "Korea, Democratic People's Republic of", - "Country_Korea_Republic_of": "Korea, Republic of", - "Country_Kuwait": "Kuwait", - "Country_Kyrgyzstan": "Kyrgyzstan", - "Country_Lao_Peoples_Democratic_Republic": "Lao People's Democratic Republic", - "Country_Latvia": "Latvia", - "Country_Lebanon": "Lebanon", - "Country_Lesotho": "Lesotho", - "Country_Liberia": "Liberia", - "Country_Libyan_Arab_Jamahiriya": "Libyan Arab Jamahiriya", - "Country_Liechtenstein": "Liechtenstein", - "Country_Lithuania": "Lithuania", - "Country_Luxembourg": "Luxembourg", - "Country_Macao": "Macao", - "Country_Macedonia_The_Former_Yugoslav_Republic_of": "Macedonia, The Former Yugoslav Republic of", - "Country_Madagascar": "Madagascar", - "Country_Malawi": "Malawi", - "Country_Malaysia": "Malaysia", - "Country_Maldives": "Maldives", - "Country_Mali": "Mali", - "Country_Malta": "Malta", - "Country_Marshall_Islands": "Marshall Islands", - "Country_Martinique": "Martinique", - "Country_Mauritania": "Mauritania", - "Country_Mauritius": "Mauritius", - "Country_Mayotte": "Mayotte", - "Country_Mexico": "Mexico", - "Country_Micronesia_Federated_States_of": "Micronesia, Federated States of", - "Country_Moldova_Republic_of": "Moldova, Republic of", - "Country_Monaco": "Monaco", - "Country_Mongolia": "Mongolia", - "Country_Montserrat": "Montserrat", - "Country_Morocco": "Morocco", - "Country_Mozambique": "Mozambique", - "Country_Myanmar": "Myanmar", - "Country_Namibia": "Namibia", - "Country_Nauru": "Nauru", - "Country_Nepal": "Nepal", - "Country_Netherlands": "Netherlands", - "Country_Netherlands_Antilles": "Netherlands Antilles", - "If_you_dont_have_one_send_an_email_to_omni_rocketchat_to_get_yours": "If you don't have one send an email to [omni@rocket.chat](mailto:omni@rocket.chat) to get yours.", - "Country_New_Caledonia": "New Caledonia", - "Country_New_Zealand": "New Zealand", - "Country_Nicaragua": "Nicaragua", - "Country_Niger": "Niger", - "Country_Nigeria": "Nigeria", - "Country_Niue": "Niue", - "Country_Norfolk_Island": "Norfolk Island", - "Country_Northern_Mariana_Islands": "Northern Mariana Islands", - "Country_Norway": "Norway", - "Country_Oman": "Oman", - "Country_Pakistan": "Pakistan", - "Country_Palau": "Palau", - "Country_Palestinian_Territory_Occupied": "Palestinian Territory, Occupied", - "Country_Panama": "Panama", - "Country_Papua_New_Guinea": "Papua New Guinea", - "Country_Paraguay": "Paraguay", - "Country_Peru": "Peru", - "Country_Philippines": "Philippines", - "Country_Pitcairn": "Pitcairn", - "Country_Poland": "Poland", - "Country_Portugal": "Portugal", - "Country_Puerto_Rico": "Puerto Rico", - "Country_Qatar": "Qatar", - "Country_Reunion": "Reunion", - "Country_Romania": "Romania", - "Country_Russian_Federation": "Russian Federation", - "Country_Rwanda": "Rwanda", - "Country_Saint_Helena": "Saint Helena", - "Country_Saint_Kitts_and_Nevis": "Saint Kitts and Nevis", - "Country_Saint_Lucia": "Saint Lucia", - "Country_Saint_Pierre_and_Miquelon": "Saint Pierre and Miquelon", - "Country_Saint_Vincent_and_The_Grenadines": "Saint Vincent and The Grenadines", - "Country_Samoa": "Samoa", - "Country_San_Marino": "San Marino", - "Country_Sao_Tome_and_Principe": "Sao Tome and Principe", - "Country_Saudi_Arabia": "Saudi Arabia", - "Country_Senegal": "Senegal", - "Country_Serbia_and_Montenegro": "Serbia and Montenegro", - "inline_code": "inline code", - "Country_Seychelles": "Seychelles", - "Country_Sierra_Leone": "Sierra Leone", - "Country_Singapore": "Singapore", - "Country_Slovakia": "Slovakia", - "Country_Slovenia": "Slovenia", - "Country_Solomon_Islands": "Solomon Islands", - "Country_Somalia": "Somalia", - "Country_South_Africa": "South Africa", - "Country_South_Georgia_and_The_South_Sandwich_Islands": "South Georgia and The South Sandwich Islands", - "Country_Spain": "Spain", - "Country_Sri_Lanka": "Sri Lanka", - "Country_Sudan": "Sudan", - "Country_Suriname": "Suriname", - "Country_Svalbard_and_Jan_Mayen": "Svalbard and Jan Mayen", - "Country_Swaziland": "Swaziland", - "Country_Sweden": "Sweden", - "Country_Switzerland": "Switzerland", - "Country_Syrian_Arab_Republic": "Syrian Arab Republic", - "Country_Taiwan_Province_of_China": "Taiwan, Province of China", - "Country_Tajikistan": "Tajikistan", - "Country_Tanzania_United_Republic_of": "Tanzania, United Republic of", - "Country_Thailand": "Thailand", - "Country_Timor_leste": "Timor-leste", - "Country_Togo": "Togo", - "Country_Tokelau": "Tokelau", - "Country_Tonga": "Tonga", - "Country_Trinidad_and_Tobago": "Trinidad and Tobago", - "Country_Tunisia": "Tunisia", - "Country_Turkey": "Turkey", - "Country_Turkmenistan": "Turkmenistan", - "Country_Turks_and_Caicos_Islands": "Turks and Caicos Islands", - "Country_Tuvalu": "Tuvalu", - "Country_Uganda": "Uganda", - "Country_Ukraine": "Ukraine", - "Country_United_Arab_Emirates": "United Arab Emirates", - "Country_United_Kingdom": "United Kingdom", - "Country_United_States": "United States", - "Country_United_States_Minor_Outlying_Islands": "United States Minor Outlying Islands", - "Country_Uruguay": "Uruguay", - "Country_Uzbekistan": "Uzbekistan", - "Country_Vanuatu": "Vanuatu", - "Country_Venezuela": "Venezuela", - "Country_Viet_Nam": "Viet Nam", - "Country_Virgin_Islands_British": "Virgin Islands, British", - "Country_Virgin_Islands_US": "Virgin Islands, U.S.", - "Country_Wallis_and_Futuna": "Wallis and Futuna", - "Country_Western_Sahara": "Western Sahara", - "Country_Yemen": "Yemen", - "Country_Zambia": "Zambia", - "Country_Zimbabwe": "Zimbabwe", - "Create": "Create", - "Create_canned_response": "Create canned response", - "Create_custom_field": "Create custom field", - "Create_channel": "Create channel", - "Create_channels": "Create channels", - "Create_a_public_channel_that_new_workspace_members_can_join": "Create a public channel that new workspace members can join.", - "Create_A_New_Channel": "Create a New Channel", - "Create_new": "Create new", - "Create_new_members": "Create New Members", - "Create_unique_rules_for_this_channel": "Create unique rules for this channel", - "Create_unit": "Create unit", - "create-c": "Create Public Channels", - "create-c_description": "Permission to create public channels", - "create-d": "Create Direct Messages", - "create-d_description": "Permission to start direct messages", - "create-invite-links": "Create Invite Links", - "create-invite-links_description": "Permission to create invite links to channels", - "create-p": "Create Private Channels", - "create-p_description": "Permission to create private channels", - "create-personal-access-tokens": "Create Personal Access Tokens", - "create-personal-access-tokens_description": "Permission to create Personal Access Tokens", - "create-team": "Create Team", - "create-team_description": "Permission to create teams", - "create-user": "Create User", - "create-user_description": "Permission to create users", - "Created": "Created", - "Created_as": "Created as", - "Created_at": "Created at", - "Created_at_s_by_s": "Created at %s by %s", - "Created_at_s_by_s_triggered_by_s": "Created at %s by %s triggered by %s", - "Created_by": "Created by", - "CRM_Integration": "CRM Integration", - "CROWD_Allow_Custom_Username": "Allow custom username in Rocket.Chat", - "Crowd_Connection_successful": "Crowd Connection Successful", - "CROWD_Reject_Unauthorized": "Reject Unauthorized", - "Crowd_Remove_Orphaned_Users": "Remove Orphaned Users", - "Crowd_sync_interval_Description": "The interval between synchronizations. Example `every 24 hours` or `on the first day of the week`, more examples at [Cron Text Parser](http://bunkat.github.io/later/parsers.html#text)", - "CSV": "CSV", - "Current_Chats": "Current Chats", - "Current_File": "Current File", - "Current_Import_Operation": "Current Import Operation", - "Current_Status": "Current Status", - "Currently_we_dont_support_joining_servers_with_this_many_people": "Currently we don't support joining servers with this many people", - "Custom": "Custom", - "Custom CSS": "Custom CSS", - "Custom_agent": "Custom agent", - "Custom_dates": "Custom Dates", - "Custom_Emoji": "Custom Emoji", - "Custom_Emoji_Add": "Add New Emoji", - "Custom_Emoji_Added_Successfully": "Custom emoji added successfully", - "Custom_Emoji_Delete_Warning": "Deleting an emoji cannot be undone.", - "Custom_Emoji_Error_Invalid_Emoji": "Invalid emoji", - "Custom_Emoji_Error_Name_Or_Alias_Already_In_Use": "The custom emoji or one of its aliases is already in use.", - "Custom_Emoji_Error_Same_Name_And_Alias": "The custom emoji name and their aliases should be different.", - "Custom_Emoji_Has_Been_Deleted": "The custom emoji has been deleted.", - "Custom_Emoji_Info": "Custom Emoji Info", - "Custom_Emoji_Updated_Successfully": "Custom emoji updated successfully", - "Custom_Fields": "Custom Fields", - "Custom_Field_Removed": "Custom Field Removed", - "Custom_Field_Not_Found": "Custom Field not found", - "Custom_Integration": "Custom Integration", - "Custom_OAuth_has_been_added": "Custom OAuth has been added", - "Custom_OAuth_has_been_removed": "Custom OAuth has been removed", - "Custom_oauth_helper": "When setting up your OAuth Provider, you'll have to inform a Callback URL. Use

%s
.", - "Custom_oauth_unique_name": "Custom OAuth unique name", - "Custom_roles": "Custom roles", - "Custom_roles_upsell_add_custom_roles_workspace": "Add custom roles to suit your workspace", - "Custom_roles_upsell_add_custom_roles_workspace_description": "Custom roles allow you to set permissions for the people in your workspace. Set all the roles you need to make sure people have a safe environment to work on.", - "Custom_Script_Logged_In": "Custom Script for Logged In Users", - "Custom_Script_Logged_In_Description": "Custom Script that will run ALWAYS and to ANY user that is logged in. e.g. (whenever you enter the chat and you are logged in)", - "Custom_Script_Logged_Out": "Custom Script for Logged Out Users", - "Custom_Script_Logged_Out_Description": "Custom Script that will run ALWAYS and to ANY user that is NOT logged in. e.g. (whenever you enter the login page)", - "Custom_Script_On_Logout": "Custom Script for Logout Flow", - "Custom_Script_On_Logout_Description": "Custom Script that will run on execute logout flow ONLY", - "Custom_Scripts": "Custom Scripts", - "Custom_Sound_Add": "Add Custom Sound", - "Custom_Sound_Delete_Warning": "Deleting a sound cannot be undone.", - "Custom_Sound_Edit": "Edit Custom Sound", - "Custom_Sound_Error_Invalid_Sound": "Invalid sound", - "Custom_Sound_Error_Name_Already_In_Use": "The custom sound name is already in use.", - "Custom_Sound_Has_Been_Deleted": "The custom sound has been deleted.", - "Custom_Sound_Info": "Custom Sound Info", - "Custom_Sound_Saved_Successfully": "Custom sound saved successfully", - "Custom_Status": "Custom Status", - "Custom_Translations": "Custom Translations", - "Custom_Translations_Description": "Should be a valid JSON where keys are languages containing a dictionary of key and translations. Example: `{\"en\": {\"Channels\": \"Rooms\"},\"pt\": {\"Channels\": \"Salas\"}}`", - "Custom_User_Status": "Custom User Status", - "Custom_User_Status_Add": "Add Custom User Status", - "Custom_User_Status_Added_Successfully": "Custom User Status Added Successfully", - "Custom_User_Status_Delete_Warning": "Deleting a Custom User Status cannot be undone.", - "Custom_User_Status_Edit": "Edit Custom User Status", - "Custom_User_Status_Error_Invalid_User_Status": "Invalid User Status", - "Custom_User_Status_Error_Name_Already_In_Use": "The Custom User Status Name is already in use.", - "Custom_User_Status_Has_Been_Deleted": "Custom User Status Has Been Deleted", - "Custom_User_Status_Info": "Custom User Status Info", - "Custom_User_Status_Updated_Successfully": "Custom User Status Updated Successfully", - "Customer_without_registered_email": "The customer does not have a registered email address", - "Customize": "Customize", - "Customize_Content": "Customize content", - "CustomSoundsFilesystem": "Custom Sounds Filesystem", - "CustomSoundsFilesystem_Description": "Specify how custom sounds are stored.", - "Daily_Active_Users": "Daily Active Users", - "Dashboard": "Dashboard", - "Data_modified": "Data Modified", - "Data_processing_consent_text": "Data processing consent text", - "Data_processing_consent_text_description": "Use this setting to explain that you can collect, store and process customer's personal informations along the conversation.", - "Date": "Date", - "Date_From": "From", - "Date_to": "to", - "DAU_value": "DAU {{value}}", - "days": "days", - "Days": "Days", - "Daylight_savings_time": "Timezone observes daylight saving time", - "DB_Migration": "Database Migration", - "DB_Migration_Date": "Database Migration Date", - "DDP_Rate_Limiter": "DDP Rate Limit", - "DDP_Rate_Limit_Connection_By_Method_Enabled": "Limit by Connection per Method: enabled", - "DDP_Rate_Limit_Connection_By_Method_Interval_Time": "Limit by Connection per Method: interval time", - "DDP_Rate_Limit_Connection_By_Method_Requests_Allowed": "Limit by Connection per Method: requests allowed", - "DDP_Rate_Limit_Connection_Enabled": "Limit by Connection: enabled", - "DDP_Rate_Limit_Connection_Interval_Time": "Limit by Connection: interval time", - "DDP_Rate_Limit_Connection_Requests_Allowed": "Limit by Connection: requests allowed", - "DDP_Rate_Limit_IP_Enabled": "Limit by IP: enabled", - "DDP_Rate_Limit_IP_Interval_Time": "Limit by IP: interval time", - "DDP_Rate_Limit_IP_Requests_Allowed": "Limit by IP: requests allowed", - "DDP_Rate_Limit_User_By_Method_Enabled": "Limit by User per Method: enabled", - "DDP_Rate_Limit_User_By_Method_Interval_Time": "Limit by User per Method: interval time", - "DDP_Rate_Limit_User_By_Method_Requests_Allowed": "Limit by User per Method: requests allowed", - "DDP_Rate_Limit_User_Enabled": "Limit by User: enabled", - "DDP_Rate_Limit_User_Interval_Time": "Limit by User: interval time", - "DDP_Rate_Limit_User_Requests_Allowed": "Limit by User: requests allowed", - "Deactivate": "Deactivate", - "Deactivated": "Deactivated", - "deactivated": "deactivated", - "Decline": "Decline", - "default": "default", - "Default": "Default", - "Default_provider": "Default provider", - "Default_value": "Default value", - "Delete": "Delete", - "Deleting": "Deleting", - "Delete_account": "Delete account", - "Delete_account?": "Delete account?", - "Delete_all_closed_chats": "Delete all closed chats", - "Delete_Department?": "Delete Department?", - "Delete_File_Warning": "Deleting a file will delete it forever. This cannot be undone.", - "Delete_message": "Delete message", - "Delete_my_account": "Delete my account", - "Delete_Role_Warning": "This cannot be undone", - "Delete_Role_Warning_Not_Enterprise": "This cannot be undone. You won't be able to create a new custom role, since that feature is no longer available for your current plan.", - "Delete_Room_Warning": "Deleting this {{roomType}} will also delete all contained message. This cannot be undone.", - "Delete_User_Warning": "Deleting a user will delete all messages from that user as well. This cannot be undone.", - "Delete_User_Warning_Delete": "Deleting a user will delete all messages from that user as well. This cannot be undone.", - "Delete_User_Warning_Keep": "The user will be deleted, but their messages will remain visible. This cannot be undone.", - "Delete_User_Warning_Unlink": "Deleting a user will remove the user name from all their messages. This cannot be undone.", - "delete-c": "Delete Public Channels", - "delete-c_description": "Permission to delete public channels", - "delete-d": "Delete Direct Messages", - "delete-d_description": "Permission to delete direct messages", - "delete-message": "Delete Message", - "delete-message_description": "Permission to delete a message within a room", - "delete-own-message": "Delete Own Message", - "delete-own-message_description": "Permission to delete own message", - "delete-p": "Delete Private Channels", - "delete-p_description": "Permission to delete private channels", - "delete-team": "Delete Team", - "delete-team_description": "Permission to delete teams", - "delete-user": "Delete User", - "delete-user_description": "Permission to delete users", - "Deleted": "Deleted!", - "Deleted_user": "Deleted user", - "Deleted__roomName__": "deleted #{{roomName}}", - "Deleted__roomName__room": "deleted #{{roomName}}", - "Department": "Department", - "Department_archived": "Department archived", - "Department_name": "Department name", - "Department_not_found": "Department not found", - "Department_removed": "Department removed", - "Department_Removal_Disabled": "Delete option disabled by admin", - "Department_unarchived": "Department unarchived", - "Departments": "Departments", - "Deployment_ID": "Deployment ID", - "Deployment": "Deployment", - "Description": "Description", - "Desktop": "Desktop", - "Desktop_apps": "Desktop apps", - "Desktop_Notification_Test": "Desktop Notification Test", - "Desktop_Notifications": "Desktop Notifications", - "Desktop_Notifications_Default_Alert": "Desktop Notifications Default Alert", - "Desktop_Notifications_Disabled": "Desktop Notifications are Disabled. Change your browser preferences if you need Notifications enabled.", - "Desktop_Notifications_Duration": "Desktop Notifications Duration", - "Desktop_Notifications_Duration_Description": "Seconds to display desktop notification. This may affect OS X Notification Center. Enter 0 to use default browser settings and not affect OS X Notification Center.", - "Desktop_Notifications_Enabled": "Desktop Notifications are Enabled", - "Desktop_Notifications_Not_Enabled": "Desktop Notifications are Not Enabled", - "Unselected_by_default": "Unselected by default", - "Unseen_features": "Unseen features", - "Details": "Details", - "Device_Changes_Not_Available": "Device changes not available in this browser. For guaranteed availability, please use Rocket.Chat's official desktop app.", - "Device_Changes_Not_Available_Insecure_Context": "Device changes are only available on secure contexts (e.g. https://)", - "Device_Management": "Device management", - "Device_Management_Allow_Login_Email_preference": "Allow workspace members to turn off login detection emails", - "Device_Management_Allow_Login_Email_preference_Description": "Individual members can set their preference. Useful when frequent login expirations are set causing members to login frequently.", - "Device_Management_Client": "Client", - "Device_Management_Description": "Configure security and access control policies.", - "Device_Management_Device": "Device", - "line": "line", - "Device_Management_Device_Unknown": "Unknown", - "Device_Management_Email_Subject": "[Site_Name] - Login Detected", - "Device_Management_Email_Body": "You may use the following placeholders: `

{Login_Detected}

[name] ([username]) {Logged_In_Via}

{Device_Management_Client}: [browserInfo]
{Device_Management_OS}: [osInfo]
{Device_Management_Device}: [deviceInfo]
{Device_Management_IP}:[ipInfo]

[userAgent]

{Access_Your_Account}

{Or_Copy_And_Paste_This_URL_Into_A_Tab_Of_Your_Browser}
[SITE_URL]

{Thank_You_For_Choosing_RocketChat}

`", - "Device_Management_Enable_Login_Emails": "Enable login detection emails", - "Device_Management_Enable_Login_Emails_Description": "Emails are sent to workspace members each time new logins are detected on their accounts.", - "Device_Management_IP": "IP", - "Device_Management_OS": "OS", - "Device_ID": "Device ID", - "Device_Info": "Device Info", - "Device_Logged_Out": "Device logged out", - "Device_Logout_Text": "Device will be logged out from workspace and current session will be ended. User will be able to log in again with the same device.", - "Devices": "Devices", - "Devices_Set": "Devices Set", - "Device_settings": "Device Settings", - "Dialed_number_doesnt_exist": "Dialed number doesn't exist", - "Dialed_number_is_incomplete": "Dialed number is not complete", - "Different_Style_For_User_Mentions": "Different style for user mentions", - "Livechat_Facebook_API_Key": "OmniChannel API Key", - "Direct": "Direct", - "Direction": "Direction", - "Livechat_Facebook_API_Secret": "OmniChannel API Secret", - "DirectMesssage_maxUsers": "Max users in direct messages", - "Direct_Message": "Direct message", - "Livechat_Facebook_Enabled": "Facebook integration enabled", - "Direct_message_creation_description": "Select one or more people to message", - "Direct_message_creation_error": "Please select at least one person", - "Direct_message_creation_description_hint": "More people cannot be added once created", - "Direct_message_someone": "Direct message someone", - "Direct_message_you_have_joined": "You have joined a new direct message with", - "Direct_Messages": "Direct messages", - "Direct_message": "Direct message", - "Direct_Reply": "Direct Reply", - "Direct_Reply_Advice": "You can directly reply to this email. Do not modify previous emails in the thread.", - "Direct_Reply_Debug": "Debug Direct Reply", - "Direct_Reply_Debug_Description": "[Beware] Enabling Debug mode would display your 'Plain Text Password' in Admin console.", - "Direct_Reply_Delete": "Delete Emails", - "Direct_Reply_Delete_Description": "[Attention!] If this option is activated, all unread messages are irrevocably deleted, even those that are not direct replies. The configured e-mail mailbox is then always empty and cannot be processed in \"parallel\" by humans.", - "Direct_Reply_Enable": "Enable Direct Reply", - "Direct_Reply_Enable_Description": "[Attention!] If \"Direct Reply\" is enabled, Rocket.Chat will control the configured email mailbox. All unread e-mails are retrieved, marked as read and processed. \"Direct Reply\" should only be activated if the mailbox used is intended exclusively for access by Rocket.Chat and is not read/processed \"in parallel\" by humans.", - "Direct_Reply_Frequency": "Email Check Frequency", - "Direct_Reply_Frequency_Description": "(in minutes, default/minimum 2)", - "Direct_Reply_Host": "Direct Reply Host", - "Direct_Reply_IgnoreTLS": "IgnoreTLS", - "Direct_Reply_Password": "Password", - "Direct_Reply_Port": "Direct_Reply_Port", - "Direct_Reply_Protocol": "Direct Reply Protocol", - "Direct_Reply_Separator": "Separator", - "Direct_Reply_Separator_Description": "[Alter only if you know exactly what you are doing, refer docs] \nSeparator between base & tag part of email", - "Direct_Reply_Username": "Username", - "Direct_Reply_Username_Description": "Please use absolute email, tagging is not allowed, it would be over-written", - "Directory": "Directory", - "Disable": "Disable", - "Disable_Facebook_integration": "Disable Facebook integration", - "Disable_Notifications": "Disable Notifications", - "Disable_two-factor_authentication": "Disable two-factor authentication via TOTP", - "Disable_two-factor_authentication_email": "Disable two-factor authentication via Email", - "Disabled": "Disabled", - "Disallow_reacting": "Disallow Reacting", - "Disallow_reacting_Description": "Disallows reacting", - "Discard": "Discard", - "Disconnect": "Disconnect", - "Discover_public_channels_and_teams_in_the_workspace_directory": "Discover public channels and teams in the workspace directory.", - "Discussion": "Discussion", - "Discussion_info": "Discussion info", - "Discussion_Description": "Discussions are an additional way to organize conversations that allows inviting users from outside channels to participate in specific conversations.", - "Discussion_description": "Discussions allow separate conversations around a specific topic inside a channel or team where any workspace member can be added.", - "Discussion_first_message_disabled_due_to_e2e": "You can start sending End-to-end encrypted messages in this discussion after its creation.", - "Discussion_first_message_title": "Message", - "Discussion_name": "Discussion name", - "Discussion_start": "Start a Discussion", - "Discussion_target_channel": "Parent channel or team", - "Discussion_target_channel_description": "Select a channel which is related to what you want to ask", - "Discussion_target_channel_prefix": "You are creating a discussion in", - "Discussion_title": "Create discussion", - "Discussions_unavailable_for_federation": "Discussions are unavailable for Federated rooms", - "discussion-created": "{{message}}", - "Discussions": "Discussions", - "Display": "Display", - "Display_avatars": "Display Avatars", - "Display_Avatars_Sidebar": "Display Avatars in Sidebar", - "Display_chat_permissions": "Display chat permissions", - "Display_mentions_counter": "Display badge for direct mentions only", - "Display_offline_form": "Display Offline Form", - "Display_setting_permissions": "Display permissions to change settings", - "Display_unread_counter": "Display room as unread when there are unread messages", - "Displays_action_text": "Displays action text", - "Do_It_Later": "Do it later", - "Displayed_next_to_name": "Displayed next to name", - "Do_not_display_unread_counter": "Do not display any counter of this channel", - "Do_not_provide_this_code_to_anyone": "Do not provide this code to anyone.", - "Do_Nothing": "Do Nothing", - "Do_nothing": "Do nothing", - "Do_you_have_any_notes_for_this_conversation": "Do you have any notes for this conversation?", - "Do_you_want_to_accept": "Do you want to accept?", - "Do_you_want_to_change_to_s_question": "Do you want to change to %s?", - "Documentation": "Documentation", - "Document_Domain": "Document Domain", - "Domain": "Domain", - "Domain_added": "domain Added", - "Domain_removed": "Domain Removed", - "Domains": "Domains", - "Domains_allowed_to_embed_the_livechat_widget": "Comma-separated list of domains allowed to embed the livechat widget. Leave blank to allow all domains.", - "Done": "Done", - "Dont_ask_me_again": "Don't ask me again!", - "Dont_ask_me_again_list": "Don't ask me again list", - "Download": "Download", - "Download_Destkop_App": "Download Desktop App", - "Download_Disabled": "Download disabled", - "Download_Info": "Download info", - "Download_My_Data": "Download My Data (HTML)", - "Download_Pending_Avatars": "Download Pending Avatars", - "Download_Pending_Files": "Download Pending Files", - "Download_Snippet": "Download", - "Downloading_file_from_external_URL": "Downloading file from external URL", - "Drop_to_upload_file": "Drop to upload file", - "Dry_run": "Dry run", - "Dry_run_description": "Will only send one email, to the same address as in From. The email must belong to a valid user.", - "Duplicate_archived_channel_name": "An archived Channel with name `#%s` exists", - "Markdown_Headers": "Allow Markdown headers in messages", - "Markdown_Marked_Breaks": "Enable Marked Breaks", - "Duplicate_archived_private_group_name": "An archived Private Group with name '%s' exists", - "Duplicate_channel_name": "A Channel with name '%s' exists", - "Markdown_Marked_GFM": "Enable Marked GFM", - "Duplicate_file_name_found": "Duplicate file name found.", - "Markdown_Marked_Pedantic": "Enable Marked Pedantic", - "Markdown_Marked_SmartLists": "Enable Marked Smart Lists", - "Duplicate_private_group_name": "A Private Group with name '%s' exists", - "Markdown_Marked_Smartypants": "Enable Marked Smartypants", - "Duplicated_Email_address_will_be_ignored": "Duplicated email address will be ignored.", - "Markdown_Marked_Tables": "Enable Marked Tables", - "duplicated-account": "Duplicated account", - "E2E_Allow_Unencrypted_Messages": "Unencrypted messages in encrypted rooms", - "E2E_Allow_Unencrypted_Messages_Description": "Allow plain text messages to be sent in encrypted rooms. These messages will not be encrypted.", - "E2E Encryption": "E2E Encryption", - "E2E_Encryption_enabled_for_room": "End-to-end encryption enabled for #{{roomName}}", - "E2E_Encryption_disabled_for_room": "End-to-end encryption disabled for #{{roomName}}", - "E2EE_not_available_OTR": "This room has OTR enabled, E2E encryption cannot work with OTR.", - "Markdown_Parser": "Markdown Parser", - "Markdown_SupportSchemesForLink": "Markdown Support Schemes for Link", - "E2E Encryption_Description": "Keep conversations private, ensuring only the sender and intended recipients are able to read them.", - "Markdown_SupportSchemesForLink_Description": "Comma-separated list of allowed schemes", - "E2E_enable": "Enable E2E", - "E2E_disable": "Disable E2E", - "E2E_Enable_alert": "This feature is currently in beta! Please report bugs to github.com/RocketChat/Rocket.Chat/issues and be aware of:
- Encrypted messages of encrypted rooms will not be found by search operations.
- The mobile apps may not support the encrypted messages (they are implementing it).
- Bots may not be able to see encrypted messages until they implement support for it.
- Uploads will not be encrypted in this version.", - "E2E_Enable_description": "Enable option to create encrypted groups and be able to change groups and direct messages to be encrypted", - "E2E_Enabled": "E2E Enabled", - "E2E_Enabled_Default_DirectRooms": "Enable encryption for Direct Rooms by default", - "E2E_Enabled_Default_PrivateRooms": "Enable encryption for Private Rooms by default", - "E2E_Enable_Encrypt_Files": "Encrypt files", - "E2E_Enable_Encrypt_Files_Description": "Encrypt files sent inside encrypted rooms. Check for possible conflicts in [file upload settings.](admin/settings/FileUpload)", - "E2E_Encryption_Password_Change": "Change Encryption Password", - "E2E_Encryption_Password_Explanation": "You can now create encrypted private groups and direct messages. You may also change existing private groups or DMs to encrypted.

This is end-to-end encryption so the key to encode/decode your messages will not be saved on the server. For that reason you need to store your password somewhere safe. You will be required to enter it on other devices you wish to use e2e encryption on.", - "E2E_key_reset_email": "E2E Key Reset Notification", - "E2E_message_encrypted_placeholder": "This message is end-to-end encrypted. To view it, you must enter your encryption key in your account settings.", - "E2E_password_request_text": "To access your encrypted channels and direct messages, enter your encryption password. This is not stored on the server, so you’ll need to use it on every device.", - "E2E_password_reveal_text": "Create secure private rooms and direct messages with end-to-end encryption. This password won’t be stored on the server. You can use it on all your devices.", - "E2E_password_save_text": "This will only be displayed once, please save it now.", - "E2E_Reset_Email_Content": "You've been automatically logged out. When you log in again, a new key will be generated and access will be restored to any encrypted room with at least one member online. If no members are online, access will be restored as soon as a member comes online.", - "E2E_Reset_Key_Explanation": "This will remove your current E2EE key and log you out.
When you log in again, a new key will be generated and access will be restored to any encrypted room with at least one member online.
If no members are online, access will be restored as soon as a member comes online.", - "E2E_Reset_Other_Key_Warning": "Resetting the E2EE key will log out the user. When the user logs in again, a new key will be generated and access will be restored to any encrypted room with at least one member online. If no members are online, access will be restored as soon as a member comes online.", - "E2E_unavailable_for_federation": "E2E is unavailable for federated rooms", - "ECDH_Enabled": "Enable second layer encryption for data transport", - "Edit": "Edit", - "Edit_team": "Edit team", - "Edit_channel": "Edit channel", - "Edit_discussion": "Edit discussion", - "Edit_Business_Hour": "Edit Business Hour", - "Edit_Canned_Response": "Edit Canned Response", - "Edit_Canned_Responses": "Edit Canned Responses", - "Edit_Custom_Field": "Edit Custom Field", - "Edit_Department": "Edit Department", - "Edit_Federated_User_Not_Allowed": "Not possible to edit a federated user", - "Message_AllowSnippeting": "Allow Message Snippeting", - "Edit_Invite": "Edit Invite", - "Edit_previous_message": "`%s` - Edit previous message", - "Edit_Priority": "Edit Priority", - "Edit_SLA_Policy": "Edit SLA policy", - "Edit_Status": "Edit Status", - "Edit_Tag": "Edit Tag", - "Edit_Trigger": "Edit Trigger", - "Edit_Unit": "Edit Unit", - "Message_Attachments_GroupAttach": "Group Attachment Buttons", - "Message_Attachments_GroupAttachDescription": "This groups the icons under an expandable menu. Takes up less screen space.", - "Edit_User": "Edit User", - "edit-livechat-room-customfields": "Edit Livechat Room Custom Fields", - "edit-livechat-room-customfields_description": "Permission to edit the custom fields of livechat room", - "edit-message": "Edit Message", - "edit-message_description": "Permission to edit a message within a room", - "edit-other-user-active-status": "Edit Other User Active Status", - "edit-other-user-active-status_description": "Permission to enable or disable other accounts", - "edit-other-user-avatar": "Edit Other User Avatar", - "edit-other-user-avatar_description": "Permission to change other user's avatar.", - "edit-other-user-e2ee": "Edit Other User E2E Encryption", - "edit-other-user-e2ee_description": "Permission to modify other user's E2E Encryption.", - "edit-other-user-info": "Edit Other User Information", - "edit-other-user-info_description": "Permission to change other user's name, username or email address.", - "edit-other-user-password": "Edit Other User Password", - "edit-other-user-password_description": "Permission to modify other user's passwords. Requires edit-other-user-info permission.", - "edit-other-user-totp": "Edit Other User Two Factor TOTP", - "edit-other-user-totp_description": "Permission to edit other user's Two Factor TOTP", - "edit-privileged-setting": "Edit Privileged Setting", - "edit-privileged-setting_description": "Permission to edit settings", - "edit-team": "Edit Team", - "edit-team_description": "Permission to edit teams", - "edit-team-channel": "Edit Team Channel", - "edit-team-channel_description": "Permission to edit a team's channel", - "edit-team-member": "Edit Team Member", - "edit-team-member_description": "Permission to edit a team's members", - "edit-room": "Edit Room", - "edit-room_description": "Permission to edit a room's name, topic, type (private or public status) and status (active or archived)", - "edit-room-avatar": "Edit Room Avatar", - "edit-room-avatar_description": "Permission to edit a room's avatar.", - "edit-room-retention-policy": "Edit Room's Retention Policy", - "edit-room-retention-policy_description": "Permission to edit a room’s retention policy, to automatically delete messages in it", - "edit-omnichannel-contact": "Edit Omnichannel Contact", - "Use_Legacy_Message_Template": "Use legacy message template", - "multi_line": "multi line", - "edit-omnichannel-contact_description": "Permission to edit Omnichannel Contact", - "Edit_Contact_Profile": "Edit Contact Profile", - "edited": "edited", - "Editing_message": "Editing message", - "Editing_message_hint": "esc to cancel · enter to save", - "Editing_room": "Editing room", - "Editing_user": "Editing user", - "Editor": "Editor", - "Message_ShowEditedStatus": "Show Edited Status", - "Education": "Education", - "Message_ShowFormattingTips": "Show Formatting Tips", - "Email": "Email", - "Email_Description": "Configurations for sending broadcast emails from inside Rocket.Chat.", - "Email_address_to_send_offline_messages": "Email Address to Send Offline Messages", - "Email_already_exists": "Email already exists", - "Email_body": "Email body", - "Email_Change_Disabled": "Your Rocket.Chat administrator has disabled the changing of email", - "Email_Changed_Description": "You may use the following placeholders: \n - `[email]` for the user's email. \n- `[Site_Name]` and `[Site_URL]` for the Application Name and URL respectively.", - "Email_Changed_Email_Subject": "[Site_Name] - Email address has been changed", - "Email_changed_section": "Email Address Changed", - "Email_Footer_Description": "You may use the following placeholders: \n - `[Site_Name]` and `[Site_URL]` for the Application Name and URL respectively. ", - "Email_from": "From", - "Email_Header_Description": "You may use the following placeholders: \n - `[Site_Name]` and `[Site_URL]` for the Application Name and URL respectively. ", - "Email_Inbox": "Email Inbox", - "Email_Inboxes": "Email inboxes", - "Email_Inbox_has_been_added": "Email Inbox has been added", - "Email_Inbox_has_been_removed": "Email Inbox has been removed", - "Email_is_required": "Email is required", - "Email_Notification_Mode": "Offline Email Notifications", - "Email_Notification_Mode_All": "Every Mention/DM", - "Email_Notification_Mode_Disabled": "Disabled", - "Email_notification_show_message": "Show Message in Email Notification", - "Email_Notifications_Change_Disabled": "Your Rocket.Chat administrator has disabled email notifications", - "Email_or_username": "Email or username", - "Enterprise_capability": "Enterprise capability", - "Email_Placeholder": "Please enter your email address...", - "Enterprise_capabilities": "Enterprise capabilities", - "Email_Placeholder_any": "Please enter email addresses...", - "email_plain_text_only": "Send only plain text emails", - "Enterprise_Departments_description_upgrade": "Workspaces on Community Edition can create just one department. Upgrade to Enterprise to remove limits and supercharge your workspace.", - "Enterprise_Departments_description_free_trial": "Workspaces on Community Edition can create one department. Start a free Enterprise trial to create multiple departments today!", - "email_style_description": "Avoid nested selectors", - "email_style_label": "Email Style", - "Enterprise_Description": "Manually update your Premium license.", - "Email_subject": "Email Subject", - "Enterprise_License": "Enterprise License", - "Enterprise_License_Description": "If your workspace is registered and license is provided by Rocket.Chat cloud you don't need to manually update the license here.", - "Email_two-factor_authentication": "Email two-factor authentication", - "Email_verified": "Email verified", - "Enterprise_Only": "Enterprise only", - "Encrypted_field_hint": "Messages are end-to-end encrypted, search will not work and notifications may not show message content", - "Encrypted_file_not_allowed": "Encrypted file not allowed", - "Email_sent": "Email sent", - "Email_verification_isnt_required": "Email verification to login is not required. To require, enable setting in Accounts > Registration", - "Emoji": "Emoji", - "Emoji_picker": "Emoji picker", - "EmojiCustomFilesystem": "Custom Emoji Filesystem", - "EmojiCustomFilesystem_Description": "Specify how emojis are stored.", - "Empty_no_agent_selected": "Empty, no agent selected", - "Empty_title": "Empty title", - "Enable": "Enable", - "Enable_Auto_Away": "Enable Auto Away", - "Enable_CSP": "Enable Content-Security-Policy", - "Enable_CSP_Description": "Do not disable this option unless you have a custom build and are having problems due to inline-scripts", - "Extra_CSP_Domains": "Extra CSP Domains", - "Extra_CSP_Domains_Description": "Extra domains to add to the Content-Security-Policy", - "Enable_Desktop_Notifications": "Enable Desktop Notifications", - "Enable_encryption": "Enable encryption", - "Enable_inquiry_fetch_by_stream": "Enable inquiry data fetch from server using a stream", - "Enable_omnichannel_auto_close_abandoned_rooms": "Enable automatic closing of rooms abandoned by the visitor", - "Enable_Password_History": "Enable Password History", - "Enable_Password_History_Description": "When enabled, users won't be able to update their passwords to some of their most recently used passwords.", - "Enable_Svg_Favicon": "Enable SVG favicon", - "Enable_timestamp": "Enable timestamp parsing in messages", - "Enable_timestamp_description": "Enable timestamps to be parsed in messages", - "Enable_to_bypass_email_verification": "Enable to bypass email verification", - "Enable_two-factor_authentication": "Enable two-factor authentication via TOTP", - "Enable_two-factor_authentication_email": "Enable two-factor authentication via Email", - "Enable_unlimited_apps": "Enable unlimited apps", - "Enabled": "Enabled", - "Encrypted": "Encrypted", - "Encrypted_channel_Description": "Messages are end-to-end encrypted, search will not work and notifications may not show message content", - "Encrypted_content_cannot_be_searched": "Encrypted content cannot be searched.", - "Encrypted_key_title": "Click here to disable end-to-end encryption for this channel (requires e2ee-permission)", - "Encrypted_message": "Encrypted message", - "Encrypted_RoomType": "Encrypted {{roomType}}", - "Encrypted_message_preview_unavailable": "Encrypted message, preview unavailable", - "Encrypted_setting_changed_successfully": "Encrypted setting changed successfully", - "Encrypted_not_available": "Not available for public {{roomType}}", - "Encryption_key_saved_successfully": "Your encryption key was saved successfully.", - "EncryptionKey_Change_Disabled": "You can't set a password for your encryption key because your private key is not present on this client. In order to set a new password you need load your private key using your existing password or use a client where the key is already loaded.", - "End": "End", - "End_suspicious_sessions": "End any suspicious sessions", - "End_call": "End call", - "End_conversation": "End conversation", - "End_To_End_Encryption_Enabled": "End-to-end encryption is enabled", - "End_To_End_Encryption_Not_Enabled": "End-to-end encryption is not enabled", - "Expand_view": "Expand view", - "Explore": "Explore", - "Explore_marketplace": "Explore Marketplace", - "Explore_the_marketplace_to_find_awesome_apps": "Explore the Marketplace to find awesome apps for Rocket.Chat", - "Export": "Export", - "End_Call": "End Call", - "End_OTR": "End OTR", - "Engagement": "Engagement", - "Engagement_Dashboard": "Engagement dashboard", - "Enrich_your_workspace": "Enrich your workspace perspective with the engagement dashboard. Analyze practical usage statistics about your users, messages and channels. Included in Premium plans.", - "Ensure_secure_workspace_access": "Ensure secure workspace access", - "ensure_email_address_valid": "Invalid email address", - "Enter": "Enter", - "Enter_a_custom_message": "Enter a custom message", - "Enter_a_department_name": "Enter a department name", - "Enter_a_name": "Enter a name", - "Enter_a_regex": "Enter a regex", - "Enter_a_room_name": "Enter a room name", - "Enter_a_tag": "Enter a tag", - "Enter_a_username": "Enter a username", - "Enter_Alternative": "Alternative mode (send with Enter + Ctrl/Alt/Shift/CMD)", - "Enter_authentication_code": "Enter authentication code", - "Enter_Behaviour": "Enter key Behaviour", - "Enter_Behaviour_Description": "This changes if the enter key will send a message or do a line break", - "Enter_code_here": "Enter code here", - "Enter_E2E_password": "Enter E2EE password", - "Enter_name_here": "Enter name here", - "Enter_Normal": "Normal mode (send with Enter)", - "Enter_the_code_we_just_emailed_you": "Enter the code we just emailed you.", - "Enter_to": "Enter to", - "Enter_TOTP_password": "Enter TOTP password", - "Enter_your_E2E_password": "Enter your E2E password", - "Enter_your_E2E_password_to_access": "Enter your end-to-end encryption password to access", - "Enter_your_password_to_delete_your_account": "Enter your password to delete your account. This cannot be undone.", - "Enter_your_username_to_delete_your_account": "Enter your username to delete your account. This cannot be undone.", - "Premium_capabilities": "Premium capabilities", - "Premium_Departments_title": "Assign customers to queues and improve agent productivity", - "Premium_Departments_description_upgrade": "Workspaces on Community can create just one department. Upgrade to a Premium plan to remove limits and supercharge your workspace.", - "Premium_Departments_description_free_trial": "Workspaces on Community can create one department. Start a free Premium trial to create multiple departments today!", - "Premium_License": "Premium License", - "Premium_License_alert": "If a license is removed the workspace must be restarted to take effect.
If the workspace is connected to the cloud the license should be canceled there first otherwise cloud will provide the license to the workspace again during the restart.", - "Premium_only": "Premium only", - "Entertainment": "Entertainment", - "Error": "Error", - "Error_something_went_wrong": "Oops! Something went wrong. Please reload the page or contact an administrator.", - "Error_404": "Error:404", - "Error_changing_password": "Error changing password", - "Error_loading_pages": "Error loading pages", - "Error_login_blocked_for_ip": "Login has been temporarily blocked for this IP", - "Error_login_blocked_for_user": "Login has been temporarily blocked for this User", - "Error_RocketChat_requires_oplog_tailing_when_running_in_multiple_instances": "Error: Rocket.Chat requires oplog tailing when running in multiple instances", - "Error_RocketChat_requires_oplog_tailing_when_running_in_multiple_instances_details": "Please make sure your MongoDB is on ReplicaSet mode and MONGO_OPLOG_URL environment variable is defined correctly on the application server", - "Error_sending_livechat_offline_message": "Error sending Omnichannel offline message", - "Error_sending_livechat_transcript": "Error sending Omnichannel transcript", - "Error_Site_URL": "Invalid Site_Url", - "Error_Site_URL_description": "Please, update your \"Site_Url\" setting find more information [here](https://go.rocket.chat/i/invalid-site-url)", - "error-action-not-allowed": "{{action}} is not allowed", - "error-agent-offline": "Agent is offline", - "error-agent-status-service-offline": "Agent status is offline or Omnichannel service is not active", - "error-application-not-found": "Application not found", - "error-archived-duplicate-name": "There's an archived channel with name '{{room_name}}'", - "error-avatar-invalid-url": "Invalid avatar URL: {{url}}", - "error-avatar-url-handling": "Error while handling avatar setting from a URL ({{url}}) for {{username}}", - "error-business-hours-are-closed": "Business Hours are closed", - "error-business-hour-finish-time-before-start-time": "Finish time must be after start time", - "error-business-hour-finish-time-equals-start-time": "Start and Finish time cannot be the same", - "error-blocked-username": "**{{field}}** is blocked and can't be used!", - "error-canned-response-not-found": "Canned Response Not Found", - "error-cannot-delete-app-user": "Deleting app user is not allowed, uninstall the corresponding app to remove it.", - "error-cant-add-federated-users": "Can't add federated users to a non-federated room", - "error-cant-invite-for-direct-room": "Can't invite user to direct rooms", - "error-channels-setdefault-is-same": "The channel default setting is the same as what it would be changed to.", - "error-channels-setdefault-missing-default-param": "The bodyParam 'default' is required", - "error-could-not-change-email": "Could not change email", - "error-could-not-change-name": "Could not change name", - "error-could-not-change-username": "Could not change username", - "error-comment-is-required": "Comment is required", - "error-custom-field-name-already-exists": "Custom field name already exists", - "error-delete-protected-role": "Cannot delete a protected role", - "error-department-not-found": "Department not found", - "error-department-removal-disabled": "Department removal is disabled by administration, please contact your administrator", - "error-direct-message-max-user-exceeded": "You cannot add more than {{maxUsers}} users, including yourself to a direct message", - "error-direct-message-file-upload-not-allowed": "File sharing not allowed in direct messages", - "error-duplicate-channel-name": "A channel with name '{{channel_name}}' exists", - "error-duplicate-priority-name": "A priority with the same name already exists", - "error-edit-permissions-not-allowed": "Editing permissions is not allowed", - "error-email-domain-blacklisted": "The email domain is blacklisted", - "error-email-body-not-initialized": "Email body not initialized. Setup Email's Header & Footer on Email settings before sending rich emails", - "error-email-send-failed": "Error trying to send email: {{message}}", - "error-essential-app-disabled": "Error: a Rocket.Chat App that is essential for this is disabled. Please contact your administrator", - "error-failed-to-delete-department": "Failed to delete department", - "error-field-unavailable": "{{field}} is already in use :(", - "error-file-too-large": "File is too large", - "error-forwarding-chat": "Something went wrong while forwarding the chat, Please try again later.", - "error-forwarding-chat-same-department": "The selected department and the current room department are the same", - "error-forwarding-department-target-not-allowed": "The forwarding to the target department is not allowed.", - "error-guests-cant-have-other-roles": "Guest users can't have any other role.", - "error-import-file-extract-error": "Failed to extract import file.", - "error-import-file-is-empty": "Imported file seems to be empty.", - "error-import-file-missing": "The file to be imported was not found on the specified path.", - "error-importer-not-defined": "The importer was not defined correctly, it is missing the Import class.", - "error-input-is-not-a-valid-field": "{{input}} is not a valid {{field}}", - "error-insufficient-permission": "Error! You don't have ' {{permission}} ' permission which is required to perform this operation", - "error-inquiry-taken": "Inquiry already taken", - "error-invalid-account": "Invalid Account", - "error-invalid-actionlink": "Invalid action link", - "error-invalid-arguments": "Invalid arguments", - "error-invalid-asset": "Invalid asset", - "error-invalid-channel": "Invalid channel.", - "error-invalid-channel-start-with-chars": "Invalid channel. Start with @ or #", - "error-invalid-custom-field": "Invalid custom field", - "error-invalid-custom-field-name": "Invalid custom field name. Use only letters, numbers, hyphens and underscores.", - "error-invalid-custom-field-value": "Invalid value for {{field}} field", - "error-invalid-date": "Invalid date provided.", - "error-invalid-dates": "From date cannot be after To date", - "error-invalid-description": "Invalid description", - "error-invalid-domain": "Invalid domain", - "error-invalid-email": "Invalid email {{email}}", - "error-invalid-email-address": "Invalid email address", - "error-invalid-email-inbox": "Invalid Email Inbox", - "error-email-inbox-not-found": "Email Inbox not found", - "error-this-is-an-ee-feature": "This is an enterprise edition feature", - "error-invalid-file-height": "Invalid file height", - "error-invalid-file-type": "Invalid file type", - "error-invalid-file-width": "Invalid file width", - "error-invalid-from-address": "You informed an invalid FROM address.", - "error-invalid-inquiry": "Invalid inquiry", - "error-invalid-image-url": "Invalid image URL", - "error-invalid-integration": "Invalid integration", - "error-invalid-message": "Invalid message", - "error-invalid-method": "Invalid method", - "error-invalid-name": "Invalid name", - "error-invalid-password": "Invalid password", - "error-invalid-param": "Invalid param", - "error-invalid-params": "Invalid params", - "error-invalid-permission": "Invalid permission", - "error-invalid-port-number": "Invalid port number", - "error-invalid-priority": "Invalid priority", - "error-invalid-redirectUri": "Invalid redirectUri", - "error-invalid-role": "Invalid role", - "error-invalid-room": "Invalid room", - "error-invalid-room-name": "{{room_name}} is not a valid room name", - "error-invalid-room-type": "{{type}} is not a valid room type.", - "error-invalid-settings": "Invalid settings provided", - "error-invalid-subscription": "Invalid subscription", - "error-invalid-token": "Invalid token", - "error-invalid-triggerWords": "Invalid triggerWords", - "error-invalid-urls": "Invalid URLs", - "error-invalid-user": "Invalid user", - "error-invalid-username": "Invalid username", - "error-invalid-value": "Invalid value", - "error-invalid-webhook-response": "The webhook URL responded with a status other than 200", - "error-invalid-external-service-response": "The external service response is not valid", - "error-license-user-limit-reached": "The maximum number of users has been reached.", - "error-logged-user-not-in-room": "You are not in the room `%s`", - "error-max-departments-number-reached": "You reached the maximum number of departments allowed by your license. Contact sale@rocket.chat for a new license.", - "error-max-guests-number-reached": "You reached the maximum number of guest users allowed by your license. Contact sale@rocket.chat for a new license.", - "error-max-number-simultaneous-chats-reached": "The maximum number of simultaneous chats per agent has been reached.", - "error-max-rooms-per-guest-reached": "The maximum number of rooms per guest has been reached.", - "error-mac-limit-reached": "The maximum number of monthly active contacts for this workspace has been reached.", - "error-message-deleting-blocked": "Message deleting is blocked", - "error-message-editing-blocked": "Message editing is blocked", - "error-message-size-exceeded": "Message size exceeds Message_MaxAllowedSize", - "error-missing-unsubscribe-link": "You must provide the [unsubscribe] link.", - "error-no-tokens-for-this-user": "There are no tokens for this user", - "error-no-agents-online-in-department": "No agents online in the department", - "error-no-message-for-unread": "There are no messages to mark unread", - "error-not-allowed": "Not allowed", - "error-not-authorized": "Not authorized", - "error-office-hours-are-closed": "The office hours are closed.", - "Estimated_due_time": "Estimated due time", - "error-password-in-history": "Entered password has been previously used", - "error-password-policy-not-met": "Password does not meet the server's policy", - "Estimated_due_time_in_minutes": "Estimated due time (time in minutes)", - "error-password-policy-not-met-maxLength": "Password does not meet the server's policy of maximum length (password too long)", - "error-password-policy-not-met-minLength": "Password does not meet the server's policy of minimum length (password too short)", - "error-password-policy-not-met-oneLowercase": "Password does not meet the server's policy of at least one lowercase character", - "error-password-policy-not-met-oneNumber": "Password does not meet the server's policy of at least one numerical character", - "error-password-policy-not-met-oneSpecial": "Password does not meet the server's policy of at least one special character", - "Please_go_to_the_Administration_page_then_Livechat_Facebook": "Please go to the Administration page then Omnichannel > Facebook", - "error-password-policy-not-met-oneUppercase": "Password does not meet the server's policy of at least one uppercase character", - "error-password-policy-not-met-repeatingCharacters": "Password not not meet the server's policy of forbidden repeating characters (you have too many of the same characters next to each other)", - "error-password-same-as-current": "Entered password same as current password", - "error-personal-access-tokens-are-current-disabled": "Personal Access Tokens are currently disabled", - "error-pinning-message": "Message could not be pinned", - "error-push-disabled": "Push is disabled", - "error-remove-last-owner": "This is the last owner. Please set a new owner before removing this one.", - "error-returning-inquiry": "Error returning inquiry to the queue", - "error-role-in-use": "Cannot delete role because it's in use", - "error-role-name-required": "Role name is required", - "error-room-does-not-exist": "This room does not exist", - "error-role-already-present": "A role with this name already exists", - "error-room-already-closed": "Room is already closed", - "error-room-is-not-closed": "Room is not closed", - "error-room-onHold": "Error! Room is On Hold", - "error-room-is-already-on-hold": "Error! Room is already On Hold", - "error-room-not-on-hold": "Error! Room is not On Hold", - "error-selected-agent-room-agent-are-same": "The selected agent and the room agent are the same", - "error-starring-message": "Message could not be stared", - "error-tags-must-be-assigned-before-closing-chat": "Tag(s) must be assigned before closing the chat", - "error-the-field-is-required": "The field {{field}} is required.", - "error-this-is-not-a-livechat-room": "This is not a Omnichannel room", - "error-this-is-a-premium-feature": "Only available on premium plans", - "error-token-already-exists": "A token with this name already exists", - "error-token-does-not-exists": "Token does not exists", - "error-too-many-requests": "Error, too many requests. Please slow down. You must wait {{seconds}} seconds before trying again.", - "error-transcript-already-requested": "Transcript already requested", - "error-unpinning-message": "Message could not be unpinned", - "error-user-deactivated": "User is not active", - "error-user-has-no-roles": "User has no roles", - "error-user-is-not-activated": "User is not activated", - "error-user-is-not-agent": "User is not an Omnichannel Agent", - "error-user-is-offline": "User is offline", - "error-user-limit-exceeded": "The number of users you are trying to invite to #channel_name exceeds the limit set by the administrator", - "error-user-not-belong-to-department": "User does not belong to this department", - "error-user-not-in-room": "User is not in this room", - "error-user-registration-disabled": "User registration is disabled", - "error-user-registration-secret": "User registration is only allowed via Secret URL", - "error-validating-department-chat-closing-tags": "At least one closing tag is required when the department requires tag(s) on closing conversations.", - "error-no-permission-team-channel": "You don't have permission to add this channel to the team", - "error-no-owner-channel": "Only owners can add this channel to the team", - "error-unable-to-update-priority": "Unable to update priority", - "error-you-are-last-owner": "You are the last owner. Please set new owner before leaving the room.", - "error-saving-sla": "An error ocurred while saving the SLA", - "error-duplicated-sla": "An SLA with the same name or due time already exists", - "error-cannot-place-chat-on-hold": "You cannot place chat on-hold", - "error-contact-sent-last-message-so-cannot-place-on-hold": "You cannot place chat on-hold, when the Contact has sent the last message", - "error-unserved-rooms-cannot-be-placed-onhold": "Room cannot be placed on hold before being served", - "error-timeout": "The request has timed out", - "Workspace_exceeded_MAC_limit_disclaimer": "The workspace has exceeded the monthly limit of active contacts. Talk to your workspace admin to address this issue.", - "You_do_not_have_permission_to_do_this": "You do not have permission to do this", - "You_do_not_have_permission_to_execute_this_command": "You do not have enough permissions to execute command: `/{{command}}`", - "You_have_reached_the_limit_active_costumers_this_month": "You have reached the limit of active customers this month", - "Errors_and_Warnings": "Errors and Warnings", - "Esc_to": "Esc to", - "Estimated_wait_time": "Estimated wait time", - "Estimated_wait_time_in_minutes": "Estimated wait time (time in minutes)", - "Event_notifications": "Event notifications", - "Event_notifications_description": "By disabling this setting you’ll prevent the app from notifying you of upcoming events.", - "Event_Trigger": "Event Trigger", - "Event_Trigger_Description": "Select which type of event will trigger this Outgoing WebHook Integration", - "every_5_minutes": "Once every 5 minutes", - "every_10_seconds": "Once every 10 seconds", - "every_30_seconds": "Once every 30 seconds", - "every_10_minutes": "Once every 10 minutes", - "every_30_minutes": "Once every 30 minutes", - "every_day": "Once every day", - "every_hour": "Once every hour", - "every_minute": "Once every minute", - "every_second": "Once every second", - "every_six_hours": "Once every six hours", - "every_12_hours": "Once every 12 hours", - "every_24_hours": "Once every 24 hours", - "every_48_hours": "Once every 48 hours", - "Everyone_can_access_this_channel": "Everyone can access this channel", - "Exact": "Exact", - "Example_payload": "Example payload", - "Example_s": "Example: %s", - "Federation_Matrix_join_public_rooms_is_enterprise": "Join federated rooms is an Enterprise Edition feature", - "except_pinned": "(except those that are pinned)", - "Exclude_Botnames": "Exclude Bots", - "Exclude_Botnames_Description": "Do not propagate messages from bots whose name matches the regular expression above. If left empty, all messages from bots will be propagated.", - "Exclude_pinned": "Exclude pinned messages", - "Execute_Synchronization_Now": "Execute Synchronization Now", - "Exit_Full_Screen": "Exit Full Screen", - "Expand": "Expand", - "Experimental_Feature_Alert": "This is an experimental feature! Please be aware that it may change, break, or even be removed in the future without any notice.", - "Expired": "Expired", - "Expiration": "Expiration", - "Expiration_(Days)": "Expiration (Days)", - "Export_as_file": "Export as file", - "Export_Messages": "Export Messages", - "Export_My_Data": "Export My Data (JSON)", - "expression": "Expression", - "Extended": "Extended", - "Extensions": "Extensions", - "Extension_Number": "Extension Number", - "Extension_Status": "Extension Status", - "External": "External", - "External_Domains": "External Domains", - "External_Queue_Service_URL": "External Queue Service URL", - "External_Service": "External Service", - "External_service_url": "External service URL", - "External_service_action_hint": "Send a custom message using external service. For more details please check our docs.", - "External_service_test_hint": "Click on \"Send test\" before saving the trigger.", - "External_service_returned_valid_response": "External service returned a valid response", - "External_Users": "External Users", - "Extremely_likely": "Extremely likely", - "Facebook": "Facebook", - "Facebook_Page": "Facebook Page", - "Failed": "Failed", - "Failed_to_activate_invite_token": "Failed to activate invite token", - "Failed_to_add_monitor": "Failed to add monitor", - "Failed_To_Download_Files": "Failed to download files", - "Failed_to_generate_invite_link": "Failed to generate invite link", - "Failed_To_Load_Import_Data": "Failed to load import data", - "Failed_To_Load_Import_History": "Failed to load import history", - "Failed_To_Load_Import_Operation": "Failed to load import operation", - "Failed_To_Start_Import": "Failed to start import operation", - "Failed_To_upload_Import_File": "Failed to upload import file", - "Failed_to_validate_invite_token": "Failed to validate invite token", - "Failure": "Failure", - "False": "False", - "Fallback_forward_department": "Fallback department for forwarding", - "Fallback_forward_department_description": "Allows you to define a fallback department which will receive the chats forwarded to this one in case there's no online agents at the moment", - "Fallback_message": "Fallback message", - "Favorite": "Favorite", - "Favorite_Rooms": "Enable Favorite Rooms", - "Favorites": "Favorites", - "Feature_preview": "Feature preview", - "Feature_preview_page_description": "Welcome to the features preview page! Here, you can enable the latest cutting-edge features that are currently under development and not yet officially released.\n\nPlease note that these configurations are still in the testing phase and may not be stable or fully functional.", - "featured": "featured", - "Featured": "Featured", - "Feature_depends_on_selected_call_provider_to_be_enabled_from_administration_settings": "This feature depends on the above selected call provider to be enabled from the administration settings (Admin -> Video Conference).", - "Feature_Depends_on_Livechat_Visitor_navigation_as_a_message_to_be_enabled": "This feature depends on \"Send Visitor Navigation History as a Message\" to be enabled.", - "Feature_Limiting": "Feature Limiting", - "Features": "Features", - "Federation": "Federation", - "Federation_Description": "Federation allows an unlimited number of workspaces to communicate with each other.", - "Federation_Enable": "Enable Federation", - "Federation_Example_matrix_server": "Example: matrix.org", - "Federation_Matrix_enable_ephemeral_events": "Enable Matrix ephemeral events", - "Federation_Matrix_enable_ephemeral_events_Alert": "This requires a restart.
Enabling ephemeral events like user typing indicator can affect the performance of your Matrix Homeserver and Rocket.Chat server for federated communication", - "Federation_Federated_room_search": "Federated room search", - "Federation_Public_key": "Public Key", - "Federation_Search_federated_rooms": "Search federated rooms", - "Federation_slash_commands": "Federation commands", - "FEDERATION_Discovery_Method": "Discovery Method", - "FEDERATION_Discovery_Method_Description": "You can use the hub or a SRV and a TXT entry on your DNS records.", - "FEDERATION_Domain": "Domain", - "FEDERATION_Domain_Alert": "Do not change this after enabling the feature, we can't handle domain changes yet.", - "FEDERATION_Domain_Description": "Add the domain that this server should be linked to - for example: @rocket.chat.", - "FEDERATION_Enabled": "Attempt to integrate federation support.", - "FEDERATION_Enabled_Alert": "Federation Support is a work in progress. Use on a production system is not recommended at this time.", - "FEDERATION_Public_Key": "Public Key", - "FEDERATION_Public_Key_Description": "This is the key you need to share with your peers.", - "FEDERATION_Status": "Status", - "FEDERATION_Test_Setup": "Test setup", - "FEDERATION_Test_Setup_Error": "Could not find your server using your setup, please review your settings.", - "FEDERATION_Test_Setup_Success": "Your federation setup is working and other servers can find you!", - "Retry_Count": "Retry Count", - "Federation_Matrix": "Federation V2", - "Federation_Matrix_enabled": "Enabled", - "Federation_Matrix_Enabled_Alert": "More Information about Matrix Federation support can be found here (After any configuration, a restart is required to the changes take effect)", - "Federation_Matrix_Federated": "Federated", - "Federation_Matrix_Federated_Description": "By creating a federated room you'll not be able to enable encryption nor broadcast", - "Federation_Matrix_Federated_Description_disabled": "Federation is currently disabled on this workspace", - "Federation_Matrix_id": "AppService ID", - "Federation_Matrix_hs_token": "Homeserver Token", - "Federation_Matrix_as_token": "AppService Token", - "Federation_Matrix_homeserver_url": "Homeserver URL", - "Federation_Matrix_homeserver_url_alert": "We recommend a new, empty homeserver, to use with our federation", - "Federation_Matrix_homeserver_domain": "Homeserver Domain", - "Federation_Matrix_homeserver_domain_alert": "No user should connect to the homeserver with third party clients, only Rocket.Chat", - "Federation_Matrix_bridge_url": "Bridge URL", - "Federation_Matrix_bridge_localpart": "AppService User Localpart", - "Federation_Matrix_registration_file": "Registration File", - "Federation_Matrix_registration_file_Alert": "Important: Enabling ephemeral events will make the server receive all the typing status of all users from all servers you are connected to.
To enable it, please update your registration file (.yaml file you are using to registrate Rocket.Chat to your home server), adding the following:
de.sorunome.msc2409.push_ephemeral: true", - "Federation_Matrix_error_applying_room_roles": "Something went wrong while applying the room roles over the federated network", - "Federation_Matrix_giving_same_permission_warning": "You're giving this user the same privileges as yourself, you will not be able to undo this change. Do you want to proceed?", - "Federation_Matrix_losing_privileges": "Losing privileges", - "Federation_Matrix_losing_privileges_warning": "You won't be able to undo this action, as you're demoting yourself. If you're the last privileged user you won't be able to regain this privilege. Do you want to proceed still?", - "Federation_Matrix_not_allowed_to_change_moderator": "You are not allowed to change the moderator", - "Federation_Matrix_not_allowed_to_change_owner": "You are not allowed to change the owner", - "Federation_Matrix_join_public_rooms_is_premium": "Join federated rooms is a Premium feature", - "Federation_Matrix_max_size_of_public_rooms_users": "Maximum number of members when joining a public room in a remote server", - "Federation_Matrix_max_size_of_public_rooms_users_desc": "The user limit from a public room in a remote server that can still be joined. Rooms that exceed this setting will still be listed, but users won't be able to join them", - "Federation_Matrix_max_size_of_public_rooms_users_Alert": "Keep in mind, that the bigger the room you allow for users to join, the more time it will take to join that room, besides the amount of resource it will use.
Read more", - "Federation_Matrix_serve_well_known": "Serve Well Known", - "Federation_Matrix_serve_well_known_Description": "Serve /.well-known/matrix/server and /.well-known/matrix/client directly from within Rocket.Chat instead of reverse proxy for federation", - "Federation_Matrix_serve_well_known_Alert": "Keep this off if using DNS srv records for federation, or use a reverse proxy to return static JSON if federation traffic is heavy. Read mode.", - "Federation_Matrix_check_configuration": "Verify configuration", - "Federation_Matrix_configuration_status": "Configuration status", - "Field": "Field", - "Field_removed": "Field removed", - "Field_required": "Field required", - "File": "File", - "File_Downloads_Started": "File Downloads Started", - "File_exceeds_allowed_size_of_bytes": "File size exceeds upload limit of {{size}}.", - "File_name_Placeholder": "Search files...", - "File_not_allowed_direct_messages": "File sharing not allowed in direct messages.", - "File_Path": "File Path", - "file_pruned": "file pruned", - "File_removed_by_automatic_prune": "File removed by automatic prune", - "File_removed_by_prune": "File removed by prune", - "File_Type": "File Type", - "File_type_is_not_accepted": "File type is not accepted.", - "File_uploaded": "File uploaded", - "File_Upload_Disabled": "File upload disabled", - "File_uploaded_successfully": "File uploaded successfully", - "File_URL": "File URL", - "FileType": "File Type", - "files": "files", - "Files": "Files", - "Files_only": "Only remove the attached files, keep messages", - "FileSize_Bytes": "{{fileSize}} Bytes", - "FileSize_KB": "{{fileSize}} KB", - "FileSize_MB": "{{fileSize}} MB", - "FileUpload": "File Upload", - "FileUpload_Description": "Configure file upload and storage.", - "FileUpload_Cannot_preview_file": "Cannot preview file", - "FileUpload_Disabled": "File uploads are disabled.", - "FileUpload_Enable_json_web_token_for_files": "Enable Json Web Tokens protection to file uploads", - "FileUpload_Enable_json_web_token_for_files_description": "Appends a JWT to uploaded files urls", - "FileUpload_Restrict_to_room_members": "Restrict files to rooms' members", - "FileUpload_Restrict_to_room_members_Description": "Restrict the access of files uploaded on rooms to the rooms' members only", - "FileUpload_Restrict_to_users_who_can_access_room": "Restrict files to users who can access the room", - "FileUpload_Restrict_to_users_who_can_access_room_Description": "Restrict the access of files uploaded on rooms to the users who can access the room. This option is mutually exclusive with the \"Restrict files to rooms' members\" option as this one allows for users that are not part of some rooms but have special permissions that allow them to see it to access the files uploaded, for example, Omnichannel Managers & Monitors", - "FileUpload_Enabled": "File Uploads Enabled", - "FileUpload_Enabled_Direct": "File Uploads Enabled in Direct Messages ", - "FileUpload_Error": "File Upload Error", - "FileUpload_File_Empty": "File empty", - "FileUpload_FileSystemPath": "System Path", - "FileUpload_GoogleStorage_AccessId": "Google Storage Access Id", - "FileUpload_GoogleStorage_AccessId_Description": "The Access Id is generally in an email format, for example: \"`example-test@example.iam.gserviceaccount.com`\"", - "FileUpload_GoogleStorage_Bucket": "Google Storage Bucket Name", - "FileUpload_GoogleStorage_Bucket_Description": "The name of the bucket which the files should be uploaded to.", - "FileUpload_GoogleStorage_ProjectId": "Project ID", - "FileUpload_GoogleStorage_ProjectId_Description": "The project ID from the Google Developer's Console", - "FileUpload_GoogleStorage_Proxy_Avatars": "Proxy Avatars", - "FileUpload_GoogleStorage_Proxy_Avatars_Description": "Proxy avatar file transmissions through your server instead of direct access to the asset's URL", - "FileUpload_GoogleStorage_Proxy_Uploads": "Proxy Uploads", - "FileUpload_GoogleStorage_Proxy_Uploads_Description": "Proxy upload file transmissions through your server instead of direct access to the asset's URL", - "FileUpload_GoogleStorage_Secret": "Google Storage Secret", - "FileUpload_GoogleStorage_Proxy_UserDataFiles": "Proxy User Data Files", - "FileUpload_GoogleStorage_Proxy_UserDataFiles_Description": "Proxy user data file transmissions through your server instead of direct access to the asset's URL", - "FileUpload_GoogleStorage_Secret_Description": "Please follow [these instructions](https://github.com/CulturalMe/meteor-slingshot#google-cloud) and paste the result here.", - "FileUpload_json_web_token_secret_for_files": "File Upload Json Web Token Secret", - "FileUpload_json_web_token_secret_for_files_description": "File Upload Json Web Token Secret (Used to be able to access uploaded files without authentication)", - "FileUpload_MaxFileSize": "Maximum File Upload Size (in bytes)", - "FileUpload_MaxFileSizeDescription": "Set it to -1 to remove the file size limitation.", - "FileUpload_MediaType_NotAccepted__type__": "Media Type Not Accepted: {{type}}", - "FileUpload_MediaType_NotAccepted": "Media Types Not Accepted", - "FileUpload_MediaTypeBlackList": "Blocked Media Types", - "FileUpload_MediaTypeBlackListDescription": "Comma-separated list of media types. This setting has priority over the Accepted Media Types.", - "FileUpload_MediaTypeBlackList_Alert": "The default media type for unknown file extensions is \"application/octet-stream\", to work only with known file extensions you can add it to the \"Blocked Media Types\" list.", - "FileUpload_MediaTypeWhiteList": "Accepted Media Types", - "FileUpload_MediaTypeWhiteListDescription": "Comma-separated list of media types. Leave it blank for accepting all media types.", - "FileUpload_ProtectFiles": "Protect Uploaded Files", - "FileUpload_ProtectFilesDescription": "Only authenticated users will have access", - "FileUpload_ProtectFilesEnabled_JWTNotSet": "Uploaded files are protected, but JWT access is not setup, this is required for Twilio to send media messages. Setup in Settings -> FileUpload", - "FileUpload_RotateImages": "Rotate images on upload", - "FileUpload_RotateImages_Description": "Enabling this setting may cause image quality loss", - "FileUpload_S3_Acl": "Acl", - "FileUpload_S3_AWSAccessKeyId": "Access Key", - "FileUpload_S3_AWSAccessKeyId_desc": "Leave this empty if running on an ec2 instance with attached instance profile that has the right s3 permissions on the configured bucket.", - "FileUpload_S3_AWSSecretAccessKey": "Secret Key", - "FileUpload_S3_AWSSecretAccessKey_desc": "Leave this empty if running on an ec2 instance with attached instance profile that has the right s3 permissions on the configured bucket.", - "FileUpload_S3_Bucket": "Bucket name", - "FileUpload_S3_BucketURL": "Bucket URL", - "FileUpload_S3_CDN": "CDN Domain for Downloads", - "FileUpload_S3_ForcePathStyle": "Force Path Style", - "Google_Meet_Enterprise_only": "Google Meet (Enterprise only)", - "FileUpload_S3_Proxy_Avatars": "Proxy Avatars", - "FileUpload_S3_Proxy_Avatars_Description": "Proxy avatar file transmissions through your server instead of direct access to the asset's URL", - "FileUpload_S3_Proxy_Uploads": "Proxy Uploads", - "FileUpload_S3_Proxy_Uploads_Description": "Proxy upload file transmissions through your server instead of direct access to the asset's URL", - "FileUpload_S3_Proxy_UserDataFiles": "Proxy User Data Files", - "FileUpload_S3_Proxy_UserDataFiles_Description": "Proxy user data file transmissions through your server instead of direct access to the asset's URL", - "Hold_Call_EE_only": "Hold Call (Enterprise Edition only)", - "FileUpload_S3_Region": "Region", - "FileUpload_S3_SignatureVersion": "Signature Version", - "FileUpload_S3_URLExpiryTimeSpan": "URLs Expiration Timespan", - "FileUpload_S3_URLExpiryTimeSpan_Description": "Time after which Amazon S3 generated URLs will no longer be valid (in seconds). If set to less than 5 seconds, this field will be ignored.", - "FileUpload_Storage_Type": "Storage Type", - "FileUpload_Webdav_Password": "WebDAV Password", - "FileUpload_Webdav_Proxy_Avatars": "Proxy Avatars", - "FileUpload_Webdav_Proxy_Avatars_Description": "Proxy avatar file transmissions through your server instead of direct access to the asset's URL", - "FileUpload_Webdav_Proxy_Uploads": "Proxy Uploads", - "FileUpload_Webdav_Proxy_Uploads_Description": "Proxy upload file transmissions through your server instead of direct access to the asset's URL", - "FileUpload_Webdav_Proxy_UserDataFiles": "Proxy User Data Files", - "FileUpload_Webdav_Proxy_UserDataFiles_Description": "Proxy user data file transmissions through your server instead of direct access to the asset's URL", - "FileUpload_Webdav_Server_URL": "WebDAV Server Access URL", - "FileUpload_Webdav_Upload_Folder_Path": "Upload Folder Path", - "FileUpload_Webdav_Upload_Folder_Path_Description": "WebDAV folder path which the files should be uploaded to", - "FileUpload_Webdav_Username": "WebDAV Username", - "Filter": "Filter", - "Filter_by_category": "Filter by Category", - "Filter_by_Custom_Fields": "Filter by Custom Fields", - "Filter_By_Price": "Filter by price", - "Filter_by_role": "Filter by role", - "Filter_By_Status": "Filter by status", - "Filters": "Filters", - "Filters_applied": "Filters applied", - "Financial_Services": "Financial Services", - "Finish": "Finish", - "Finish_Registration": "Finish Registration", - "First_Channel_After_Login": "First Channel After Login", - "First_response_time": "First Response Time", - "Flags": "Flags", - "Follow_message": "Follow message", - "Follow_social_profiles": "Follow our social profiles, fork us on github and share your thoughts about the rocket.chat app on our trello board.", - "Following": "Following", - "Fonts": "Fonts", - "Food_and_Drink": "Food & Drink", - "Footer": "Footer", - "Footer_Direct_Reply": "Footer When Direct Reply is Enabled", - "For_more_details_please_check_our_docs": "For more details please check our docs.", - "For_your_security_you_must_enter_your_current_password_to_continue": "For your security, you must enter your current password to continue", - "Force_Disable_OpLog_For_Cache": "Force Disable OpLog for Cache", - "Force_Disable_OpLog_For_Cache_Description": "Will not use OpLog to sync cache even when it's available", - "Force_Screen_Lock": "Force screen lock", - "Force_Screen_Lock_After": "Force screen lock after", - "Force_Screen_Lock_After_description": "The time to request password again after the finish of the latest session, in seconds.", - "Force_Screen_Lock_description": "When enabled, you'll force your users to use a PIN/BIOMETRY/FACEID to unlock the app.", - "Force_SSL": "Force SSL", - "Force_SSL_Description": "*Caution!* _Force SSL_ should never be used with reverse proxy. If you have a reverse proxy, you should do the redirect THERE. This option exists for deployments like Heroku, that does not allow the redirect configuration at the reverse proxy.", - "Force_visitor_to_accept_data_processing_consent": "Force visitor to accept data processing consent", - "Force_visitor_to_accept_data_processing_consent_description": "Visitors are not allowed to start chatting without consent.", - "Force_visitor_to_accept_data_processing_consent_enabled_alert": "Agreement with data processing must be based on a transparent understanding of the reason for processing. Because of this, you must fill out the setting below which will be displayed to users in order to provide the reasons for collecting and processing your personal information.", - "force-delete-message": "Force Delete Message", - "force-delete-message_description": "Permission to delete a message bypassing all restrictions", - "Font_size": "Font size", - "Forgot_password": "Forgot your password?", - "Forgot_Password_Description": "You may use the following placeholders: \n - `[Forgot_Password_Url]` for the password recovery URL. \n - `[name]`, `[fname]`, `[lname]` for the user's full name, first name or last name, respectively. \n - `[email]` for the user's email. \n - `[Site_Name]` and `[Site_URL]` for the Application Name and URL respectively.", - "Forgot_Password_Email": "Click here to reset your password.", - "Forgot_Password_Email_Subject": "[Site_Name] - Password Recovery", - "Forgot_password_section": "Forgot password", - "Hold_EE_only": "Hold (Enterprise Edition only)", - "Format": "Format", - "Forward": "Forward", - "Forward_chat": "Forward chat", - "Forward_message": "Forward message", - "Forward_to_department": "Forward to department", - "Forward_to_user": "Forward to user", - "Forwarding": "Forwarding", - "Free": "Free", - "Free_Extension_Numbers": "Free Extension Numbers", - "Free_Apps": "Free Apps", - "Frequently_Used": "Frequently Used", - "Friday": "Friday", - "From": "From", - "From_Email": "From Email", - "From_email_warning": "Warning: The field From is subject to your mail server settings.", - "Full_Name": "Full Name", - "Full_Screen": "Full Screen", - "Gaming": "Gaming", - "General": "General", - "General_Description": "Configure general workspace settings.", - "General_Settings": "General Settings", - "Generate_new_key": "Generate a new key", - "Generate_New_Link": "Generate New Link", - "Generating_key": "Generating key", - "Copy_link": "Copy link", - "get-password-policy-forbidRepeatingCharacters": "The password should not contain repeating characters", - "get-password-policy-forbidRepeatingCharactersCount": "The password should not contain more than {{forbidRepeatingCharactersCount}} repeating characters", - "get-password-policy-maxLength": "The password should be maximum {{maxLength}} characters long", - "get-password-policy-minLength": "The password should be minimum {{minLength}} characters long", - "get-password-policy-mustContainAtLeastOneLowercase": "The password should contain at least one lowercase letter", - "get-password-policy-mustContainAtLeastOneNumber": "The password should contain at least one number", - "get-password-policy-mustContainAtLeastOneSpecialCharacter": "The password should contain at least one special character", - "get-password-policy-mustContainAtLeastOneUppercase": "The password should contain at least one uppercase letter", - "get-password-policy-minLength-label": "At least {{limit}} characters", - "get-password-policy-maxLength-label": "At most {{limit}} characters", - "get-password-policy-forbidRepeatingCharactersCount-label": "Max. {{limit}} repeating characters", - "get-password-policy-mustContainAtLeastOneLowercase-label": "At least one lowercase letter", - "get-password-policy-mustContainAtLeastOneUppercase-label": "At least one uppercase letter", - "get-password-policy-mustContainAtLeastOneNumber-label": "At least one number", - "get-password-policy-mustContainAtLeastOneSpecialCharacter-label": "At least one symbol", - "get-server-info": "Get Server Info", - "get-server-info_description": "Permission to get server info", - "github_no_public_email": "You don't have any email as public email in your GitHub account", - "github_HEAD": "HEAD", - "Give_a_unique_name_for_the_custom_oauth": "Give a unique name for the custom OAuth", - "strike": "strike", - "Give_the_application_a_name_This_will_be_seen_by_your_users": "Give the application a name. This will be seen by your users.", - "Global": "Global", - "Global Policy": "Global Policy", - "Global_purge_override_warning": "A global retention policy is in place. If you leave \"Override global retention policy\" off, you can only apply a policy that is stricter than the global policy.", - "Global_Search": "Global search", - "Glossary_of_simplified_terms": "Glossary of simplified terms", - "Go_to_your_workspace": "Go to your workspace", - "Go_to_accessibility_and_appearance": "Go to accessibility and appearance", - "Google_Meet_Premium_only": "Google Meet (Premium only)", - "Google_Play": "Google Play", - "Hold_Call": "Hold Call", - "Hold_Call_Premium_only": "Hold Call (Premium plans only)", - "GoogleCloudStorage": "Google Cloud Storage", - "GoogleNaturalLanguage_ServiceAccount_Description": "Service account key JSON file. More information can be found [here](https://cloud.google.com/natural-language/docs/common/auth#set_up_a_service_account)", - "GoogleTagManager_id": "Google Tag Manager Id", - "Got_it": "Got it", - "Government": "Government", - "Grandfathered_app": "Grandfathered app - counts towards app limit but limit is not applied to this app", - "Graphql_CORS": "GraphQL CORS", - "Graphql_Enabled": "GraphQL Enabled", - "Graphql_Subscription_Port": "GraphQL Subscription Port", - "Grid_view": "Grid View", - "Snippet_Messages": "Snippet Messages", - "Group": "Group", - "Group_by": "Group by", - "Group_by_Type": "Group by Type", - "snippet-message": "Snippet Message", - "snippet-message_description": "Permission to create snippet message", - "Group_discussions": "Group discussions", - "Group_favorites": "Group favorites", - "Group_mentions_disabled_x_members": "Group mentions `@all` and `@here` have been disabled for rooms with more than {{total}} members.", - "Group_mentions_only": "Group mentions only", - "Grouping": "Grouping", - "Guest": "Guest", - "Hash": "Hash", - "Header": "Header", - "Header_and_Footer": "Header and Footer", - "Pharmaceutical": "Pharmaceutical", - "Healthcare": "Healthcare", - "Helpers": "Helpers", - "Here_is_your_authentication_code": "Here is your authentication code:", - "Hex_Color_Preview": "Hex Color Preview", - "Hi": "Hi", - "Hi_username": "Hi [name]", - "Hidden": "Hidden", - "Hide": "Hide", - "Hide_additional_fields": "Hide additional fields", - "Hide_counter": "Hide counter", - "Hide_flextab": "Hide Contextual Bar by clicking outside of it", - "Hide_Group_Warning": "Are you sure you want to hide the group \"%s\"?", - "Hide_Livechat_Warning": "Are you sure you want to hide the chat with \"%s\"?", - "Hide_On_Workspace": "Hide on workspace", - "Hide_Private_Warning": "Are you sure you want to hide the discussion with \"%s\"?", - "Hide_roles": "Hide Roles", - "Hide_room": "Hide", - "Hide_Room_Warning": "Are you sure you want to hide the channel \"%s\"?", - "Hide_System_Messages": "Hide system messages", - "Hide_Unread_Room_Status": "Hide Unread Room Status", - "Hide_usernames": "Hide Usernames", - "Hide_video": "Hide video", - "High": "High", - "Highest": "Highest", - "Highlights": "Highlights", - "Highlights_How_To": "To be notified when someone mentions a word or phrase, add it here. You can separate words or phrases with commas. Highlight Words are not case sensitive.", - "Highlights_List": "Highlight words", - "HipChat (tar.gz)": "HipChat (tar.gz)", - "History": "History", - "Hold_Time": "Hold Time", - "Hold": "Hold", - "Hold_Premium_only": "Hold (Premium plans only)", - "Home": "Home", - "Homepage": "Homepage", - "Homepage_Custom_Content_Default_Message": "Admins may insert content html to be rendered in this white space.", - "Host": "Host", - "Hospitality_Businness": "Hospitality Business", - "hours": "hours", - "Hours": "Hours", - "How_and_why_we_collect_usage_data": "How and why usage data is collected", - "How_friendly_was_the_chat_agent": "How friendly was the chat agent?", - "How_knowledgeable_was_the_chat_agent": "How knowledgeable was the chat agent?", - "How_long_to_wait_after_agent_goes_offline": "How Long to Wait After Agent Goes Offline", - "How_long_to_wait_to_consider_visitor_abandonment": "How Long to Wait to Consider Visitor Abandonment?", - "How_long_to_wait_to_consider_visitor_abandonment_in_seconds": "How Long to Wait to Consider Visitor Abandonment?", - "How_responsive_was_the_chat_agent": "How responsive was the chat agent?", - "How_satisfied_were_you_with_this_chat": "How satisfied were you with this chat?", - "How_to_handle_open_sessions_when_agent_goes_offline": "How to Handle Open Sessions When Agent Goes Offline", - "Http_timeout": "HTTP timeout (in milliseconds)", - "Http_timeout_value": "5000", - "HTML": "HTML", - "Icon": "Icon", - "I_Saved_My_Password": "I saved my password", - "Idle_Time_Limit": "Idle Time Limit", - "Idle_Time_Limit_Description": "Period of time until status changes to away. Value needs to be in seconds.", - "if_they_are_from": "(if they are from %s)", - "If_this_email_is_registered": "If this email is registered, we'll send instructions on how to reset your password. If you do not receive an email shortly, please come back and try again.", - "If_you_didnt_ask_for_reset_ignore_this_email": "If you didn't ask for your password reset, you can ignore this email.", - "If_you_didnt_try_to_login_in_your_account_please_ignore_this_email": "If you didn't try to login in your account please ignore this email.", - "Iframe_Integration": "Iframe Integration", - "Iframe_Integration_receive_enable": "Enable Receive", - "Iframe_Integration_receive_enable_Description": "Allow parent window to send commands to Rocket.Chat.", - "Iframe_Integration_receive_origin": "Receive Origins", - "Iframe_Integration_receive_origin_Description": "Origins with protocol prefix, separated by commas, which are allowed to receive commands e.g. `https://localhost, http://localhost`, or * to allow receiving from anywhere.", - "Iframe_Integration_send_enable": "Enable Send", - "Iframe_Integration_send_enable_Description": "Send events to parent window", - "Iframe_Integration_send_target_origin": "Send Target Origin", - "Iframe_Integration_send_target_origin_Description": "Origin with protocol prefix, which commands are sent to e.g. `https://localhost`, or * to allow sending to anywhere.", - "Iframe_Restrict_Access": "Restrict access inside any Iframe", - "Iframe_Restrict_Access_Description": "This setting enable/disable restrictions to load the RC inside any iframe", - "Iframe_X_Frame_Options": "Options to X-Frame-Options", - "Iframe_X_Frame_Options_Description": "Options to X-Frame-Options. [You can see all the options here.](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options#Syntax)", - "Ignore": "Ignore", - "Ignored": "Ignored", - "Ignore_Two_Factor_Authentication": "Ignore Two Factor Authentication", - "Images": "Images", - "IMAP_intercepter_already_running": "IMAP intercepter already running", - "IMAP_intercepter_Not_running": "IMAP intercepter Not running", - "Impersonate_next_agent_from_queue": "Impersonate next agent from queue", - "Impersonate_user": "Impersonate User", - "Impersonate_user_description": "When enabled, integration posts as the user that triggered integration", - "Import": "Import", - "Import_New_File": "Import New File", - "Import_Operation_Failed": "Import operation failed", - "Import_requested_successfully": "Import Requested Successfully", - "Import_Type": "Import Type", - "Importer_Archived": "Archived", - "Importer_CSV_Information": "The CSV importer requires a specific format, please read the documentation for how to structure your zip file:", - "Importer_done": "Importing complete!", - "Importer_ExternalUrl_Description": "You can also use an URL for a publicly accessible file:", - "Importer_finishing": "Finishing up the import.", - "Importer_From_Description": "Imports {{from}} data into Rocket.Chat.", - "Importer_From_Description_CSV": "Imports CSV data into Rocket.Chat. The uploaded file must be a ZIP file.", - "Importer_HipChatEnterprise_BetaWarning": "Please be aware that this import is still a work in progress, please report any errors which occur in GitHub:", - "Importer_HipChatEnterprise_Information": "The file uploaded must be a decrypted tar.gz, please read the documentation for further information:", - "Importer_import_cancelled": "Import cancelled.", - "Importer_import_failed": "An error occurred while running the import.", - "Importer_importing_channels": "Importing the channels.", - "Importer_importing_files": "Importing the files.", - "Importer_importing_messages": "Importing the messages.", - "Importer_importing_started": "Starting the import.", - "Importer_importing_users": "Importing the users.", - "Importer_not_in_progress": "The importer is currently not running.", - "Importer_not_setup": "The importer is not setup correctly, as it didn't return any data.", - "Importer_Prepare_Restart_Import": "Restart Import", - "Importer_Prepare_Start_Import": "Start Importing", - "Importer_Prepare_Uncheck_Archived_Channels": "Uncheck Archived Channels", - "Importer_Prepare_Uncheck_Deleted_Users": "Uncheck Deleted Users", - "Importer_progress_error": "Failed to get the progress for the import.", - "Importer_setup_error": "An error occurred while setting up the importer.", - "Importer_Slack_Users_CSV_Information": "The file uploaded must be Slack's Users export file, which is a CSV file. See here for more information:", - "Importer_Source_File": "Source File Selection", - "importer_status_done": "Completed successfully", - "importer_status_downloading_file": "Downloading file", - "importer_status_file_loaded": "File loaded", - "importer_status_finishing": "Almost done", - "importer_status_import_cancelled": "Cancelled", - "importer_status_import_failed": "Error", - "importer_status_importing_channels": "Importing channels", - "importer_status_importing_files": "Importing files", - "importer_status_importing_messages": "Importing messages", - "importer_status_importing_started": "Importing data", - "importer_status_importing_users": "Importing users", - "importer_status_new": "Not started", - "importer_status_preparing_channels": "Reading channels file", - "importer_status_preparing_messages": "Reading message files", - "importer_status_preparing_started": "Reading files", - "importer_status_preparing_users": "Reading users file", - "importer_status_uploading": "Uploading file", - "importer_status_user_selection": "Ready to select what to import", - "Importer_Upload_FileSize_Message": "Your server settings allow the upload of files of any size up to {{maxFileSize}}.", - "Importer_Upload_Unlimited_FileSize": "Your server settings allow the upload of files of any size.", - "Importing_channels": "Importing channels", - "Importing_Data": "Importing Data", - "Importing_messages": "Importing messages", - "Importing_users": "Importing users", - "Inactivity_Time": "Inactivity Time", - "In_progress": "In progress", - "inbound-voip-calls": "Inbound Voip Calls", - "inbound-voip-calls_description": "Permission to inbound voip calls", - "Inbox_Info": "Inbox Info", - "Include_Offline_Agents": "Include offline agents", - "Inclusive": "Inclusive", - "Incoming": "Incoming", - "Incoming_call_from": "Incoming call from", - "Incoming_Livechats": "Queued chats", - "Incoming_WebHook": "Incoming WebHook", - "Industry": "Industry", - "Info": "Info", - "Information_to_keep_top_of_mind": "Information to keep top-of-mind", - "initials_avatar": "Initials Avatar", - "Inline_code": "Inline code", - "Install": "Install", - "Install_anyway": "Install anyway", - "Install_Extension": "Install Extension", - "Install_FxOs": "Install Rocket.Chat on your Firefox", - "Install_FxOs_done": "Great! You can now use Rocket.Chat via the icon on your homescreen. Have fun with Rocket.Chat!", - "Install_FxOs_error": "Sorry, that did not work as intended! The following error appeared:", - "Install_FxOs_follow_instructions": "Please confirm the app installation on your device (press \"Install\" when prompted).", - "Installing": "Installing", - "Install_package": "Install package", - "Installation": "Installation", - "Installed": "Installed", - "Installed_at": "Installed at", - "Instance": "Instance", - "Instances": "Instances", - "Instances_health": "Instances Health", - "Instance_Record": "Instance Record", - "Instructions": "Instructions", - "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Instructions to your visitor fill the form to send a message", - "Insert_Contact_Name": "Insert the Contact Name", - "Insert_Placeholder": "Insert Placeholder", - "Install_rocket_chat_on_your_preferred_desktop_platform": "Install Rocket.Chat on your preferred desktop platform.", - "Insurance": "Insurance", - "Integration_added": "Integration has been added", - "Integration_Advanced_Settings": "Advanced Settings", - "Integration_Delete_Warning": "Deleting an Integrations cannot be undone.", - "Integration_disabled": "Integration disabled", - "Integration_History_Cleared": "Integration History Successfully Cleared", - "Integration_Incoming_WebHook": "Incoming WebHook Integration", - "Integration_New": "New Integration", - "integration-scripts-disabled": "Integration Scripts are Disabled", - "integration-scripts-isolated-vm-disabled": "The \"Secure Sandbox\" may not be used on new or modified scripts.", - "integration-scripts-vm2-disabled": "The \"Compatible Sandbox\" may not be used on new or modified scripts.", - "Integration_Outgoing_WebHook": "Outgoing WebHook Integration", - "Integration_Outgoing_WebHook_History": "Outgoing WebHook Integration History", - "Integration_Outgoing_WebHook_History_Data_Passed_To_Trigger": "Data Passed to Integration", - "Integration_Outgoing_WebHook_History_Data_Passed_To_URL": "Data Passed to URL", - "Integration_Outgoing_WebHook_History_Error_Stacktrace": "Error Stacktrace", - "Integration_Outgoing_WebHook_History_Http_Response": "HTTP Response", - "Integration_Outgoing_WebHook_History_Http_Response_Error": "HTTP Response Error", - "Integration_Outgoing_WebHook_History_Messages_Sent_From_Prepare_Script": "Messages Sent from Prepare Step", - "Integration_Outgoing_WebHook_History_Messages_Sent_From_Process_Script": "Messages Sent from Process Response Step", - "Integration_Outgoing_WebHook_History_Time_Ended_Or_Error": "Time it Ended or Error'd", - "Integration_Outgoing_WebHook_History_Time_Triggered": "Time Integration Triggered", - "Integration_Outgoing_WebHook_History_Trigger_Step": "Last Trigger Step", - "Integration_Outgoing_WebHook_No_History": "This outgoing webhook integration has yet to have any history recorded.", - "Integration_Retry_Count": "Retry Count", - "Integration_Retry_Count_Description": "How many times should the integration be tried if the call to the url fails?", - "Integration_Retry_Delay": "Retry Delay", - "Integration_Retry_Delay_Description": "Which delay algorithm should the retrying use? 10 ^ x or 2 ^ x or x * 2 ", - "Integration_Retry_Failed_Url_Calls": "Retry Failed Url Calls", - "Integration_Retry_Failed_Url_Calls_Description": "Should the integration try a reasonable amount of time if the call out to the url fails?", - "Integration_Run_When_Message_Is_Edited": "Run On Edits", - "Integration_Run_When_Message_Is_Edited_Description": "Should the integration run when the message is edited? Setting this to false will cause the integration to only run on **new** messages.", - "Integration_updated": "Integration has been updated.", - "Integration_Word_Trigger_Placement": "Word Placement Anywhere", - "Integration_Word_Trigger_Placement_Description": "Should the Word be Triggered when placed anywhere in the sentence other than the beginning?", - "Integrations": "Integrations", - "Integrations_for_all_channels": "Enter all_public_channels to listen on all public channels, all_private_groups to listen on all private groups, and all_direct_messages to listen to all direct messages.", - "Integrations_Outgoing_Type_FileUploaded": "File Uploaded", - "Integrations_Outgoing_Type_RoomArchived": "Room Archived", - "Integrations_Outgoing_Type_RoomCreated": "Room Created (public and private)", - "Integrations_Outgoing_Type_RoomJoined": "User Joined Room", - "Integrations_Outgoing_Type_RoomLeft": "User Left Room", - "Integrations_Outgoing_Type_SendMessage": "Message Sent", - "Integrations_Outgoing_Type_UserCreated": "User Created", - "Integrations_table": "Integrations table", - "InternalHubot": "Internal Hubot", - "InternalHubot_EnableForChannels": "Enable for Public Channels", - "InternalHubot_EnableForDirectMessages": "Enable for Direct Messages", - "InternalHubot_EnableForPrivateGroups": "Enable for Private Channels", - "InternalHubot_PathToLoadCustomScripts": "Folder to Load the Scripts", - "InternalHubot_reload": "Reload the scripts", - "InternalHubot_ScriptsToLoad": "Scripts to Load", - "InternalHubot_ScriptsToLoad_Description": "Please enter a comma separated list of scripts to load from your custom folder", - "InternalHubot_Username_Description": "This must be a valid username of a bot registered on your server.", - "Invalid Canned Response": "Invalid Canned Response", - "Invalid_confirm_pass": "The password confirmation does not match password", - "Invalid_Department": "Invalid Department", - "Invalid_email": "The email entered is invalid", - "Invalid_Export_File": "The file uploaded isn't a valid %s export file.", - "Invalid_field": "The field must not be empty", - "Invalid_Import_File_Type": "Invalid Import file type.", - "Invalid_name": "The name must not be empty", - "Invalid_notification_setting_s": "Invalid notification setting: %s", - "Invalid_OAuth_client": "Invalid OAuth client", - "Invalid_or_expired_invite_token": "Invalid or expired invite token", - "Invalid_pass": "The password must not be empty", - "Invalid_password": "Invalid password", - "Invalid_reason": "The reason to join must not be empty", - "Invalid_room_name": "%s is not a valid room name", - "Invalid_secret_URL_message": "The URL provided is invalid.", - "Invalid_setting_s": "Invalid setting: %s", - "Invalid_two_factor_code": "Invalid two factor code", - "Invalid_username": "The username entered is invalid", - "invisible": "invisible", - "Invisible": "Invisible", - "Invitation": "Invitation", - "Invitation_Email_Description": "You may use the following placeholders: \n - `[email]` for the recipient email. \n - `[Site_Name]` and `[Site_URL]` for the Application Name and URL respectively. ", - "Invitation_HTML": "Invitation HTML", - "Invitation_HTML_Default": "

You have been invited to [Site_Name]

Go to [Site_URL] and try the best open source chat solution available today!

", - "Invitation_Subject": "Invitation Subject", - "Invitation_Subject_Default": "You have been invited to [Site_Name]", - "Invite": "Invite", - "Invites": "Invites", - "Invite_and_add_members_to_this_workspace_to_start_communicating": "Invite and add members to this workspace to start communicating.", - "Invite_Link": "Invite Link", - "link": "link", - "Invite_link_generated": "Invite link has been generated", - "Invite_removed": "Invite removed successfully", - "Invite_user_to_join_channel": "Invite one user to join this channel", - "Invite_user_to_join_channel_all_from": "Invite all users from [#channel] to join this channel", - "Invite_user_to_join_channel_all_to": "Invite all users from this channel to join [#channel]", - "Invite_Users": "Invite Members", - "IP": "IP", - "IP_Address": "IP Address", - "IRC_Channel_Join": "Output of the JOIN command.", - "IRC_Channel_Leave": "Output of the PART command.", - "IRC_Channel_Users": "Output of the NAMES command.", - "IRC_Channel_Users_End": "End of output of the NAMES command.", - "IRC_Description": "Internet Relay Chat (IRC) is a text-based group communication tool. Users join uniquely named channels, or rooms, for open discussion. IRC also supports private messages between individual users and file sharing capabilities. This package integrates these layers of functionality with Rocket.Chat.", - "IRC_Enabled": "Attempt to integrate IRC support. Changing this value requires restarting Rocket.Chat.", - "IRC_Enabled_Alert": "IRC Support is a work in progress. Use on a production system is not recommended at this time.", - "IRC_Federation": "IRC Federation", - "IRC_Federation_Description": "Connect to other IRC servers.", - "IRC_Federation_Disabled": "IRC Federation is disabled.", - "IRC_Hostname": "The IRC host server to connect to.", - "IRC_Login_Fail": "Output upon a failed connection to the IRC server.", - "IRC_Login_Success": "Output upon a successful connection to the IRC server.", - "IRC_Message_Cache_Size": "The cache limit for outbound message handling.", - "IRC_Port": "The port to bind to on the IRC host server.", - "IRC_Private_Message": "Output of the PRIVMSG command.", - "IRC_Quit": "Output upon quitting an IRC session.", - "is_typing": "is typing", - "Issue_Links": "Issue tracker links", - "IssueLinks_Incompatible": "Warning: do not enable this and the 'Hex Color Preview' at the same time.", - "IssueLinks_LinkTemplate": "Template for issue links", - "IssueLinks_LinkTemplate_Description": "Template for issue links; %s will be replaced by the issue number.", - "It_Will_Hide_All_Other_Content_Blocks_In_The_Homepage": "It will hide all other content blocks in the homepage", - "It_Will_Show_All_Other_Content_Blocks_In_The_Homepage": "It will show all other content blocks in the homepage", - "It_works": "It works", - "It_Security": "It Security", - "Italic": "Italic", - "italics": "italics", - "Items_per_page:": "Items per page:", - "Jitsi_included_with_Community": "Jitsi, included with Community", - "Job_Title": "Job Title", - "Join": "Join", - "Join_with_password": "Join with password", - "Join_audio_call": "Join audio call", - "Join_call": "Join call", - "Join_Chat": "Join Chat", - "Join_conference": "Join conference", - "Join_default_channels": "Join default channels", - "Join_discussion": "Join discussion", - "Join_the_Community": "Join the Community", - "Join_the_given_channel": "Join the given channel", - "Join_rooms": "Join rooms", - "Join_video_call": "Join video call", - "Join_my_room_to_start_the_video_call": "Join my room to start the video call", - "join-without-join-code": "Join Without Join Code", - "join-without-join-code_description": "Permission to bypass the join code in channels with join code enabled", - "Joined": "Joined", - "joined": "joined", - "Joined_at": "Joined at", - "JSON": "JSON", - "Jump": "Jump", - "Jump_to_first_unread": "Jump to first unread", - "Jump_to_message": "Jump to message", - "Jump_to_recent_messages": "Jump to recent messages", - "Just_invited_people_can_access_this_channel": "Just invited people can access this channel.", - "kick-user-from-any-c-room": "Kick User from Any Public Channel", - "kick-user-from-any-c-room_description": "Permission to kick a user from any public channel", - "kick-user-from-any-p-room": "Kick User from Any Private Channel", - "kick-user-from-any-p-room_description": "Permission to kick a user from any private channel", - "Katex_Dollar_Syntax": "Allow Dollar Syntax", - "Katex_Dollar_Syntax_Description": "Allow using $$katex block$$ and $inline katex$ syntaxes", - "Katex_Enabled": "Katex Enabled", - "Katex_Enabled_Description": "Allow using [katex](http://khan.github.io/KaTeX/) for math typesetting in messages", - "Katex_Parenthesis_Syntax": "Allow Parenthesis Syntax", - "Katex_Parenthesis_Syntax_Description": "Allow using \\[katex block\\] and \\(inline katex\\) syntaxes", - "Keep_default_user_settings": "Keep the default settings", - "Keyboard_Shortcuts_Edit_Previous_Message": "Edit previous message", - "Keyboard_Shortcuts_Keys_1": "Command (or Ctrl) + p OR Command (or Ctrl) + k", - "Keyboard_Shortcuts_Keys_2": "Up Arrow", - "Keyboard_Shortcuts_Keys_3": "Command (or Alt) + Left Arrow", - "Keyboard_Shortcuts_Keys_4": "Command (or Alt) + Up Arrow", - "Keyboard_Shortcuts_Keys_5": "Command (or Alt) + Right Arrow", - "Keyboard_Shortcuts_Keys_6": "Command (or Alt) + Down Arrow", - "Keyboard_Shortcuts_Keys_7": "Shift + Enter", - "Keyboard_Shortcuts_Keys_8": "Shift (or Ctrl) + ESC", - "Keyboard_Shortcuts_Mark_all_as_read": "Mark all messages (in all channels) as read", - "Keyboard_Shortcuts_Move_To_Beginning_Of_Message": "Move to the beginning of the message", - "Keyboard_Shortcuts_Move_To_End_Of_Message": "Move to the end of the message", - "Keyboard_Shortcuts_New_Line_In_Message": "New line in message compose input", - "Keyboard_Shortcuts_Open_Channel_Slash_User_Search": "Open Channel / User search", - "Keyboard_Shortcuts_Title": "Keyboard Shortcuts", - "Knowledge_Base": "Knowledge Base", - "Label": "Label", - "Language": "Language", - "Language_setting_warning": "Server language setting does not affect user's client
Each user has their own preference for language, that will be kept if this setting is changed.", - "Language_Bulgarian": "Bulgarian", - "Language_Chinese": "Chinese", - "Language_Czech": "Czech", - "Language_Danish": "Danish", - "Language_Dutch": "Dutch", - "Language_English": "English", - "Language_Estonian": "Estonian", - "Language_Finnish": "Finnish", - "Language_French": "French", - "Language_German": "German", - "Language_Greek": "Greek", - "Language_Hungarian": "Hungarian", - "Language_Italian": "Italian", - "Language_Japanese": "Japanese", - "Language_Latvian": "Latvian", - "Language_Lithuanian": "Lithuanian", - "Language_Not_set": "No specific", - "Language_Polish": "Polish", - "Language_Portuguese": "Portuguese", - "Language_Romanian": "Romanian", - "Language_Russian": "Russian", - "Language_Slovak": "Slovak", - "Language_Slovenian": "Slovenian", - "Language_Spanish": "Spanish", - "Language_Swedish": "Swedish", - "Language_Version": "English Version", - "Last_7_days": "Last 7 Days", - "Last_15_days": "Last 15 Days", - "Last_30_days": "Last 30 Days", - "Last_90_days": "Last 90 Days", - "Last_6_months": "Last 6 months", - "Last_year": "Last year", - "Last_active": "Last active", - "Last_Call": "Last Call", - "Last_Chat": "Last Chat", - "Last_Heartbeat_Time": "Last Heartbeat Time", - "Last_login": "Last login", - "Last_Message": "Last Message", - "Last_Message_At": "Last Message At", - "Last_seen": "Last seen", - "Last_Status": "Last Status", - "Last_token_part": "Last token part", - "Last_Updated": "Last Updated", - "Launched_successfully": "Launched successfully", - "Layout": "Layout", - "Layout_Login_Hide_Logo": "Hide Logo", - "Layout_Login_Hide_Logo_Description": "Hide the logo on the login page.", - "Layout_Login_Hide_Title": "Hide Title", - "Layout_Login_Hide_Title_Description": "Hide the title on the login page.", - "Layout_Login_Hide_Powered_By": "Hide \"Powered by\"", - "Layout_Login_Hide_Powered_By_Description": "Hide the \"Powered by\" on the login page.", - "Layout_Login_Template": "Login Template", - "Layout_Login_Template_Description": "Customize the look of the login page.", - "Layout_Login_Template_Vertical": "Vertical", - "Layout_Login_Template_Horizontal": "Horizontal", - "Layout_Description": "Customize the look of your workspace.", - "Layout_Home_Body": "Content block", - "Layout_Home_Page_Content": "Layout / Home page content", - "Layout_Home_Page_Content_Title": "Home page content", - "Layout_Home_Title": "Home Title", - "Layout_Legal_Notice": "Legal Notice", - "Layout_Login_Terms": "Login Terms", - "Layout_Login_Terms_Content": "By proceeding you are agreeing to our Terms of Service, Privacy Policy and Legal Notice.", - "Layout_Privacy_Policy": "Privacy Policy", - "Layout_Show_Home_Button": "Show home page button on sidebar header", - "Layout_Custom_Content_Description": "Here goes your custom content. It may be placed inside a white block or may take the all space available in the homepage, if you’re on a Premium plan.", - "Layout_Home_Custom_Block_Visible": "Show custom content to homepage", - "Layout_Custom_Body_Only": "Show custom content only", - "Layout_Custom_Body_Only_Description": "It will hide all other content blocks in the homepage.", - "Layout_Sidenav_Footer": "Side Navigation Footer", - "Layout_Sidenav_Footer_Dark": "Side Navigation Footer - Dark Theme", - "Layout_Sidenav_Footer_description": "Footer size is 260 x 70px", - "Layout_Sidenav_Footer_Dark_description": "Footer size is 260 x 70px", - "Layout_Terms_of_Service": "Terms of Service", - "LDAP": "LDAP", - "LDAP_Description": "Lightweight Directory Access Protocol enables anyone to locate data about your server or company.", - "LDAP_Documentation": "LDAP Documentation", - "LDAP_Connection": "Connection", - "LDAP_Connection_Authentication": "Authentication", - "LDAP_Connection_Encryption": "Encryption", - "LDAP_Connection_successful": "LDAP Connection Successful", - "LDAP_Connection_Timeouts": "Timeouts", - "LDAP_UserSearch": "User Search", - "LDAP_UserSearch_Filter": "Search Filter", - "LDAP_UserSearch_GroupFilter": "Group Filter", - "LDAP_DataSync": "Data Sync", - "LDAP_DataSync_DataMap": "Mapping", - "LDAP_DataSync_Avatar": "Avatar", - "LDAP_DataSync_Advanced": "Advanced Sync", - "LDAP_DataSync_CustomFields": "Sync Custom Fields", - "LDAP_DataSync_Roles": "Sync Roles", - "LDAP_DataSync_Channels": "Sync Channels", - "LDAP_DataSync_Teams": "Sync Teams", - "LDAP_Enterprise": "Premium", - "LDAP_DataSync_BackgroundSync": "Background Sync", - "LDAP_Server_Type": "Server Type", - "LDAP_Server_Type_AD": "Active Directory", - "LDAP_Server_Type_Other": "Other", - "LDAP_Name_Field": "Name Field", - "LDAP_Email_Field": "Email Field", - "LDAP_Update_Data_On_Login": "Update User Data on Login", - "LDAP_Update_Data_On_OAuth_Login": "Update User Data on Login with OAuth services", - "LDAP_Advanced_Sync": "Advanced Sync", - "LDAP_Authentication": "Enable", - "LDAP_Authentication_Password": "Password", - "LDAP_Authentication_UserDN": "User DN", - "LDAP_Authentication_UserDN_Description": "The LDAP user that performs user lookups to authenticate other users when they sign in. \n This is typically a service account created specifically for third-party integrations. Use a fully qualified name, such as `cn=Administrator,cn=Users,dc=Example,dc=com`.", - "LDAP_Avatar_Field": "User Avatar Field", - "You_have_to_set_an_API_token_first_in_order_to_use_the_integration": "You have to set an API token first in order to use the integration.", - "LDAP_Avatar_Field_Description": " Which field will be used as *avatar* for users. Leave empty to use `thumbnailPhoto` first and `jpegPhoto` as fallback.", - "LDAP_Background_Sync": "Background Sync", - "LDAP_Background_Sync_Avatars": "Avatar Background Sync", - "LDAP_Background_Sync_Avatars_Description": "Enable a separate background process to sync user avatars.", - "LDAP_Background_Sync_Avatars_Interval": "Avatar Background Sync Interval", - "LDAP_Background_Sync_Disable_Missing_Users": "Automatically disable users that are no longer found on LDAP", - "LDAP_Background_Sync_Disable_Missing_Users_Description": "This option will deactivate users on Rocket.Chat when their data is not found on LDAP. Any rooms owned by those users will be automatically assigned to new owners, or removed if no other user has access to them.", - "LDAP_Background_Sync_Import_New_Users": "Background Sync Import New Users", - "LDAP_Background_Sync_Import_New_Users_Description": "Will import all users (based on your filter criteria) that exists in LDAP and does not exists in Rocket.Chat", - "LDAP_Background_Sync_Interval": "Background Sync Interval", - "LDAP_Background_Sync_Interval_Description": "The interval between synchronizations. Example `every 24 hours` or `on the first day of the week`, more examples at [Cron Text Parser](http://bunkat.github.io/later/parsers.html#text)", - "LDAP_Background_Sync_Keep_Existant_Users_Updated": "Background Sync Update Existing Users", - "LDAP_Background_Sync_Keep_Existant_Users_Updated_Description": "Will sync the avatar, fields, username, etc (based on your configuration) of all users already imported from LDAP on every **Sync Interval**", - "LDAP_Background_Sync_Merge_Existent_Users": "Background Sync Merge Existing Users", - "LDAP_Background_Sync_Merge_Existent_Users_Description": "Will merge all users (based on your filter criteria) that exist in LDAP and also exist in Rocket.Chat. To enable this, activate the 'Merge Existing Users' setting in the Data Sync tab.", - "LDAP_BaseDN": "Base DN", - "LDAP_BaseDN_Description": "The fully qualified Distinguished Name (DN) of an LDAP subtree you want to search for users and groups. You can add as many as you like; however, each group must be defined in the same domain base as the users that belong to it. Example: `ou=Users+ou=Projects,dc=Example,dc=com`. If you specify restricted user groups, only users that belong to those groups will be in scope. We recommend that you specify the top level of your LDAP directory tree as your domain base and use search filter to control access.", - "LDAP_CA_Cert": "CA Cert", - "LDAP_Connect_Timeout": "Connection Timeout (ms)", - "LDAP_DataSync_AutoLogout": "Auto Logout Deactivated Users", - "LDAP_Default_Domain": "Default Domain", - "LDAP_Default_Domain_Description": "If provided the Default Domain will be used to create an unique email for users where email was not imported from LDAP. The email will be mounted as `username@default_domain` or `unique_id@default_domain`. \n Example: `rocket.chat`", - "LDAP_Enable": "Enable", - "LDAP_Enable_Description": "Attempt to utilize LDAP for authentication.", - "LDAP_Enable_LDAP_Groups_To_RC_Teams": "Enable team mapping from LDAP to Rocket.Chat", - "LDAP_Encryption": "Encryption", - "LDAP_Encryption_Description": "The encryption method used to secure communications to the LDAP server. Examples include `plain` (no encryption), `SSL/LDAPS` (encrypted from the start), and `StartTLS` (upgrade to encrypted communication once connected).", - "LDAP_Find_User_After_Login": "Find user after login", - "LDAP_Find_User_After_Login_Description": "Will perform a search of the user's DN after bind to ensure the bind was successful preventing login with empty passwords when allowed by the AD configuration.", - "LDAP_Group_Filter_Enable": "Enable LDAP User Group Filter", - "LDAP_Group_Filter_Enable_Description": "Restrict access to users in a LDAP group \n Useful for allowing OpenLDAP servers without a *memberOf* filter to restrict access by groups", - "LDAP_Group_Filter_Group_Id_Attribute": "Group ID Attribute", - "LDAP_Group_Filter_Group_Id_Attribute_Description": "E.g. **OpenLDAP:** `cn`", - "LDAP_Group_Filter_Group_Member_Attribute": "Group Member Attribute", - "LDAP_Group_Filter_Group_Member_Attribute_Description": "E.g. **OpenLDAP:** `uniqueMember`", - "LDAP_Group_Filter_Group_Member_Format": "Group Member Format", - "LDAP_Group_Filter_Group_Member_Format_Description": "E.g. **OpenLDAP:** `uid=#{username},ou=users,o=Company,c=com`", - "LDAP_Group_Filter_Group_Name": "Group name", - "LDAP_Group_Filter_Group_Name_Description": "Group name to which it belong the user", - "LDAP_Group_Filter_ObjectClass": "Group ObjectClass", - "LDAP_Group_Filter_ObjectClass_Description": "The *objectclass* that identify the groups. \n E.g. **OpenLDAP:** `groupOfUniqueNames`", - "LDAP_Groups_To_Rocket_Chat_Teams": "Team mapping from LDAP to Rocket.Chat.", - "LDAP_Host": "Host", - "LDAP_Host_Description": "The LDAP host, e.g. `ldap.example.com` or `10.0.0.30`.", - "LDAP_Idle_Timeout": "Idle Timeout (ms)", - "LDAP_Idle_Timeout_Description": "How many milliseconds wait after the latest LDAP operation until close the connection. (Each operation will open a new connection)", - "LDAP_Import_Users_Description": "It True sync process will be import all LDAP users \n *Caution!* Specify search filter to not import excess users.", - "LDAP_Internal_Log_Level": "Internal Log Level", - "LDAP_Login_Fallback": "Login Fallback", - "LDAP_Login_Fallback_Description": "If the login on LDAP is not successful try to login in default/local account system. Helps when the LDAP is down for some reason.", - "LDAP_Merge_Existing_Users": "Merge Existing Users", - "LDAP_Merge_Existing_Users_Description": "*Caution!* When importing a user from LDAP and an user with same username already exists the LDAP info and password will be set into the existing user.", - "LDAP_Port": "Port", - "LDAP_Port_Description": "Port to access LDAP. eg: `389` or `636` for LDAPS", - "LDAP_Prevent_Username_Changes": "Prevent LDAP users from changing their Rocket.Chat username", - "LDAP_Query_To_Get_User_Teams": "LDAP query to get user groups", - "LDAP_Reconnect": "Reconnect", - "LDAP_Reconnect_Description": "Try to reconnect automatically when connection is interrupted by some reason while executing operations", - "LDAP_Reject_Unauthorized": "Reject Unauthorized", - "LDAP_Reject_Unauthorized_Description": "Disable this option to allow certificates that can not be verified. Usually Self Signed Certificates will require this option disabled to work", - "LDAP_Search_Page_Size": "Search Page Size", - "LDAP_Search_Page_Size_Description": "The maximum number of entries each result page will return to be processed", - "LDAP_Search_Size_Limit": "Search Size Limit", - "LDAP_Search_Size_Limit_Description": "The maximum number of entries to return. \n **Attention** This number should greater than **Search Page Size**", - "LDAP_Sync_Custom_Fields": "Sync Custom Fields", - "LDAP_CustomFieldMap": "Custom Fields Mapping", - "LDAP_Sync_AutoLogout_Enabled": "Enable Auto Logout", - "LDAP_Sync_AutoLogout_Interval": "Auto Logout Interval", - "LDAP_Sync_Now": "Sync Now", - "LDAP_Sync_Now_Description": "This will start a **Background Sync** operation now, without waiting for the next scheduled Sync. \nThis action is asynchronous, please see the logs for more information.", - "LDAP_Sync_User_Active_State": "Sync User Active State", - "LDAP_Sync_User_Active_State_Both": "Enable and Disable Users", - "LDAP_Sync_User_Active_State_Description": "Determine if users should be enabled or disabled on Rocket.Chat based on the LDAP status. The 'pwdAccountLockedTime' attribute will be used to determine if the user is disabled.", - "LDAP_Sync_User_Active_State_Disable": "Disable Users", - "LDAP_Sync_User_Active_State_Enable": "Enable Users", - "LDAP_Sync_User_Active_State_Nothing": "Do Nothing", - "LDAP_Sync_User_Avatar": "Sync User Avatar", - "LDAP_Sync_User_Data_Roles": "Sync LDAP Groups", - "LDAP_Sync_User_Data_Channels": "Auto Sync LDAP Groups to Channels", - "LDAP_Sync_User_Data_Channels_Admin": "Channel Admin", - "LDAP_Sync_User_Data_Channels_Admin_Description": "When channels are auto-created that do not exist during a sync, this user will automatically become the admin for the channel.", - "LDAP_Sync_User_Data_Channels_BaseDN": "LDAP Group BaseDN", - "LDAP_Sync_User_Data_Channels_Description": "Enable this feature to automatically add users to a channel based on their LDAP group. If you would like to also remove users from a channel, see the option below about auto removing users.", - "LDAP_Sync_User_Data_Channels_Enforce_AutoChannels": "Auto Remove Users from Channels", - "LDAP_Sync_User_Data_Channels_Enforce_AutoChannels_Description": "**Attention**: Enabling this will remove any users in a channel that do not have the corresponding LDAP group! Only enable this if you know what you're doing.", - "LDAP_Sync_User_Data_Channels_Filter": "User Group Filter", - "LDAP_Sync_User_Data_Channels_Filter_Description": "The LDAP search filter used to check if a user is in a group.", - "LDAP_Sync_User_Data_Channels_GroupMembershipValidationStrategy": "Group membership validation strategy", - "LDAP_Sync_User_Data_Channels_GroupMembershipValidationStrategy_Description": "Determine how users' memberships to LDAP groups should be validated. \n - **Apply filter for each group**: apply the LDAP user group filter for each group (key) defined in the LDAP group channel map. This is slower, but can be useful in case you need to use the `#{groupName}` replacement tag to define membership; \n - **Apply filter once to get all memberships**: apply the LDAP user group filter once for each user. A given user will be considered a member of all groups returned by the LDAP search. This is a **faster** option that can be applied in case the `#{groupName}` replacement tag is not used by the filter (e.g. when filtering by the `member` field in groups).", - "LDAP_Sync_User_Data_ChannelsMap": "LDAP Group Channel Map", - "LDAP_Sync_User_Data_ChannelsMap_Default": "// Enable Auto Sync LDAP Groups to Channels above", - "LDAP_Sync_User_Data_ChannelsMap_Description": "Map LDAP groups to Rocket.Chat channels. \n As an example, `{\"employee\":\"general\"}` will add any user in the LDAP group employee, to the general channel.", - "LDAP_Sync_User_Data_GroupMembershipValidationStrategy_EachGroup": "Apply filter for each group", - "LDAP_Sync_User_Data_GroupMembershipValidationStrategy_Once": "Apply filter once to get all memberships", - "LDAP_Sync_User_Data_Roles_AutoRemove": "Auto Remove User Roles", - "LDAP_Sync_User_Data_Roles_AutoRemove_Description": "**Attention**: Enabling this will automatically remove users from a role if they are not assigned in LDAP! This will only remove roles automatically that are set under the user data group map below.", - "LDAP_Sync_User_Data_Roles_BaseDN": "LDAP Group BaseDN", - "LDAP_Sync_User_Data_Roles_BaseDN_Description": "The LDAP BaseDN used to lookup users.", - "LDAP_Sync_User_Data_Roles_Filter": "User Group Filter", - "LDAP_Sync_User_Data_Roles_Filter_Description": "The LDAP search filter used to check if a user is in a group.", - "LDAP_Sync_User_Data_Roles_GroupMembershipValidationStrategy": "Group membership validation strategy", - "LDAP_Sync_User_Data_Roles_GroupMembershipValidationStrategy_Description": "Determine how users' memberships to LDAP groups should be validated. \n - **Apply filter for each group**: apply the LDAP user group filter for each group (key) defined in the LDAP group channel map. This is slower, but can be useful in case you need to use the `#{groupName}` replacement tag to define membership; \n - **Apply filter once to get all memberships**: apply the LDAP user group filter once for each user. A given user will be considered a member of all groups returned by the LDAP search. This is a **faster** option that can be applied in case the `#{groupName}` replacement tag is not used by the filter (e.g. when filtering by the `member` field in groups).", - "LDAP_Sync_User_Data_RolesMap": "User Data Group Map", - "LDAP_Sync_User_Data_RolesMap_Description": "Map LDAP groups to Rocket.Chat user roles \n As an example, `{\"rocket-admin\":\"admin\", \"tech-support\":\"support\", \"manager\":[\"leader\", \"moderator\"]}` will map the rocket-admin LDAP group to Rocket's \"admin\" role.", - "LDAP_Teams_BaseDN": "LDAP Teams BaseDN", - "LDAP_Teams_BaseDN_Description": "The LDAP BaseDN used to lookup user teams.", - "LDAP_Teams_Name_Field": "LDAP Team Name Attribute", - "LDAP_Teams_Name_Field_Description": "The LDAP attribute that Rocket.Chat should use to load the team's name. You can specify more than one possible attribute name if you separate them with a comma.", - "LDAP_Timeout": "Timeout (ms)", - "LDAP_Timeout_Description": "How many mileseconds wait for a search result before return an error", - "LDAP_Unique_Identifier_Field": "Unique Identifier Field", - "LDAP_Unique_Identifier_Field_Description": "Which field will be used to link the LDAP user and the Rocket.Chat user. You can inform multiple values separated by comma to try to get the value from LDAP record. \n Default value is `objectGUID,ibm-entryUUID,GUID,dominoUNID,nsuniqueId,uidNumber`", - "LDAP_User_Found": "LDAP User Found", - "LDAP_User_Search_AttributesToQuery": "Attributes to Query", - "LDAP_User_Search_AttributesToQuery_Description": "Specify which attributes should be returned on LDAP queries, separating them with commas. Defaults to everything. `*` represents all regular attributes and `+` represents all operational attributes. Make sure to include every attribute that is used by every Rocket.Chat sync option.", - "LDAP_User_Search_Field": "Search Field", - "LDAP_User_Search_Field_Description": "The LDAP attribute that identifies the LDAP user who attempts authentication. This field should be `sAMAccountName` for most Active Directory installations, but it may be `uid` for other LDAP solutions, such as OpenLDAP. You can use `mail` to identify users by email or whatever attribute you want. \n You can use multiple values separated by comma to allow users to login using multiple identifiers like username or email.", - "LDAP_User_Search_Filter": "Filter", - "LDAP_User_Search_Filter_Description": "If specified, only users that match this filter will be allowed to log in. If no filter is specified, all users within the scope of the specified domain base will be able to sign in. \n E.g. for Active Directory `memberOf=cn=ROCKET_CHAT,ou=General Groups`. \n E.g. for OpenLDAP (extensible match search) `ou:dn:=ROCKET_CHAT`.", - "LDAP_User_Search_Scope": "Scope", - "LDAP_Username_Field": "Username Field", - "LDAP_Username_Field_Description": "Which field will be used as *username* for new users. Leave empty to use the username informed on login page. \n You can use template tags too, like `#{givenName}.#{sn}`. \n Default value is `sAMAccountName`.", - "LDAP_Username_To_Search": "Username to search", - "LDAP_Validate_Teams_For_Each_Login": "Validate mapping for each login", - "LDAP_Validate_Teams_For_Each_Login_Description": "Determine if users' teams should be updated every time they login to Rocket.Chat. If this is turned off the team will be loaded only on their first login.", - "Lead_capture_email_regex": "Lead capture email regex", - "Lead_capture_phone_regex": "Lead capture phone regex", - "Learn_more": "Learn more", - "Learn_more_about_agents": "Learn more about agents", - "Learn_more_about_accessibility": "Learn more about our commitment with accessibility here:", - "Learn_more_about_business_hours": "Learn more about business hours", - "Learn_more_about_canned_responses": "Learn more about canned responses", - "Learn_more_about_contacts": "Learn more about contacts", - "Learn_more_about_current_chats": "Learn more about current chats", - "Learn_more_about_custom_fields": "Learn more about custom fields", - "Learn_more_about_conversations": "Learn more about conversations", - "Learn_more_about_departments": "Learn more about departments", - "Learn_more_about_E2EE": "Learn more about E2EE", - "Learn_more_about_managers": "Learn more about managers", - "Learn_more_about_monitors": "Learn more about monitors", - "Learn_more_about_SLA_policies": "Learn more about SLA policies", - "Learn_more_about_tags": "Learn more about tags", - "Learn_more_about_triggers": "Learn more about triggers", - "Learn_more_about_units": "Learn more about units", - "Learn_more_about_voice_channel": "Learn more about voice channel", - "Least_recent_updated": "Least recent updated", - "Learn_how_to_unlock_the_myriad_possibilities_of_rocket_chat": "Learn how to unlock the myriad possibilities of Rocket.Chat.", - "Leave": "Leave", - "Leave_a_comment": "Leave a comment", - "Leave_Group_Warning": "Are you sure you want to leave the group \"%s\"?", - "Leave_Livechat_Warning": "Are you sure you want to leave the omnichannel with \"%s\"?", - "Leave_Private_Warning": "Are you sure you want to leave the discussion with \"%s\"?", - "Leave_room": "Leave", - "Leave_Room_Warning": "Are you sure you want to leave the channel \"%s\"?", - "Leave_the_current_channel": "Leave the current channel", - "Leave_the_description_field_blank_if_you_dont_want_to_show_the_role": "Leave the description field blank if you don't want to show the role", - "leave-c": "Leave Channels", - "leave-c_description": "Permission to leave channels", - "leave-p": "Leave Private Groups", - "leave-p_description": "Permission to leave private groups", - "Lets_get_you_new_one_": "Let's get you a new one!", - "Let_them_know": "Let them know", - "Left": "Left", - "License": "License", - "Line": "Line", - "Link": "Link", - "Link_Preview": "Link Preview", - "List_of_Channels": "List of Channels", - "List_of_departments_for_forward": "List of departments allowed for forwarding (Optional)", - "List_of_departments_for_forward_description": "Allow to set a restricted list of departments that can receive chats from this department", - "List_of_departments_to_apply_this_business_hour": "List of departments to apply this business hour", - "List_of_Direct_Messages": "List of Direct Messages", - "List_view": "List View", - "Livechat": "Livechat", - "Livechat_AdditionalWidgetScripts": "Livechat Widget Additional Scripts", - "Livechat_AdditionalWidgetScripts_Description": "Use this setting to add additional JS scripts to the widget bundle. You can add a list of scripts by separating them by commas, for example: `https://yourUrl/customScript1.js,https://yourUrl/customScript2.js`", - "Livechat_WidgetLayoutClasses": "Livechat Widget Additional CSS", - "Livechat_WidgetLayoutClasses_Description": "Use this setting to add additional CSS to the widget bundle. You can add a list of CSS files by separating them by commas, for example: `https://yourUrl/customFile1.css,https://yourUrl/customFile2.css`", - "Livechat_abandoned_rooms_action": "How to handle Visitor Abandonment", - "Livechat_abandoned_rooms_closed_custom_message": "Custom message when room is automatically closed by visitor inactivity", - "Livechat_agents": "Omnichannel agents", - "Livechat_Agents": "Agents", - "Livechat_allow_manual_on_hold": "Allow agents to manually place chat On Hold", - "Livechat_allow_manual_on_hold_Description": "If enabled, the agent will get the option to place a chat On Hold", - "Livechat_allow_manual_on_hold_upon_agent_engagement_only": "Chats on hold only after agent engagement", - "Livechat_allow_manual_on_hold_upon_agent_engagement_only_Description": "Only allow chats to be put on hold if the agent is the one who sent the last message in the conversation.", - "Livechat_AllowedDomainsList": "Livechat Allowed Domains", - "Livechat_Appearance": "Livechat Appearance", - "Livechat_auto_close_on_hold_chats_custom_message": "Custom message for closed chats in On Hold queue", - "Livechat_auto_close_on_hold_chats_custom_message_Description": "Custom Message to be sent when a room in On-Hold queue gets automatically closed by the system", - "Livechat_auto_close_on_hold_chats_timeout": "How long to wait before closing a chat in On Hold Queue ?", - "Livechat_auto_close_on_hold_chats_timeout_Description": "Define how long the chat will remain in the On Hold queue until it's automatically closed by the system. Time in seconds", - "Livechat_auto_transfer_chat_timeout": "Timeout (in seconds) for automatic transfer of unanswered chats to another agent", - "Livechat_auto_transfer_chat_timeout_Description": "This event takes place only when the chat has just started. After the first transfering for inactivity, the room is no longer monitored.", - "Livechat_business_hour_type": "Business Hour Type (Single or Multiple)", - "Livechat_chat_transcript_sent": "Chat transcript sent: {{transcript}}", - "Livechat_close_chat": "Close chat", - "Livechat_custom_fields_options_placeholder": "Comma-separated list used to select a pre-configured value. Spaces between elements are not accepted.", - "Livechat_custom_fields_public_description": "Public custom fields will be displayed in external applications, such as Livechat, etc.", - "Livechat_Dashboard": "Omnichannel Dashboard", - "Livechat_DepartmentOfflineMessageToChannel": "Send this department's Livechat offline messages to a channel", - "Livechat_enable_message_character_limit": "Enable message character limit", - "Livechat_enabled": "Omnichannel enabled", - "Livechat_forward_open_chats": "Forward open chats", - "Livechat_forward_open_chats_timeout": "Timeout (in seconds) to forward chats", - "Livechat_guest_count": "Guest Counter", - "Livechat_Inquiry_Already_Taken": "Omnichannel inquiry already taken", - "Livechat_Installation": "Livechat Installation", - "Livechat_last_chatted_agent_routing": "Last-Chatted Agent Preferred", - "Livechat_last_chatted_agent_routing_Description": "The Last-Chatted Agent setting allocates chats to the agent who previously interacted with the same visitor if the agent is available when the chat starts.", - "Livechat_managers": "Omnichannel managers", - "Livechat_Managers": "Managers", - "Livechat_max_queue_wait_time_action": "How to handle queued chats when the maximum wait time is reached", - "Livechat_maximum_queue_wait_time": "Maximum waiting time in queue", - "Livechat_maximum_queue_wait_time_description": "Maximum time (in minutes) to keep chats on queue. -1 means unlimited", - "Livechat_message_character_limit": "Livechat message character limit", - "Livechat_monitors": "Livechat monitors", - "Livechat_Monitors": "Monitors", - "Livechat_offline": "Omnichannel offline", - "Livechat_offline_message_sent": "Livechat offline message sent", - "Livechat_OfflineMessageToChannel_enabled": "Send Livechat offline messages to a channel", - "Livechat_hide_system_messages": "Hide system messages", - "Livechat_widget_position_on_the_screen": "Livechat widget position on the screen", - "Livechat_background": "Livechat background", - "Livechat_background_description": "Define a background using hexadecimal (#F5455C), a color name (red) or an image using a URL (`url('https://example.com/image.png')`). This field follows CSS standards. [See documentation](https://developer.mozilla.org/en-US/docs/Web/CSS/background).", - "Omnichannel_chat_closed_due_to_inactivity": "The chat was automatically closed because we haven't received any reply from {{guest}} in {{timeout}} seconds", - "Omnichannel_actions": "Omnichannel actions", - "Omnichannel_on_hold_chat_resumed": "On Hold Chat Resumed: {{comment}}", - "Omnichannel_on_hold_chat_automatically": "The chat was automatically resumed from On Hold upon receiving a new message from {{guest}}", - "Omnichannel_on_hold_chat_resumed_manually": "The chat was manually resumed from On Hold by {{user}}", - "Omnichannel_On_Hold_due_to_inactivity": "The chat was automatically placed On Hold because we haven't received any reply from {{guest}} in {{timeout}} seconds", - "Omnichannel_On_Hold_manually": "The chat was manually placed On Hold by {{user}}", - "Omnichannel_onHold_Chat": "Place chat On-Hold", - "Omnichannel_quick_actions": "Omnichannel Quick Actions", - "Omnichannel_sorting_disclaimer": "Omnichannel conversations are sorted by {{sortingMechanism}}, edit a room to apply.", - "Livechat_online": "Omnichannel on-line", - "Omnichannel_placed_chat_on_hold": "Chat On Hold: {{comment}}", - "Omnichannel_hide_conversation_after_closing": "Hide conversation after closing", - "Omnichannel_hide_conversation_after_closing_description": "After closing the conversation you will be redirected to Home.", - "Livechat_Queue": "Omnichannel Queue", - "Livechat_registration_form": "Registration Form", - "Livechat_registration_form_message": "Registration Form Message", - "Livechat_room_count": "Omnichannel Room Count", - "Livechat_Routing_Method": "Omnichannel Routing Method", - "Livechat_status": "Livechat Status", - "Livechat_Take_Confirm": "Do you want to take this client?", - "Livechat_title": "Livechat Title", - "Livechat_title_color": "Livechat Title Background Color", - "Livechat_transcript_already_requested_warning": "The transcript of this chat has already been requested and will be sent as soon as the conversation ends.", - "Livechat_transcript_has_been_requested": "Export requested. It may take a few seconds.", - "Livechat_transcript_show_system_messages": "Include system messages in transcripts", - "Livechat_email_transcript_has_been_requested": "The transcript has been requested. It may take a few seconds.", - "Livechat_transcript_request_has_been_canceled": "The chat transcription request has been canceled.", - "Livechat_transcript_sent": "Omnichannel transcript sent", - "Livechat_transcript_send_always": "Always send conversation transcript to visitors via email", - "Livechat_transcript_send_always_Description": "Once finished, send conversation transcript via email to visitors automatically, regardless of agent's preferences.", - "Livechat_transcript_email_subject": "Custom email subject for transcript", - "Livechat_transcript_email_subject_Description": "Allows to customize the email subject for transcripts sent via email. It can be overriden by passing a `subject` property when closing a room. Leave it empty to use default subject.", - "Livechat_transfer_return_to_the_queue": "{{from}} returned the chat to the queue", - "Livechat_transfer_return_to_the_queue_with_a_comment": "{{from}} returned the chat to the queue with a comment: {{comment}}", - "Livechat_transfer_return_to_the_queue_auto_transfer_unanswered_chat": "{{from}} returned the chat to the queue since it was unanswered for {{duration}} seconds", - "Livechat_transfer_to_agent": "{{from}} transferred the chat to {{to}}", - "Livechat_transfer_to_agent_with_a_comment": "{{from}} transferred the chat to {{to}} with a comment: {{comment}}", - "Livechat_transfer_to_agent_auto_transfer_unanswered_chat": "{{from}} transferred the chat to {{to}} since it was unanswered for {{duration}} seconds", - "Livechat_transfer_to_department": "{{from}} transferred the chat to the department {{to}}", - "Livechat_transfer_to_department_with_a_comment": "{{from}} transferred the chat to the department {{to}} with a comment: {{comment}}", - "Livechat_transfer_failed_fallback": "The original department ( {{from}} ) doesn't have online agents. Chat succesfully transferred to {{to}}", - "Livechat_Triggers": "Livechat Triggers", - "Livechat_user_sent_chat_transcript_to_visitor": "{{agent}} sent the chat transcript to {{guest}}", - "Livechat_Users": "Omnichannel Users", - "Livechat_Calls": "Livechat Calls", - "Livechat_visitor_email_and_transcript_email_do_not_match": "Visitor's email and transcript's email do not match", - "Livechat_visitor_transcript_request": "{{guest}} requested the chat transcript", - "Assets_livechat_widget_logo": "Livechat widget logo (svg, png, jpg)", - "Livechat_hide_watermark": "Hide \"powered by Rocket.Chat\"", - "Livechat_hide_watermark_description": "Remove the Rocket.Chat logo from the widget", - "LiveStream & Broadcasting": "LiveStream & Broadcasting", - "LiveStream & Broadcasting_Description": "This integration between Rocket.Chat and YouTube Live allows channel owners to broadcast their camera feed live to livestream inside a channel.", - "Livestream": "Livestream", - "Livestream_close": "Close Livestream", - "Livestream_enable_audio_only": "Enable only audio mode", - "Livestream_enabled": "Livestream Enabled", - "Livestream_not_found": "Livestream not available", - "Livestream_unavailable_for_federation": "Livestram is unavailable for Federated rooms", - "Livestream_popout": "Open Livestream", - "Livestream_source_changed_succesfully": "Livestream source changed successfully", - "Livestream_switch_to_room": "Switch to current room's livestream", - "Livestream_url": "Livestream source url", - "Livestream_url_incorrect": "Livestream url is incorrect", - "Livestream_live_now": "Live now!", - "Load_Balancing": "Load Balancing", - "Load_more": "Load more", - "Load_Rotation": "Load Rotation", - "Loading": "Loading", - "Loading_more_from_history": "Loading more from history", - "marketplace_featured_section_community_featured": "Featured Community Apps", - "Loading_suggestion": "Loading suggestions", - "marketplace_featured_section_community_supported": "Community Supported Apps", - "Loading...": "Loading...", - "marketplace_featured_section_enterprise": "Featured Enterprise Apps", - "Local": "Local", - "marketplace_featured_section_featured": "Featured Apps", - "marketplace_featured_section_most_popular": "Most Popular Apps", - "Local_Domains": "Local Domains", - "marketplace_featured_section_new_arrivals": "New Arrivals", - "Local_Password": "Local Password", - "marketplace_featured_section_popular_this_month": "Apps Popular this Month", - "Local_Time": "Local Time", - "marketplace_featured_section_recommended": "Recommended Apps", - "Local_Timezone": "Local Timezone", - "marketplace_featured_section_social": "Social Apps", - "Local_Time_time": "Local Time: {{time}}", - "marketplace_featured_section_trending": "Trending Apps", - "Localization": "Localization", - "Location": "Location", - "marketplace_featured_section_omnichannel": "Omnichannel Apps", - "marketplace_featured_section_video_conferencing": "Video Conferencing Apps", - "Log_Exceptions_to_Channel": "Log Exceptions to Channel", - "Log_Exceptions_to_Channel_Description": "A channel that will receive all captured exceptions. Leave empty to ignore exceptions.", - "Log_File": "Show File and Line", - "Log_Level": "Log Level", - "Log_Package": "Show Package", - "Log_Trace_Methods": "Trace method calls", - "Log_Trace_Methods_Filter": "Trace method filter", - "Log_Trace_Methods_Filter_Description": "The text here will be evaluated as RegExp (`new RegExp('text')`). Keep it empty to show trace of every call.", - "Log_Trace_Subscriptions": "Trace subscription calls", - "Log_Trace_Subscriptions_Filter": "Trace subscription filter", - "Log_Trace_Subscriptions_Filter_Description": "The text here will be evaluated as RegExp (`new RegExp('text')`). Keep it empty to show trace of every call.", - "Log_View_Limit": "Log View Limit", - "Logged_Out_Banner_Text": "Your session was ended on this device, please log in again to continue.", - "Logged_out_of_other_clients_successfully": "Logged out of other clients successfully", - "Login": "Login", - "Log_in_to_sync": "Log in to sync", - "Login_Attempts": "Failed Login Attempts", - "Login_Detected": "Login detected", - "Logged_In_Via": "Logged in via", - "Login_Logs": "Login Logs", - "Login_Logs_ClientIp": "Show Client IP on failed login attempts logs", - "Login_Logs_Enabled": "Log (on console) failed login attempts", - "Login_Logs_ForwardedForIp": "Show Forwarded IP on failed login attempts logs", - "Login_Logs_UserAgent": "Show UserAgent on failed login attempts logs", - "Login_Logs_Username": "Show Username on failed login attempts logs", - "Login_with": "Login with %s", - "Logistics": "Logistics", - "Logout": "Logout", - "Logout_Others": "Logout From Other Logged In Locations", - "Logout_Device": "Log out device", - "Log_out_devices_remotely": "Log out devices remotely", - "logout-device-management": "Logout Device Management", - "logout-device-management_description": "Permission to logout other users from device management dashboard", - "logout-other-user": "Logout Other User", - "logout-other-user_description": "Permission to logout other users", - "Logs": "Logs", - "Logs_Description": "Configure how server logs are received.", - "Longest_chat_duration": "Longest Chat Duration", - "Longest_reaction_time": "Longest Reaction Time", - "Longest_response_time": "Longest Response Time", - "Looked_for": "Looked for", - "Low": "Low", - "Lowest": "Lowest", - "Mail_Message_Invalid_emails": "You have provided one or more invalid emails: %s", - "Mail_Message_Missing_subject": "You must provide an email subject.", - "Mail_Message_Missing_to": "You must select one or more users or provide one or more email addresses, separated by commas.", - "Mail_Message_No_messages_selected_select_all": "You haven't selected any messages", - "Mail_Messages": "Mail Messages", - "Mail_Messages_Instructions": "Choose which messages you want to send via email by clicking the messages", - "Mail_Messages_Subject": "Here's a selected portion of %s messages", - "mail-messages": "Mail Messages", - "mail-messages_description": "Permission to use the mail messages option", - "Mailer": "Mailer", - "Mailer_body_tags": "You must use [unsubscribe] for the unsubscription link.
You may use `[name]`, `[fname]`, `[lname]` for the user's full name, first name or last name, respectively.
You may use [email] for the user's email.", - "Mailing": "Mailing", - "Make_Admin": "Make Admin", - "Make_sure_you_have_a_copy_of_your_codes_1": "Make sure you have a copy of your codes:", - "Make_sure_you_have_a_copy_of_your_codes_2": "If you lose access to your authenticator app, you can use one of these codes to log in.", - "Manage": "Manage", - "manage-agent-extension-association": "Manage Agent Extension Association", - "manage-agent-extension-association_description": "Permission to manage agent extension association", - "manage-apps": "Manage Apps", - "manage-apps_description": "Permission to manage all apps", - "manage-assets": "Manage Assets", - "manage-assets_description": "Permission to manage the server assets", - "manage-cloud": "Manage Cloud", - "manage-cloud_description": "Permission to manage cloud", - "Manage_Devices": "Manage Devices", - "manage-email-inbox": "Manage Email Inbox", - "manage-email-inbox_description": "Permission to manage email inboxes", - "manage-emoji": "Manage Emoji", - "manage-emoji_description": "Permission to manage the server emojis", - "messages_pruned": "messages pruned", - "manage-incoming-integrations": "Manage Incoming Integrations", - "manage-incoming-integrations_description": "Permission to manage the server incoming integrations", - "manage-integrations": "Manage Integrations", - "manage-integrations_description": "Permission to manage the server integrations", - "manage-livechat-agents": "Manage Omnichannel Agents", - "manage-livechat-agents_description": "Permission to manage omnichannel agents", - "manage-livechat-canned-responses": "Manage Omnichannel Canned Responses", - "manage-livechat-canned-responses_description": "Permission to manage omnichannel canned responses", - "manage-livechat-departments": "Manage Omnichannel Departments", - "manage-livechat-departments_description": "Permission to manage omnichannel departments", - "manage-livechat-managers": "Manage Omnichannel Managers", - "manage-livechat-managers_description": "Permission to manage omnichannel managers", - "manage-livechat-monitors": "Manage Omnichannel Monitors", - "manage-livechat-monitors_description": "Permission to manage omnichannel monitors", - "manage-livechat-priorities": "Manage Omnichannel Priorities", - "manage-livechat-priorities_description": "Permission to manage omnichannel priorities", - "manage-livechat-sla": "Manage Omnichannel SLA", - "manage-livechat-sla_description": "Permission to manage omnichannel SLA", - "manage-livechat-tags": "Manage Omnichannel Tags", - "manage-livechat-tags_description": "Permission to manage omnichannel tags", - "manage-livechat-units": "Manage Omnichannel Units", - "manage-livechat-units_description": "Permission to manage omnichannel units", - "manage-oauth-apps": "Manage OAuth Apps", - "manage-oauth-apps_description": "Permission to manage the server OAuth apps", - "manage-outgoing-integrations": "Manage Outgoing Integrations", - "manage-outgoing-integrations_description": "Permission to manage the server outgoing integrations", - "manage-own-incoming-integrations": "Manage Own Incoming Integrations", - "manage-own-incoming-integrations_description": "Permission to allow users to create and edit their own incoming integration or webhooks", - "manage-own-integrations": "Manage Own Integrations", - "manage-own-integrations_description": "Permition to allow users to create and edit their own integration or webhooks", - "manage-own-outgoing-integrations": "Manage Own Outgoing Integrations", - "manage-own-outgoing-integrations_description": "Permission to allow users to create and edit their own outgoing integration or webhooks", - "manage-selected-settings": "Change Some Settings", - "manage-selected-settings_description": "Permission to change settings which are explicitly granted to be changed", - "manage-sounds": "Manage Sounds", - "manage-sounds_description": "Permission to manage the server sounds", - "manage-the-app": "Manage the App", - "manage-user-status": "Manage User Status", - "manage-user-status_description": "Permission to manage the server custom user statuses", - "manage-voip-call-settings": "Manage Voip Call Settings", - "manage-voip-call-settings_description": "Permission to manage voip call settings", - "manage-voip-contact-center-settings": "Manage Voip Contact Center Settings", - "manage-voip-contact-center-settings_description": "Permission to manage voip contact center settings", - "Manage_Omnichannel": "Manage Omnichannel", - "Manage_workspace": "Manage workspace", - "Manager_added": "Manager added", - "Manager_removed": "Manager removed", - "Managers": "Managers", - "Manage_server_list": "Manage server list", - "Manage_servers": "Manage servers", - "Manage_which_devices": "Manage which devices are connecting to this workspace to help ensure security. Information such as device ID, login data is included as is the ability to log out devices remotely.", - "Management_Server": "Asterisk Manager Interface (AMI)", - "Managing_assets": "Managing assets", - "Managing_integrations": "Managing integrations", - "Manual_Selection": "Manual Selection", - "Manually_created_users_briefing": "Manually created users will initially be shown as pending. Once they log in for the first time, they will be shown as active.", - "Manufacturing": "Manufacturing", - "MapView_Enabled": "Enable Mapview", - "MapView_Enabled_Description": "Enabling mapview will display a location share button on the right of the chat input field.", - "MapView_GMapsAPIKey": "Google Static Maps API Key", - "MapView_GMapsAPIKey_Description": "This can be obtained from the Google Developers Console for free.", - "Mark_all_as_read": "`%s` - Mark all messages (in all channels) as read", - "Mark_as_read": "Mark as read", - "Mark_as_unread": "Mark as unread", - "Mark_email_as_verified": "Mark email as verified", - "Mark_read": "Mark Read", - "Mark_unread": "Mark Unread", - "Marketplace": "Marketplace", - "Marketplace_app_last_updated": "Last updated {{lastUpdated}}", - "Marketplace_view_marketplace": "View Marketplace", - "Marketplace_error": "Cannot connect to internet or your workspace may be an offline install.", - "MAU_value": "MAU {{value}}", - "Max_length_is": "Max length is %s", - "Max_number_incoming_livechats_displayed": "Max number of items displayed in the queue", - "Max_number_incoming_livechats_displayed_description": "(Optional) Max number of items displayed in the incoming Omnichannel queue.", - "Max_number_of_chats_per_agent": "Max. number of simultaneous chats", - "Max_number_of_chats_per_agent_description": "The max. number of simultaneous chats that the agents can attend", - "Max_number_of_uses": "Max number of uses", - "Max_Retry": "Maximum attemps to reconnect to the server", - "Maximum": "Maximum", - "Maximum_number_of_guests_reached": "Maximum number of guests reached", - "Me": "Me", - "Media": "Media", - "Medium": "Medium", - "Members": "Members", - "Members_List": "Members List", - "mention-all": "Mention All", - "mention-all_description": "Permission to use the @all mention", - "Mentions_all_room_members": "Mentions all room members", - "Mentions_online_room_members": "Mentions online room members", - "Mentions_user": "Mentions user", - "Mentions_channel": "Mentions channel", - "Mentions_you": "Mentions you", - "mention-here": "Mention Here", - "mention-here_description": "Permission to use the @here mention", - "Mentions": "Mentions", - "Mentions_default": "Mentions (default)", - "Mentions_only": "Mentions only", - "Mentions_with_@_symbol": "Mentions with @ symbol", - "Mentions_with_@_symbol_description": "Mentions notify and highlight messages for groups or specific users, facilitating targeted communication.\n\nThe screen reader functionality is optimized when the \"@\" symbol is employed in the mention feature. This ensures that users relying on screen readers can easily interpret and engage with these mentions.", - "Merge_Channels": "Merge Channels", - "message": "message", - "Message": "Message", - "Message_Description": "Configure message settings.", - "Message_AllowBadWordsFilter": "Allow Message bad words filtering", - "Message_AllowConvertLongMessagesToAttachment": "Allow converting long messages to attachment", - "Message_AllowDeleting": "Allow Message Deleting", - "Message_AllowDeleting_BlockDeleteInMinutes": "Block Message Deleting After (n) Minutes", - "Message_AllowDeleting_BlockDeleteInMinutes_Description": "Enter 0 to disable blocking.", - "Message_AllowDirectMessagesToYourself": "Allow user direct messages to yourself", - "Message_AllowEditing": "Allow Message Editing", - "Message_AllowEditing_BlockEditInMinutes": "Block Message Editing After (n) Minutes", - "Message_AllowEditing_BlockEditInMinutesDescription": "Enter 0 to disable blocking.", - "Message_AllowPinning": "Allow Message Pinning", - "Message_AllowPinning_Description": "Allow messages to be pinned to any of the channels.", - "Message_AllowStarring": "Allow Message Starring", - "Message_AllowUnrecognizedSlashCommand": "Allow Unrecognized Slash Commands", - "Message_Already_Sent": "This message has already been sent and is being processed by the server", - "Message_AlwaysSearchRegExp": "Always Search Using RegExp", - "Message_AlwaysSearchRegExp_Description": "We recommend to set `True` if your language is not supported on [MongoDB text search](https://docs.mongodb.org/manual/reference/text-search-languages/#text-search-languages).", - "Message_Attachments": "Message Attachments", - "Message_Attachments_Thumbnails_Enabled": "Enable image thumbnails to save bandwith", - "Message_Attachments_Thumbnails_Width": "Thumbnail's max width (in pixels)", - "Message_Attachments_Thumbnails_Height": "Thumbnail's max height (in pixels)", - "Message_with_attachment": "Message with attachment", - "Report_sent": "Report sent", - "Message_Attachments_Thumbnails_EnabledDesc": "Thumbnails will be served instead of the original image to reduce bandwith usage. Images at original resolution can be downloaded using the icon next to the attachment's name.", - "Message_Attachments_Strip_Exif": "Remove EXIF metadata from supported files", - "Message_Attachments_Strip_ExifDescription": "Strips out EXIF metadata from image files (jpeg, tiff, etc). This setting is not retroactive, so files uploaded while disabled will have EXIF data", - "Message_Audio": "Audio Message", - "Message_Audio_bitRate": "Audio Message Bit Rate", - "Message_AudioRecorderEnabled": "Audio Recorder Enabled", - "Message_AudioRecorderEnabled_Description": "Requires 'audio/mp3' files to be an accepted media type within 'File Upload' settings.", - "Message_Audio_Recording_Disabled": "Message audio recording disabled", - "Message_auditing": "Audit messages", - "Message_auditing_log": "Audit logs", - "Message_BadWordsFilterList": "Add Bad Words to the Blacklist", - "Message_BadWordsFilterListDescription": "Add List of Comma-separated list of bad words to filter", - "Message_BadWordsWhitelist": "Remove words from the Blacklist", - "Message_BadWordsWhitelistDescription": "Add a comma-separated list of words to be removed from filter", - "Message_Characther_Limit": "Message Character Limit", - "Message_Code_highlight": "Code highlighting languages list", - "Message_Code_highlight_Description": "Comma separated list of languages (all supported languages at [highlight.js](https://github.com/highlightjs/highlight.js/tree/11.6.0#supported-languages)) that will be used to highlight code blocks", - "Message_CustomDomain_AutoLink": "Custom Domain Whitelist for Auto Link", - "Message_CustomDomain_AutoLink_Description": "If you want to auto link internal links like `https://internaltool.intranet` or `internaltool.intranet`, you need to add the `intranet` domain to the field, multiple domains need to be separated by comma.", - "Message_CustomFields_Enabled": "Allow Custom Fields in Messages", - "Message_CustomFields": "Custom Fields Validation", - "Message_CustomFields_Description": "Custom Fields will be validated according to the rules defined in this setting.\nCheck [ajv.js.org](https://ajv.js.org/json-schema.html) for more information regarding validation options.\nProperties `type` and `additionalProperties` will be forced to `object` and `false` respectively.", - "message_counter_one": "{{count}} message", - "message_counter_other": "{{count}} messages", - "Message_DateFormat": "Date Format", - "Message_DateFormat_Description": "See also: [Moment.js](http://momentjs.com/docs/#/displaying/format/)", - "Message_deleting_blocked": "This message cannot be deleted anymore", - "Message_editing": "Message editing", - "Message_ErasureType": "Message Erasure Type", - "Message_ErasureType_Delete": "Delete All Messages", - "Message_ErasureType_Description": "Determine what to do with messages of users who remove their account. \n - **Keep Messages and User Name:** The message and files history of the user will be deleted from Direct Messages but will be kept in other rooms. \n - **Delete All Messages:** All messages and files from the user will be deleted from the database and it will not be possible to locate the user anymore. \n - **Remove link between user and messages:** This option will assign all messages and files of the user to Rocket.Cat bot and Direct Messages are going to be deleted.", - "Message_ErasureType_Keep": "Keep Messages and User Name", - "Message_ErasureType_Unlink": "Remove Link Between User and Messages", - "Message_GlobalSearch": "Global Search", - "Message_GroupingPeriod": "Grouping Period (in seconds)", - "Message_GroupingPeriodDescription": "Messages will be grouped with previous message if both are from the same user and the elapsed time was less than the informed time in seconds.", - "Message_has_been_edited": "Message has been edited", - "Message_has_been_edited_at": "Message has been edited at {{date}}", - "Message_has_been_edited_by": "Message has been edited by {{username}}", - "Message_has_been_edited_by_at": "Message has been edited by {{username}} at {{date}}", - "Message_has_been_forwarded": "Message has been forwarded", - "Message_has_been_pinned": "Message has been pinned", - "Message_has_been_starred": "Message has been starred", - "Message_has_been_unpinned": "Message has been unpinned", - "Message_has_been_unstarred": "Message has been unstarred", - "Message_HideType_au": "User added", - "Message_HideType_added_user_to_team": "User added to team", - "Message_HideType_mute_unmute": "User muted / unmuted", - "Message_HideType_r": "Room name changed", - "Message_HideType_rm": "Message removed", - "Message_HideType_room_allowed_reacting": "Room allowed reacting", - "Message_HideType_room_archived": "Room archived", - "Message_HideType_room_changed_avatar": "Room avatar changed", - "Message_HideType_room_changed_privacy": "Room type changed", - "Message_HideType_room_changed_topic": "Room topic changed", - "Message_HideType_room_disallowed_reacting": "Room disallowed reacting", - "Message_HideType_room_enabled_encryption": "Room encryption enabled", - "Message_HideType_room_disabled_encryption": "Room encryption disabled", - "Message_HideType_room_set_read_only": "Room set to Read Only", - "Message_HideType_room_removed_read_only": "Room added writing permission", - "Message_HideType_room_unarchived": "Room unarchived", - "Message_HideType_ru": "User removed", - "Message_HideType_removed_user_from_team": "User removed from team", - "Message_HideType_subscription_role_added": "Was set role", - "Message_HideType_subscription_role_removed": "Role no longer defined", - "Message_HideType_uj": "User joined", - "Message_HideType_ujt": "User joined team", - "New_Call_Enterprise_Edition_Only": "New Call (Enterprise Edition Only)", - "Message_HideType_ul": "User left", - "Message_HideType_ult": "User left team", - "Message_HideType_user_added_room_to_team": "User added room to team", - "Message_HideType_user_converted_to_channel": "User converted team to a channel", - "Message_HideType_user_converted_to_team": "User converted channel to a team", - "Message_HideType_user_deleted_room_from_team": "User deleted room from team", - "Message_HideType_user_removed_room_from_team": "User removed room from team", - "Message_HideType_changed_description": "Room description changed", - "Message_HideType_changed_announcement": "Room announcement changed", - "Message_HideType_ut": "User joined conversation", - "Message_HideType_wm": "Welcome", - "Message_HideType_livechat_closed": "Hide \"Conversation finished\" messages", - "Message_HideType_livechat_started": "Hide \"Conversation started\" messages", - "Message_HideType_livechat_transfer_history": "Hide \"Conversation transfered\" messages", - "Message_Id": "Message Id", - "Message_Ignored": "This message was ignored", - "message-impersonate": "Impersonate Other Users", - "message-impersonate_description": "Permission to impersonate other users using message alias", - "Message_info": "Message info", - "Message_KeepHistory": "Keep Per Message Editing History", - "Message_MaxAll": "Maximum Channel Size for ALL Message", - "Message_MaxAllowedSize": "Maximum Allowed Characters Per Message", - "Message_pinning": "Message pinning", - "message_pruned": "message pruned", - "Message_QuoteChainLimit": "Maximum Number of Chained Quotes", - "Message_Read_Receipt_Enabled": "Show Read Receipts", - "Message_Read_Receipt_Store_Users": "Detailed Read Receipts", - "Message_Read_Receipt_Store_Users_Description": "Shows each user's read receipts", - "Message_removed": "message removed", - "Message_is_removed": "message removed", - "Message_sent_by_email": "Message sent by Email", - "Message_ShowDeletedStatus": "Show Deleted Status", - "Message_Formatting_Toolbox": "Formatting Toolbox", - "Message_composer_toolbox_primary_actions": "Composer Primary Actions", - "Message_composer_toolbox_secondary_actions": "Composer Secondary Actions", - "Message_starring": "Message starring", - "Message_Time": "Message Time", - "Message_TimeAndDateFormat": "Time and Date Format", - "Message_TimeAndDateFormat_Description": "See also: [Moment.js](http://momentjs.com/docs/#/displaying/format/)", - "Message_TimeFormat": "Time Format", - "Message_TimeFormat_Description": "See also: [Moment.js](http://momentjs.com/docs/#/displaying/format/)", - "Message_too_long": "Message too long", - "Message_UserId": "User Id", - "Message_view_mode_info": "This changes the amount of space messages take up on screen.", - "Message_VideoRecorderEnabled": "Video Recorder Enabled", - "Message_Video_Recording_Disabled": "Message video recording disabled", - "MessageBox_view_mode": "MessageBox View Mode", - "Message_VideoRecorderEnabledDescription": "Requires 'video/webm' files to be an accepted media type within 'File Upload' settings.", - "messages": "messages", - "Messages": "Messages", - "Messages_selected": "Messages selected", - "Messages_sent": "Messages sent", - "Message_sent": "Message sent", - "Message_viewed": "Message viewed", - "Messages_that_are_sent_to_the_Incoming_WebHook_will_be_posted_here": "Messages that are sent to the Incoming WebHook will be posted here.", - "Meta": "Meta", - "Meta_Description": "Set custom Meta properties.", - "Meta_custom": "Custom Meta Tags", - "Meta_fb_app_id": "Facebook App Id", - "Meta_google-site-verification": "Google Site Verification", - "Meta_language": "Language", - "Meta_msvalidate01": "MSValidate.01", - "Meta_robots": "Robots", - "meteor_status_connected": "Connected", - "meteor_status_connecting": "Connecting...", - "meteor_status_failed": "Connection attempt failed", - "meteor_status_offline": "You’re offline", - "meteor_status_reconnect_in_one": "Trying to reconnect in 1 second", - "meteor_status_reconnect_in_other": "Trying to reconnect in {{count}} seconds", - "meteor_status_try_again_later": "Please try again later or ask your workspace admin for assistance", - "meteor_status_try_now_offline": "Connect again", - "meteor_status_try_now_waiting": "Try now", - "meteor_status_waiting": "You’re offline", - "Method": "Method", - "Mic_on": "Mic On", - "Microphone": "Microphone", - "Microphone_access_not_allowed": "Microphone access was not allowed, please check your browser settings.", - "Mic_off": "Mic Off", - "Min_length_is": "Min length is %s", - "Minimum": "Minimum", - "Minimum_balance": "Minimum balance", - "minute": "minute", - "minutes": "minutes", - "Missing_configuration": "Missing configuration", - "Mobex_sms_gateway_address": "Mobex SMS Gateway Address", - "Mobex_sms_gateway_address_desc": "IP or Host of your Mobex service with specified port. E.g. `http://192.168.1.1:1401` or `https://www.example.com:1401`", - "Mobex_sms_gateway_from_number": "From", - "Mobex_sms_gateway_from_number_desc": "Originating address/phone number when sending a new SMS to livechat client", - "Mobex_sms_gateway_from_numbers_list": "List of numbers to send SMS from", - "Mobex_sms_gateway_from_numbers_list_desc": "Comma-separated list of numbers to use in sending brand new messages, eg. 123456789, 123456788, 123456888", - "Mobex_sms_gateway_password": "Password", - "Mobex_sms_gateway_restful_address": "Mobex SMS REST API Address", - "Mobex_sms_gateway_restful_address_desc": "IP or Host of your Mobex REST API. E.g. `http://192.168.1.1:8080` or `https://www.example.com:8080`", - "Mobex_sms_gateway_username": "Username", - "Mobile": "Mobile", - "Mobile_apps": "Mobile apps", - "Mobile_Description": "Define behaviors for connecting to your workspace from mobile devices.", - "mobile-upload-file": "Allow file upload on mobile devices", - "mobile-upload-file_description": "Permission to allow file upload on mobile devices", - "Mobile_Push_Notifications_Default_Alert": "Push Notifications Default Alert", - "Moderation": "Moderation", - "Moderation_Show_reports": "Show reports", - "Moderation_See_reports": "See reports", - "Moderation_Go_to_message": "Go to message", - "Moderation_Delete_message": "Delete message", - "Moderation_Dismiss_and_delete": "Dismiss and delete", - "Moderation_Delete_this_message": "Delete this message", - "Moderation_Message_context_header": "Reported message(s)", - "Moderation_Message_deleted": "Message deleted and reports dismissed", - "Moderation_Messages_deleted": "Messages deleted and reports dismissed", - "Moderation_Action_View_reports": "View reported messages", - "Moderation_Hide_reports": "Hide reports", - "Moderation_Dismiss_all_reports": "Dismiss all reports", - "Moderation_Deactivate_User": "Deactivate user", - "Moderation_User_deactivated": "User deactivated", - "Moderation_Delete_all_messages": "Delete all messages", - "Moderation_Dismiss_reports": "Dismiss reports", - "Moderation_Duplicate_messages": "Duplicated messages", - "Moderation_Duplicate_messages_warning": "Following may contain same messages sent in multiple rooms.", - "Moderation_Report_date": "Report date", - "Moderation_Reports": "Reports", - "Moderation_Reported_message": "Reported message", - "Moderation_Reports_dismissed": "Reports dismissed", - "Moderation_Reports_all_dismissed": "All reports dismissed", - "Moderation_Message_already_deleted": "Message is already deleted", - "Moderation_Reset_user_avatar": "Reset user avatar", - "Moderation_See_messages": "See messages", - "Moderation_Avatar_reset_success": "Avatar reset", - "Moderation_Dismiss_reports_confirm": "Reports will be deleted and the reported message won't be affected.", - "Moderation_Dismiss_all_reports_confirm": "All reports will be deleted and the reported messages won't be affected.", - "Moderation_Are_you_sure_you_want_to_delete_this_message": "This message will be permanently deleted from its respective room and the report will be dismissed.", - "Moderation_Are_you_sure_you_want_to_reset_the_avatar": "Resetting user avatar will permanently remove their current avatar.", - "Moderation_Are_you_sure_you_want_to_deactivate_this_user": "User will be unable to log in unless reactivated. All reported messages will be permanently deleted from their respective room.", - "Moderation_Are_you_sure_you_want_to_delete_all_reported_messages_from_this_user": "All reported messages from this user will be permanently deleted from their respective room and the report will be dismissed.", - "Moderation_User_deleted_warning": "The user who sent the message(s) no longer exists or has been removed.", - "Monday": "Monday", - "Mongo_storageEngine": "Mongo Storage Engine", - "Mongo_version": "Mongo Version", - "MongoDB": "MongoDB", - "MongoDB_Deprecated": "MongoDB Deprecated", - "MongoDB_version_s_is_deprecated_please_upgrade_your_installation": "MongoDB version %s is deprecated, please upgrade your installation.", - "Monitor_added": "Monitor Added", - "Monitor_new_and_suspicious_logins": "Monitor new and suspicious logins", - "Monitor_history_for_changes_on": "Monitor History for Changes on", - "Monitor_removed": "Monitor removed", - "Monitors": "Monitors", - "Monthly_Active_Users": "Monthly Active Users", - "More": "More", - "More_actions": "More actions", - "More_channels": "More channels", - "More_direct_messages": "More direct messages", - "More_groups": "More private groups", - "More_unreads": "More unreads", - "More_options": "More options", - "Most_popular_channels_top_5": "Most popular channels (Top 5)", - "Most_recent_updated": "Most recent updated", - "Most_recent_requested": "Most recent requested", - "Move_beginning_message": "`%s` - Move to the beginning of the message", - "Move_end_message": "`%s` - Move to the end of the message", - "Move_queue": "Move to the queue", - "Msgs": "Msgs", - "multi": "multi", - "Multi_line": "Multi line", - "Multiple_monolith_instances_alert": "You are operating multiple instances without an active Premium license - some features may not behave as designed", - "Mute": "Mute", - "Mute_and_dismiss": "Mute and dismiss", - "Mute_all_notifications": "Mute all notifications", - "Mute_Focused_Conversations": "Mute Focused Conversations", - "Mute_Group_Mentions": "Mute @all and @here mentions", - "Mute_someone_in_room": "Mute someone in the room", - "Mute_user": "Mute user", - "Mute_microphone": "Mute Microphone", - "mute-user": "Mute User", - "mute-user_description": "Permission to mute other users in the same channel", - "Muted": "Muted", - "My Data": "My Data", - "My_Account": "My Account", - "My_location": "My location", - "n_messages": "%s messages", - "N_new_messages": "%s new messages", - "Name": "Name", - "Name_cant_be_empty": "Name can't be empty", - "Name_of_agent": "Name of agent", - "Name_optional": "Name (optional)", - "Name_Placeholder": "Please enter your name...", - "Navigation": "Navigation", - "Navigation_bar": "Navigation bar", - "Navigation_bar_description": "Introducing the navigation bar — a higher-level navigation designed to help users quickly find what they need. With its compact design and intuitive organization, this streamlined sidebar optimizes screen space while providing easy access to essential software features and sections.", - "Navigation_History": "Navigation History", - "Next": "Next", - "Never": "Never", - "New": "New", - "New_Application": "New Application", - "New_Business_Hour": "New Business Hour", - "New_Call": "New Call", - "New_Call_Premium_Only": "New Call (Premium Plans Only)", - "New_chat_in_queue": "New chat in queue", - "New_chat_priority": "Priority Changed: {{user}} changed the priority to {{priority}}", - "New_chat_transfer": "New Chat Transfer: {{transfer}}", - "New_chat_transfer_fallback": "Transferred to fallback department: {{fallback}}", - "New_contact": "New contact", - "New_Custom_Field": "New Custom Field", - "New_Department": "New Department", - "New_discussion": "New discussion", - "New_discussion_first_message": "Usually, a discussion starts with a question, like “How do I upload a picture?”", - "New_discussion_name": "A meaningful name for the discussion room", - "New_Email_Inbox": "New Email Inbox", - "New_encryption_password": "New encryption password", - "New_integration": "New integration", - "New_line_message_compose_input": "`%s` - New line in message compose input", - "New_Livechat_offline_message_has_been_sent": "A new Livechat offline Message has been sent", - "New_logs": "New logs", - "New_Message_Notification": "New Message Notification", - "New_messages": "New messages", - "New_OTR_Chat": "New OTR Chat", - "New_password": "New Password", - "New_Password_Placeholder": "Please enter new password...", - "New_Priority": "New Priority", - "New_SLA_Policy": "New SLA policy", - "New_role": "New role", - "New_Room_Notification": "New Room Notification", - "New_Tag": "New Tag", - "New_Trigger": "New Trigger", - "New_Unit": "New Unit", - "New_users": "New users", - "New_user": "New user", - "New_user_manually_created": "New user manually created", - "New_version_available_(s)": "New version available (%s)", - "New_videocall_request": "New Video Call Request", - "New_visitor_navigation": "New Navigation: {{history}}", - "New_workspace_confirmed": "New workspace confirmed", - "New_workspace": "New workspace", - "Newer_than": "Newer than", - "New_messages_cannot_be_sent": "New messages cannot be sent", - "Newer_than_may_not_exceed_Older_than": "\"Newer than\" may not exceed \"Older than\"", - "Nickname": "Nickname", - "Nickname_Placeholder": "Enter your nickname...", - "No": "No", - "no-active-video-conf-provider": "**Conference call not enabled**: A workspace admin needs to enable the conference call feature first.", - "No_available_agents_to_transfer": "No available agents to transfer", - "No_app_matches": "No app matches", - "No_app_matches_for": "No app matches for", - "No_apps_installed": "No Apps Installed", - "No_Canned_Responses": "No Canned Responses", - "No_Canned_Responses_Yet": "No canned responses yet", - "No_Canned_Responses_Yet-description": "Use canned responses to provide quick and consistent answers to frequently asked questions.", - "No_channels_in_team": "No Channels on this Team", - "No_agents_yet": "No agents yet", - "No_agents_yet_description": "Add agents to engage with your audience and provide optimized customer service.", - "No_channels_yet": "You aren't part of any channels yet", - "No_chats_yet": "No chats yet", - "No_chats_yet_description": "All your chats will appear here.", - "No_calls_yet": "No calls yet", - "No_calls_yet_description": "All your calls will appear here.", - "No_contacts_yet": "No contacts yet", - "No_contacts_yet_description": "All contacts will appear here.", - "No_custom_fields_yet": "No custom fields yet", - "No_custom_fields_yet_description": "Add custom fields into contact or ticket details or display them on the live chat registration form for new visitors.", - "No_departments_yet": "No departments yet", - "No_departments_yet_description": "Organize agents into departments, set how tickets get forwarded and monitor their performance.", - "No_managers_yet": "No managers yet", - "No_managers_yet_description": "Managers have access to all omnichannel controls, being able to monitor and take actions.", - "No_content_was_provided": "No content was provided", - "No_data_found": "No data found", - "No_data_available_for_the_selected_period": "No data available for the selected period", - "No_direct_messages_yet": "No Direct Messages.", - "No_Discussions_found": "No discussions found", - "No_discussions_yet": "No discussions yet", - "No_emojis_found": "No emojis found", - "No_Encryption": "No Encryption", - "No_files_found": "No files found", - "No_files_left_to_download": "No files left to download", - "No_groups_yet": "You have no private groups yet.", - "No_history": "No history", - "No_installed_app_matches": "No installed app matches", - "No_integration_found": "No integration found by the provided id.", - "No_Limit": "No Limit", - "No_livechats": "You have no livechats", - "No_marketplace_matches_for": "No Marketplace matches for", - "No_members_found": "No members found", - "No_mentions_found": "No mentions found", - "No_messages_found_to_prune": "No messages found to prune", - "No_message_reports": "No message reports", - "No_messages_yet": "No messages yet", - "No_monitors_yet": "No monitors yet", - "No_monitors_yet_description": "Monitors have partial control of Omnichannel. They can view department analytics and activities of the business units they are assigned.", - "No_tags_yet": "No tags yet", - "No_tags_yet_description": "Add tags to tickets to make organizing and finding related conversations easier.", - "No_triggers_yet": "No triggers yet", - "No_triggers_yet_description": "Triggers are events that cause the live chat widget to open and send messages automatically.", - "No_units_yet": "No units yet", - "No_units_yet_description": "Use units to group departments and manage them better.", - "No_user_reports": "No user reports", - "No_pages_yet_Try_hitting_Reload_Pages_button": "No pages yet. Try hitting \"Reload Pages\" button.", - "No_pinned_messages": "No pinned messages", - "No_previous_chat_found": "No previous chat found", - "No_release_information_provided": "No release information provided", - "No_requested_apps": "No requested apps", - "No_requests": "No requests", - "No_results_found": "No results found", - "No_results_found_for": "No results found for:", - "No_SLA_policies_yet": "No SLA policies yet", - "No_SLA_policies_yet_description": "Use SLA policies to change the order of Omnichannel queues based on estimated wait time.", - "No_snippet_messages": "No snippet", - "No_starred_messages": "No starred messages", - "No_such_command": "No such command: `/{{command}}`", - "No_Threads": "No threads found", - "no-videoconf-provider-app": "**Conference call not available**: Conference call apps can be installed in the Rocket.Chat marketplace by a workspace admin.", - "Nobody_available": "Nobody available", - "Node_version": "Node Version", - "None": "None", - "Nonprofit": "Nonprofit", - "Not_authorized": "Not authorized", - "Pexip_Enterprise_only": "Pexip (Enterprise only)", - "Normal": "Normal", - "Not_Available": "Not Available", - "Not_assigned": "Not assigned", - "Not_enough_data": "Not enough data", - "Not_following": "Not following", - "Not_Following": "Not Following", - "Not_found_or_not_allowed": "Not Found or Not Allowed", - "Not_Imported_Messages_Title": "The following messages were not imported successfully", - "Not_in_channel": "Not in channel", - "Not_likely": "Not likely", - "Not_started": "Not started", - "Not_verified": "Not verified", - "Not_Visible_To_Workspace": "Not visible to workspace", - "Nothing": "Nothing", - "Nothing_found": "Nothing found", - "Notice_that_public_channels_will_be_public_and_visible_to_everyone": "Notice that public Channels will be public and visible to everyone.", - "Notification_Desktop_Default_For": "Show Desktop Notifications For", - "Notification_Push_Default_For": "Send Push Notifications For", - "Notification_RequireInteraction": "Require Interaction to Dismiss Desktop Notification", - "Notification_RequireInteraction_Description": "Works only with Chrome browser versions > 50. Utilizes the parameter *requireInteraction* to show the desktop notification to indefinite until the user interacts with it.", - "Notifications": "Notifications", - "Notifications_Max_Room_Members": "Max Room Members Before Disabling All Message Notifications", - "Notifications_Max_Room_Members_Description": "Max number of members in room when notifications for all messages gets disabled. Users can still change per room setting to receive all notifications on an individual basis. (0 to disable)", - "Notifications_Muted_Description": "If you choose to mute everything, you won't see the room highlight in the list when there are new messages, except for mentions. Muting notifications will override notifications settings.", - "Notifications_Preferences": "Notifications Preferences", - "Notifications_Sound_Volume": "Notifications sound volume", - "Notify_active_in_this_room": "Notify active users in this room", - "Notify_all_in_this_room": "Notify all in this room", - "Notify_Calendar_Events": "Notify calendar events", - "Now_Its_Visible_For_Everyone": "Now it's visible for everyone", - "Now_Its_Visible_Only_For_Admins": "Now it's visible only for admins", - "NPS_survey_enabled": "Enable NPS Survey", - "NPS_survey_enabled_Description": "Allow NPS survey run for all users. Admins will receive an alert 2 months upfront the survey is launched", - "NPS_survey_is_scheduled_to-run-at__date__for_all_users": "NPS survey is scheduled to run at {{date}} for all users. It's possible to turn off the survey on 'Admin > General > NPS'", - "Default_Timezone_For_Reporting": "Default timezone for reporting", - "Default_Timezone_For_Reporting_Description": "Sets the default timezone that will be used when showing dashboards or sending emails", - "Default_Server_Timezone": "Server timezone", - "Default_Custom_Timezone": "Custom timezone", - "Default_User_Timezone": "User's current timezone", - "Num_Agents": "# Agents", - "Number_in_seconds": "Number in seconds", - "Number_of_events": "Number of events", - "Number_of_federated_servers": "Number of federated servers", - "Number_of_federated_users": "Number of federated users", - "Number_of_messages": "Number of messages", - "Number_of_most_recent_chats_estimate_wait_time": "Number of recent chats to calculate estimate wait time", - "Number_of_most_recent_chats_estimate_wait_time_description": "This number defines the number of last served rooms that will be used to calculate queue wait times.", - "Number_of_users_autocomplete_suggestions": "Number of users' autocomplete suggestions", - "OAuth": "OAuth", - "OAuth_Description": "Configure authentication methods beyond just username and password.", - "OAuth_Application": "OAuth Application", - "Objects": "Objects", - "Off": "Off", - "Off_the_record_conversation": "Off-the-Record Conversation", - "Off_the_record_conversation_is_not_available_for_your_browser_or_device": "Off-the-Record conversation is not available for your browser or device.", - "Office_Hours": "Office Hours", - "Office_hours_enabled": "Office Hours Enabled", - "Office_hours_updated": "Office hours updated", - "offline": "offline", - "Offline": "Offline", - "Offline_DM_Email": "Direct Message Email Subject", - "Offline_Email_Subject_Description": "You may use the following placeholders: \n - `[Site_Name]`, `[Site_URL]`, `[User]` & `[Room]` for the Application Name, URL, Username & Roomname respectively. ", - "Offline_form": "Offline form", - "Offline_form_unavailable_message": "Offline Form Unavailable Message", - "Offline_Link_Message": "GO TO MESSAGE", - "Offline_Mention_All_Email": "Mention All Email Subject", - "Offline_Mention_Email": "Mention Email Subject", - "Offline_message": "Offline message", - "Offline_Message": "Offline Message", - "Offline_Message_Use_DeepLink": "Use Deep Link URL Format", - "Offline_messages": "Offline Messages", - "Offline_success_message": "Offline Success Message", - "Offline_unavailable": "Offline unavailable", - "Ok": "Ok", - "Old Colors": "Old Colors", - "Old Colors (minor)": "Old Colors (minor)", - "Older_than": "Older than", - "Omnichannel": "Omnichannel", - "Omnichannel_Description": "Set up Omnichannel to communicate with customers from one place, regardless of how they connect with you.", - "Omnichannel_Directory": "Omnichannel Directory", - "Omnichannel_appearance": "Omnichannel Appearance", - "Omnichannel_calculate_dispatch_service_queue_statistics": "Calculate and dispatch Omnichannel waiting queue statistics", - "Omnichannel_calculate_dispatch_service_queue_statistics_Description": "Processing and dispatching waiting queue statistics such as position and estimated waiting time. If *Livechat channel* is not in use, it is recommended to disable this setting and prevent the server from doing unnecessary processes.", - "Omnichannel_Contact_Center": "Omnichannel Contact Center", - "Omnichannel_contact_manager_routing": "Assign new conversations to the contact manager", - "Omnichannel_contact_manager_routing_Description": "This setting allocates a chat to the assigned Contact Manager, as long as the Contact Manager is online when the chat starts", - "Omnichannel_External_Frame": "External Frame", - "Omnichannel_External_Frame_Enabled": "External frame enabled", - "Omnichannel_External_Frame_Encryption_JWK": "Encryption key (JWK)", - "Omnichannel_External_Frame_Encryption_JWK_Description": "If provided it will encrypt the user's token with the provided key and the external system will need to decrypt the data to access the token", - "Omnichannel_External_Frame_URL": "External frame URL", - "omnichannel_priority_change_history": "Priority changed: {{user}} changed the priority to {{priority}}", - "omnichannel_sla_change_history": "SLA Policy changed: {{user}} changed the SLA Policy to {{sla}}", - "Omnichannel_enable_department_removal": "Enable department removal", - "Omnichannel_enable_department_removal_alert": "Departments removed cannot be restored, we recommend archiving the department instead.", - "Omnichannel_Reports_Status_Open": "Open", - "Omnichannel_Reports_Status_Closed": "Closed", - "Omnichannel_Reports_Channels_Empty_Subtitle": "This chart shows the most used channels.", - "Omnichannel_Reports_Departments_Empty_Subtitle": "This chart displays the departments that receive the most conversations.", - "Omnichannel_Reports_Status_Empty_Subtitle": "This chart will update as soon as conversations start.", - "Omnichannel_Reports_Tags_Empty_Subtitle": "This chart shows the most frequently used tags.", - "Omnichannel_Reports_Agents_Empty_Subtitle": "This chart displays which agents receive the highest volume of conversations.", - "Omnichannel_Reports_Summary": "Gain insights into your operation and export your metrics.", - "Omnichannel_max_fallback_forward_depth": "Maximum fallback forward departments depth", - "Omnichannel_max_fallback_forward_depth_Description": "Maximum number of hops that a room being transfered will do when the target department has a Fallback Forward Department set up. When limit is reached, chat won't be transferred and process will stop. Depending on your configuration, setting a high number may cause performance issues.", - "On": "On", - "on-hold-livechat-room": "On Hold Omnichannel Room", - "on-hold-livechat-room_description": "Permission to on hold omnichannel room", - "on-hold-others-livechat-room": "On Hold Others Omnichannel Room", - "on-hold-others-livechat-room_description": "Permission to on hold others omnichannel room", - "On_Hold": "On hold", - "On_Hold_Chats": "On hold", - "On_Hold_conversations": "On hold conversations", - "online": "online", - "Online": "Online", - "Only_authorized_users_can_write_new_messages": "Only authorized users can write new messages", - "Only_authorized_users_can_react_to_messages": "Only authorized users can react to messages", - "Only_from_users": "Only prune content from these users (leave empty to prune everyone's content)", - "Only_Members_Selected_Department_Can_View_Channel": "Only members of selected department can view chats on this channel", - "Only_On_Desktop": "Desktop mode (only sends with enter on desktop)", - "Only_works_with_chrome_version_greater_50": "Only works with Chrome browser versions > 50", - "Only_you_can_see_this_message": "Only you can see this message", - "Only_invited_users_can_acess_this_channel": "Only invited users can access this channel", - "Oops_page_not_found": "Oops, page not found", - "Oops!": "Oops", - "Person_Or_Channel": "Person or Channel", - "Open": "Open", - "Open_call": "Open call", - "Open_call_in_new_tab": "Open call in new tab", - "Open_channel_user_search": "`%s` - Open Channel / User search", - "Open_conversations": "Open Conversations", - "Open_Days": "Open days", - "Open_days_of_the_week": "Open Days of the Week", - "Open_Dialpad": "Open Dialpad", - "Open_directory": "Open directory", - "Open_Livechats": "Chats in progress", - "Open_Outlook": "Open Outlook", - "Open_settings": "Open settings", - "Open_sidebar": "Open sidebar", - "Open-source_conference_call_solution": "Open-source conference call solution.", - "Open_thread": "Open Thread", - "Enter_the_code_provided_by_your_authentication_app_to_continue": "Enter the code provided by your authentication app to continue. You can also use one of your backup codes.", - "Opened": "Opened", - "Opened_in_a_new_window": "Opened in a new window.", - "Opens_a_channel_group_or_direct_message": "Opens a channel, group or direct message", - "Optional": "Optional", - "optional": "optional", - "Options": "Options", - "or": "or", - "Or_Copy_And_Paste_This_URL_Into_A_Tab_Of_Your_Browser": "Or copy and paste this URL into a tab of your browser", - "Or_talk_as_anonymous": "Or talk as anonymous", - "Order": "Order", - "Organization_Email": "Organization Email", - "Organization_Info": "Organization Info", - "Organization_Name": "Organization Name", - "Organization_Type": "Organization Type", - "Original": "Original", - "OS": "OS", - "OS_Arch": "OS Arch", - "OS_Cpus": "OS CPU Count", - "OS_Freemem": "OS Free Memory", - "OS_Loadavg": "OS Load Average", - "OS_Platform": "OS Platform", - "OS_Release": "OS Release", - "OS_Totalmem": "OS Total Memory", - "OS_Type": "OS Type", - "OS_Uptime": "OS Uptime", - "Other": "Other", - "others": "others", - "Others": "Others", - "OTR": "OTR", - "OTR_unavailable_for_federation": "OTR is unavailable for federated rooms", - "OTR_Description": "Off-the-record chats are secure, private and disappear once ended.", - "OTR_Chat_Declined_Title": "OTR Chat invite Declined", - "OTR_Chat_Declined_Description": "%s declined OTR chat invite. For privacy protection local cache was deleted, including all related system messages.", - "OTR_Chat_Error_Title": "Chat ended due to failed key refresh", - "OTR_Chat_Error_Description": "For privacy protection local cache was deleted, including all related system messages.", - "OTR_Chat_Timeout_Title": "OTR chat invite expired", - "OTR_Chat_Timeout_Description": "%s failed to accept OTR chat invite in time. For privacy protection local cache was deleted, including all related system messages.", - "OTR_Enable_Description": "Enable option to use off-the-record (OTR) messages in direct messages between 2 users. OTR messages are not recorded on the server and exchanged directly and encrypted between the 2 users.", - "OTR_message": "OTR Message", - "OTR_not_available": "OTR not available", - "OTR_not_available_e2ee": "This room has E2E encryption enabled, OTR cannot work with encrypted messages.", - "OTR_is_only_available_when_both_users_are_online": "OTR is only available when both users are online", - "OTR_Session_ended_other_user_went_offline": "OTR Session has ended. User {{username}} went offline", - "outbound-voip-calls": "Outbound Voip Calls", - "outbound-voip-calls_description": "Permission to outbound voip calls", - "Out_of_seats": "Out of Seats", - "Outgoing": "Outgoing", - "Outgoing_WebHook": "Outgoing WebHook", - "Outgoing_WebHook_Description": "Get data out of Rocket.Chat in real-time.", - "Outlook_authentication": "Outlook authentication", - "Outlook_authentication_disabled": "Outlook authentication disabled", - "Outlook_authentication_description": "Disable this to clear any outlook credentials stored in this machine.", - "Outlook_calendar": "Outlook calendar", - "Outlook_calendar_event": "Outlook calendar event", - "Outlook_calendar_settings": "Outlook calendar settings", - "Outlook_Calendar": "Outlook Calendar", - "Outlook_Calendar_Enabled": "Enabled", - "Outlook_Calendar_Exchange_Url": "Exchange URL", - "Outlook_Calendar_Exchange_Url_Description": "Host URL for the EWS api.", - "Outlook_Calendar_Outlook_Url": "Outlook URL", - "Outlook_Calendar_Outlook_Url_Description": "URL used to launch the Outlook web app.", - "Output_format": "Output format", - "Outlook_Sync_Failed": "Failed to load outlook events.", - "Outlook_Sync_Success": "Outlook events synchronized.", - "Override_URL_to_which_files_are_uploaded_This_url_also_used_for_downloads_unless_a_CDN_is_given": "Override URL to which files are uploaded. This url also used for downloads unless a CDN is given", - "Override_Destination_Channel": "Allow to overwrite destination channel in the body parameters", - "Owner": "Owner", - "Play": "Play", - "Page_not_exist_or_not_permission": "The page does not exist or you may not have access permission", - "Page_not_found": "Page not found", - "Page_title": "Page title", - "Page_URL": "Page URL", - "Pages": "Pages", - "Parent_channel_doesnt_exist": "Channel does not exist.", - "Parent_channel_or_team": "Parent channel or team", - "Participants": "Participants", - "Password": "Password", - "Password_Change_Disabled": "Your Rocket.Chat administrator has disabled the changing of passwords", - "Password_Changed_Description": "You may use the following placeholders: \n - `[password]` for the temporary password. \n - `[name]`, `[fname]`, `[lname]` for the user's full name, first name or last name, respectively. \n - `[email]` for the user's email. \n - `[Site_Name]` and `[Site_URL]` for the Application Name and URL respectively. ", - "Password_Changed_Email_Subject": "[Site_Name] - Password Changed", - "Password_changed_section": "Password Changed", - "Password_changed_successfully": "Password changed successfully", - "Password_History": "Password History", - "Password_History_Amount": "Password History Length", - "Password_History_Amount_Description": "Amount of most recently used passwords to prevent users from reusing.", - "Password_must_have": "Password must have:", - "Password_Policy": "Password Policy", - "Password_Policy_Aria_Description": "Below it's listed the password requirement verifications", - "Password_must_meet_the_complexity_requirements": "Password must meet the complexity requirements.", - "Password_to_access": "Password to access", - "Passwords_do_not_match": "Passwords do not match", - "Past_Chats": "Past Chats", - "Paste_here": "Paste here...", - "Paste": "Paste", - "Pause": "Pause", - "Paste_error": "Error reading from clipboard", - "Paid_Apps": "Paid Apps", - "Payload": "Payload", - "PDF": "PDF", - "pdf_success_message": "PDF Transcript successfully generated", - "pdf_error_message": "Error generating PDF Transcript", - "Peer_Password": "Peer Password", - "Pending": "Pending", - "pending": "pending", - "Pending_action": "Pending action", - "Pending Avatars": "Pending Avatars", - "Pending Files": "Pending Files", - "People": "People", - "Permalink": "Permalink", - "Permissions": "Permissions", - "Personal_Access_Tokens": "Personal Access Tokens", - "Pexip_Premium_only": "Pexip (Premium only)", - "Phone": "Phone", - "Phone_call": "Phone Call", - "Phone_Number": "Phone Number", - "Thank_you_exclamation_mark": "Thank you!", - "Thank_You_For_Choosing_RocketChat": "Thank you for choosing Rocket.Chat!", - "Phone_already_exists": "Phone already exists", - "Phone_number": "Phone number", - "PID": "PID", - "Pin": "Pin", - "Pin_Message": "Pin Message", - "pin-message": "Pin Message", - "pin-message_description": "Permission to pin a message in a channel", - "Pinned_a_message": "Pinned a message:", - "Pinned_Messages": "Pinned Messages", - "Pinned_messages_are_visible_to_everyone": "Pinned messages are visible to everyone", - "Pinned_messages_unavailable_for_federation": "Pinned Messages are not available for federated rooms.", - "pinning-not-allowed": "Pinning is not allowed", - "PiwikAdditionalTrackers": "Additional Piwik Sites", - "PiwikAdditionalTrackers_Description": "Enter addtitional Piwik website URLs and SiteIDs in the following format, if you want to track the same data into different websites: `[ { \"trackerURL\" : \"https://my.piwik.domain2/\", \"siteId\" : 42 }, { \"trackerURL\" : \"https://my.piwik.domain3/\", \"siteId\" : 15 } ]`", - "PiwikAnalytics_cookieDomain": "All Subdomains", - "PiwikAnalytics_cookieDomain_Description": "Track visitors across all subdomains", - "PiwikAnalytics_domains": "Hide Outgoing Links", - "PiwikAnalytics_domains_Description": "In the 'Outlinks' report, hide clicks to known alias URLs. Please insert one domain per line and do not use any separators.", - "PiwikAnalytics_prependDomain": "Prepend Domain", - "PiwikAnalytics_prependDomain_Description": "Prepend the site domain to the page title when tracking", - "PiwikAnalytics_siteId_Description": "The site id to use for identifying this site. Example: 17", - "PiwikAnalytics_url_Description": "The url where the Piwik resides, be sure to include the trailing slash. Example: `https://piwik.rocket.chat/`", - "Placeholder_for_email_or_username_login_field": "Placeholder for Email or Username Login Field", - "Placeholder_for_password_login_confirm_field": "Confirm Placeholder for Password Login Field", - "Placeholder_for_password_login_field": "Placeholder for Password Login Field", - "Platform_Windows": "Windows", - "Platform_Linux": "Linux", - "Platform_Mac": "Mac", - "Please_add_a_comment": "Please add a comment", - "Please_add_a_comment_to_close_the_room": "Please, add a comment to close the room", - "Please_answer_survey": "Please take a moment to answer a quick survey about this chat", - "Please_enter_usernames": "Please enter usernames...", - "please_enter_valid_domain": "Please enter a valid domain", - "Please_enter_value_for_url": "Please enter a value for the url of your avatar.", - "Please_enter_your_new_password_below": "Please enter your new password below:", - "Please_enter_your_password": "Please enter your password", - "Please_enter_E2EE_password": "Please enter your E2EE password", - "Please_fill_a_label": "Please fill a label", - "Please_fill_a_name": "Please fill a name", - "Please_fill_a_token_name": "Please fill a valid token name", - "Please_fill_a_username": "Please fill a username", - "Please_fill_all_the_information": "Please fill all the information", - "Please_fill_an_email": "Please fill an email", - "Please_fill_name_and_email": "Please fill name and email", - "Please_fill_out_reason_for_report": "Please fill out the reason for the report", - "Please_select_an_user": "Please select an user", - "Please_select_enabled_yes_or_no": "Please select an option for Enabled", - "Please_select_visibility": "Please select a visibility", - "Please_wait": "Please wait", - "Please_wait_activation": "Please wait, this can take some time.", - "Please_wait_while_OTR_is_being_established": "Please wait while OTR is being established", - "Please_wait_while_your_account_is_being_deleted": "Please wait while your account is being deleted...", - "Please_wait_while_your_profile_is_being_saved": "Please wait while your profile is being saved...", - "Policies": "Policies", - "Pool": "Pool", - "Port": "Port", - "Post_as": "Post as", - "Post_to": "Post to", - "Post_to_Channel": "Post to Channel", - "Post_to_s_as_s": "Post to %s as %s", - "post-readonly": "Post ReadOnly", - "post-readonly_description": "Permission to post a message in a read-only channel", - "Powered_by_JoyPixels": "Powered by JoyPixels", - "Powered_by_RocketChat": "Powered by Rocket.Chat", - "powers-of-ten": "powers of ten", - "powers-of-two": "powers of two", - "increments-of-two": "increments of two", - "Preferences": "Preferences", - "Preferences_saved": "Preferences saved", - "Preparing_data_for_import_process": "Preparing data for import process", - "Preparing_list_of_channels": "Preparing list of channels", - "Preparing_list_of_messages": "Preparing list of messages", - "Preparing_list_of_users": "Preparing list of users", - "Presence": "Presence", - "Preview": "Preview", - "preview-c-room": "Preview Public Channel", - "preview-c-room_description": "Permission to view the contents of a public channel before joining", - "Previous_month": "Previous Month", - "Previous_week": "Previous Week", - "Price": "Price", - "Priorities": "Priorities", - "Priority": "Priority", - "Priority_saved": "Priority saved", - "Priority_removed": "Priority removed", - "Priorities_restored": "Priorities restored", - "Privacy": "Privacy", - "Privacy_Policy": "Privacy Policy", - "Privacy_policy": "Privacy policy", - "Privacy_summary": "Privacy summary", - "Private": "Private", - "private": "private", - "Private_channels": "Private channels", - "Private_Apps": "Private Apps", - "Private_Channel": "Private Channel", - "Private_Channels": "Private channels", - "Private_Chats": "Private Chats", - "Private_Discussion": "Private discussion", - "Private_Group": "Private Group", - "Private_Groups": "Private groups", - "Private_Groups_list": "List of Private Groups", - "Private_Team": "Private Team", - "Productivity": "Productivity", - "Profile": "Profile", - "Profile_details": "Profile Details", - "Profile_picture": "Profile Picture", - "Profile_saved_successfully": "Profile saved successfully", - "Prometheus": "Prometheus", - "Prometheus_API_User_Agent": "API: Track User Agent", - "Prometheus_Garbage_Collector": "Collect NodeJS GC", - "Prometheus_Garbage_Collector_Alert": "Restart required to deactivate", - "Prometheus_Reset_Interval": "Reset Interval (ms)", - "Protocol": "Protocol", - "Prune": "Prune", - "Prune_finished": "Prune finished", - "Prune_Messages": "Prune Messages", - "Prune_Modal": "Are you sure you wish to prune these messages? Pruned messages cannot be recovered.", - "Prune_Warning_after": "This will delete all %s in %s after %s.", - "Prune_Warning_all": "This will delete all %s in %s!", - "Prune_Warning_before": "This will delete all %s in %s before %s.", - "Prune_Warning_between": "This will delete all %s in %s between %s and %s.", - "Pruning_files": "Pruning files...", - "Pruning_messages": "Pruning messages...", - "Public": "Public", - "public": "public", - "Public_Channel": "Public Channel", - "Public_Channels": "Public channels", - "Public_Community": "Public Community", - "Public_URL": "Public URL", - "Purchase_for_free": "Purchase for FREE", - "Purchase_for_price": "Purchase for $%s", - "Purchased": "Purchased", - "Push": "Push", - "Push_Description": "Enable and configure push notifications for workspace members using mobile devices.", - "Push_Notifications": "Push Notifications", - "Push_apn_cert": "APN Cert", - "Push_apn_dev_cert": "APN Dev Cert", - "Push_apn_dev_key": "APN Dev Key", - "Push_apn_dev_passphrase": "APN Dev Passphrase", - "Push_apn_key": "APN Key", - "Push_apn_passphrase": "APN Passphrase", - "Push_enable": "Enable", - "Push_UseLegacy": "Use legacy notification provider", - "Push_Setting_Legacy_Warning": "The legacy notification provider will be deprecated after June 20, 2024. See: https://firebase.google.com/support/faq#fcm-23-deprecation", - "Push_enable_gateway": "Enable Gateway", - "Push_enable_gateway_Description": "**Warning:** You need to accept to register your server (Setup Wizard > Organization Info > Register Server) and our privacy terms (Setup Wizard > Cloud Info > Cloud Service Privacy Terms Agreement) to enabled this setting and use our gateway. Even if this setting is on it **won't** work if the server isn't registered.", - "Push_gateway": "Gateway", - "Push_gateway_description": "Multiple lines can be used to specify multiple gateways", - "Push_gcm_api_key": "GCM API Key", - "Push_google_api_credentials": "Google FCM API Credentials", - "Push_gcm_project_number": "GCM Project Number", - "Push_production": "Production", - "Push_request_content_from_server": "Hide message content from Apple and Google (and the Gateway, if enabled)", - "Push_request_content_from_server_Description": "Instead of exposing the message content to Apple/Google by including it in the push notification data, push only a message id. The mobile client will dynamically fetch the content from the server and update the notification before displaying it. In the event of an API error, it will display “You have a new message”. This setting takes effect only on a Premium plan.", - "Push_Setting_Requires_Restart_Alert": "Changing this value requires restarting Rocket.Chat.", - "Push_show_message": "Show Message in Notification", - "Push_show_username_room": "Show Channel/Group/Username in Notification", - "Push_test_push": "Test", - "Query": "Query", - "Query_description": "Additional conditions for determining which users to send the email to. Unsubscribed users are automatically removed from the query. It must be a valid JSON. Example: \"{\"createdAt\":{\"$gt\":{\"$date\": \"2015-01-01T00:00:00.000Z\"}}}\"", - "Query_is_not_valid_JSON": "Query is not valid JSON", - "Queue": "Queue", - "Queued": "Queued", - "Queues": "Queues", - "Queue_delay_timeout": "Queue processing delay timeout", - "Queue_Time": "Queue Time", - "Queue_management": "Queue Management", - "Quick_reactions": "Quick reactions", - "Quick_reactions_description": "The three most used reactions get an easy access while your mouse is over the message", - "quote": "quote", - "Quote": "Quote", - "Random": "Random", - "Rate Limiter": "Rate Limiter", - "Rate Limiter_Description": "Control the rate of requests sent or received by your server to prevent cyber attacks and scraping.", - "Rate_Limiter_Limit_RegisterUser": "Default number calls to the rate limiter for registering a user", - "Rate_Limiter_Limit_RegisterUser_Description": "Number of default calls for user registering endpoints(REST and real-time API's), allowed within the time range defined in the API Rate Limiter section.", - "React_when_read_only": "Allow reacting", - "React_when_read_only_changed_successfully": "Allow reacting when read only changed successfully", - "React_with__reaction__": "Reacted with {{reaction}}", - "Reacted_with": "Reacted with", - "Reactions": "Reactions", - "Read_by": "Read by", - "Read_only": "Read-only", - "Read_only_field_hint_enabled": "Only {{roomType}} owners can send new messages", - "Read_only_field_hint_disabled": "Anyone can send new messages", - "Read_Receipts": "Read receipts", - "Readability": "Readability", - "This_room_is_read_only": "This room is read only", - "Only_people_with_permission_can_send_messages_here": "Only people with permission can send messages here", - "Read_only_changed_successfully": "Read only changed successfully", - "Read_only_channel": "Read Only Channel", - "Read_only_group": "Read Only Group", - "Real_Estate": "Real Estate", - "Real_Time_Monitoring": "Real-time Monitoring", - "RealName_Change_Disabled": "Your Rocket.Chat administrator has disabled the changing of names", - "Reason_for_joining": "Reason for joining", - "Reason_To_Join": "Reason to Join", - "Receive_alerts": "Receive alerts", - "Receive_Group_Mentions": "Receive @all and @here mentions", - "Receive_login_notifications": "Receive login notifications", - "Receive_Login_Detection_Emails": "Receive login detection emails", - "Receive_Login_Detection_Emails_Description": "Receive an email each time a new login is detected on your account.", - "Recent_Import_History": "Recent Import History", - "Record": "Record", - "Records": "Records", - "recording": "recording", - "Redirect_URI": "Redirect URI", - "Redirect_URL_does_not_match": "Redirect URL does not match", - "Refresh": "Refresh", - "Refresh_keys": "Refresh keys", - "Refresh_oauth_services": "Refresh OAuth Services", - "Refresh_your_page_after_install_to_enable_screen_sharing": "Refresh your page after install to enable screen sharing", - "Refreshing": "Refreshing", - "Regenerate_codes": "Regenerate codes", - "Regexp_validation": "Validation by regular expression", - "Register": "Register", - "Register_new_account": "Register a new account", - "Register_Server": "Register Server", - "Register_Server_Info": "Use the preconfigured gateways and proxies provided by Rocket.Chat Technologies Corp.", - "Register_Server_Opt_In": "Product and Security Updates", - "Register_Server_Registered": "Register to access", - "Register_Server_Registered_I_Agree": "I agree with the", - "Register_Server_Registered_Livechat": "Livechat omnichannel proxy", - "Register_Server_Registered_Marketplace": "Apps Marketplace", - "Register_Server_Registered_OAuth": "OAuth proxy for social network", - "Register_Server_Registered_Push_Notifications": "Mobile push notifications gateway", - "Register_Server_Standalone": "Keep standalone, you'll need to", - "Register_Server_Standalone_Own_Certificates": "Recompile the mobile apps with your own certificates", - "Register_Server_Standalone_Service_Providers": "Create accounts with service providers", - "Register_Server_Standalone_Update_Settings": "Update the preconfigured settings", - "Register_Server_Terms_Alert": "Please agree to terms to complete registration", - "register-on-cloud": "Register On Cloud", - "register-on-cloud_description": "Permission to register on cloud", - "Registration": "Registration", - "Registration_status": "Registration status", - "Registration_Succeeded": "Registration Succeeded", - "Registration_via_Admin": "Registration via Admin", - "Regular_Expressions": "Regular Expressions", - "Reject_call": "Reject call", - "Release": "Release", - "Releases": "Releases", - "Religious": "Religious", - "Reload": "Reload", - "Reload_page": "Reload Page", - "Reload_Pages": "Reload Pages", - "Remember_my_credentials": "Remember my credentials", - "Remove": "Remove", - "Remove_Admin": "Remove Admin", - "Remove_Association": "Remove Association", - "Remove_as_leader": "Remove as leader", - "Remove_as_moderator": "Remove as moderator", - "Remove_as_owner": "Remove as owner", - "remove-canned-responses": "Remove Canned Responses", - "remove-canned-responses_description": "Permission to remove canned responses", - "Remove_Channel_Links": "Remove channel links", - "Remove_custom_oauth": "Remove custom OAuth", - "Remove_from_room": "Remove from room", - "Remove_from_team": "Remove from team", - "Remove_last_admin": "Removing last admin", - "Remove_someone_from_room": "Remove someone from the room", - "remove-closed-livechat-room": "Remove Closed Omnichannel Room", - "remove-closed-livechat-room_description": "Permission to remove closed omnichannel room", - "remove-closed-livechat-rooms": "Remove All Closed Omnichannel Rooms", - "remove-closed-livechat-rooms_description": "Permission to remove all closed omnichannel rooms", - "remove-livechat-department": "Remove Omnichannel Departments", - "remove-livechat-department_description": "Permission to remove omnichannel departments", - "remove-slackbridge-links": "Remove Slackbridge Links", - "remove-slackbridge-links_description": "Permission to remove slackbridge links", - "remove-team-channel": "Remove Team Channel", - "remove-team-channel_description": "Permission to remove a team's channel", - "remove-user": "Remove User", - "remove-user_description": "Permission to remove a user from a room", - "Removed": "Removed", - "Removed_User": "Removed User", - "Removed__roomName__from_this_team": "removed #{{roomName}} from this Team", - "Removed__username__from_team": "removed @{{user_removed}} from this Team", - "Removed__roomName__from_the_team": "removed #{{roomName}} from this team", - "Removed__username__from_the_team": "removed @{{user_removed}} from this team", - "Replay": "Replay", - "Replied_on": "Replied on", - "Replies": "Replies", - "Reply": "Reply", - "Reply_in_direct_message": "Reply in direct message", - "Reply_in_thread": "Reply in thread", - "Reply_via_Email": "Reply via email", - "ReplyTo": "Reply-To", - "Report": "Report", - "Reports": "Reports", - "Report_Abuse": "Report Abuse", - "Reported_Messages": "Reported messages", - "Reported_Users": "Reported users", - "Report_exclamation_mark": "Report!", - "Report_has_been_sent": "Report has been sent", - "Report_Number": "Report Number", - "Report_this_message_question_mark": "Report this message?", - "Report_User": "Report user", - "Reporting": "Reporting", - "Request": "Request", - "Request_comment_when_closing_conversation": "Request comment when closing conversation", - "Request_comment_when_closing_conversation_description": "If enabled, the agent will need to set a comment before the conversation is closed.", - "Request_tag_before_closing_chat": "Request tag(s) before closing conversation", - "request": "request", - "requests": "requests", - "Requests": "Requests", - "Search_Enterprise_Apps": "Search Enterprise apps", - "Requested": "Requested", - "Requested_apps_will_appear_here": "Requested apps will appear here", - "request-pdf-transcript": "Request PDF Transcript", - "request-pdf-transcript_description": "Permission to request a PDF transcript for a given Omnichannel room", - "Requested_At": "Requested At", - "Requested_By": "Requested By", - "Require": "Require", - "Required": "Required", - "required": "required", - "Require_all_tokens": "Require all tokens", - "Require_any_token": "Require any token", - "Require_password_change": "Require password change", - "Require_Two_Factor_Authentication": "Require Two Factor Authentication", - "Resend_verification_email": "Resend verification email", - "Resend_welcome_email": "Resend welcome email", - "Reset": "Reset", - "Reset_priorities": "Reset priorities", - "Reset_Connection": "Reset Connection", - "Reset_E2E_Key": "Reset E2E Key", - "Reset_password": "Reset password", - "Reset_section_settings": "Restore defaults", - "Reset_TOTP": "Reset TOTP", - "reset-other-user-e2e-key": "Reset Other User E2E Key", - "Responding": "Responding", - "Response_description_post": "Empty bodies or bodies with an empty text property will simply be ignored. Non-200 responses will be retried a reasonable number of times. A response will be posted using the alias and avatar specified above. You can override these informations as in the example above.", - "Response_description_pre": "If the handler wishes to post a response back into the channel, the following JSON should be returned as the body of the response:", - "Restart": "Restart", - "Restart_the_server": "Restart The Server", - "restart-server": "Restart the server", - "restart-server_description": "Permission to restart the server", - "Results": "Results", - "Resume": "Resume", - "Retail": "Retail", - "Retention_setting_changed_successfully": "Retention policy setting changed successfully", - "RetentionPolicy": "Retention Policy", - "RetentionPolicy_Advanced_Precision": "Use Advanced Retention Policy configuration", - "RetentionPolicy_Advanced_Precision_Cron": "Use Advanced Retention Policy Cron", - "RetentionPolicy_Advanced_Precision_Cron_Description": "How often the prune timer should run defined by cron job expression. Setting this to a more precise value makes channels with fast retention timers work better, but might cost extra processing power on large communities.", - "RetentionPolicy_AppliesToChannels": "Prune in public rooms", - "RetentionPolicy_AppliesToChannels_Description": "Includes public channels, discussions and teams.", - "RetentionPolicy_AppliesToDMs": "Prune in direct messages", - "RetentionPolicy_AppliesToGroups": "Prune in private rooms", - "RetentionPolicy_AppliesToGroups_Description": "Includes private channels, discussions and teams.", - "RetentionPolicy_Description": "Automatically prune old messages and files across your workspace.", - "RetentionPolicy_DoNotPruneDiscussion": "Do not prune discussion messages", - "RetentionPolicy_DoNotPrunePinned": "Do not prune pinned messages", - "RetentionPolicy_DoNotPruneThreads": "Do not prune Threads", - "RetentionPolicy_Enabled": "Enabled", - "RetentionPolicy_ExcludePinned": "Exclude pinned messages", - "RetentionPolicy_FilesOnly": "Only delete files", - "RetentionPolicy_FilesOnly_Description": "Only files will be deleted, the messages themselves will stay in place.", - "RetentionPolicy_MaxAge": "Maximum message age", - "RetentionPolicy_TTL_Channels": "Prune messages older than", - "RetentionPolicy_TTL_DMs": "Prune messages older than", - "RetentionPolicy_TTL_Groups": "Prune messages older than", - "RetentionPolicy_MaxAge_Channels": "Maximum message age in channels", - "RetentionPolicy_MaxAge_Description": "Prune all messages older than this value, in days", - "RetentionPolicy_MaxAge_DMs": "Maximum message age in direct messages", - "RetentionPolicy_MaxAge_Groups": "Maximum message age in private groups", - "RetentionPolicy_Precision": "Timer Precision", - "RetentionPolicy_Precision_Description": "How often the prune timer should run. Setting this to a more precise value makes channels with fast retention timers work better, but might cost extra processing power on large communities.", - "RetentionPolicy_RoomWarning_NextRunDate": "Messages older than {{maxAge}} will be pruned on {{nextRunDate}}", - "RetentionPolicy_RoomWarning_FilesOnly_NextRunDate": "Files older than {{maxAge}} will be pruned on {{nextRunDate}}.", - "RetentionPolicy_RoomWarning_Unpinned_NextRunDate": "Unpinned messages older than {{maxAge}} will be pruned on {{nextRunDate}}.", - "RetentionPolicy_RoomWarning_UnpinnedFilesOnly_NextRunDate": "Unpinned files older than {{maxAge}} will be pruned on {{nextRunDate}}.", - "RetentionPolicyRoom_Enabled": "Automatically prune old messages", - "RetentionPolicyRoom_ExcludePinned": "Exclude pinned messages", - "RetentionPolicyRoom_FilesOnly": "Prune files only, keep messages", - "RetentionPolicyRoom_MaxAge": "Maximum message age in days (default: {{max}})", - "RetentionPolicyRoom_OverrideGlobal": "Override global retention policy", - "RetentionPolicyRoom_ReadTheDocs": "Watch out! Tweaking these settings without utmost care can destroy all message history. Please read the documentation before turning the feature on here.", - "Retention_policy_warning_banner": "Retention policy warning banner", - "Retention_policy_warning_callout": "Retention policy warning callout", - "Retry": "Retry", - "Return_to_home": "Return to home", - "Return_to_previous_page": "Return to previous page", - "Return_to_the_queue": "Return back to the Queue", - "Review_devices": "Review when and where devices are connecting from", - "Ringing": "Ringing", - "Ringtones_and_visual_indicators_notify_people_of_incoming_calls": "Ringtones and visual indicators notify people of incoming calls.", - "Right": "Right", - "Robot_Instructions_File_Content": "Robots.txt File Contents", - "Root": "Root", - "Required_action": "Required action", - "Default_Referrer_Policy": "Default Referrer Policy", - "Default_Referrer_Policy_Description": "This controls the 'referrer' header that's sent when requesting embedded media from other servers. For more information, refer to [this link from MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy). Remember, a full page refresh is required for this to take effect", - "No_feature_to_preview": "No feature to preview", - "No_Referrer": "No Referrer", - "No_Referrer_When_Downgrade": "No referrer when downgrade", - "Notes": "Notes", - "Origin": "Origin", - "Origin_When_Cross_Origin": "Origin when cross origin", - "Same_Origin": "Same origin", - "Strict_Origin": "Strict origin", - "Strict_Origin_When_Cross_Origin": "Strict origin when cross origin", - "UIKit_Interaction_Timeout": "App has failed to respond. Please try again or contact your admin", - "Unsafe_Url": "Unsafe URL", - "Rocket_Chat_Alert": "Rocket.Chat Alert", - "Role": "Role", - "Roles": "Roles", - "Role_Editing": "Role Editing", - "Role_Mapping": "Role mapping", - "Role_removed": "Role removed", - "Room": "Room", - "room_allowed_reacting": "Room allowed reacting by {{user_by}}", - "room_allowed_reactions": "allowed reactions", - "Room_announcement_changed_successfully": "Room announcement changed successfully", - "Room_archivation_state": "State", - "Room_archivation_state_false": "Active", - "Room_archivation_state_true": "Archived", - "Room_archived": "Room archived", - "room_changed_announcement": "Room announcement changed to: {{room_announcement}} by {{user_by}}", - "room_changed_avatar": "Room avatar changed by {{user_by}}", - "room_avatar_changed": "changed room avatar", - "room_changed_description": "Room description changed to: {{room_description}} by {{user_by}}", - "room_changed_privacy": "Room type changed to: {{room_type}} by {{user_by}}", - "room_changed_topic": "Room topic changed to: {{room_topic}} by {{user_by}}", - "room_changed_type": "changed room to {{room_type}}", - "room_changed_topic_to": "changed room topic to {{room_topic}}", - "Room_default_change_to_private_will_be_default_no_more": "This is a default channel and changing it to a private group will cause it to no longer be a default channel. Do you want to proceed?", - "Room_description_changed_successfully": "Room description changed successfully", - "room_disallowed_reacting": "Room disallowed reacting by {{user_by}}", - "room_disallowed_reactions": "disallowed reactions", - "Room_Edit": "Room Edit", - "Room_has_been_archived": "Room has been archived", - "Room_has_been_converted": "Room has been converted", - "Room_has_been_created": "Room has been created", - "Room_has_been_removed": "Room has been removed", - "Room_has_been_unarchived": "Room has been unarchived", - "Room_Info": "Room Information", - "room_is_blocked": "This room is blocked", - "room_account_deactivated": "This account is deactivated", - "room_is_read_only": "This room is read only", - "room_name": "room name", - "Room_name_changed": "Room name changed to: {{room_name}} by {{user_by}}", - "Room_name_changed_to": "changed room name to {{room_name}}", - "Room_name_changed_successfully": "Room name changed successfully", - "Room_not_exist_or_not_permission": "The room does not exist or you may not have access permission", - "Room_not_found": "Room not found", - "Room_password_changed_successfully": "Room password changed successfully", - "room_removed_read_only": "Room added writing permission by {{user_by}}", - "room_set_read_only": "Room set as Read Only by {{user_by}}", - "Room_Status_Open": "Open", - "room_removed_read_only_permission": "removed read only permission", - "room_set_read_only_permission": "set room to read only", - "Room_topic_changed_successfully": "Room topic changed successfully", - "Room_type_changed_successfully": "Room type changed successfully", - "Room_type_of_default_rooms_cant_be_changed": "This is a default room and the type can not be changed, please consult with your administrator.", - "Room_unarchived": "Room unarchived", - "Room_updated_successfully": "Room updated successfully!", - "Room_uploaded_file_list": "Files List", - "Room_uploaded_file_list_empty": "No files available.", - "Rooms": "Rooms", - "Rooms_added_successfully": "Rooms added successfully", - "Routing": "Routing", - "Run_only_once_for_each_visitor": "Run only once for each visitor", - "run-import": "Run Import", - "run-import_description": "Permission to run the importers", - "run-migration": "Run Migration", - "run-migration_description": "Permission to run the migrations", - "Running_Instances": "Running Instances", - "Runtime_Environment": "Runtime Environment", - "S_new_messages_since_s": "%s new messages since %s", - "S_new_messages": "%s new messages", - "Same_As_Token_Sent_Via": "Same as \"Token Sent Via\"", - "Same_Style_For_Mentions": "Same style for mentions", - "SAML": "SAML", - "SAML_Description": "Security Assertion Markup Language used for exchanging authentication and authorization data.", - "SAML_Allowed_Clock_Drift": "Allowed clock drift from Identity Provider", - "SAML_Allowed_Clock_Drift_Description": "The clock of the Identity Provider may drift slightly ahead of your system clocks. You can allow for a small amount of clock drift. Its value must be given in a number of milliseconds (ms). The value given is added to the current time at which the response is validated.", - "SAML_AuthnContext_Template": "AuthnContext Template", - "SAML_AuthnContext_Template_Description": "You can use any variable from the AuthnRequest Template here. \n \n To add additional authn contexts, duplicate the {{AuthnContextClassRef}} tag and replace the {{\\_\\_authnContext\\_\\}} variable with the new context.", - "SAML_AuthnRequest_Template": "AuthnRequest Template", - "SAML_AuthnRequest_Template_Description": "The following variables are available: \n- **\\_\\_newId\\_\\_**: Randomly generated id string \n- **\\_\\_instant\\_\\_**: Current timestamp \n- **\\_\\_callbackUrl\\_\\_**: The Rocket.Chat callback URL. \n- **\\_\\_entryPoint\\_\\_**: The value of the {{Custom Entry Point}} setting. \n- **\\_\\_issuer\\_\\_**: The value of the {{Custom Issuer}} setting. \n- **\\_\\_identifierFormatTag\\_\\_**: The contents of the {{NameID Policy Template}} if a valid {{Identifier Format}} is configured. \n- **\\_\\_identifierFormat\\_\\_**: The value of the {{Identifier Format}} setting. \n- **\\_\\_authnContextTag\\_\\_**: The contents of the {{AuthnContext Template}} if a valid {{Custom Authn Context}} is configured. \n- **\\_\\_authnContextComparison\\_\\_**: The value of the {{Authn Context Comparison}} setting. \n- **\\_\\_authnContext\\_\\_**: The value of the {{Custom Authn Context}} setting.", - "SAML_Connection": "Connection", - "SAML_Enterprise": "Premium", - "SAML_General": "General", - "SAML_Custom_Authn_Context": "Custom Authn Context", - "SAML_Custom_Authn_Context_Comparison": "Authn Context Comparison", - "SAML_Custom_Authn_Context_description": "Leave this empty to omit the authn context from the request. \n \n To add multiple authn contexts, add the additional ones directly to the {{AuthnContext Template}} setting.", - "SAML_Custom_Cert": "Custom Certificate", - "SAML_Custom_Debug": "Enable Debug", - "SAML_Custom_EMail_Field": "E-Mail field name", - "SAML_Custom_Entry_point": "Custom Entry Point", - "SAML_Custom_Generate_Username": "Generate Username", - "SAML_Custom_IDP_SLO_Redirect_URL": "IDP SLO Redirect URL", - "SAML_Custom_Immutable_Property": "Immutable field name", - "SAML_Custom_Immutable_Property_EMail": "E-Mail", - "SAML_Custom_Immutable_Property_Username": "Username", - "SAML_Custom_Issuer": "Custom Issuer", - "SAML_Custom_Logout_Behaviour": "Logout Behaviour", - "SAML_Custom_Logout_Behaviour_End_Only_RocketChat": "Only log out from Rocket.Chat", - "SAML_Custom_Logout_Behaviour_Terminate_SAML_Session": "Terminate SAML-session", - "SAML_Custom_mail_overwrite": "Overwrite user mail (use idp attribute)", - "SAML_Custom_name_overwrite": "Overwrite user fullname (use idp attribute)", - "SAML_Custom_Private_Key": "Private Key Contents", - "SAML_Custom_Provider": "Custom Provider", - "SAML_Custom_Public_Cert": "Public Cert Contents", - "SAML_Custom_signature_validation_all": "Validate All Signatures", - "SAML_Custom_signature_validation_assertion": "Validate Assertion Signature", - "SAML_Custom_signature_validation_either": "Validate Either Signature", - "SAML_Custom_signature_validation_response": "Validate Response Signature", - "SAML_Custom_signature_validation_type": "Signature Validation Type", - "SAML_Custom_signature_validation_type_description": "This setting will be ignored if no Custom Certificate is provided.", - "SAML_Custom_user_data_fieldmap": "User Data Field Map", - "SAML_Custom_user_data_fieldmap_description": "Configure how user account fields (like email) are populated from a record in SAML (once found). \nAs an example, `{\"name\":\"cn\", \"email\":\"mail\"}` will choose a person's human readable name from the cn attribute, and their email from the mail attribute. \nAvailable fields in Rocket.Chat: `name`, `email` and `username`, everything else will be discarted. \n`{\"email\": \"mail\",\"username\": {\"fieldName\": \"mail\",\"regex\": \"(.*)@.+$\",\"template\": \"user-regex\"}, \"name\": { \"fieldNames\": [\"firstName\", \"lastName\"], \"template\": \"{{firstName}} {{lastName}}\"}, \"{{identifier}}\": \"uid\"}`", - "SAML_Custom_user_data_custom_fieldmap": "User Data Custom Field Map", - "SAML_Custom_user_data_custom_fieldmap_description": "Configure how user custom fields are populated from a record in SAML (once found).", - "SAML_Custom_Username_Field": "Username field name", - "SAML_Custom_Username_Normalize": "Normalize username", - "SAML_Custom_Username_Normalize_Lowercase": "To Lowercase", - "SAML_Custom_Username_Normalize_None": "No normalization", - "SAML_Default_User_Role": "Default User Role", - "SAML_Default_User_Role_Description": "You can specify multiple roles, separating them with commas.", - "SAML_Identifier_Format": "Identifier Format", - "SAML_Identifier_Format_Description": "Leave this empty to omit the NameID Policy from the request.", - "SAML_LogoutRequest_Template": "Logout Request Template", - "SAML_LogoutRequest_Template_Description": "The following variables are available: \n- **\\_\\_newId\\_\\_**: Randomly generated id string \n- **\\_\\_instant\\_\\_**: Current timestamp \n- **\\_\\_idpSLORedirectURL\\_\\_**: The IDP Single LogOut URL to redirect to. \n- **\\_\\_issuer\\_\\_**: The value of the {{Custom Issuer}} setting. \n- **\\_\\_identifierFormat\\_\\_**: The value of the {{Identifier Format}} setting. \n- **\\_\\_nameID\\_\\_**: The NameID received from the IdP when the user logged in. \n- **\\_\\_sessionIndex\\_\\_**: The sessionIndex received from the IdP when the user logged in.", - "SAML_LogoutResponse_Template": "Logout Response Template", - "SAML_LogoutResponse_Template_Description": "The following variables are available: \n- **\\_\\_newId\\_\\_**: Randomly generated id string \n- **\\_\\_inResponseToId\\_\\_**: The ID of the Logout Request received from the IdP \n- **\\_\\_instant\\_\\_**: Current timestamp \n- **\\_\\_idpSLORedirectURL\\_\\_**: The IDP Single LogOut URL to redirect to. \n- **\\_\\_issuer\\_\\_**: The value of the {{Custom Issuer}} setting. \n- **\\_\\_identifierFormat\\_\\_**: The value of the {{Identifier Format}} setting. \n- **\\_\\_nameID\\_\\_**: The NameID received from the IdP Logout Request. \n- **\\_\\_sessionIndex\\_\\_**: The sessionIndex received from the IdP Logout Request.", - "SAML_Metadata_Certificate_Template_Description": "The following variables are available: \n- **\\_\\_certificate\\_\\_**: The private certificate for assertion encryption.", - "SAML_Metadata_Template": "Metadata Template", - "SAML_Metadata_Template_Description": "The following variables are available: \n- **\\_\\_sloLocation\\_\\_**: The Rocket.Chat Single LogOut URL. \n- **\\_\\_issuer\\_\\_**: The value of the {{Custom Issuer}} setting. \n- **\\_\\_identifierFormat\\_\\_**: The value of the {{Identifier Format}} setting. \n- **\\_\\_certificateTag\\_\\_**: If a private certificate is configured, this will include the {{Metadata Certificate Template}}, otherwise it will be ignored. \n- **\\_\\_callbackUrl\\_\\_**: The Rocket.Chat callback URL.", - "SAML_MetadataCertificate_Template": "Metadata Certificate Template", - "SAML_NameIdPolicy_Template": "NameID Policy Template", - "SAML_NameIdPolicy_Template_Description": "You can use any variable from the Authorize Request Template here.", - "SAML_Role_Attribute_Name": "Role Attribute Name", - "SAML_Role_Attribute_Name_Description": "If this attribute is found on the SAML response, it's values will be used as role names for new users.", - "SAML_Role_Attribute_Sync": "Sync User Roles", - "SAML_Role_Attribute_Sync_Description": "Sync SAML user roles on login (overwrites local user roles).", - "SAML_Section_1_User_Interface": "User Interface", - "SAML_Section_2_Certificate": "Certificate", - "SAML_Section_3_Behavior": "Behavior", - "SAML_Section_4_Roles": "Roles", - "SAML_Section_5_Mapping": "Mapping", - "SAML_Section_6_Advanced": "Advanced", - "SAML_Custom_channels_update": "Update Room Subscriptions on Each Login", - "SAML_Custom_channels_update_description": "Ensures user is a member of all channels in SAML assertion on every login.", - "SAML_Custom_include_private_channels_update": "Include Private Rooms in Room Subscription", - "SAML_Custom_include_private_channels_update_description": "Adds user to any private rooms that exist in the SAML assertion.", - "Saturday": "Saturday", - "Save": "Save", - "Save_changes": "Save changes", - "Save_E2EE_password": "Save E2EE password", - "Save_Mobile_Bandwidth": "Save Mobile Bandwidth", - "Save_to_enable_this_action": "Save to enable this action", - "Save_To_Webdav": "Save to WebDAV", - "Save_user": "Save user", - "Save_your_encryption_password": "Save your encryption password", - "Save_your_encryption_password_to_access": "Save your end-to-end encryption password to access", - "save-all-canned-responses": "Save All Canned Responses", - "save-all-canned-responses_description": "Permission to save all canned responses", - "save-canned-responses": "Save Canned Responses", - "save-canned-responses_description": "Permission to save canned responses", - "save-department-canned-responses": "Save Department Canned Responses", - "save-department-canned-responses_description": "Permission to save department canned responses", - "save-others-livechat-room-info": "Save Others Omnichannel Room Info", - "save-others-livechat-room-info_description": "Permission to save information from other omnichannel rooms", - "Saved": "Saved", - "Saving": "Saving", - "Scan_QR_code": "Using an authenticator app like Google Authenticator, Authy or Duo, scan the QR code. It will display a 6 digit code which you need to enter below.", - "Scan_QR_code_alternative_s": "If you can't scan the QR code, you may enter code manually instead:", - "Scope": "Scope", - "Score": "Score", - "Screen_Lock": "Screen Lock", - "Screen_Share": "Screen Share", - "Script": "Script", - "Script_Enabled": "Script Enabled", - "Script_Engine": "Script Sandbox", - "Script_Engine_Description": "Older scripts may require the compatible sandbox to run properly, but all new scripts should try to use the secure sandbox instead.", - "Script_Engine_vm2": "Compatible Sandbox (Deprecated)", - "Script_Engine_isolated_vm": "Secure Sandbox", - "Search": "Search", - "Searchable": "Searchable", - "Search_Apps": "Search apps", - "Search_Installed_Apps": "Search installed apps", - "Search_Private_apps": "Search private apps", - "Search_Requested_Apps": "Search requested apps", - "Search_Premium_Apps": "Search Premium apps", - "Search_by_file_name": "Search by file name", - "Search_by_username": "Search by username", - "Search_by_category": "Search by category", - "Search_Channels": "Search Channels", - "Search_Chat_History": "Search Chat History", - "Search_current_provider_not_active": "Current Search Provider is not active", - "Search_Description": "Select workspace search provider and configure search related settings.", - "Search_Devices_Users": "Search devices or users", - "Search_Files": "Search Files", - "Search_for_a_more_general_term": "Search for a more general term", - "Search_for_a_more_specific_term": "Search for a more specific term", - "Search_Integrations": "Search Integrations", - "Search_message_search_failed": "Search request failed", - "Search_Messages": "Search Messages", - "Search_on_marketplace": "Search on Marketplace", - "Search_Page_Size": "Page Size", - "Search_Private_Groups": "Search Private Groups", - "Search_Provider": "Search Provider", - "Search_roles": "Search roles", - "Search_rooms": "Search rooms", - "Search_Rooms": "Search Rooms", - "Search_Users": "Search Users", - "Seats_Available": "{{seatsLeft, number}} Seats Available", - "MAC_Available": "{{macLeft, number}} MAC's Available", - "used_limit": "{{used, number}} / {{limit, number}}", - "used_limit_infinite": "{{used, number}} / ∞", - "Seats_usage": "Seats Usage", - "seconds": "seconds", - "Secret_token": "Secret Token", - "Secure_SaaS_solution": "Secure SaaS solution.", - "Security": "Security", - "See_all_themes": "See all themes", - "See_documentation": "See documentation", - "See_Paid_Plan": "See paid plan", - "See_Pricing": "See Pricing", - "See_full_profile": "See full profile", - "See_history": "See history", - "See_on_Engagement_Dashboard": "See on Engagement Dashboard", - "Select": "Select", - "Select_a_department": "Select a department", - "Select_a_room": "Select a room", - "Select_a_user": "Select a user", - "Select_a_webdav_server": "Select a WebDAV server", - "Select_an_avatar": "Select an avatar", - "Select_an_option": "Select an option", - "Select_at_least_one_user": "Select at least one user", - "Select_at_least_two_users": "Select at least two users", - "Select_department": "Select a department", - "Select_file": "Select file", - "Select_role": "Select a Role", - "Select_service_to_login": "Select a service to login to load your picture or upload one directly from your computer", - "Select_tag": "Select a tag", - "Select_the_channels_you_want_the_user_to_be_removed_from": "Select the channels you want the user to be removed from", - "Select_the_teams_channels_you_would_like_to_delete": "Select the Team’s Channels you would like to delete, the ones you do not select will be moved to the Workspace.", - "Select_atleast_one_channel_to_forward_the_messsage_to": "Select at least one channel to forward the message to", - "Select_user": "Select user", - "Select_users": "Select users", - "Select_period": "Select period", - "Selected_agents": "Selected agents", - "Selected_by_default": "Selected by default", - "Selected_departments": "Selected Departments", - "Selected_first_reply_unselected_following_replies": "Selected for first reply, unselected for following replies", - "Selected_monitors": "Selected Monitors", - "Selecting_users": "Selecting users", - "Send": "Send", - "Send_a_message": "Send a message", - "Send_a_message_external_service": "Send a message (external service)", - "Send_a_test_mail_to_my_user": "Send a test mail to my user", - "Send_a_test_push_to_my_user": "Send a test push to my user", - "Send_confirmation_email": "Send confirmation email", - "Send_data_into_RocketChat_in_realtime": "Send data into Rocket.Chat in real-time.", - "Send_email": "Send Email", - "Send_Email_SMTP_Warning": "Set up the SMTP server in email settings to enable.", - "Send_invitation_email": "Send invitation email", - "Send_invitation_email_error": "You haven't provided any valid email address.", - "Send_invitation_email_info": "You can send multiple email invitations at once.", - "Send_invitation_email_success": "You have successfully sent an invitation email to the following addresses:", - "Send_it_as_attachment_instead_question": "Send it as attachment instead?", - "Send_me_the_code_again": "Send me the code again", - "Send_request_on": "Send Request on", - "Send_request_on_agent_message": "Send Request on Agent Messages", - "Send_request_on_chat_close": "Send Request on Chat Close", - "Send_request_on_chat_queued": "Send request on Chat Queued", - "Send_request_on_chat_start": "Send Request on Chat Start", - "Send_request_on_chat_taken": "Send Request on Chat Taken", - "Send_request_on_forwarding": "Send Request on Forwarding", - "Send_request_on_lead_capture": "Send request on lead capture", - "Send_request_on_offline_messages": "Send Request on Offline Messages", - "Send_request_on_visitor_message": "Send Request on Visitor Messages", - "Send_Test": "Send Test", - "Send_Test_Email": "Send test email", - "Send_via_email": "Send via email", - "Send_via_Email_as_attachment": "Send via Email as attachment", - "Export_as_PDF": "Export as PDF", - "Export_enabled_at_the_end_of_the_conversation": "Export enabled at the end of the conversation", - "Send_Visitor_navigation_history_as_a_message": "Send Visitor Navigation History as a Message", - "Send_visitor_navigation_history_on_request": "Send Visitor Navigation History on Request", - "Send_welcome_email": "Send welcome email", - "Send_your_JSON_payloads_to_this_URL": "Send your JSON payloads to this URL.", - "send-mail": "Send Emails", - "send-mail_description": "Permission to send emails", - "send-many-messages": "Send Many Messages", - "send-many-messages_description": "Permission to bypasses rate limit of 5 messages per second", - "send-omnichannel-chat-transcript": "Send Omnichannel Conversation Transcript", - "send-omnichannel-chat-transcript_description": "Permission to send omnichannel conversation transcript", - "Sender": "Sender", - "Sender_Info": "Sender Info", - "Sending": "Sending...", - "Sending_Invitations": "Sending invitations", - "Sending_your_mail_to_s": "Sending your mail to %s", - "Sent_an_attachment": "Sent an attachment", - "Sent_from": "Sent from", - "Separate_multiple_words_with_commas": "Separate multiple words with commas", - "Served_By": "Served By", - "Server": "Server", - "Server_already_added": "Server already added", - "Server_doesnt_exist": "Server doesn't exist", - "Servers": "Servers", - "Server_Configuration": "Server Configuration", - "Server_File_Path": "Server File Path", - "Server_Folder_Path": "Server Folder Path", - "Server_Info": "Server Info", - "Server_name": "Server name", - "Server_Type": "Server Type", - "Service": "Service", - "Service_account_key": "Service account key", - "Service_fallback_message_hint": "External service is currently active. Leave the field empty if you do not wish to send the message after the timeout ends.", - "Set_as_favorite": "Set as favorite", - "Set_as_leader": "Set as leader", - "Set_as_moderator": "Set as moderator", - "Set_as_owner": "Set as owner", - "Upload_app": "Upload App", - "Set_randomly_and_send_by_email": "Set randomly and send by email", - "Set_random_password_and_send_by_email": "Set random password and send by email", - "set-leader": "Set Leader", - "set-leader_description": "Permission to set other users as leader of a channel", - "Set_manually": "Set manually", - "set-moderator": "Set Moderator", - "set-moderator_description": "Permission to set other users as moderator of a channel", - "set-owner": "Set Owner", - "set-owner_description": "Permission to set other users as owner of a channel", - "set-react-when-readonly": "Set React When ReadOnly", - "set-react-when-readonly_description": "Permission to set the ability to react to messages in a read only channel", - "set-readonly": "Set ReadOnly", - "set-readonly_description": "Permission to set a channel to read only channel", - "Settings": "Settings", - "Settings_updated": "Settings updated", - "Setup_SMTP": "Set up SMTP", - "Setup_Wizard": "Setup Wizard", - "Setup_Wizard_Description": "Basic info about your workspace such as organization name and country.", - "Setup_Wizard_Info": "We'll guide you through setting up your first admin user, configuring your organisation and registering your server to receive free push notifications and more.", - "Share": "Share", - "Share_Location_Title": "Share Location?", - "Share_screen": "Share screen", - "New_CannedResponse": "New Canned Response", - "Edit_CannedResponse": "Edit Canned Response", - "Sharing": "Sharing", - "Shared_Location": "Shared Location", - "Shared_Secret": "Shared Secret", - "Shortcut": "Shortcut", - "shortcut_name": "shortcut name", - "Should_be_a_URL_of_an_image": "Should be a URL of an image.", - "Should_exists_a_user_with_this_username": "The user must already exist.", - "Show_additional_fields": "Show additional fields", - "Show_agent_email": "Show agent email", - "Show_agent_info": "Show agent information", - "Show_all": "Show All", - "Show_Avatars": "Show Avatars", - "Show_counter": "Mark as unread", - "Show_default_content": "Show default content", - "Show_email_field": "Show email field", - "Show_mentions": "Show badge for mentions", - "Show_more": "Show more", - "Show_name_field": "Show name field", - "show_offline_users": "show offline users", - "Accept_receive_inquiry_no_online_agents": "Allow department to receive forwarded inquiries even when there's no available agents", - "Accept_receive_inquiry_no_online_agents_Hint": "This method is effective only with automatic assignment routing methods, and does not apply to Manual Selection.", - "Show_on_offline_page": "Show on offline page", - "Show_on_registration_page": "Show on registration page", - "Show_only_online": "Show Online Only", - "Show_Only_This_Content": "Show only this content", - "Show_preregistration_form": "Show Pre-registration Form", - "Show_queue_list_to_all_agents": "Show Queue List to All Agents", - "Show_room_counter_on_sidebar": "Show room counter on sidebar", - "Show_Setup_Wizard": "Show Setup Wizard", - "Show_the_keyboard_shortcut_list": "Show the keyboard shortcut list", - "Show_To_Workspace": "Show to workspace", - "Show_video": "Show video", - "Showing": "Showing", - "Showing_archived_results": "

Showing %s archived results

", - "Showing_current_of_total": "Showing {{current}} of {{total}}", - "Showing_online_users": "Showing: {{total_showing}}, Online: {{online}}, Total: {{total}} users", - "Showing_results": "

Showing %s results

", - "Showing_results_of": "Showing results %s - %s of %s", - "Show_usernames": "Show usernames", - "Show_roles": "Show roles", - "Show_or_hide_the_user_roles_of_message_authors": "Show or hide the user roles of message authors.", - "Show_or_hide_the_username_of_message_authors": "Show or hide the username of message authors.", - "Sidebar": "Sidebar", - "Sidebar_actions": "Sidebar actions", - "Sidebar_list_mode": "Sidebar Channel List Mode", - "Sign_in_to_start_talking": "Sign in to start talking", - "Sign_in_with__provider__": "Sign in with {{provider}}", - "since_creation": "since %s", - "Site_Name": "Site Name", - "Site_Url": "Site URL", - "Site_Url_Description": "Example: `https://chat.domain.com/`", - "Size": "Size", - "Skin_tone": "Skin tone", - "Skip": "Skip", - "Skip_to_main_content": "Skip to main content", - "SLA_Policy": "SLA Policy", - "SLA_Policies": "SLA Policies", - "SLA_removed": "SLA removed", - "Slack": "Slack", - "Slack_Users": "Slack's Users CSV", - "SlackBridge_APIToken": "API Tokens (Legacy)", - "SlackBridge_UseLegacy": "Use Legacy API Tokens", - "SlackBridge_APIToken_Description": "You can configure multiple slack servers by adding one API Token per line.", - "SlackBridge_BotToken": "Bot Tokens", - "SlackBridge_BotToken_Description": "You can configure multiple slack servers by adding one Bot Token per line.", - "SlackBridge_AppToken": "App Tokens", - "SlackBridge_AppToken_Description": "You can configure multiple slack servers by adding one App Token per line.", - "SlackBridge_SigningSecret": "Signing Secret", - "SlackBridge_SigningSecret_Description": "You can configure multiple slack servers by adding one signing secret per line.", - "Slackbridge_channel_links_removed_successfully": "The slackbridge channel links have been removed successfully.", - "SlackBridge_Description": "Enable Rocket.Chat to communicate directly with Slack.", - "SlackBridge_error": "SlackBridge got an error while importing your messages at %s: %s", - "SlackBridge_finish": "SlackBridge has finished importing the messages at %s. Please reload to view all messages.", - "SlackBridge_Out_All": "SlackBridge Out All", - "SlackBridge_Out_All_Description": "Send messages from all channels that exist in Slack and the bot has joined", - "SlackBridge_Out_Channels": "SlackBridge Out Channels", - "SlackBridge_Out_Channels_Description": "Choose which channels will send messages back to Slack", - "SlackBridge_Out_Enabled": "SlackBridge Out Enabled", - "SlackBridge_Out_Enabled_Description": "Choose whether SlackBridge should also send your messages back to Slack", - "SlackBridge_Remove_Channel_Links_Description": "Remove the internal link between Rocket.Chat channels and Slack channels. The links will afterwards be recreated based on the channel names.", - "SlackBridge_start": "@%s has started a SlackBridge import at `#%s`. We'll let you know when it's finished.", - "Slash_Gimme_Description": "Displays ༼ つ ◕_◕ ༽つ before your message", - "Slash_LennyFace_Description": "Displays ( ͡° ͜ʖ ͡°) after your message", - "Slash_Shrug_Description": "Displays ¯\\_(ツ)_/¯ after your message", - "Slash_Status_Description": "Set your status message", - "Slash_Status_Params": "Status message", - "Slash_Tableflip_Description": "Displays (╯°□°)╯︵ ┻━┻", - "Slash_TableUnflip_Description": "Displays ┬─┬ ノ( ゜-゜ノ)", - "Slash_Topic_Description": "Set topic", - "Slash_Topic_Params": "Topic message", - "Smarsh": "Smarsh", - "Smarsh_Description": "Configurations to preserve email communication.", - "Smarsh_Email": "Smarsh Email", - "Smarsh_Email_Description": "Smarsh Email Address to send the .eml file to.", - "Smarsh_Enabled": "Smarsh Enabled", - "Smarsh_Enabled_Description": "Whether the Smarsh eml connector is enabled or not (needs 'From Email' filled in under Email -> SMTP).", - "Smarsh_Interval": "Smarsh Interval", - "Smarsh_Interval_Description": "The amount of time to wait before sending the chats (needs 'From Email' filled in under Email -> SMTP).", - "Smarsh_MissingEmail_Email": "Missing Email", - "Smarsh_MissingEmail_Email_Description": "The email to show for a user account when their email address is missing, generally happens with bot accounts.", - "Smarsh_Timezone": "Smarsh Timezone", - "Smileys_and_People": "Smileys & People", - "SMS": "SMS", - "SMS_Description": "Enable and configure SMS gateways on your workspace.", - "SMS_Default_Omnichannel_Department": "Omnichannel Department (Default)", - "SMS_Default_Omnichannel_Department_Description": "If set, all new incoming chats initiated by this integration will be routed to this department. \nThis setting can be overwritten by passing department query param in the request. \ne.g. `https://{{SERVER_URL}}/api/v1/livechat/sms-incoming/twilio?department={{Department Id or Name}}`. \nNote: if you're using Department Name, then it should be URL safe.", - "SMS_Enabled": "SMS Enabled", - "SMS_Twilio_NotConfigured": "Twilio SMS is not configured yet. Go to Settings -> SMS to configure it", - "SMS_Twilio_InvalidCredentials": "Twilio SMS credentials are invalid, cannot send messages", - "SMTP": "SMTP", - "SMTP_Host": "SMTP Host", - "SMTP_Password": "SMTP Password", - "SMTP_Port": "SMTP Port", - "SMTP_Server_Not_Setup_Title": "SMTP server is not setup yet", - "SMTP_Server_Not_Setup_Description": "Set up your SMTP emailing server to start sending invites or add users manually", - "SMTP_Test_Button": "Test SMTP Settings", - "SMTP_Username": "SMTP Username", - "Snippet_Added": "Created on %s", - "Snippet_name": "Snippet name", - "Snippeted_a_message": "Created a snippet {{snippetLink}}", - "Social_Network": "Social Network", - "Some_ideas_to_get_you_started": "Some ideas to get you started", - "Something_went_wrong": "Something went wrong", - "Something_went_wrong_try_again_later": "Something went wrong, try again later.", - "Something_went_wrong_while_executing_command": "Something went wrong while executing command: `/{{command}}`", - "Sorry_page_you_requested_does_not_exist_or_was_deleted": "Sorry, page you requested does not exist or was deleted!", - "Sort": "Sort", - "Sort_By": "Sort by", - "Sorting_mechanism": "Sorting mechanism", - "Service_level_agreements": "Service level agreements", - "Sort_by_activity": "Sort by Activity", - "Sound": "Sound", - "Sounds": "Sounds", - "Sound_File_mp3": "Sound File (mp3)", - "Sound File": "Sound File", - "Source": "Source", - "Speakers": "Speakers", - "spy-voip-calls": "Spy Voip Calls", - "spy-voip-calls_description": "Permission to spy voip calls", - "SSL": "SSL", - "Star": "Star", - "Star_Message": "Star Message", - "Starred_Messages": "Starred Messages", - "Starred_messages_are_only_visible_to_you": "Starred messages are only visible to you", - "Start": "Start", - "Start_a_call": "Start a call", - "Start_a_call_in__roomName__": "Start a call in {{roomName}}", - "Start_a_call_with__roomName__": "Start a call with {{roomName}}", - "Start_a_free_trial": "Start a free trial", - "Start_audio_call": "Start audio call", - "Start_call": "Start call", - "Start_Chat": "Start Chat", - "Start_conference_call": "Start conference call", - "Start_free_trial": "Start free trial", - "Start_of_conversation": "Start of conversation", - "Start_OTR": "Start OTR", - "Start_video_call": "Start video call", - "Start_video_conference": "Start conference call?", - "Start_with_s_for_user_or_s_for_channel_Eg_s_or_s": "Start with %s for user or %s for channel. Eg: %s or %s", - "start-discussion": "Start Discussion", - "start-discussion_description": "Permission to start a discussion", - "start-discussion-other-user": "Start Discussion (Other-User)", - "start-discussion-other-user_description": "Permission to start a discussion, which gives permission to the user to create a discussion from a message sent by another user as well", - "Started": "Started", - "Started_a_video_call": "Started a Video Call", - "Started_At": "Started At", - "Statistics": "Statistics", - "Statistics_reporting": "Send Statistics to Rocket.Chat", - "Statistics_reporting_Description": "By sending your statistics, you'll help us identify how many instances of Rocket.Chat are deployed, as well as how good the system is behaving, so we can further improve it. Don't worry, as no user information is sent and all the information we receive is kept confidential.", - "Stats_Active_Guests": "Activated Guests", - "Stats_Active_Users": "Activated Users", - "Stats_App_Users": "Rocket.Chat App Users", - "Stats_Avg_Channel_Users": "Average Channel Users", - "Stats_Avg_Private_Group_Users": "Average Private Group Users", - "Stats_Away_Users": "Away Users", - "Stats_Max_Room_Users": "Max Rooms Users", - "Stats_Non_Active_Users": "Deactivated Users", - "Stats_Offline_Users": "Offline Users", - "Stats_Online_Users": "Online Users", - "Stats_Total_Active_Apps": "Total Active Apps", - "Stats_Total_Active_Incoming_Integrations": "Total Active Incoming Integrations", - "Stats_Total_Active_Outgoing_Integrations": "Total Active Outgoing Integrations", - "Stats_Total_Channels": "Channels", - "Stats_Total_Connected_Users": "Total Connected Users", - "Stats_Total_Direct_Messages": "Direct messages", - "Stats_Total_Incoming_Integrations": "Total Incoming Integrations", - "Stats_Total_Installed_Apps": "Total Installed Apps", - "Stats_Total_Integrations": "Total Integrations", - "Stats_Total_Integrations_With_Script_Enabled": "Total Integrations With Script Enabled", - "Stats_Total_Livechat_Rooms": "Omnichannel Rooms", - "Stats_Total_Messages": "Messages", - "Stats_Total_Messages_Channel": "In channels", - "Stats_Total_Messages_Direct": "In direct messages", - "Stats_Total_Messages_Livechat": "In omnichannel", - "Stats_Total_Messages_PrivateGroup": "In private groups", - "Stats_Total_Messages_Discussions": "In discussions", - "Stats_Total_Outgoing_Integrations": "Total Outgoing Integrations", - "Stats_Total_Private_Groups": "Private Groups", - "Stats_Total_Rooms": "Rooms", - "Stats_Total_Uploads": "Total Uploads", - "Stats_Total_Uploads_Size": "Total Uploads Size", - "Stats_Total_Users": "Total Users", - "Status": "Status", - "StatusMessage": "Status message", - "StatusMessage_Change_Disabled": "Your Rocket.Chat administrator has disabled the changing of status messages", - "StatusMessage_Changed_Successfully": "Status message changed successfully.", - "StatusMessage_Placeholder": "What are you doing right now?", - "StatusMessage_Too_Long": "Status message must be shorter than 120 characters.", - "Step": "Step", - "Stop_call": "Stop call", - "Stop_Recording": "Stop Recording", - "Store_Last_Message": "Store Last Message", - "Store_Last_Message_Sent_per_Room": "Store last message sent on each room.", - "Stream_Cast": "Stream Cast", - "Stream_Cast_Address": "Stream Cast Address", - "Stream_Cast_Address_Description": "IP or Host of your Rocket.Chat central Stream Cast. E.g. `192.168.1.1:3000` or `localhost:4000`", - "Strike": "Strike", - "Style": "Style", - "Subject": "Subject", - "Submit": "Submit", - "Subscribe": "Subscribe", - "Success": "Success", - "Success_message": "Success message", - "Successfully_downloaded_file_from_external_URL_should_start_preparing_soon": "Successfully downloaded file from external URL, should start preparing soon", - "Suggestion_from_recent_messages": "Suggestion from recent messages", - "Sunday": "Sunday", - "Support": "Support", - "Survey": "Survey", - "Survey_instructions": "Rate each question according to your satisfaction, 1 meaning you are completely unsatisfied and 5 meaning you are completely satisfied.", - "Symbols": "Symbols", - "Sync": "Sync", - "Sync / Import": "Sync / Import", - "Sync_in_progress": "Synchronization in progress", - "Sync_Interval": "Sync interval", - "Sync_success": "Sync success", - "Sync_Users": "Sync Users", - "sync-auth-services-users": "Sync authentication services' users", - "sync-auth-services-users_description": "Permission to sync authentication services' users", - "System_messages": "System Messages", - "system_message": "system message", - "Tag": "Tag", - "Tags": "Tags", - "Tag_removed": "Tag Removed", - "Tag_already_exists": "Tag already exists", - "Take_it": "Take it!", - "Take_rocket_chat_with_you_with_mobile_applications": "Take Rocket.Chat with you with mobile applications.", - "Taken_at": "Taken at", - "Talk_Time": "Talk Time", - "Talk_to_an_expert": "Talk to an expert", - "Talk_to_sales": "Talk to sales", - "Talk_to_your_workspace_administrator_about_enabling_video_conferencing": "Talk to your workspace administrator about enabling video conferencing", - "Talk_to_your_workspace_admin_to_address_this_issue": "Talk to your workspace admin to address this issue.", - "Target user not allowed to receive messages": "Target user not allowed to receive messages", - "TargetRoom": "Target Room", - "TargetRoom_Description": "The room where messages will be sent which are a result of this event being fired. Only one target room is allowed and it must exist.", - "Team": "Team", - "Team_Add_existing_channels": "Add Existing Channels", - "Team_Add_existing": "Add Existing", - "Team_Auto-join": "Auto-join", - "Team_Auto-join_exceeded_user_limit": "Auto-join has a limit of {{limit}} members, #{{channelName}} now has {{numberOfMembers}} members", - "Team_Auto-join_updated": "#{{channelName}} now has {{numberOfMembers}} members", - "Team_Channels": "Team Channels", - "Team_Delete_Channel_modal_content_danger": "This can’t be undone.", - "Team_Delete_Channel_modal_content": "Would you like to delete this Channel?", - "Team_has_been_created": "Team has been created", - "Team_has_been_deleted": "Team has been deleted", - "Team_Info": "Team Info", - "Team_Mapping": "Team Mapping", - "Team_Name": "Team Name", - "Team_Remove_from_team_modal_content": "Would you like to remove this Channel from {{teamName}}? The Channel will be moved back to the workspace.", - "Team_Remove_from_team": "Remove from team", - "Team_what_is_this_team_about": "What is this team about", - "Teams": "Teams", - "Teams_about_the_channels": "And about the Channels?", - "Teams_channels_didnt_leave": "You did not select the following Channels so you are not leaving them:", - "Teams_channels_last_owner_delete_channel_warning": "You are the last owner of this Channel. Once you convert the Team into a channel, the Channel will be moved to the Workspace.", - "Teams_channels_last_owner_leave_channel_warning": "You are the last owner of this Channel. Once you leave the Team, the Channel will be kept inside the Team but you will managing it from outside.", - "Teams_leaving_team": "You are leaving this Team.", - "Teams_channels": "Team channels", - "Teams_convert_channel_to_team": "Convert to Team", - "Teams_delete_team_choose_channels": "Select the Channels you would like to delete. The ones you decide to keep, will be available on your workspace.", - "Teams_delete_team_public_notice": "Notice that public Channels will still be public and visible to everyone.", - "Teams_delete_team_Warning": "Once you delete a Team, all chat content and configuration will be deleted.", - "Teams_delete_team": "You are about to delete this Team.", - "Teams_deleted_channels": "The following Channels are going to be deleted:", - "Teams_Errors_Already_exists": "The team `{{name}}` already exists.", - "Teams_Errors_team_name": "You can't use \"{{name}}\" as a team name.", - "Teams_move_channel_to_team": "Move to Team", - "Teams_move_channel_to_team_description_first": "Moving a Channel inside a Team means that this Channel will be added in the Team’s context, however, all Channel’s members, which are not members of the respective Team, will still have access to this Channel, but will not be added as Team’s members.", - "Teams_move_channel_to_team_description_second": "All Channel’s management will still be made by the owners of this Channel.", - "Teams_move_channel_to_team_description_third": "Team’s members and even Team’s owners, if not a member of this Channel, can not have access to the Channel’s content.", - "Teams_move_channel_to_team_description_fourth": "Please notice that the Team’s owner will be able to remove members from the Channel.", - "Teams_move_channel_to_team_confirm_description": "After reading the previous instructions about this behavior, do you want to move forward with this action?", - "Teams_New_Title": "Create team", - "Teams_new_description": "Teams allow a group of people to collaborate and can contain multiple channels.", - "Teams_New_Name_Label": "Name", - "Teams_Info": "Team info", - "Teams_kept_channels": "You did not select the following Channels so they will be moved to the Workspace:", - "Teams_kept__username__channels": "You did not select the following Channels so {{username}} will be kept on them:", - "Teams_leave_channels": "Select the Team’s Channels you would like to leave.", - "Teams_leave": "Leave Team", - "Teams_left_team_successfully": "Left the Team successfully", - "Teams_members": "Teams Members", - "Teams_New_Add_members_Label": "Members", - "Teams_New_Broadcast_Description": "Only team owners can write new messages but anyone can reply in a thread", - "Teams_New_Broadcast_Label": "Broadcast", - "Teams_New_Description_Label": "Topic", - "Teams_New_Description_Placeholder": "What is this team about", - "Teams_New_Encrypted_Description_Disabled": "Only available for private team", - "Teams_New_Encrypted_Description_Enabled": "End-to-end encrypted team. Search will not work with encrypted Teams and notifications may not show the messages content.", - "Teams_New_Encrypted_Label": "Encrypted", - "Teams_New_Private_Description_Disabled": "Anyone can access", - "Teams_New_Private_Description_Enabled": "People can only join by being invited", - "Teams_New_Private_Label": "Private", - "Teams_New_Read_only_Description": "All users in this team can write messages", - "Teams_Public_Team": "Public Team", - "Teams_Private_Team": "Private Team", - "Teams_removing_member": "Removing Member", - "Teams_removing__username__from_team": "You are removing {{username}} from this Team", - "Teams_removing__username__from_team_and_channels": "You are removing {{username}} from this Team and all its Channels.", - "Teams_Select_a_team": "Select a team", - "Teams_Search_teams": "Search Teams", - "Teams_New_Read_only_Label": "Read-only", - "Technology_Services": "Technology Services", - "Upgrade_tab_connection_error_description": "Looks like you have no internet connection. This may be because your workspace is installed on a fully-secured air-gapped server", - "Terms": "Terms", - "Terms_of_use": "Terms of use", - "Upgrade_tab_connection_error_restore": "Restore your connection to learn about features you are missing out on.", - "Test_Connection": "Test Connection", - "Upgrade_tab_go_fully_featured": "Go fully featured", - "Upgrade_tab_trial_guide": "Trial guide", - "Test_Desktop_Notifications": "Test Desktop Notifications", - "Test_LDAP_Search": "Test LDAP Search", - "test-admin-options": "Test options on admin panel", - "test-admin-options_description": "Permission to test options on admin panel such as LDAP login.", - "test-push-notifications": "Test push notifications", - "test-push-notifications_description": "Permission to test push notifications", - "Texts": "Texts", - "Text": "Text", - "Thank_you_for_your_feedback": "Thank you for your feedback", - "The_application_name_is_required": "The application name is required", - "The_application_will_be_able_to": "<1>{{appName}} will be able to:", - "The_channel_name_is_required": "The channel name is required", - "The_emails_are_being_sent": "The emails are being sent.", - "The_empty_room__roomName__will_be_removed_automatically": "The empty room {{roomName}} will be removed automatically.", - "The_field_is_required": "The field %s is required.", - "The_image_resize_will_not_work_because_we_can_not_detect_ImageMagick_or_GraphicsMagick_installed_in_your_server": "The image resize will not work because we can not detect ImageMagick or GraphicsMagick installed on your server.", - "The_message_is_a_discussion_you_will_not_be_able_to_recover": "The message is a discussion you will not be able to recover the messages!", - "The_mobile_notifications_were_disabled_to_all_users_go_to_Admin_Push_to_enable_the_Push_Gateway_again": "The mobile notifications were disabled to all users, go to \"Admin > Push\" to enable the Push Gateway again", - "The_necessary_browser_permissions_for_location_sharing_are_not_granted": "The necessary browser permissions for location sharing are not granted", - "The_peer__peer__does_not_exist": "The peer {{peer}} does not exist.", - "The_redirectUri_is_required": "The redirectUri is required", - "The_selected_user_is_not_a_monitor": "The selected user is not a monitor", - "The_selected_user_is_not_an_agent": "The selected user is not an agent", - "The_server_will_restart_in_s_seconds": "The server will restart in %s seconds", - "The_setting_s_is_configured_to_s_and_you_are_accessing_from_s": "The setting %s is configured to %s and you are accessing from %s!", - "The_user_s_will_be_removed_from_role_s": "The user %s will be removed from role %s", - "The_user_will_be_removed_from_s": "The user will be removed from %s", - "The_user_wont_be_able_to_type_in_s": "The user won't be able to type in %s", - "The_workspace_has_exceeded_the_monthly_limit_of_active_contacts": "The workspace has exceeded the monthly limit of active contacts.", - "Theme": "Theme", - "Themes": "Themes", - "Choose_theme_description": "Choose the interface appearance that best suits your needs.", - "theme-color-attention-color": "Attention Color", - "theme-color-component-color": "Component Color", - "theme-color-content-background-color": "Content Background Color", - "theme-color-custom-scrollbar-color": "Custom Scrollbar Color", - "theme-color-error-color": "Error Color", - "theme-color-info-font-color": "Info Font Color", - "theme-color-link-font-color": "Link Font Color", - "theme-color-pending-color": "Pending Color", - "theme-color-primary-action-color": "Primary Action Color", - "theme-color-primary-background-color": "Primary Background Color", - "theme-color-primary-font-color": "Primary Font Color", - "theme-color-rc-color-alert": "Alert", - "theme-color-rc-color-alert-light": "Alert Light", - "theme-color-rc-color-alert-message-primary": "Alert Message Primary", - "theme-color-rc-color-alert-message-primary-background": "Alert Message Primary Background", - "theme-color-rc-color-alert-message-secondary": "Alert Message Secondary", - "theme-color-rc-color-alert-message-secondary-background": "Alert Message Secondary Background", - "theme-color-rc-color-alert-message-warning": "Alert Message Warning", - "theme-color-rc-color-alert-message-warning-background": "Alert Message Warning Background", - "theme-color-rc-color-announcement-text": "Announcement Text Color", - "theme-color-rc-color-announcement-background": "Announcement Background Color", - "theme-color-rc-color-announcement-text-hover": "Announcement Text Color Hover", - "theme-color-rc-color-announcement-background-hover": "Announcement Background Color Hover", - "theme-color-rc-color-button-primary": "Button Primary", - "theme-color-rc-color-button-primary-light": "Button Primary Light", - "theme-color-rc-color-content": "Content", - "theme-color-rc-color-error": "Error", - "theme-color-rc-color-error-light": "Error Light", - "theme-color-rc-color-link-active": "Link Active", - "theme-color-rc-color-primary": "Primary", - "theme-color-rc-color-primary-background": "Primary Background", - "theme-color-rc-color-primary-dark": "Primary Dark", - "theme-color-rc-color-primary-darkest": "Primary Darkest", - "theme-color-rc-color-primary-light": "Primary Light", - "theme-color-rc-color-primary-light-medium": "Primary Light Medium", - "theme-color-rc-color-primary-lightest": "Primary Lightest", - "theme-color-rc-color-success": "Success", - "theme-color-rc-color-success-light": "Success Light", - "theme-color-secondary-action-color": "Secondary Action Color", - "theme-color-secondary-background-color": "Secondary Background Color", - "theme-color-secondary-font-color": "Secondary Font Color", - "theme-color-selection-color": "Selection Color", - "theme-color-status-away": "Away Status Color", - "theme-color-status-busy": "Busy Status Color", - "theme-color-status-offline": "Offline Status Color", - "theme-color-status-online": "Online Status Color", - "theme-color-success-color": "Success Color", - "theme-color-transparent-dark": "Transparent Dark", - "theme-color-transparent-darker": "Transparent Darker", - "theme-color-transparent-lightest": "Transparent Lightest", - "theme-color-unread-notification-color": "Unread Notifications Color", - "theme-custom-css": "Custom CSS", - "theme-font-body-font-family": "Body Font Family", - "There_are_no_agents_added_to_this_department_yet": "There are no agents added to this department yet.", - "There_are_no_applications": "No OAuth Applications have been added yet.", - "There_are_no_applications_installed": "There are currently no Rocket.Chat Applications installed.", - "There_are_no_available_monitors": "There are no available monitors", - "There_are_no_departments_added_to_this_tag_yet": "There are no departments added to this tag yet", - "There_are_no_departments_added_to_this_unit_yet": "There are no departments added to this unit yet", - "There_are_no_departments_available": "There are no departments available", - "There_are_no_integrations": "There are no integrations", - "There_are_no_monitors_added_to_this_unit_yet": "There are no monitors added to this unit yet", - "There_are_no_personal_access_tokens_created_yet": "There are no Personal Access Tokens created yet.", - "There_are_no_rooms_for_the_given_search_criteria": "There are no rooms for the given search criteria", - "There_are_no_users_in_this_role": "There are no users in this role.", - "There_is_no_video_conference_history_in_this_room": "There is no conference call history in this room", - "There_is_one_or_more_apps_in_an_invalid_state_Click_here_to_review": "There is one or more apps in an invalid state. Click here to review.", - "There_has_been_an_error_installing_the_app": "There has been an error installing the app", - "These_notes_will_be_available_in_the_call_summary": "These notes will be available in the call summary", - "This_agent_was_already_selected": "This agent was already selected", - "this_app_is_included_with_subscription": "This app is included with {{bundleName}} plans", - "This_cant_be_undone": "This can't be undone.", - "This_conversation_is_already_closed": "This conversation is already closed.", - "This_email_has_already_been_used_and_has_not_been_verified__Please_change_your_password": "This email has already been used and has not been verified. Please change your password.", - "This_feature_is_currently_in_alpha": "This feature is currently in alpha!", - "This_is_a_desktop_notification": "This is a desktop notification", - "This_is_a_deprecated_feature_alert": "This is a deprecated feature. It may not work as expected and will not get new updates.", - "Zapier_integration_has_been_deprecated": "The Zapier integration has been deprecated, may not work as expected and will not receive updates", - "Install_Zapier_from_marketplace": "Install the Zapier app from Marketplace to avoid disruptions", - "Input": "Input", - "This_is_a_push_test_messsage": "This is a push test message", - "This_message_was_rejected_by__peer__peer": "This message was rejected by {{peer}} peer.", - "This_monitor_was_already_selected": "This monitor was already selected", - "This_month": "This Month", - "This_room_has_been_archived_by__username_": "This room has been archived by {{username}}", - "This_room_has_been_unarchived_by__username_": "This room has been unarchived by {{username}}", - "This_room_has_been_archived": "archived room", - "This_room_has_been_unarchived": "unarchived room", - "This_server_will_be_available_while_your_session_is_active": "This server will be available while your session is active", - "This_week": "This Week", - "thread": "thread", - "thread_message": "thread message", - "Thread_message_list": "Thread message list", - "Thread_message": "Commented on *{{username}}'s* message: _ {{msg}} _", - "Threads": "Threads", - "Threads_Description": "Threads allow organized discussions around a specific message.", - "Threads_unavailable_for_federation": "Threads are unavailable for Federated rooms", - "Thursday": "Thursday", - "Time_in_minutes": "Time in minutes", - "Time_in_seconds": "Time in seconds", - "Timeout": "Timeout", - "Timeout_in_miliseconds": "Timeout (in miliseconds)", - "Timeout_in_miliseconds_cant_be_negative_number": "Timeout (in miliseconds) can't a negative number", - "Timeout_in_miliseconds_hint": "The time in milliseconds to wait for an external service to respond before canceling the request.", - "Timeouts": "Timeouts", - "Timezone": "Timezone", - "Title": "Title", - "Title_bar_color": "Title bar color", - "Title_bar_color_offline": "Title bar color offline", - "Title_offline": "Title offline", - "To": "To", - "To_additional_emails": "To additional emails", - "To_install_RocketChat_Livechat_in_your_website_copy_paste_this_code_above_the_last_body_tag_on_your_site": "To install Rocket.Chat Livechat in your website, copy & paste this code above the last </body> tag on your site.", - "To_prevent_seeing_this_message_again_allow_popups_from_workspace_URL": "To prevent seeing this message again, make sure your browser settings allow pop-ups to be opened from the workspace URL: ", - "to_see_more_details_on_how_to_integrate": "to see more details on how to integrate.", - "To_users": "To Users", - "Today": "Today", - "Toggle_original_translated": "Toggle original/translated", - "toggle-room-e2e-encryption": "Toggle Room E2E Encryption", - "toggle-room-e2e-encryption_description": "Permission to toggle e2e encryption room", - "Token": "Token", - "Token_Access": "Token Access", - "Token_Controlled_Access": "Token Controlled Access", - "Token_has_been_removed": "Token has been removed", - "Token_required": "Token required", - "Tokens_Minimum_Needed_Balance": "Minimum needed token balance", - "Tokens_Minimum_Needed_Balance_Description": "Set minimum needed balance on each token. Blank or \"0\" for not limit.", - "Tokens_Minimum_Needed_Balance_Placeholder": "Balance value", - "Tokens_Required": "Tokens required", - "Tokens_Required_Input_Description": "Type one or more tokens asset names separated by comma.", - "Tokens_Required_Input_Error": "Invalid typed tokens.", - "Tokens_Required_Input_Placeholder": "Tokens asset names", - "Topic": "Topic", - "Top_5_agents_with_the_most_conversations": "Top 5 agents with the most conversations", - "Total": "Total", - "Total_abandoned_chats": "Total Abandoned Chats", - "Total_conversations": "Total Conversations", - "Total_Discussions": "Discussions", - "Total_messages": "Total Messages", - "Total_rooms": "Total Rooms", - "Total_Threads": "Threads", - "Total_visitors": "Total Visitors", - "TOTP Invalid [totp-invalid]": "Code or password invalid", - "TOTP_reset_email": "Two Factor TOTP Reset Notification", - "TOTP_Reset_Other_Key_Warning": "Reset the current Two Factor TOTP will log out the user. The user will be able to set the Two Factor again later.", - "totp-disabled": "You do not have 2FA login enabled for your user", - "totp-invalid": "Code or password invalid", - "totp-required": "TOTP Required", - "totp-max-attempts": "Maximum OTP failed attempts reached. A new code will be generated.", - "Transcript": "Transcript", - "Transcript_Enabled": "Ask Visitor if They Would Like a Transcript After Chat Closed", - "Transcript_message": "Message to Show When Asking About Transcript", - "Transcript_of_your_livechat_conversation": "Transcript of your omnichannel conversation.", - "Transcript_Request": "Transcript Request", - "onboarding.form.registeredServerForm.continueStandalone": "Continue as standalone", - "transfer-livechat-guest": "Transfer Livechat Guests", - "transfer-livechat-guest_description": "Permission to transfer livechat guests", - "Transferred": "Transferred", - "Translate": "Translate", - "Translated": "Translated", - "Translate_to": "Translate to", - "Translations": "Translations", - "Travel_and_Places": "Travel & Places", - "Trigger_removed": "Trigger removed", - "Trigger_Words": "Trigger Words", - "Trigger": "Trigger", - "Triggers": "Triggers", - "Troubleshoot": "Troubleshoot", - "Troubleshoot_Description": "Configure how troubleshooting is handled on your workspace.", - "Troubleshoot_Disable_Data_Exporter_Processor": "Disable Data Exporter Processor", - "Troubleshoot_Disable_Data_Exporter_Processor_Alert": "This setting stops the processing of all export requests from users, so they will not receive the link to download their data!", - "Troubleshoot_Disable_Instance_Broadcast": "Disable Instance Broadcast", - "Troubleshoot_Disable_Instance_Broadcast_Alert": "This setting prevents the Rocket.Chat instances from sending events to the other instances, it may cause syncing problems and misbehavior!", - "Troubleshoot_Disable_Livechat_Activity_Monitor": "Disable Livechat Activity Monitor", - "Troubleshoot_Disable_Livechat_Activity_Monitor_Alert": "This setting stops the processing of livechat visitor sessions causing the statistics to stop working correctly!", - "Troubleshoot_Disable_Notifications": "Disable Notifications", - "Troubleshoot_Disable_Notifications_Alert": "This setting completely disables the notifications system; sounds, desktop notifications, mobile notifications, and emails will stop!", - "Troubleshoot_Disable_Presence_Broadcast": "Disable Presence Broadcast", - "Troubleshoot_Disable_Presence_Broadcast_Alert": "This setting prevents all instances form sending the status changes of the users to their clients keeping all the users with their presence status from the first load!", - "Troubleshoot_Disable_Sessions_Monitor": "Disable Sessions Monitor", - "Troubleshoot_Disable_Sessions_Monitor_Alert": "This setting stops the processing of user sessions causing the statistics to stop working correctly!", - "Troubleshoot_Disable_Teams_Mention": "Disable Teams mention", - "Troubleshoot_Disable_Teams_Mention_Alert": "This setting disables the teams mention feature. User's won't be able to mention a Team by name in a message and get its members notified.", - "Troubleshoot_Force_Caching_Version": "Force browsers to clear networking cache based on version change", - "Troubleshoot_Force_Caching_Version_Alert": "If the value provided is not empty and different from previous one the browsers will try to clear the cache. This setting should not be set for a long period since it affects the browser performance, please clear it as soon as possible.", - "True": "True", - "Try_now": "Try now", - "Try_searching_in_the_marketplace_instead": "Try searching in the Marketplace instead", - "Tuesday": "Tuesday", - "Turn_OFF": "Turn OFF", - "Turn_ON": "Turn ON", - "Turn_on_video": "Turn on video", - "Turn_on_answer_chats": "Turn on answer chats", - "Turn_on_answer_calls": "Turn on answer calls", - "Turn_on_microphone": "Turn on microphone", - "Turn_off_microphone": "Turn off microphone", - "Turn_off_answer_chats": "Turn off answer chats", - "Turn_off_answer_calls": "Turn off answer calls", - "Turn_off_video": "Turn off video", - "Two Factor Authentication": "Two Factor Authentication", - "Two-factor_authentication": "Two-factor authentication", - "Two-factor_authentication_via_TOTP": "Two-factor authentication via TOTP", - "Two-factor_authentication_disabled": "Two-factor authentication disabled", - "Two-factor_authentication_email": "Two-factor authentication via email", - "Two-factor_authentication_email_is_currently_disabled": "Two-factor authentication via Email is currently disabled", - "Two-factor_authentication_enabled": "Two-factor authentication enabled", - "Two-factor_authentication_is_currently_disabled": "Two-factor authentication via TOTP is currently disabled", - "Two-factor_authentication_native_mobile_app_warning": "WARNING: Once you enable this, you will not be able to login on the native mobile apps (Rocket.Chat+) using your password until they implement the 2FA.", - "Type": "Type", - "typing": "typing", - "Types": "Types", - "Types_and_Distribution": "Types and Distribution", - "Type_your_email": "Type your email", - "Type_your_job_title": "Type your job title", - "Type_your_message": "Type your message", - "Type_your_name": "Type your name", - "Type_your_password": "Type your password", - "Type_your_username": "Type your username", - "UI_Allow_room_names_with_special_chars": "Allow Special Characters in Room Names", - "UI_Click_Direct_Message": "Click to Create Direct Message", - "UI_Click_Direct_Message_Description": "Skip opening profile tab, instead go straight to conversation", - "UI_DisplayRoles": "Display Roles", - "UI_Group_Channels_By_Type": "Group channels by type", - "UI_Merge_Channels_Groups": "Merge Private Groups with Channels", - "UI_Show_top_navbar_embedded_layout": "Show top navbar in embedded layout", - "UI_Unread_Counter_Style": "Unread Counter Style", - "UI_Use_Name_Avatar": "Use Full Name Initials to Generate Default Avatar", - "UI_Use_Real_Name": "Use Real Name", - "unable-to-get-file": "Unable to get file", - "Unable_to_load_active_connections": "Unable to load active connections", - "Unarchive": "Unarchive", - "unarchive-room": "Unarchive Room", - "unarchive-room_description": "Permission to unarchive channels", - "Unassigned": "Unassigned", - "unauthorized": "Not authorized", - "Unavailable": "Unavailable", - "Unavailable_in_encrypted_channels": "Unavailable in encrypted channels", - "Unblock": "Unblock", - "Unblock_User": "Unblock User", - "Uncheck_All": "Uncheck All", - "Uncollapse": "Uncollapse", - "Undefined": "Undefined", - "Unfavorite": "Unfavorite", - "Unfollow_message": "Unfollow message", - "Unignore": "Unignore", - "Uninstall": "Uninstall", - "Units": "Units", - "Unit_removed": "Unit Removed", - "Unique_ID_change_detected_description": "Information that identifies this workspace has changed. This can happen when the site URL or database connection string are changed or when a new workspace is created from a copy of an existing database.

Would you like to proceed with a configuration update to the existing workspace or create a new workspace and unique ID?", - "Unique_ID_change_detected_learn_more_link": "Learn more", - "Unique_ID_change_detected": "Unique ID change detected", - "Unknown_Import_State": "Unknown Import State", - "Unknown_User": "Unknown User", - "Unlimited": "Unlimited", - "Unmute": "Unmute", - "Unmute_someone_in_room": "Unmute someone in the room", - "Unmute_user": "Unmute user", - "Unnamed": "Unnamed", - "Unpin": "Unpin", - "Unpin_Message": "Unpin Message", - "unpinning-not-allowed": "Unpinning is not allowed", - "Unprioritized": "Unprioritized", - "Unread": "Unread", - "Unread_Count": "Unread Count", - "Unread_Count_DM": "Unread Count for Direct Messages", - "Unread_Count_Omni": "Unread Count for Omnichannel Chats", - "Unread_Messages": "Unread Messages", - "Unread_on_top": "Unread on top", - "Unread_Rooms": "Unread Rooms", - "Unread_Rooms_Mode": "Unread Rooms Mode", - "Unread_Requested_First": "Unread requested first", - "Unread_Requested_Last": "Unread requested last", - "Unread_Tray_Icon_Alert": "Unread Tray Icon Alert", - "Unstar_Message": "Remove star", - "Unmute_microphone": "Unmute Microphone", - "Update": "Update", - "Update_EnableChecker": "Enable the Update Checker", - "Update_EnableChecker_Description": "Checks automatically for new updates / important messages from the Rocket.Chat developers and receives notifications when available. The notification appears once per new version as a clickable banner and as a message from the Rocket.Cat bot, both visible only for administrators.", - "Update_every": "Update every", - "Update_LatestAvailableVersion": "Update Latest Available Version", - "Update_to_version": "Update to {{version}}", - "Update_your_RocketChat": "Update your Rocket.Chat", - "Updated_at": "Updated at", - "Upgrade_tab_upgrade_your_plan": "Upgrade your plan", - "Upload": "Upload", - "Uploads": "Uploads", - "Upload_private_app": "Upload private app", - "Upload_file_description": "File description", - "Upload_file": "Upload file", - "Upload_file_name": "File name", - "Upload_file_question": "Upload file?", - "Upload_Folder_Path": "Upload Folder Path", - "Upload_From": "Upload from {{name}}", - "Upload_user_avatar": "Upload avatar", - "Uploading_file": "Uploading file...", - "Uptime": "Uptime", - "URL": "URL", - "URLs": "URLs", - "Usage": "Usage", - "Use": "Use", - "Use_account_preference": "Use account preference", - "Use_Emojis": "Use Emojis", - "Use_Global_Settings": "Use Global Settings", - "Use_initials_avatar": "Use your username initials", - "Use_minor_colors": "Use minor color palette (defaults inherit major colors)", - "Use_Room_configuration": "Overwrites the server configuration and use room config", - "Use_Server_configuration": "Use server configuration", - "Use_service_avatar": "Use %s avatar", - "Use_this_response": "Use this response", - "Use_response": "Use response", - "Use_this_username": "Use this username", - "Use_uploaded_avatar": "Use uploaded avatar", - "Use_url_for_avatar": "Use URL for avatar", - "Use_User_Preferences_or_Global_Settings": "Use User Preferences or Global Settings", - "User": "User", - "User_card_actions": "User card actions", - "User_menu": "User menu", - "User Search": "User Search", - "User Search (Group Validation)": "User Search (Group Validation)", - "User__username__is_now_a_leader_of__room_name_": "User {{username}} is now a leader of {{room_name}}", - "User__username__is_now_a_moderator_of__room_name_": "User {{username}} is now a moderator of {{room_name}}", - "User__username__is_now_an_owner_of__room_name_": "User {{username}} is now an owner of {{room_name}}", - "User__username__muted_in_room__roomName__": "User {{username}} muted in room {{roomName}}", - "User__username__removed_from__room_name__leaders": "User {{username}} removed from {{room_name}} leaders", - "User__username__removed_from__room_name__moderators": "User {{username}} removed from {{room_name}} moderators", - "User__username__removed_from__room_name__owners": "User {{username}} removed from {{room_name}} owners", - "User__username__unmuted_in_room__roomName__": "User {{username}} unmuted in room {{roomName}}", - "User_added": "User added", - "User_added_by": "User {{user_added}} added by {{user_by}}.", - "User_added_to": "added {{user_added}}", - "User_added_successfully": "User added successfully", - "User_and_group_mentions_only": "User and group mentions only", - "User_cant_be_empty": "User cannot be empty", - "User_created_successfully!": "User create successfully!", - "User_default": "User default", - "User_doesnt_exist": "No user exists by the name of `@%s`.", - "User_e2e_key_was_reset": "User E2E key was reset successfully.", - "User_first_log_in": "User first log in", - "User_has_been_activated": "User has been activated", - "User_has_been_deactivated": "User has been deactivated", - "User_has_been_deleted": "User has been deleted", - "User_has_been_ignored": "User has been ignored", - "User_has_been_muted_in_s": "User has been muted in %s", - "User_has_been_removed_from_s": "User has been removed from %s", - "User_has_been_removed_from_team": "User has been removed from team", - "User_has_been_unignored": "User is no longer ignored", - "User_Info": "User Info", - "User_Interface": "User Interface", - "User_is_blocked": "User is blocked", - "User_is_no_longer_an_admin": "User is no longer an admin", - "User_is_now_an_admin": "User is now an admin", - "User_is_unblocked": "User is unblocked", - "User_joined_channel": "Has joined the channel.", - "User_joined_conversation": "Has joined the conversation", - "User_joined_team": "joined this Team", - "User_joined_the_channel": "joined the channel", - "User_joined_the_conversation": "joined the conversation", - "User_joined_the_team": "joined this team", - "user_joined_otr": "Has joined OTR chat.", - "user_key_refreshed_successfully": "key refreshed successfully", - "user_requested_otr_key_refresh": "Has requested key refresh.", - "User_left": "Has left the channel.", - "User_left_team": "left this Team", - "User_left_this_channel": "left the channel", - "User_left_this_team": "left this team", - "User_logged_out": "User is logged out", - "User_management": "User Management", - "User_mentions_only": "User mentions only", - "User_muted": "User Muted", - "User_muted_by": "User {{user_muted}} muted by {{user_by}}.", - "User_has_been_muted": "muted {{user_muted}}", - "User_not_found": "User not found", - "User_not_found_or_incorrect_password": "User not found or incorrect password", - "User_or_channel_name": "User or channel name", - "User_Presence": "User Presence", - "User_removed": "User removed", - "User_removed_by": "User {{user_removed}} removed by {{user_by}}.", - "User_has_been_removed": "removed {{user_removed}}", - "User_sent_a_message_on_channel": "{{username}} sent a message on {{channel}}", - "User_sent_a_message_to_you": "{{username}} sent you a message", - "user_sent_an_attachment": "{{user}} sent an attachment", - "User_Settings": "User Settings", - "User_started_a_new_conversation": "{{username}} started a new conversation", - "User_unmuted_by": "User {{user_unmuted}} unmuted by {{user_by}}.", - "User_has_been_unmuted": "unmuted {{user_unmuted}}", - "User_unmuted_in_room": "User unmuted in room", - "User_updated_successfully": "User updated successfully", - "User_uploaded_a_file_on_channel": "{{username}} uploaded a file on {{channel}}", - "User_uploaded_a_file_to_you": "{{username}} sent you a file", - "User_uploaded_file": "Uploaded a file", - "User_uploaded_image": "Uploaded an image", - "user-generate-access-token": "User Generate Access Token", - "user-generate-access-token_description": "Permission for users to generate access tokens", - "UserData_EnableDownload": "Enable User Data Download", - "UserData_FileSystemPath": "System Path (Exported Files)", - "view-livechat-facebook": "View Omnichannel Facebook", - "UserData_FileSystemZipPath": "System Path (Compressed File)", - "view-livechat-facebook_description": "Permission to view Omnichannel Facebook", - "UserData_MessageLimitPerRequest": "Message Limit per Request", - "UserData_ProcessingFrequency": "Processing Frequency (Minutes)", - "UserDataDownload": "User Data Download", - "UserDataDownload_Description": "Configurations to allow or disallow workspace members from downloading of workspace data.", - "UserDataDownload_CompletedRequestExisted_Text": "Your data file was already generated. Check your email account for the download link.", - "UserDataDownload_CompletedRequestExistedWithLink_Text": "Your data file was already generated. Click here to download it.", - "UserDataDownload_EmailBody": "Your data file is now ready to download. Click here to download it.", - "UserDataDownload_EmailSubject": "Your Data File is Ready to Download", - "UserDataDownload_Requested": "Download File Requested", - "UserDataDownload_Requested_Text": "Your data file will be generated. A link to download it will be sent to your email address when ready. There are {{pending_operations}} queued operations to run before yours.", - "UserDataDownload_RequestExisted_Text": "Your data file is already being generated. A link to download it will be sent to your email address when ready. There are {{pending_operations}} queued operations to run before yours.", - "Username": "Username", - "Username_already_exist": "Username already exists. Please try another username.", - "Username_and_message_must_not_be_empty": "Username and message must not be empty.", - "Username_cant_be_empty": "The username cannot be empty", - "Username_Change_Disabled": "Your Rocket.Chat administrator has disabled the changing of usernames", - "Username_denied_the_OTR_session": "{{username}} denied the OTR session", - "Username_description": "The username is used to allow others to mention you in messages.", - "Username_doesnt_exist": "The username `%s` doesn't exist.", - "Username_ended_the_OTR_session": "{{username}} ended the OTR session", - "Username_invalid": "%s is not a valid username,
use only letters, numbers, dots, hyphens and underscores", - "Username_is_already_in_here": "`@%s` is already in here.", - "Username_Placeholder": "Please enter usernames...", - "Username_title": "Register username", - "Username_has_been_updated": "Username has been updated", - "Username_wants_to_start_otr_Do_you_want_to_accept": "{{username}} wants to start OTR. Do you want to accept?", - "Username_name_email": "Username, name or e-mail", - "Users": "Users", - "Users must use Two Factor Authentication": "Users must use Two Factor Authentication", - "Users_added": "The users have been added", - "Users_and_rooms": "Users and Rooms", - "Users_by_time_of_day": "Users by time of day", - "Users_in_role": "Users in role", - "Users_key_has_been_reset": "User's key has been reset", - "Users_reacted": "Users that Reacted", - "Users_TOTP_has_been_reset": "User's TOTP has been reset", - "Uses": "Uses", - "Uses_left": "Uses left", - "UTC_Timezone": "UTC Timezone", - "Utilities": "Utilities", - "UTF8_Names_Slugify": "UTF8 Names Slugify", - "UTF8_User_Names_Validation": "UTF8 Usernames Validation", - "UTF8_User_Names_Validation_Description": "RegExp that will be used to validate usernames", - "UTF8_Channel_Names_Validation": "UTF8 Channel Names Validation", - "UTF8_Channel_Names_Validation_Description": "RegExp that will be used to validate channel names", - "Videocall_enabled": "Video Call Enabled", - "Validate_email_address": "Validate Email Address", - "Validation": "Validation", - "Value_messages": "{{value}} messages", - "Value_users": "{{value}} users", - "Verification": "Verification", - "Verification_Description": "You may use the following placeholders: \n - `[Verification_Url]` for the verification URL. \n - `[name]`, `[fname]`, `[lname]` for the user's full name, first name or last name, respectively. \n - `[email]` for the user's email. \n - `[Site_Name]` and `[Site_URL]` for the Application Name and URL respectively. ", - "Verification_Email": "Click here to verify your email address.", - "Verification_email_body": "Please, click on the button below to confirm your email address.", - "Verification_email_sent": "Verification email sent", - "Verification_Email_Subject": "[Site_Name] - Email address verification", - "Verified": "Verified", - "Verify": "Verify", - "Verify_your_email": "Verify your email", - "Version": "Version", - "Version_version": "Version {{version}}", - "App_Request_Admin_Message": "Hi {{admin_name}}, {{user_name}} submitted a request to install {{app_name}} app on this workspace. \n \n This is the message they included: \n>{{message}} \n \n To learn more and install the {{app_name}} app, [click here]({{learn_more}}).", - "App_version_incompatible_tooltip": "App incompatible with Rocket.Chat version", - "App_request_enduser_message": "The app you requested, {{appName}}, has just been installed on this workspace. \n [Click here]({{learnmore}}) to learn about the app.", - "App_requests_by_workspace": "App requests by workspace members appear here", - "Video_Conference_Description": "Configure conferencing calls for your workspace.", - "Video_Chat_Window": "Video Chat", - "Video_Conference": "Conference Call", - "Video_Call_unavailable_for_this_type_of_room": "Video Call is unavailable for this type of room", - "Video_Conferences": "Conference Calls", - "Video_Conference_Info": "Meeting Information", - "Video_Conference_Url": "Meeting URL", - "video-conf-provider-not-configured": "**Conference call not enabled**: A workspace admin needs to enable the conference calls feature first.", - "Video_message": "Video message", - "Videocall_declined": "Video Call Declined.", - "Video_and_Audio_Call": "Video and Audio Call", - "video_conference_started": "_Started a call._", - "video_conference_started_by": "**{{username}}** _started a call._", - "video_conference_ended": "_Call has ended._", - "video_conference_ended_by": "**{{username}}** _ended a call._", - "video_livechat_started": "_Started a video call._", - "video_livechat_missed": "_Started a video call that wasn't answered._", - "video_direct_calling": "_Is calling._", - "video_direct_ended": "_Call has ended._", - "video_direct_ended_by": "**{{username}}** _ended a call._", - "video_direct_missed": "_Started a call that wasn't answered._", - "video_direct_started": "_Started a call._", - "VideoConf_Default_Provider": "Default Provider", - "VideoConf_Default_Provider_Description": "If you have multiple provider apps installed, select which one should be used for new conference calls.", - "VideoConf_Enable_Channels": "Enable in public channels", - "VideoConf_Enable_Groups": "Enable in private channels", - "VideoConf_Enable_DMs": "Enable in direct messages", - "VideoConf_Enable_Teams": "Enable in teams", - "VideoConf_Enable_Persistent_Chat": "Enable Persistent Chat", - "VideoConf_Enable_Persistent_Chat_description": "When persistent chat is enabled, Rocket.Chat will create a discussion every time a conference call is initiated. The provider app is responsible for sending the chat messages to this discussion.", - "VideoConf_Enable_Persistent_Chat_Alert": "Persistent Chat will not work if discussions are disabled on the workspace. It will also not work if the provider app being used do not explicitly support this feature.", - "VideoConf_Persistent_Chat_Discussion_Name": "Persistent Chat Discussion Name", - "VideoConf_Mobile_Ringing": "Enable mobile ringing", - "VideoConf_Mobile_Ringing_Description": "When enabled, direct calls to mobile users will ring their device as a phone call.", - "VideoConf_Mobile_Ringing_Alert": "This feature is currently in an experimental stage and may not yet be fully supported by the mobile app. When enabled it will send additional Push Notifications to users.", - "videoconf-ring-users": "Ring other users when calling", - "videoconf-ring-users_description": "Permission to ring other users when calling", - "Video_record": "Video record", - "Videos": "Videos", - "View_mode": "View Mode", - "View_All": "View All Members", - "View_channels": "View channels", - "view-agent-canned-responses": "View Agent Canned Responses", - "view-agent-canned-responses_description": "Permission to view agent canned responses", - "view-agent-extension-association": "View Agent Extension Association", - "view-agent-extension-association_description": "Permission to view agent extension association", - "view-all-canned-responses": "View All Canned Responses", - "view-all-canned-responses_description": "Permission to view all canned responses", - "view-import-operations": "View Import Operations", - "view-import-operations_description": "Permission to view import operations", - "view-omnichannel-contact-center": "View Omnichannel Contact Center", - "view-omnichannel-contact-center_description": "Permission to view and interact with the Omnichannel Contact Center", - "View_Logs": "View Logs", - "View_original": "View Original", - "View_the_Logs_for": "View the logs for: \"{{name}}\"", - "view-all-teams": "View All Teams", - "view-all-teams_description": "Permission to view all teams", - "view-all-team-channels": "View All Team Channels", - "view-all-team-channels_description": "Permission to view all team's channels", - "view-members-list-all-rooms": "Can view members in all rooms", - "view-members-list-all-rooms_description": "Gives the ability to see the members list in all rooms, even those the user is not part of", - "Room_members_list": "Members list", - "view-broadcast-member-list": "View Members List in Broadcast Room", - "view-broadcast-member-list_description": "Permission to view list of users in broadcast channel", - "view-c-room": "View Public Channel", - "view-c-room_description": "Permission to view public channels", - "view-canned-responses": "View Canned Responses", - "view-canned-responses_description": "Permission to view canned responses", - "view-d-room": "View Direct Messages", - "view-d-room_description": "Permission to view direct messages", - "view-device-management": "View Device Management", - "view-device-management_description": "Permission to view device management dashboard", - "view-engagement-dashboard": "View Engagement Dashboard", - "view-engagement-dashboard_description": "Permission to view engagement dashboard", - "view-federation-data": "View Federation Data", - "view-federation-data_description": "Permission to view federation data", - "View_full_conversation": "View full conversation", - "view-full-other-user-info": "View Full Other User Info", - "view-full-other-user-info_description": "Permission to view full profile of other users including account creation date, last login, etc.", - "view-history": "View History", - "view-history_description": "Permission to view the channel history", - "onboarding.component.form.action.registerNow": "Register now", - "view-join-code": "View Join Code", - "view-join-code_description": "Permission to view the channel join code", - "view-joined-room": "View Joined Room", - "view-joined-room_description": "Permission to view the currently joined channels", - "view-l-room": "View Omnichannel Rooms", - "create-livechat-contact": "Create Omnichannel contacts", - "update-livechat-contact": "Update Omnichannel contacts", - "view-l-room_description": "Permission to view Omnichannel rooms", - "view-livechat-analytics": "View Omnichannel Analytics", - "onboarding.page.awaitingConfirmation.subtitle": "We have sent you an email to {{emailAddress}} with a confirmation link. Please verify that the security code below matches the one in the email.", - "view-livechat-analytics_description": "Permission to view live chat analytics", - "view-livechat-appearance": "View Omnichannel Appearance", - "view-livechat-appearance_description": "Permission to view live chat appearance", - "view-livechat-business-hours": "View Omnichannel Business-Hours", - "view-livechat-business-hours_description": "Permission to view live chat business hours", - "view-livechat-current-chats": "View Omnichannel Current Chats", - "view-livechat-current-chats_description": "Permission to view live chat current chats", - "view-livechat-customfields": "View Omnichannel Custom Fields", - "view-livechat-customfields_description": "Permission to view Omnichannel custom fields", - "view-livechat-departments": "View Omnichannel Departments", - "view-livechat-departments_description": "Permission to view Omnichannel departments", - "view-livechat-installation": "View Omnichannel Installation", - "view-livechat-installation_description": "Permission to view Omnichannel installation", - "view-livechat-manager": "View Omnichannel Manager", - "view-livechat-manager_description": "Permission to view other Omnichannel managers", - "view-livechat-monitor": "View Livechat Monitors", - "view-livechat-queue": "View Omnichannel Queue", - "view-livechat-queue_description": "Permission to view Omnichannel queue", - "view-livechat-real-time-monitoring": "View Omnichannel Real-time Monitoring", - "view-livechat-room-closed-by-another-agent": "View Omnichannel Rooms closed by another agent", - "view-livechat-room-closed-by-another-agent_description": "Permission to view live chat rooms closed by another agent", - "view-livechat-room-closed-same-department": "View Omnichannel Rooms closed by another agent in the same department", - "view-livechat-room-closed-same-department_description": "Permission to view live chat rooms closed by another agent in the same department", - "view-livechat-room-customfields": "View Omnichannel Room Custom Fields", - "view-livechat-room-customfields_description": "Permission to view live chat room custom fields", - "view-livechat-rooms": "View Omnichannel Rooms", - "view-livechat-rooms_description": "Permission to view other Omnichannel rooms", - "view-livechat-triggers": "View Omnichannel Triggers", - "view-livechat-triggers_description": "Permission to view live chat triggers", - "view-livechat-webhooks": "View Omnichannel Webhooks", - "view-livechat-webhooks_description": "Permission to view live chat webhooks", - "view-livechat-unit": "View Livechat Units", - "view-logs": "View Logs", - "view-logs_description": "Permission to view the server logs ", - "view-other-user-channels": "View Other User Channels", - "view-other-user-channels_description": "Permission to view channels owned by other users", - "view-outside-room": "View Outside Room", - "view-outside-room_description": "Permission to view users outside the current room", - "view-p-room": "View Private Room", - "view-p-room_description": "Permission to view private channels", - "view-privileged-setting": "View Privileged Setting", - "view-privileged-setting_description": "Permission to view settings", - "view-moderation-console": "View Moderation Console", - "view-moderation-console_description": "Permission to view moderation console of the server", - "manage-moderation-actions": "Manage Moderation Actions", - "manage-moderation-actions_description": "Permission to manage moderation actions, perform actions on reported users", - "view-room-administration": "View Room Administration", - "view-room-administration_description": "Permission to view public, private and direct message statistics. Does not include the ability to view conversations or archives", - "view-statistics": "View Statistics", - "view-statistics_description": "Permission to view system statistics such as number of users logged in, number of rooms, operating system information", - "view-user-administration": "View User Administration", - "view-user-administration_description": "Permission to partial, read-only list view of other user accounts currently logged into the system. No user account information is accessible with this permission", - "Viewing_room_administration": "Viewing room administration", - "Visibility": "Visibility", - "Visible": "Visible", - "Visible_To_Workspace": "Visible to workspace", - "Visit_Site_Url_and_try_the_best_open_source_chat_solution_available_today": "Visit [Site_URL] and try the best open source chat solution available today!", - "Visitor": "Visitor", - "Visitor_Email": "Visitor E-mail", - "Visitor_Info": "Visitor Info", - "Visitor_message": "Visitor Messages", - "Visitor_Name": "Visitor Name", - "Visitor_Name_Placeholder": "Please enter a visitor name...", - "Visitor_not_found": "Visitor not found", - "Visitor_does_not_exist": "Visitor does not exist!", - "Visitor_Navigation": "Visitor Navigation", - "Visitor_page_URL": "Visitor page URL", - "Visitor_time_on_site": "Visitor time on site", - "Voice_Call": "Voice Call", - "VoIP_Enable_Keep_Alive_For_Unstable_Networks": "Enable SIP Options Keep Alive", - "VoIP_Enable_Keep_Alive_For_Unstable_Networks_Description": "Monitor the status of multiple external SIP gateways by sending periodic SIP OPTIONS messages. Used for unstable networks.", - "VoIP_Enabled": "Enable voice channel", - "VoIP_Enabled_Description": "Connect agents to customers through outbound and incoming calls", - "VoIP_Extension": "VoIP Extension", - "Voip_Server_Configuration": "Asterisk WebSocket Server", - "VoIP_Server_Websocket_Port": "Websocket Port", - "VoIP_Server_Name": "Server Name", - "VoIP_Server_Websocket_Path": "Websocket URL", - "VoIP_Retry_Count": "Retry Count", - "VoIP_Retry_Count_Description": "Defines the number of times the client will try to reconnect to the VoIP server if the connection is lost.", - "VoIP_Management_Server": "VoIP Management Server", - "VoIP_Management_Server_Host": "Server Host", - "VoIP_Management_Server_Port": "Server Port", - "VoIP_Management_Server_Name": "Server Name", - "VoIP_Management_Server_Username": "Username", - "VoIP_Management_Server_Password": "Password", - "Voip_call_started": "Call started at", - "Voip_call_duration": "Call lasted {{duration}}", - "Voip_call_declined": "Call hanged up by agent", - "Voip_call_on_hold": "Call placed on hold at", - "Voip_call_unhold": "Call resumed at", - "Voip_call_ended": "Call ended at", - "Voip_call_ended_unexpectedly": "Call ended unexpectedly: {{reason}}", - "Voip_call_wrapup": "Call wrapup notes added: {{comment}}", - "VoIP_JWT_Secret": "Secret key (JWT)", - "VoIP_JWT_Secret_description": "Set a secret key for sharing extension details from server to client as JWT instead of plain text. Extension registration details will be sent as plain text if a secret key has not been set.", - "Voip_is_disabled": "VoIP is disabled", - "Voip_is_disabled_description": "To view the list of extensions it is necessary to activate VoIP, do so in the Settings tab.", - "VoIP_Toggle": "Enable/Disable VoIP", - "Chat_opened_by_visitor": "Chat opened by the visitor", - "Wait_activation_warning": "Before you can login, your account must be manually activated by an administrator.", - "Waiting_for_answer": "Waiting for answer", - "Waiting_queue": "Waiting queue", - "Enterprise_cap_description": "Enterprise workspaces have no cap on the presence service.", - "Waiting_queue_message": "Waiting queue message", - "Waiting_queue_message_description": "Message that will be displayed to the visitors when they get in the queue", - "More_about_Enterprise_Edition": "More about Enterprise Edition", - "Waiting_Time": "Waiting Time", - "Waiting_for_server_connection": "Waiting for server connection", - "Warning": "Warning", - "Warnings": "Warnings", - "WAU_value": "WAU {{value}}", - "We_appreciate_your_feedback": "We appreciate your feedback", - "We_are_offline_Sorry_for_the_inconvenience": "We are offline. Sorry for the inconvenience.", - "We_Could_not_retrive_any_data": "We couldn't retrive any data", - "We_have_sent_password_email": "We have sent you an email with password reset instructions. If you do not receive an email shortly, please come back and try again.", - "We_have_sent_registration_email": "We have sent you an email to confirm your registration. If you do not receive an email shortly, please come back and try again.", - "Webdav Integration": "Webdav Integration", - "Webdav Integration_Description": "A framework for users to create, change and move documents on a server. Used to link WebDAV servers such as Nextcloud.", - "WebDAV_Accounts": "WebDAV Accounts", - "Webdav_add_new_account": "Add new WebDAV account", - "Webdav_Integration_Enabled": "Webdav Integration Enabled", - "WebDAV_Integration_Not_Allowed": "WebDAV Integration Not Allowed", - "Webdav_Password": "WebDAV Password", - "Webdav_Server_URL": "WebDAV Server Access URL", - "Webdav_Username": "WebDAV Username", - "Webdav_account_removed": "WebDAV account removed", - "webdav-account-saved": "WebDAV account saved", - "webdav-account-updated": "WebDAV account updated", - "webdav-server-not-found": "WebDAV server not found", - "Webhook_Details": "WebHook Details", - "Webhook_URL": "Webhook URL", - "Webhook_URL_not_set": "Webhook URL is not set", - "Webhooks": "Webhooks", - "WebRTC": "WebRTC", - "WebRTC_Description": "Broadcast audio and/or video material, as well as transmit arbitrary data between browsers without the need for a middleman.", - "WebRTC_Call": "WebRTC Call", - "WebRTC_Call_unavailable_for_federation": "WebRTC Call is unavailable for Federated rooms", - "WebRTC_direct_audio_call_from_%s": "Direct audio call from %s", - "WebRTC_direct_video_call_from_%s": "Direct video call from %s", - "WebRTC_Enable_Channel": "Enable for Public Channels", - "WebRTC_Enable_Direct": "Enable for Direct Messages", - "WebRTC_Enable_Private": "Enable for Private Channels", - "WebRTC_group_audio_call_from_%s": "Group audio call from %s", - "WebRTC_group_video_call_from_%s": "Group video call from %s", - "WebRTC_monitor_call_from_%s": "Monitor call from %s", - "WebRTC_Servers": "STUN/TURN Servers", - "WebRTC_Servers_Description": "A list of STUN and TURN servers separated by comma. \n Username, password and port are allowed in the format `username:password@stun:host:port` or `username:password@turn:host:port`.", - "WebRTC_call_ended_message": " Call ended at {{endTime}} - Lasted {{callDuration}}", - "WebRTC_call_declined_message": " Call Declined by Contact.", - "Website": "Website", - "Wednesday": "Wednesday", - "Weekly_Active_Users": "Weekly Active Users", - "Welcome": "Welcome %s.", - "Welcome_email_failed": "Failed to resend welcome email", - "Welcome_email_resent": "Welcome email resent", - "Welcome_to": "Welcome to [Site_Name]", - "Welcome_to_workspace": "Welcome to {{Site_Name}}", - "Welcome_to_the": "Welcome to the", - "When": "When", - "When_a_line_starts_with_one_of_there_words_post_to_the_URLs_below": "When a line starts with one of these words, post to the URL(s) below", - "When_is_the_chat_busier?": "When is the chat busier?", - "Where_are_the_messages_being_sent?": "Where are the messages being sent?", - "Why_did_you_chose__score__": "Why did you chose {{score}}?", - "Why_do_you_want_to_report_question_mark": "Why do you want to report?", - "Will_Appear_In_From": "Will appear in the From: header of emails you send.", - "will_be_able_to": "will be able to", - "Will_be_available_here_after_saving": "Will be available here after saving.", - "Without_priority": "Without priority", - "Without_SLA": "Without SLA", - "Workspace_now_using_device_management": "Workspace now using device management", - "Worldwide": "Worldwide", - "Would_you_like_to_return_the_inquiry": "Would you like to return the inquiry?", - "Would_you_like_to_return_the_queue": "Would you like to move back this room to the queue? All conversation history will be kept on the room.", - "Would_you_like_to_place_chat_on_hold": "Would you like to place this chat On-Hold?", - "multiple_instance_solutions": "multiple instance solutions", - "Wrap_up_the_call": "Wrap-up the call", - "Wrap_Up_Notes": "Wrap-Up Notes", - "Workspace": "Workspace", - "Yes": "Yes", - "Yes_archive_it": "Yes, archive it!", - "Yes_clear_all": "Yes, clear all!", - "Yes_continue": "Yes, continue!", - "Yes_deactivate_it": "Yes, deactivate it!", - "Yes_delete_it": "Yes, delete", - "Yes_hide_it": "Yes, hide it!", - "Yes_leave_it": "Yes, leave it!", - "Yes_mute_user": "Yes, mute user!", - "Yes_prune_them": "Yes, prune them!", - "Yes_pin_message": "Yes, pin message", - "Yes_remove_user": "Yes, remove user!", - "Yes_unarchive_it": "Yes, unarchive it!", - "yesterday": "yesterday", - "Yesterday": "Yesterday", - "You": "You", - "You_reacted_with": "You reacted with {{emoji}}", - "Users_reacted_with": "{{users}} reacted with {{emoji}}", - "Users_and_more_reacted_with": "{{users}} and {{counter}} more reacted with {{emoji}}", - "You_and_users_Reacted_with": "You and {{users}} reacted with {{emoji}}", - "You_users_and_more_Reacted_with": "You, {{users}} and {{counter}} more reacted with {{emoji}}", - "You_are_converting_team_to_channel": "You are converting this Team to a Channel.", - "you_are_in_preview_mode_of": "You are in preview mode of channel #{{room_name}}", - "you_are_in_preview": "You are in preview mode", - "you_are_in_preview_please_insert_the_password": "Please insert the password", - "you_are_in_preview_mode_of_incoming_livechat": "You are in preview mode of this chat", - "You_are_logged_in_as": "You are logged in as", - "You_are_not_authorized_to_view_this_page": "You are not authorized to view this page.", - "You_can_change_a_different_avatar_too": "You can override the avatar used to post from this integration.", - "You_can_close_this_window_now": "You can close this window now.", - "You_can_do_from_account_preferences": "You can do this later from your account preferences", - "You_can_search_using_RegExp_eg": "You can search using Regular Expression. e.g. /^text$/i", - "You_can_try_to": "You can try to", - "You_can_use_an_emoji_as_avatar": "You can also use an emoji as an avatar.", - "You_can_use_webhooks_to_easily_integrate_livechat_with_your_CRM": "You can use webhooks to easily integrate Omnichannel with your CRM.", - "You_cant_leave_a_livechat_room_Please_use_the_close_button": "You can't leave a omnichannel room. Please, use the close button.", - "You_followed_this_message": "You followed this message.", - "You_have_a_new_message": "You have a new message", - "You_have_been_muted": "You have been muted and cannot speak in this room", - "You_have_been_removed_from__roomName_": "You've been removed from the room {{roomName}}", - "You_have_created_user": "You’ve created 1 user", - "You_have_joined_a_new_call_with": "You have joined a new call with", - "You_have_n_codes_remaining": "You have {{number}} codes remaining.", - "You_have_not_verified_your_email": "You have not verified your email.", - "You_have_successfully_unsubscribed": "You have successfully unsubscribed from our Mailling List.", - "You_must_join_to_view_messages_in_this_channel": "You must join to view messages in this channel", - "You_mentioned___mentions__but_theyre_not_in_this_room": "You mentioned {{mentions}}, but they're not in this room.", - "You_mentioned___mentions__but_theyre_not_in_this_room_You_can_ask_a_room_admin_to_add_them": "You mentioned {{mentions}}, but they're not in this room. You can ask a room admin to add them.", - "You_mentioned___mentions__but_theyre_not_in_this_room_You_let_them_know_via_dm": "You mentioned {{mentions}}, but they're not in this room. You let them know via DM.", - "You_need_confirm_email": "You need to confirm your email to login!", - "You_need_install_an_extension_to_allow_screen_sharing": "You need install an extension to allow screen sharing", - "You_need_to_change_your_password": "You need to change your password", - "You_need_to_type_in_your_password_in_order_to_do_this": "You need to type in your password in order to do this!", - "You_need_to_type_in_your_username_in_order_to_do_this": "You need to type in your username in order to do this!", - "You_need_to_verifiy_your_email_address_to_get_notications": "You need to verify your email address to get notifications", - "You_need_to_write_something": "You need to write something!", - "You_reached_the_maximum_number_of_guest_users_allowed_by_your_license": "You reached the maximum number of guest users allowed by your license.", - "You_should_inform_one_url_at_least": "You should define at least one URL.", - "You_should_name_it_to_easily_manage_your_integrations": "You should name it to easily manage your integrations.", - "You_unfollowed_this_message": "You unfollowed this message.", - "You_will_be_asked_for_permissions": "You will be asked for permissions", - "You_will_not_be_able_to_recover": "You will not be able to recover this message!", - "You_will_not_be_able_to_recover_email_inbox": "You will not be able to recover this email inbox", - "You_will_not_be_able_to_recover_file": "You will not be able to recover this file!", - "You_wont_receive_email_notifications_because_you_have_not_verified_your_email": "You won't receive email notifications because you have not verified your email.", - "Your_e2e_key_has_been_reset": "Your e2e key has been reset.", - "Your_email_address_has_changed": "Your email address has been changed.", - "Your_email_has_been_queued_for_sending": "Your email has been queued for sending", - "Your_entry_has_been_deleted": "Your entry has been deleted.", - "Your_file_has_been_deleted": "Your file has been deleted.", - "Your_invite_link_will_expire_after__usesLeft__uses": "Your invite link will expire after {{usesLeft}} uses.", - "Your_invite_link_will_expire_on__date__": "Your invite link will expire on {{date}}.", - "Your_invite_link_will_expire_on__date__or_after__usesLeft__uses": "Your invite link will expire on {{date}} or after {{usesLeft}} uses.", - "Your_invite_link_will_never_expire": "Your invite link will never expire.", - "your_message": "your message", - "your_message_optional": "your message (optional)", - "Your_new_email_is_email": "Your new email address is [email].", - "Your_E2EE_password_is": "Your E2EE password is:", - "Your_password_is_wrong": "Your password is wrong!", - "Your_E2EE_password_is_incorrect": "Your E2EE password is incorrect", - "Your_password_was_changed_by_an_admin": "Your password was changed by an admin.", - "Your_push_was_sent_to_s_devices": "Your push was sent to %s devices", - "Your_request_to_join__roomName__has_been_made_it_could_take_up_to_15_minutes_to_be_processed": "Your request to join {{roomName}} has been made, it could take up to 15 minutes to be processed. You'll be notified when it's ready to go.", - "Your_question": "Your question", - "Your_server_link": "Your server link", - "Your_temporary_password_is_password": "Your temporary password is [password].", - "Your_TOTP_has_been_reset": "Your Two Factor TOTP has been reset.", - "Your_web_browser_blocked_Rocket_Chat_from_opening_tab": "Your web browser blocked Rocket.Chat from opening a new tab.", - "Your_workspace_is_ready": "Your workspace is ready to use 🎉", - "Youre_not_a_part_of__channel__and_I_mentioned_you_there": "You're not a part of {{channel}} and I mentioned you there", - "Zapier": "Zapier", - "registration.page.login.errors.wrongCredentials": "User not found or incorrect password", - "registration.page.login.errors.invalidEmail": "Invalid Email", - "registration.page.login.errors.loginBlockedForIp": "Login has been temporarily blocked for this IP", - "registration.page.login.errors.loginBlockedForUser": "Login has been temporarily blocked for this User", - "registration.page.login.errors.licenseUserLimitReached": "The maximum number of users has been reached.", - "registration.page.login.errors.AppUserNotAllowedToLogin": "App users are not allowed to log in directly.", - "registration.page.registration.waitActivationWarning": "Before you can login, your account must be manually activated by an administrator.", - "registration.page.login.register": "New here? <1>Create an account", - "registration.page.login.forgot": "Forgot your password?", - "registration.page.register.back": "Back to Login", - "registration.page.emailVerification.subTitle": "This server requires verified email addresses. Please check your email inbox for a verification link.", - "registration.page.emailVerification.sent": "Verification email sent, please check your inbox.", - "registration.page.resetPassword.sent": "If this email is registered, we'll send instructions on how to reset your password. If you do not receive an email shortly, please come back and try again.", - "registration.page.resetPassword.sendInstructions": "Send instructions", - "registration.page.resetPassword.errors.invalidEmail": "Invalid Email", - "registration.page.poweredBy": "Powered by <1>Rocket.Chat", - "registration.page.guest.chooseHowToJoin": "Choose how you want to join", - "registration.page.guest.loginWithRocketChat": "Login with Rocket.Chat", - "registration.page.guest.continueAsGuest": "Continue as guest", - "registration.component.welcome": "Welcome to <1>Rocket.Chat workspace", - "registration.component.login": "Login", - "registration.component.login.userNotFound": "User not found", - "registration.component.login.incorrectPassword": "Incorrect password", - "registration.component.switchLanguage": "Change to <1>{{name}}", - "registration.component.resetPassword": "Reset password", - "registration.component.form.emailOrUsername": "Email or username", - "registration.component.form.username": "Username", - "registration.component.form.name": "Name", - "registration.component.form.nameContainsInvalidChars": "Name contains invalid characters", - "registration.component.form.usernameContainsInvalidChars": "Username contains invalid characters", - "registration.component.form.nameOptional": "Name optional", - "registration.component.form.createAnAccount": "Create an account", - "registration.component.form.userAlreadyExist": "Username already exists. Please try another username.", - "registration.component.form.emailAlreadyExists": "Email already exists", - "registration.component.form.usernameAlreadyExists": "Username already exists. Please try another username.", - "registration.component.form.invalidEmail": "The email entered is invalid", - "registration.component.form.email": "Email", - "registration.component.form.emailPlaceholder": "example@example.com", - "registration.component.form.password": "Password", - "registration.component.form.divider": "or", - "registration.component.form.submit": "Submit", - "registration.component.form.requiredField": "This field is required", - "registration.component.form.joinYourTeam": "Join your team", - "registration.component.form.reasonToJoin": "Reason to Join", - "registration.component.form.invalidConfirmPass": "The password confirmation does not match password", - "registration.component.form.confirmPassword": "Confirm your password", - "registration.component.form.confirmation": "Confirmation", - "registration.component.form.sendConfirmationEmail": "Send confirmation email", - "registration.component.form.register": "Register", - "onboarding.component.form.requiredField": "This field is required", - "onboarding.component.form.steps": "Step {{currentStep}} of {{stepCount}}", - "onboarding.component.form.action.back": "Back", - "onboarding.component.form.action.next": "Next", - "onboarding.component.form.action.skip": "Skip this step", - "onboarding.component.form.action.register": "Register", - "onboarding.component.form.action.registerWorkspace": "Register workspace", - "onboarding.component.form.action.registerOffline": "Register offline", - "onboarding.component.form.action.confirm": "Confirm", - "onboarding.component.form.action.pasteHere": "Paste here...", - "onboarding.component.form.action.completeRegistration": "Complete registration", - "onboarding.component.form.termsAndConditions": "I agree with <1>Terms and Conditions and <3>Privacy Policy", - "onboarding.component.emailCodeFallback": "Didn’t receive email? <1>Resend or <3>Change email.", - "onboarding.page.form.title": "Let's launch your workspace", - "onboarding.page.emailConfirmed.title": "Email Confirmed!", - "onboarding.page.emailConfirmed.subtitle": "You can return to your Rocket.Chat application – we have launched your workspace already.", - "onboarding.page.checkYourEmail.title": "Check your email", - "onboarding.page.checkYourEmail.subtitle": "Your request has been sent successfully.<1>Check your email inbox to launch your Premium plan trial.<1>The link will expire in 30 minutes.", - "onboarding.page.confirmationProcess.title": "Confirmation in Process", - "onboarding.page.cloudDescription.title": "Let's launch your workspace and <1>14-day trial", - "onboarding.page.cloudDescription.tryGold": "Try our best Gold plan for 14 days for free", - "onboarding.page.cloudDescription.numberOfIntegrations": "1,000 integrations", - "onboarding.page.cloudDescription.availability": "High availability", - "onboarding.page.cloudDescription.auditing": "Message audit panel / Audit logs", - "onboarding.page.cloudDescription.engagement": "Engagement Dashboard", - "onboarding.page.cloudDescription.ldap": "LDAP enhanced sync", - "onboarding.page.cloudDescription.omnichannel": "Omnichannel premium", - "onboarding.page.cloudDescription.sla": "SLA: Premium", - "onboarding.page.cloudDescription.push": "Secured push notifications", - "onboarding.page.cloudDescription.goldIncludes": "* Golden plan includes all features from other plans", - "onboarding.page.alreadyHaveAccount": "Already have an account? <1>Manage your workspaces.", - "onboarding.page.invalidLink.title": "Your Link is no Longer Valid", - "onboarding.page.invalidLink.content": "Seems like you have already used invite link. It’s generated for a single sign in. Request a new one to join your workspace.", - "onboarding.page.invalidLink.button.text": "Request new link", - "onboarding.page.requestTrial.title": "Request a <1>30-day Trial", - "onboarding.page.requestTrial.subtitle": "Try our best Premium plan for 30 days for free", - "onboarding.page.magicLinkEmail.title": "We emailed you a login link", - "onboarding.page.magicLinkEmail.subtitle": "Click the link in the email we just sent you to sign in to your workspace. <1>The link will expire in 30 minutes.", - "onboarding.form.adminInfoForm.title": "Admin Info", - "onboarding.form.adminInfoForm.subtitle": "We need this information to create an admin profile for your workspace.", - "onboarding.form.adminInfoForm.fields.fullName.label": "Full name", - "onboarding.form.adminInfoForm.fields.fullName.placeholder": "First and last name", - "onboarding.form.adminInfoForm.fields.username.label": "Username", - "onboarding.form.adminInfoForm.fields.username.placeholder": "@username", - "onboarding.form.adminInfoForm.fields.email.label": "Email", - "onboarding.form.adminInfoForm.fields.email.placeholder": "Email", - "onboarding.form.adminInfoForm.fields.password.label": "Password", - "onboarding.form.adminInfoForm.fields.password.placeholder": "Create password", - "onboarding.form.adminInfoForm.fields.keepPosted.label": "Keep me posted about Rocket.Chat updates", - "onboarding.form.awaitConfirmationForm.title": "Awaiting confirmation", - "onboarding.form.awaitConfirmationForm.content.securityCode": "Security code", - "onboarding.form.awaitConfirmationForm.content.sentEmail": "Email sent to <1>{{emailAddress}} with a confirmation link.Please verify that the security code below matches the one in the email.", - "onboarding.form.organizationInfoForm.title": "Organization Info", - "onboarding.form.organizationInfoForm.subtitle": "We need to know who you are.", - "onboarding.form.organizationInfoForm.fields.organizationName.label": "Organization name", - "onboarding.form.organizationInfoForm.fields.organizationName.placeholder": "Organization name", - "onboarding.form.organizationInfoForm.fields.organizationType.label": "Organization type", - "onboarding.form.organizationInfoForm.fields.organizationType.placeholder": "Select", - "onboarding.form.organizationInfoForm.fields.organizationIndustry.label": "Organization industry", - "onboarding.form.organizationInfoForm.fields.organizationIndustry.placeholder": "Select", - "onboarding.form.organizationInfoForm.fields.organizationSize.label": "Organization size", - "onboarding.form.organizationInfoForm.fields.organizationSize.placeholder": "Select", - "onboarding.form.organizationInfoForm.fields.country.label": "Country", - "onboarding.form.organizationInfoForm.fields.country.placeholder": "Select", - "onboarding.form.registerOfflineForm.title": "Register Offline", - "onboarding.form.registerOfflineForm.copyStep.description": "If for any reason your workspace can’t be connected to the internet, follow these steps:<1>1. Go to: <2>cloud.rocket.chat > Workspaces and click “<3>Register self-managed”<4>2. Click “<5>Continue offline”<6>3. In the <7>Register offline workspace dialog in cloud.rocket.chat, paste the token in the box below", - "onboarding.form.registerOfflineForm.pasteStep.description": "1. In <1>cloud.rocket.chat get the generated text and paste below to complete your registration process", - "onboarding.form.registerOfflineForm.fields.registrationToken.inputLabel": "Registration token", - "onboarding.form.registeredServerForm.title": "Register your workspace", - "onboarding.form.registeredServerForm.included.push": "Mobile push notifications", - "onboarding.form.registeredServerForm.included.externalProviders": "Integration with external providers (WhatsApp, Facebook, Telegram, Twitter)", - "onboarding.form.registeredServerForm.included.apps": "Access to marketplace apps", - "onboarding.form.registeredServerForm.fields.accountEmail.inputLabel": "Admin email", - "onboarding.form.registeredServerForm.fields.accountEmail.inputPlaceholder": "Insert your email to continue", - "onboarding.form.registeredServerForm.keepInformed": "Keep me informed about news and events", - "onboarding.form.registeredServerForm.registerLater": "Register later", - "onboarding.form.registeredServerForm.notConnectedToInternet": "The server is not connected to the internet, so you’ll have to do an offline registration for this workspace.", - "onboarding.form.registeredServerForm.registrationEngagement": "Registration allows automatic license updates, notifications of critical vulnerabilities and access to Rocket.Chat Cloud services. No sensitive workspace data is shared; statistics sent to Rocket.Chat are made visible to you within the administration area.", - "onboarding.form.registeredServerForm.registrationKeepInformed": "By submitting this form you consent to receive more information about Rocket.Chat products, events and updates, according to our <1>privacy policy. You may unsubscribe at any time.", - "onboarding.form.standaloneServerForm.title": "Standalone Server Confirmation", - "onboarding.form.standaloneServerForm.servicesUnavailable": "Some of the services will be unavailable or will require manual setup", - "onboarding.form.standaloneServerForm.publishOwnApp": "In order to send push notitications you need to compile and publish your own app to Google Play and App Store", - "onboarding.form.standaloneServerForm.manuallyIntegrate": "Need to manually integrate with external services", - "subscription.callout.servicesDisruptionsMayOccur": "Services disruptions may occur", - "subscription.callout.servicesDisruptionsOccurring": "Services disruptions occurring", - "subscription.callout.capabilitiesDisabled": "Capabilities disabled", - "subscription.callout.description.limitsExceeded_one": "Your workspace exceeded the <1>{{val}} license limit. <3>Manage your subscription to increase limits.", - "subscription.callout.description.limitsExceeded_other": "Your workspace exceeded the <1>{{val, list}} license limits. <3>Manage your subscription to increase limits.", - "subscription.callout.description.limitsReached_one": "Your workspace reached the <1>{{val}} license limit. <3>Manage your subscription to increase limits.", - "subscription.callout.description.limitsReached_other": "Your workspace reached the <1>{{val, list}} license limits. <3>Manage your subscription to increase limits.", - "subscription.callout.allPremiumCapabilitiesDisabled": "All premium capabilities disabled", - "subscription.callout.activeUsers": "seats", - "subscription.callout.guestUsers": "guests", - "subscription.callout.roomsPerGuest": "max guest per room", - "subscription.callout.privateApps": "installed private apps", - "subscription.callout.marketplaceApps": "installed marketplace apps", - "subscription.callout.monthlyActiveContacts": "monthly active contacts", - "Something_Went_Wrong": "Something went wrong", - "Toolbox_room_actions": "Primary Room actions", - "Theme_light": "Light", - "Theme_light_description": "More accessible for individuals with visual impairments and a good choice for well-lit environments.", - "Theme_dark": "Dark", - "Theme_dark_description": "Reduce eye strain and fatigue in low-light conditions by minimizing the amount of light emitted by the screen.", - "Enable_of_limit_apps_currently_enabled": "**{{enabled}} of {{limit}} {{context}} apps currently enabled.** \n \nWorkspaces on Community can have up to {{limit}} {{context}} apps enabled. \n \n**{{appName}} will be disabled by default.** Disable another {{context}} app or upgrade to Premium to enable this app.", - "Enable_of_limit_apps_currently_enabled_exceeded": "**{{enabled}} of {{limit}} {{context}} apps currently enabled.** \n \nCommunity app limit has been exceeded. \n \nWorkspaces on Community can have up to {{limit}} {{context}} apps enabled. \n \n**{{appName}} will be disabled by default.** You will need to disable at least {{exceed}} other {{context}} apps or upgrade to a Premium plan to enable this app.", - "Workspaces_on_Community_edition_install_app": "Community workspaces can have up to {{limit}} {{context}} apps enabled. Upgrade to a Premium plan to enable unlimited apps.", - "Apps_Currently_Enabled": "{{enabled}} of {{limit}} {{context}} apps currently enabled", - "Disable_another_app": "Disable another app or upgrade to a Premium plan to enable this app.", - "Upload_anyway": "Upload anyway", - "App_limit_reached": "App limit reached", - "App_limit_exceeded": "App limit exceeded", - "Private_apps_limit_reached": "Private apps limit reached", - "Private_apps_limit_exceeded": "Private apps limit exceeded", - "Disable_at_least_more_apps": "You will need to disable at least {{numberOfExceededApps}} other apps or upgrade to a Premium plan to enable this app.", - "Community_Private_apps_limit_exceeded": "Community app limit has been exceeded.", - "Theme_match_system": "Match system", - "Theme_match_system_description": "Automatically match the appearance of your system.", - "Theme_high_contrast": "High contrast", - "Theme_high_contrast_description": "Maximum tonal differentiation with bold colors and sharp contrasts provide enhanced accessibility.", - "Highlighted_chosen_word": "Highlighted chosen word", - "Join_your_team": "Join your team", - "Create_a_password": "Create a password", - "Create_an_account": "Create an account", - "Get_all_apps": "Get all the apps your team needs", - "Workspaces_on_community_edition_trial_on": "Workspaces on Community can have up to 5 marketplace apps and 3 private apps enabled. Start a free Premium trial to remove these limits today!", - "Workspaces_on_community_edition_trial_off": "Workspaces on Community can have up to 5 marketplace apps and 3 private apps enabled. Upgrade to Premium to remove limits and supercharge your workspace.", - "No_private_apps_installed": "No private apps installed", - "Private_apps_are_side-loaded": "Private apps are side-loaded and are not available on the Marketplace.", - "Chat_transcript": "Chat transcript", - "Conversational_transcript": "Conversational transcript", - "Conversations_by_agents": "Conversations by agents", - "Conversations_by_channel": "Conversations by channel", - "Conversations_by_department": "Conversations by department", - "Conversations_by_status": "Conversations by status", - "Conversations_by_tag": "Conversations by tag", - "Send_conversation_transcript_via_email": "Send conversation transcript via email", - "Always_send_the_transcript_to_contacts_at_the_end_of_the_conversations": "Always send the transcript to contacts at the end of the conversations.", - "Export_conversation_transcript_as_PDF": "Export conversation transcript as PDF", - "Omnichannel_transcript_email": "Send chat transcript via email.", - "Accounts_Default_User_Preferences_omnichannelTranscriptEmail_Description": "Always send the transcript to contacts at the end of the conversations. This preference may be overriden by an admin setting.", - "Omnichannel_transcript_pdf": "Export chat transcript as PDF.", - "Accounts_Default_User_Preferences_omnichannelTranscriptPDF_Description": "Always export the transcript as PDF at the end of conversations.", - "Contact_email": "Contact email", - "Customer": "Customer", - "Time": "Time", - "Omnichannel_Agent": "Omnichannel Agent", - "This_attachment_is_not_supported": "Attachment format not supported", - "Send_transcript": "Send transcript", - "Undo_request": "Undo request", - "No_permission": "No permission", - "Users_Table_Generic_No_users": "No %s users", - "Users_Table_no_all_users_description": "No Users found.", - "Users_Table_no_pending_users_description": "Users who are pending activation or have been manually created but haven't logged in yet appear here.", - "Users_Table_no_active_users_description": "Active users appear here.", - "Users_Table_no_deactivated_users_description": "Deactivated users appear here.", - "Community_cap_description": "Community workspaces have a limit of 200 concurrent connections. If this limit is exceeded it will no longer be possible for users to see each others status. This does not affect sending and receiving of messages.", - "Premium_cap_description": "Premium plans do not have a presence service limit.", - "Service_status": "Service status", - "More_about_Premium_plans": "More about Premium plans", - "Presence_service_cap": "Presence service cap", - "User_Status": "User status", - "User_status_menu": "User status menu", - "Active_connections": "Active connections", - "Presence_service": "Presence service", - "Presence_broadcast_disabled": "Presence broadcast disabled internally", - "Presence_broadcast_disabled_Description": "This shows if the presence broadcast has been disabled automatically. This can happen if you don't have an Premium License and have more than 200 concurrent connections.", - "New_custom_status": "New custom status", - "Service_disabled": "The service is now disabled", - "Service_disabled_description": "You can't reenable it again until there's less than 200 active connections at the same time", - "User_status_disabled": "User status temporarily disabled to maintain performance.", - "User_status_disabled_learn_more": "User status disabled", - "User_status_disabled_learn_more_description": "Due to high volume of active connections, the service that handles user status is temporarily disabled. Administrators can re-enable this manually in the workspace settings.", - "Go_to_workspace_settings": "Go to workspace settings", - "User_status_temporarily_disabled": "User status temporarily disabled", - "Use_token": "Use token", - "Disconnected": "Disconnected", - "Disconnect_workspace": "Disconnect workspace", - "Awaiting_confirmation": "Awaiting confirmation", - "Security_code": "Security code", - "Registration_Token": "Registration Token", - "RegisterWorkspace_Button": "Register workspace", - "ConnectWorkspace_Button": "Connect workspace", - "Workspace_registered": "Workspace registered", - "Workspace_not_connected": "Workspace not connected", - "Token_Not_Recognized": "Token not recognized", - "RegisterWorkspace_Registered_Description": "These services are available", - "RegisterWorkspace_Registered_Subtitle": "Because this workspace is registered the following is available", - "RegisterWorkspace_Registered_Benefits": "Registration allows automatic license updates, notifications of critical vulnerabilities and access to Rocket.Chat Cloud services. No sensitive workspace data is shared with Rocket.Chat.", - "RegisterWorkspace_NotRegistered_Title": "Workspace not registered", - "RegisterWorkspace_NotRegistered_Subtitle": "Register this workspace and get", - "RegisterWorkspace_NotConnected_Title": "Workspace disconnected", - "RegisterWorkspace_NotConnected_Subtitle": "Connect this workspace and get", - "RegisterWorkspace_NotRegistered_Description": "Benefits of registering workspace", - "RegisterWorkspace_Disconnect_Subtitle": "Disconnecting your workspace will result in the loss of the following", - "RegisterWorkspace_Disconnect_Error": "An error occured disconnecting", - "RegisterWorkspace_Features_MobileNotifications_Title": "Mobile push notifications", - "RegisterWorkspace_Features_MobileNotifications_Description": "Allows workspace members to receive notifications on their mobile devices.", - "RegisterWorkspace_Features_MobileNotifications_Disconnect": "Workspace members will no longer receive notifications on their mobile devices.", - "RegisterWorkspace_Features_Marketplace_Title": "Marketplace", - "RegisterWorkspace_Features_Marketplace_Description": "Install Rocket.Chat Marketplace apps on this workspace.", - "RegisterWorkspace_Features_Marketplace_Disconnect": "It will no longer be possible to install apps.", - "RegisterWorkspace_Features_Omnichannel_Title": "Omnichannel", - "RegisterWorkspace_Features_Omnichannel_Description": "Talk to your audience, where they are, through the most popular social channels in the world.", - "RegisterWorkspace_Features_Omnichannel_Disconnect": "Omnichannel capabilities will no longer be available.", - "RegisterWorkspace_Features_ThirdPartyLogin_Title": "Third-party login", - "RegisterWorkspace_Features_ThirdPartyLogin_Description": "Let workspace members log in using a set of third-party applications.", - "RegisterWorkspace_Features_ThirdPartyLogin_Disconnect": "Third-party login options will no longer be available.", - "RegisterWorkspace_Token_Title": "Register workspace with token", - "RegisterWorkspace_Token_Step_Two": "Copy the token and paste it below.", - "RegisterWorkspace_with_email": "Register workspace with email", - "RegisterWorkspace_Setup_Subtitle": "To register this workspace it needs to be associated it with a Rocket.Chat Cloud account.", - "RegisterWorkspace_Setup_Steps": "Step {{step}} of {{numberOfSteps}}", - "RegisterWorkspace_Setup_Label": "Cloud account email", - "RegisterWorkspace_Setup_Have_Account_Title": "Have an account?", - "RegisterWorkspace_Setup_Have_Account_Subtitle": "Enter your Cloud account email to associate this workspace with your account.", - "RegisterWorkspace_Setup_No_Account_Title": "Don't have an account?", - "RegisterWorkspace_Setup_No_Account_Subtitle": "Enter your email to create a new Cloud account and associate this workspace.", - "cloud.RegisterWorkspace_Setup_Email_Confirmation": "Email sent to <1>email with a confirmation link.", - "RegisterWorkspace_Setup_Email_Verification": "Please verify that the security code below matches the one in the email.", - "RegisterWorkspace_Syncing_Error": "An error occured syncing your workspace", - "RegisterWorkspace_Syncing_Complete": "Sync Complete", - "RegisterWorkspace_Connection_Error": "An error occured connecting", - "cloud.RegisterWorkspace_Token_Step_One": "1. Go to: <1>cloud.rocket.chat > Workspaces and click <3>'Register self-managed'.", - "cloud.RegisterWorkspace_Setup_Terms_Privacy": "I agree with <1>Terms and Conditions and <3>Privacy Policy", - "Larger_amounts_of_active_connections": "For larger amounts of active connections you can consider our <1>multiple instance solutions.", - "Uninstall_grandfathered_app": "Uninstall {{appName}}?", - "App_will_lose_grandfathered_status": "**This {{context}} app will lose its grandfathered status.** \n \nWorkspaces on Community can have up to {{limit}} {{context}} apps enabled. Grandfathered apps count towards the limit but the limit is not applied to them.", - "All_rooms": "All rooms", - "All_visible": "All visible", - "all": "all", - "Filter_by_room": "Filter by room type", - "Filter_by_visibility": "Filter by visibility", - "Theme_Appearence": "Theme Appearence", - "mentions_counter_one": "{{count}} mention", - "mentions_counter_other": "{{count}} mentions", - "threads_counter_one": "{{count}} unread threaded message", - "threads_counter_other": "{{count}} unread threaded messages", - "group_mentions_counter_one": "{{count}} group mention", - "group_mentions_counter_other": "{{count}} group mentions", - "unread_messages_counter_one": "{{count}} unread message", - "unread_messages_counter_other": "{{count}} unread messages", - "Premium": "Premium", - "Enterprise": "Premium", - "Premium_capability": "Premium capability", - "Operating_withing_plan_limits": "Operating within plan limits", - "Plan_limits_reached": "Plan limits reached", - "Workspace_not_registered": "Workspace not registered", - "Users_Connected": "Users connected", - "Solve_issues": "Solve issues", - "Update_version": "Update version", - "Version_not_supported": "Version <1>not supported", - "Version_supported_until": "Version <1>supported until {{date}}", - "Check_support_availability": "Check <1>support availability", - "Outdated": "Outdated", - "Latest": "Latest", - "New_version_available": "New version available", - "trial": "trial", - "Subscription": "Subscription", - "Manage_subscription": "Manage subscription", - "ActiveSessionsPeak": "Active sessions peak", - "ActiveSessionsPeak_InfoText": "Highest amount of active connections in the past 30 days", - "ActiveSessions": "Active sessions", - "ActiveSessions_available": "sessions available", - "Monthly_active_contacts": "Monthly active contacts", - "Upgrade": "Upgrade", - "Seats": "Seats", - "Marketplace_apps": "Marketplace apps", - "Private_apps": "Private apps", - "Finish_your_purchase_trial": "Finish your purchase to avoid <1>downgrade consequences.", - "Contact_sales_trial": "Contact sales to finish your purchase and avoid <1>downgrade consequences.", - "Why_has_a_trial_been_applied_to_this_workspace": "<0>Why has a trial been applied to this workspace?", - "Compare_plans": "Compare plans", - "n_days_left": "{{n}} days left", - "Contact_sales": "Contact sales", - "Finish_purchase": "Finish purchase", - "Self_managed_hosting": "Self-managed hosting", - "Cloud_hosting": "Rocket.Chat cloud hosting", - "free_per_month_user": "$0 per month/user", - "Trial_active": "Trial active", - "Contact_sales_renew_date": "<0>Contact sales to check plan renew date", - "Renews_DATE": "Renews {{date}}", - "UpgradeToGetMore_Headline": "Upgrade to get more", - "UpgradeToGetMore_Subtitle": "Supercharge your workspace with advanced capabilities.", - "UpgradeToGetMore_scalability_Title": "High scalabaility", - "UpgradeToGetMore_scalability_Body": "Improve efficiency, decrease costs and increase concurrent users usage by switching from monolithic to microservices or multi-instance.", - "UpgradeToGetMore_accessibility-certification_Title": "WCAG 2.1 and BITV 2.0", - "UpgradeToGetMore_accessibility-certification_Body": "Comply with WCAG and BITV standards with Rocket.Chat's accessibility program.", - "UpgradeToGetMore_engagement-dashboard_Title": "Analytics", - "UpgradeToGetMore_engagement-dashboard_Body": "Gain insights into user, message, and channel usage through the engagement dashboard.", - "UpgradeToGetMore_oauth-enterprise_Title": "Advanced authentication", - "UpgradeToGetMore_oauth-enterprise_Body": "Ensure proper access permissions through LDAP/SAML/Oauth with group roles mapping, channel subscription, auto logout and more.", - "UpgradeToGetMore_custom-roles_Title": "Custom roles", - "UpgradeToGetMore_custom-roles_Body": "Ensure a safe and productive work environment by setting specific roles and permissions for people in your workspace.", - "UpgradeToGetMore_auditing_Title": "Message auditing", - "UpgradeToGetMore_auditing_Body": "Audit conversations in one single place to ensure communication quality with customers, suppliers, and internal teams.", - "Seats_InfoText": "Each unique user occupies one seat. Deactivated users do not occupy seats. Total number of seats is defined by active license type.", - "CountSeats_InfoText": "Each unique user occupies one seat. Deactivated users do not occupy seats.", - "MAC_InfoText": "(MAC) the number of unique omnichannel contacts engaged with during the billing month.", - "CountMAC_InfoText": "(MAC) the number of unique omnichannel contacts engaged with during the calendar month.", - "ActiveSessions_InfoText": "Total concurrent connections. A single user can be connected multiple times. User presence service is disabled at 200 or more to prevent performance issues.", - "Apps_InfoText": "Community allows up to 3 private apps and 5 marketplace apps to be enabled", - "Remove_RocketChat_Watermark_InfoText": "Watermark is automatically removed when a paid license is active.", - "Remove_RocketChat_Watermark": "Remove Rocket.Chat watermark", - "High_scalabaility": "High scalabaility", - "Premium_and_unlimited_apps": "Premium and unlimited apps", - "Message_actions": "Message actions", - "Message_audit": "Message auditing", - "Message_list": "Message list", - "Premium_omnichannel_capabilities": "Premium omnichannel capabilities", - "Video_call_manager": "Video call manager", - "Unlimited_push_notifications": "Unlimited push notifications", - "Buy_more": "Buy more", - "Upgrade_to_Pro": "Upgrade to Pro", - "Sync_license_update": "Sync license update", - "Sync_license_update_Callout_Title": "We're updating your license", - "Sync_license_update_Callout": "If you don't notice any changes in your workspace within a few minutes, sync the license update.", - "Includes": "Includes", - "Unlock_premium_capabilities": "Unlock premium capabilities", - "Unlimited_seats": "Unlimited seats", - "Unlimited_MACs": "Unlimited MACs", - "Unlimited_seats_MACs": "Unlimited seats and MACs", - "Seat_limit_reached": "Seat limit reached", - "Seat_limit_reached_Description": "Your workspace reached its contractual seat limit. Buy more seats to add more users.", - "Buy_more_seats": "Buy more seats", - "Anyone_can_react_to_messages": "Anyone can react to messages", - "Name_cannot_have_spaces": "Name cannot have spaces", - "No_spaces": "No spaces", - "Add_people": "Add people", - "Anyone_can_access": "Anyone can access", - "Only_invited_people": "People can only join by being invited", - "Broadcast_hint_enabled": "Only {{roomType}} owners can write new messages but anyone can reply in a thread", - "Federation_is_currently_disabled_on_this_workspace": "Federation is currently disabled on this workspace", - "Search_options": "Search options", - "First_message_hint": "A discussion can start with a question like \"How do I upload a picture?\"", - "Delete_roomType": "Delete {{roomType}}", - "Delete_roomType_description": "Deleting this {{roomType}} will also delete all contained message. This cannot be undone.", - "Deleted_roomType": "{{roomName}} {{roomType}} has been deleted", - "unread_messages_one": "{{count}} unread message", - "unread_messages_other": "{{count}} unread messages", - "Encrypted_messages": "End-to-end encrypted {{roomType}}. Search will not work with encrypted {{roomType}} and notifications may not show the messages content.", - "Encrypted_messages_false": "Messages are not encrypted", - "Encrypted_content_will_not_appear_search": "Room encrypted, encrypted content will not appear in search", - "Encrypted_content_cannot_be_searched_and_audited": "Encrypted content cannot be searched and audited", - "Encrypted_content_cannot_be_searched_and_audited_subtitle": "There are one or more encrypted rooms selected for audit.", - "Not_available_for_broadcast": "Not available for broadcast {{roomType}}", - "Not_available_for_this_workspace": "Not available for this workspace", - "People_can_only_join_by_being_invited": "People can only join by being invited", - "Go_to_href": "Go to: {{href}}", - "Anyone_can_send_new_messages": "Anyone can send new messages", - "Select_messages_to_hide": "Select messages to hide", - "Name_cannot_have_special_characters": "Name cannot have spaces or special characters", - "Resize": "Resize", - "Zoom_out": "Zoom out", - "Zoom_in": "Zoom in", - "Close_gallery": "Close gallery", - "Next_image": "Next Image", - "Previous_image": "Previous image", - "Image_gallery": "Image gallery", - "Add_topic": "Add topic", - "Chat_with_leader": "Chat with leader", - "You_cant_take_chats_unavailable": "You cannot take new conversations because you're unavailable", - "You_cant_take_chats_offline": "You cannot take new conversations because you're offline", - "New_navigation": "Enhanced navigation experience", - "New_navigation_description": "Explore our improved navigation, designed with clear scopes for easy access to what you need. This change serves as the foundation for future advancements in navigation management.", - "Workspace_and_user_settings": "Workspace and user settings", - "Sidebar_Sections_Order": "Sidebar sections order", - "Sidebar_Sections_Order_Description": "Select the categories in your preferred order", - "Incoming_Calls": "Incoming calls", - "Advanced_settings": "Advanced settings", - "Security_and_permissions": "Security and permissions" + "500": "Internal Server Error", + "__agents__agents_and__count__conversations__period__": "{{agents}} agents and {{count}} conversations, {{period}}", + "__count__empty_rooms_will_be_removed_automatically": "{{count}} empty rooms will be removed automatically.", + "__count__empty_rooms_will_be_removed_automatically__rooms__": "{{count}} empty rooms will be removed automatically:
{{rooms}}.", + "__count__message_pruned_one": "{{count}} message pruned", + "__count__message_pruned_other": "{{count}} messages pruned", + "__count__conversations__period__": "{{count}} conversations, {{period}}", + "__count__tags__and__count__conversations__period__": "{{count}} tags and {{conversations}} conversations, {{period}}", + "__departments__departments_and__count__conversations__period__": "{{departments}} departments and {{count}} conversations, {{period}}", + "__usersCount__member_joined_one": "+ {{count}} member joined", + "__usersCount__member_joined_other": "+ {{count}} members joined", + "__usersCount__people_will_be_invited": "{{usersCount}} people will be invited", + "__username__is_no_longer__role__defined_by__user_by_": "{{username}} is no longer {{role}} by {{user_by}}", + "__username__was_set__role__by__user_by_": "{{username}} was set {{role}} by {{user_by}}", + "__count__without__department__": "{{count}} without department", + "__count__without__tags__": "{{count}} without tags", + "__count__without__assignee__": "{{count}} without assignee", + "__roomName__was_added_to_favorites": "{{roomName}} was added to favorites", + "__roomName__was_removed_from_favorites": "{{roomName}} was removed from favorites", + "__roomName__is_encrypted": "{{roomName}} is encrypted", + "__roomName__encryption_keys_need_to_be_updated": "{{roomName}} encryption keys need to be updated to give you access. Another room member needs to be online for this to happen.", + "removed__username__as__role_": "removed {{username}} as {{role}}", + "set__username__as__role_": "set {{username}} as {{role}}", + "sequential_message": "sequential message", + "This_room_encryption_has_been_enabled_by__username_": "This room's encryption has been enabled by {{username}}", + "This_room_encryption_has_been_disabled_by__username_": "This room's encryption has been disabled by {{username}}", + "Third_party_login": "Third-party login", + "Enabled_E2E_Encryption_for_this_room": "enabled E2E Encryption for this room", + "Enable_business_hours": "Enable business hours", + "disabled": "disabled", + "Disabled_E2E_Encryption_for_this_room": "disabled E2E Encryption for this room", + "@username": "@username", + "@username_message": "@username ", + "#channel": "#channel", + "%_of_conversations": "% of Conversations", + "0_Errors_Only": "0 - Errors Only", + "1_Errors_and_Information": "1 - Errors and Information", + "2_Erros_Information_and_Debug": "2 - Errors, Information and Debug", + "12_Hour": "12-hour clock", + "24_Hour": "24-hour clock", + "A_cloud-based_platform_for_those_needing_a_plug-and-play_app": "A cloud-based platform for those needing a plug-and-play app.", + "A_new_owner_will_be_assigned_automatically_to__count__rooms": "A new owner will be assigned automatically to {{count}} rooms.", + "A_new_owner_will_be_assigned_automatically_to_the__roomName__room": "A new owner will be assigned automatically to the {{roomName}} room.", + "A_new_owner_will_be_assigned_automatically_to_those__count__rooms__rooms__": "A new owner will be assigned automatically to those {{count}} rooms:
{{rooms}}.", + "A_secure_and_highly_private_self-managed_solution_for_conference_calls": "A secure and highly private self-managed solution for conference calls.", + "A_workspace_admin_needs_to_install_and_configure_a_conference_call_app": "A workspace admin needs to install and configure a conference call app.", + "An_app_needs_to_be_installed_and_configured": "An app needs to be installed and configured.", + "Accessibility": "Accessibility", + "Accessibility_and_Appearance": "Accessibility & appearance", + "Accessibility_activation": "Here you can activate a range of features to enhance your browsing experience.", + "Accessibility_statement": "Accessibility statement", + "Accessibility_feature_documentation": "Accessibility feature documentation", + "Accept_Call": "Accept Call", + "Accept": "Accept", + "Accept_incoming_livechat_requests_even_if_there_are_no_online_agents": "Accept incoming omnichannel requests even if there are no online agents", + "Accept_new_livechats_when_agent_is_idle": "Accept new omnichannel requests when the agent is idle", + "Accept_with_no_online_agents": "Accept with No Online Agents", + "Access_not_authorized": "Access not authorized", + "Access_Token_URL": "Access Token URL", + "Access_Your_Account": "Access Your Account", + "access_your_basic_information": "access your basic information", + "access-mailer": "Access Mailer Screen", + "access-mailer_description": "Permission to send mass email to all users.", + "access-marketplace": "Access marketplace", + "access-marketplace_description": "Permission to browse and get apps from the marketplace", + "access-permissions": "Access Permissions Screen", + "access-permissions_description": "Modify permissions for various roles.", + "access-setting-permissions": "Modify Setting-Based Permissions", + "access-setting-permissions_description": "Permission to modify setting-based permissions", + "Accessing_permissions": "Accessing permissions", + "Account_SID": "Account SID", + "Account": "Account", + "Accounts": "Accounts", + "Accounts_Description": "Modify workspace member account settings.", + "Accounts_Admin_Email_Approval_Needed_Default": "

The user [name] ([email]) has been registered.

Please check \"Administration -> Users\" to activate or delete it.

", + "Accounts_Admin_Email_Approval_Needed_Subject_Default": "A new user registered and needs approval", + "Accounts_Admin_Email_Approval_Needed_With_Reason_Default": "

The user [name] ([email]) has been registered.

Reason: [reason]

Please check \"Administration -> Users\" to activate or delete it.

", + "Accounts_AllowAnonymousRead": "Allow Anonymous Read", + "Accounts_AllowAnonymousWrite": "Allow Anonymous Write", + "Accounts_AllowDeleteOwnAccount": "Allow Users to Delete Own Account", + "Accounts_AllowedDomainsList": "Allowed Domains List", + "Accounts_AllowedDomainsList_Description": "Comma-separated list of allowed domains", + "Accounts_AllowInvisibleStatusOption": "Allow Invisible status option", + "Accounts_AllowEmailChange": "Allow Email Change", + "Accounts_AllowEmailNotifications": "Allow Email Notifications", + "Accounts_AllowFeaturePreview": "Allow Feature Preview", + "Accounts_AllowPasswordChange": "Allow Password Change", + "Accounts_AllowPasswordChangeForOAuthUsers": "Allow Password Change for OAuth Users", + "Accounts_AllowRealNameChange": "Allow Name Change", + "Accounts_AllowUserAvatarChange": "Allow User Avatar Change", + "Accounts_AllowUsernameChange": "Allow Username Change", + "Accounts_AllowUserProfileChange": "Allow User Profile Change", + "Accounts_AllowUserStatusMessageChange": "Allow Custom Status Message", + "Accounts_AvatarBlockUnauthenticatedAccess": "Block Unauthenticated Access to Avatars", + "Accounts_AvatarCacheTime": "Avatar cache time", + "Accounts_AvatarCacheTime_description": "Number of seconds the http protocol is told to cache the avatar images.", + "Accounts_AvatarExternalProviderUrl": "Avatar External Provider URL", + "Accounts_AvatarExternalProviderUrl_Description": "Example: `https://acme.com/api/v1/{username}`", + "Accounts_AvatarResize": "Resize Avatars", + "Accounts_AvatarSize": "Avatar Size", + "Accounts_BlockedDomainsList": "Blocked Domains List", + "Accounts_BlockedDomainsList_Description": "Comma-separated list of blocked domains", + "Accounts_BlockedUsernameList": "Blocked Username List", + "Accounts_BlockedUsernameList_Description": "Comma-separated list of blocked usernames (case-insensitive)", + "Accounts_CustomFields_Description": "Should be a valid JSON where keys are the field names containing a dictionary of field settings. Example: \n`{\"role\":{ \"type\": \"select\", \"defaultValue\": \"student\", \"options\": [\"teacher\", \"student\"], \"required\": true, \"modifyRecordField\": { \"array\": true, \"field\": \"roles\" } }, \"twitter\": { \"type\": \"text\", \"required\": true, \"minLength\": 2, \"maxLength\": 10 }}`", + "Accounts_CustomFieldsToShowInUserInfo": "Custom Fields to Show in User Info", + "Accounts_Default_User_Preferences": "Default User Preferences", + "Accounts_Default_User_Preferences_audioNotifications": "Audio Notifications Default Alert", + "Accounts_Default_User_Preferences_alsoSendThreadToChannel_Description": "Allow users to select the Also send to channel behavior", + "Accounts_Default_User_Preferences_desktopNotifications": "Desktop Notifications Default Alert", + "Accounts_Default_User_Preferences_pushNotifications": "Push Notifications Default Alert", + "Accounts_Default_User_Preferences_not_available": "Failed to retrieve User Preferences because they haven't been set up by the user yet", + "Accounts_Default_User_Preferences_showThreadsInMainChannel_Description": "When enabled, all replies under a thread will also be displayed directly in the main room. When disabled, thread replies will be displayed based on the sender's choice.", + "Accounts_DefaultUsernamePrefixSuggestion": "Default Username Prefix Suggestion", + "Accounts_denyUnverifiedEmail": "Deny unverified email", + "Accounts_Directory_DefaultView": "Default Directory Listing", + "Accounts_Email_Activated": "[name]

Your account was activated.

", + "Accounts_Email_Activated_Subject": "Account activated", + "Accounts_Email_Approved": "[name]

Your account was approved.

", + "Accounts_Email_Approved_Subject": "Account approved", + "Accounts_Email_Deactivated": "[name]

Your account was deactivated.

", + "Accounts_Email_Deactivated_Subject": "Account deactivated", + "Accounts_EmailVerification": "Require email verification to login", + "Accounts_EmailVerification_Description": "Ensure SMTP is configured to enable", + "Accounts_Enrollment_Email": "Enrollment Email", + "Accounts_Enrollment_Email_Default": "

Welcome to [Site_Name]

Go to [Site_URL] and try the best open source chat solution available today!

", + "Accounts_Enrollment_Email_Description": "You may use the following placeholders: \n - `[name]`, `[fname]`, `[lname]` for the user's full name, first name or last name, respectively. \n - `[email]` for the user's email. \n - `[Site_Name]` and `[Site_URL]` for the Application Name and URL respectively. ", + "Accounts_Enrollment_Email_Subject_Default": "Welcome to [Site_Name]", + "Accounts_ForgetUserSessionOnWindowClose": "Forget User Session on Window Close", + "Accounts_Iframe_api_method": "Api Method", + "Accounts_Iframe_api_url": "API URL", + "Accounts_iframe_enabled": "Enabled", + "Accounts_iframe_url": "Iframe URL", + "Accounts_LoginExpiration": "Login Expiration in Days", + "Accounts_ManuallyApproveNewUsers": "Manually Approve New Users", + "Accounts_OAuth_Apple": "Sign in with Apple", + "Accounts_OAuth_Apple_Description": "If you want Apple login enabled only on mobile, you can leave all fields empty.", + "Accounts_OAuth_Custom_Access_Token_Param": "Param Name for access token", + "Accounts_OAuth_Custom_Authorize_Path": "Authorize Path", + "Accounts_OAuth_Custom_Avatar_Field": "Avatar field", + "Accounts_OAuth_Custom_Button_Color": "Button Color", + "Accounts_OAuth_Custom_Button_Label_Color": "Button Text Color", + "Accounts_OAuth_Custom_Button_Label_Text": "Button Text", + "Accounts_OAuth_Custom_Channel_Admin": "User Data Group Map", + "Accounts_OAuth_Custom_Channel_Map": "OAuth Group Channel Map", + "Accounts_OAuth_Custom_Email_Field": "Email field", + "Accounts_OAuth_Custom_Enable": "Enable", + "Accounts_OAuth_Custom_Groups_Claim": "Roles/Groups field for channel mapping", + "Accounts_OAuth_Custom_id": "Id", + "Accounts_OAuth_Custom_Identity_Path": "Identity Path", + "Accounts_OAuth_Custom_Identity_Token_Sent_Via": "Identity Token Sent Via", + "Accounts_OAuth_Custom_Key_Field": "Key Field", + "Accounts_OAuth_Custom_Login_Style": "Login Style", + "Accounts_OAuth_Custom_Map_Channels": "Map Roles/Groups to channels", + "Accounts_OAuth_Custom_Merge_Roles": "Merge Roles from SSO", + "Accounts_OAuth_Custom_Merge_Users": "Merge users", + "Accounts_OAuth_Custom_Merge_Users_Distinct_Services": "Merge users from distinct services", + "Accounts_OAuth_Custom_Merge_Users_Distinct_Services_Description": "When the given key field matches the one of an existing user, allow users from this OAuth service to be merged to existing users regardless of their origin service.", + "Accounts_OAuth_Custom_Name_Field": "Name field", + "Accounts_OAuth_Custom_Roles_Claim": "Roles/Groups field name", + "Accounts_OAuth_Custom_Roles_To_Sync": "Roles to Sync", + "Accounts_OAuth_Custom_Roles_To_Sync_Description": "OAuth Roles to sync on user login and creation (comma-separated).", + "Accounts_OAuth_Custom_Scope": "Scope", + "Accounts_OAuth_Custom_Secret": "Secret", + "Accounts_OAuth_Custom_Show_Button_On_Login_Page": "Show Button on Login Page", + "Accounts_OAuth_Custom_Token_Path": "Token Path", + "Accounts_OAuth_Custom_Token_Sent_Via": "Token Sent Via", + "Accounts_OAuth_Custom_Username_Field": "Username field", + "Accounts_OAuth_Drupal": "Drupal Login Enabled", + "Accounts_OAuth_Drupal_callback_url": "Drupal oAuth2 Redirect URI", + "Accounts_OAuth_Drupal_id": "Drupal oAuth2 Client ID", + "Accounts_OAuth_Drupal_secret": "Drupal oAuth2 Client Secret", + "Accounts_OAuth_Facebook": "Facebook Login", + "Accounts_OAuth_Facebook_callback_url": "Facebook Callback URL", + "Accounts_OAuth_Facebook_id": "Facebook App ID", + "Accounts_OAuth_Facebook_secret": "Facebook Secret", + "Accounts_OAuth_Github": "OAuth Enabled", + "Accounts_OAuth_Github_callback_url": "Github Callback URL", + "Accounts_OAuth_GitHub_Enterprise": "OAuth Enabled", + "Accounts_OAuth_GitHub_Enterprise_callback_url": "GitHub Enterprise Callback URL", + "Accounts_OAuth_GitHub_Enterprise_id": "Client Id", + "Accounts_OAuth_GitHub_Enterprise_secret": "Client Secret", + "Accounts_OAuth_Github_id": "Client Id", + "Accounts_OAuth_Github_secret": "Client Secret", + "Accounts_OAuth_Gitlab": "OAuth Enabled", + "Accounts_OAuth_Gitlab_callback_url": "GitLab Callback URL", + "Accounts_OAuth_Gitlab_id": "GitLab Id", + "Accounts_OAuth_Gitlab_identity_path": "Identity Path", + "Accounts_OAuth_Gitlab_merge_users": "Merge Users", + "Accounts_OAuth_Gitlab_secret": "Client Secret", + "Accounts_OAuth_Google": "Google Login", + "Accounts_OAuth_Google_callback_url": "Google Callback URL", + "Accounts_OAuth_Google_id": "Google Id", + "Accounts_OAuth_Google_secret": "Google Secret", + "Accounts_OAuth_Linkedin": "LinkedIn Login", + "Accounts_OAuth_Linkedin_callback_url": "Linkedin Callback URL", + "Accounts_OAuth_Linkedin_id": "LinkedIn Id", + "Accounts_OAuth_Linkedin_secret": "LinkedIn Secret", + "Accounts_OAuth_Meteor": "Meteor Login", + "Accounts_OAuth_Meteor_callback_url": "Meteor Callback URL", + "Accounts_OAuth_Meteor_id": "Meteor Id", + "Accounts_OAuth_Meteor_secret": "Meteor Secret", + "Accounts_OAuth_Nextcloud": "OAuth Enabled", + "Accounts_OAuth_Nextcloud_callback_url": "Nextcloud Callback URL", + "Accounts_OAuth_Nextcloud_id": "Nextcloud Id", + "Accounts_OAuth_Nextcloud_secret": "Client Secret", + "Accounts_OAuth_Nextcloud_URL": "Nextcloud Server URL", + "Accounts_OAuth_Proxy_host": "Proxy Host", + "Accounts_OAuth_Proxy_services": "Proxy Services", + "Accounts_OAuth_Tokenpass": "Tokenpass Login", + "Accounts_OAuth_Tokenpass_callback_url": "Tokenpass Callback URL", + "Accounts_OAuth_Tokenpass_id": "Tokenpass Id", + "Accounts_OAuth_Tokenpass_secret": "Tokenpass Secret", + "Accounts_OAuth_Twitter": "Twitter Login", + "Accounts_OAuth_Twitter_callback_url": "Twitter Callback URL", + "Accounts_OAuth_Twitter_id": "Twitter Id", + "Accounts_OAuth_Twitter_secret": "Twitter Secret", + "Accounts_OAuth_Wordpress": "WordPress Login", + "Accounts_OAuth_Wordpress_authorize_path": "Authorize Path", + "Accounts_OAuth_Wordpress_callback_url": "WordPress Callback URL", + "Accounts_OAuth_Wordpress_id": "WordPress Id", + "Accounts_OAuth_Wordpress_identity_path": "Identity Path", + "Accounts_OAuth_Wordpress_identity_token_sent_via": "Identity Token Sent Via", + "Accounts_OAuth_Wordpress_scope": "Scope", + "Accounts_OAuth_Wordpress_secret": "WordPress Secret", + "Accounts_OAuth_Wordpress_server_type_custom": "Custom", + "Accounts_OAuth_Wordpress_server_type_wordpress_com": "Wordpress.com", + "Accounts_OAuth_Wordpress_server_type_wp_oauth_server": "WP OAuth Server Plugin", + "Accounts_OAuth_Wordpress_token_path": "Token Path", + "Accounts_Password_Policy_AtLeastOneLowercase": "At Least One Lowercase", + "Accounts_Password_Policy_AtLeastOneLowercase_Description": "Enforce that a password contain at least one lowercase character.", + "Accounts_Password_Policy_AtLeastOneNumber": "At Least One Number", + "Accounts_Password_Policy_AtLeastOneNumber_Description": "Enforce that a password contain at least one numerical character.", + "Accounts_Password_Policy_AtLeastOneSpecialCharacter": "At Least One Symbol", + "Accounts_Password_Policy_AtLeastOneSpecialCharacter_Description": "Enforce that a password contain at least one special character.", + "Accounts_Password_Policy_AtLeastOneUppercase": "At Least One Uppercase", + "Accounts_Password_Policy_AtLeastOneUppercase_Description": "Enforce that a password contain at least one uppercase character.", + "Accounts_Password_Policy_Enabled": "Enable Password Policy", + "Accounts_Password_Policy_Enabled_Description": "When enabled, user passwords must adhere to the policies set forth. Note: this only applies to new passwords, not existing passwords.", + "Accounts_Password_Policy_ForbidRepeatingCharacters": "Forbid Repeating Characters", + "Accounts_Password_Policy_ForbidRepeatingCharacters_Description": "Ensures passwords do not contain the same character repeating next to each other.", + "Accounts_Password_Policy_ForbidRepeatingCharactersCount": "Max Repeating Characters", + "Accounts_Password_Policy_ForbidRepeatingCharactersCount_Description": "The amount of times a character can be repeating before it is not allowed.", + "Accounts_Password_Policy_MaxLength": "Maximum Length", + "Accounts_Password_Policy_MaxLength_Description": "Ensures that passwords do not have more than this amount of characters. Use `-1` to disable.", + "Accounts_Password_Policy_MinLength": "Minimum Length", + "Accounts_Password_Policy_MinLength_Description": "Ensures that passwords must have at least this amount of characters. Use `-1` to disable.", + "Accounts_PasswordReset": "Password Reset", + "Accounts_Registration_AuthenticationServices_Default_Roles": "Default Roles for Authentication Services", + "Accounts_Registration_AuthenticationServices_Default_Roles_Description": "Default roles (comma-separated) users will be given when registering through authentication services", + "Accounts_Registration_AuthenticationServices_Enabled": "Registration with Authentication Services", + "Accounts_Registration_Users_Default_Roles": "Default Roles for Users", + "Accounts_Registration_Users_Default_Roles_Description": "Default roles (comma-separated) users will be given when registering through manual registration (including via API)", + "Accounts_Registration_Users_Default_Roles_Enabled": "Enable Default Roles for Manual Registration", + "Accounts_Registration_InviteUrlType": "Invite URL Type", + "Accounts_Registration_InviteUrlType_Direct": "Direct", + "Accounts_Registration_InviteUrlType_Proxy": "Proxy", + "Accounts_RegistrationForm": "Registration Form", + "Accounts_RegistrationForm_Disabled": "Disabled", + "Accounts_RegistrationForm_LinkReplacementText": "Registration Form Link Replacement Text", + "Accounts_RegistrationForm_Public": "Public", + "Accounts_RegistrationForm_Secret_URL": "Secret URL", + "Accounts_RegistrationForm_SecretURL": "Registration Form Secret URL", + "Accounts_RegistrationForm_SecretURL_Description": "You must provide a random string that will be added to your registration URL. Example: `https://open.rocket.chat/register/[secret_hash]`", + "Accounts_RequireNameForSignUp": "Require Name For Signup", + "Accounts_RequirePasswordConfirmation": "Require Password Confirmation", + "Accounts_RoomAvatarExternalProviderUrl": "Room Avatar External Provider URL", + "Accounts_RoomAvatarExternalProviderUrl_Description": "Example: `https://acme.com/api/v1/{roomId}`", + "Accounts_SearchFields": "Fields to Consider in Search", + "Accounts_Send_Email_When_Activating": "Send email to user when user is activated", + "Accounts_Send_Email_When_Deactivating": "Send email to user when user is deactivated", + "Accounts_Set_Email_Of_External_Accounts_as_Verified": "Set email of external accounts as verified", + "Accounts_Set_Email_Of_External_Accounts_as_Verified_Description": "Accounts created from external services, like LDAP, OAuth, etc, will have their emails verified automatically", + "Accounts_SetDefaultAvatar": "Set Default Avatar", + "Accounts_SetDefaultAvatar_Description": "Tries to determine default avatar based on OAuth Account or Gravatar", + "Accounts_ShowFormLogin": "Show Default Login Form", + "Accounts_TwoFactorAuthentication_By_TOTP_Enabled": "Enable Two Factor Authentication via TOTP", + "Accounts_TwoFactorAuthentication_By_TOTP_Enabled_Description": "Users can setup their Two Factor Authentication using any TOTP App, like Google Authenticator or Authy.", + "Accounts_TwoFactorAuthentication_By_Email_Auto_Opt_In": "Auto opt in new users for Two Factor via Email", + "Accounts_TwoFactorAuthentication_By_Email_Auto_Opt_In_Description": "New users will have the Two Factor Authentication via Email enabled by default. They will be able to disable it in their profile page.", + "Accounts_TwoFactorAuthentication_By_Email_Code_Expiration": "Time to expire the code sent via email in seconds", + "Accounts_TwoFactorAuthentication_By_Email_Enabled": "Enable Two Factor Authentication via Email", + "Accounts_TwoFactorAuthentication_By_Email_Enabled_Description": "Users with email verified and the option enabled in their profile page will receive an email with a temporary code to authorize certain actions like login, save the profile, etc.", + "Accounts_TwoFactorAuthentication_Enabled": "Enable Two Factor Authentication", + "Accounts_TwoFactorAuthentication_Enabled_Description": "If deactivated, this setting will deactivate all Two Factor Authentication. \nTo force users to use Two Factor Authentication, the admin has to configure the 'user' role to enforce it.", + "Accounts_TwoFactorAuthentication_Enforce_Password_Fallback": "Enforce password fallback", + "Accounts_TwoFactorAuthentication_Enforce_Password_Fallback_Description": "Users will be forced to enter their password, for important actions, if no other Two Factor Authentication method is enabled for that user and a password is set for him.", + "Accounts_TwoFactorAuthentication_MaxDelta": "Maximum Delta", + "Accounts_TwoFactorAuthentication_MaxDelta_Description": "The Maximum Delta determines how many tokens are valid at any given time. Tokens are generated every 30 seconds, and are valid for (30 * Maximum Delta) seconds. \nExample: With a Maximum Delta set to 10, each token can be used up to 300 seconds before or after it's timestamp. This is useful when the client's clock is not properly synced with the server.", + "Accounts_TwoFactorAuthentication_RememberFor": "Remember Two Factor for (seconds)", + "Accounts_TwoFactorAuthentication_RememberFor_Description": "Do not request two factor authorization code if it was already provided before in the given time.", + "Accounts_TwoFactorAuthentication_Max_Invalid_Email_Code_Attempts": "Maximun Invalid Email OTP Codes Allowed", + "Accounts_TwoFactorAuthentication_Max_Invalid_Email_Code_Attempts_Description": "The system allows a maximum number of invalid email OTP codes, after which a new code is automatically generated. We highly recommend using this setting along with 'Block failed login attempts by Username'.", + "Accounts_UseDefaultBlockedDomainsList": "Use Default Blocked Domains List", + "Accounts_UseDNSDomainCheck": "Use DNS Domain Check", + "API_EmbedDisabledFor": "Disable Embed for Users", + "Accounts_UserAddedEmail_Default": "

Welcome to [Site_Name]

Go to [Site_URL] and try the best open source chat solution available today!

You may login using your email: [email] and password: [password]. You may be required to change it after your first login.", + "Accounts_UserAddedEmail_Description": "You may use the following placeholders: \n - `[name]`, `[fname]`, `[lname]` for the user's full name, first name or last name, respectively. \n - `[email]` for the user's email. \n - `[password]` for the user's password. \n - `[Site_Name]` and `[Site_URL]` for the Application Name and URL respectively. ", + "API_EmbedDisabledFor_Description": "Comma-separated list of usernames to disable the embedded link previews.", + "Accounts_UserAddedEmailSubject_Default": "You have been added to [Site_Name]", + "Accounts_Verify_Email_For_External_Accounts": "Mark Email for External Accounts Verified", + "Action": "Action", + "Action_required": "Action required", + "Action_Available_After_Custom_Content_Added": "This action will become available after the custom content has been added", + "Action_Available_After_Custom_Content_Added_And_Visible": "This action will become available after the custom content has been added and made visible to everyone", + "Action_not_available_encrypted_content": "{{action}} not available on encrypted content", + "Activate": "Activate", + "Activation": "Activation", + "Active": "Active", + "active": "active", + "Active_users": "Active users", + "Activity": "Activity", + "Add": "Add", + "Add_a_Message": "Add a Message", + "Add_agent": "Add agent", + "Add_custom_oauth": "Add custom OAuth", + "Add_Domain": "Add Domain", + "Add_emoji": "Add emoji", + "Add_files_from": "Add files from", + "Add_manager": "Add manager", + "Add_monitor": "Add monitor", + "Add_more_users": "Add more users", + "Add_link": "Add link", + "Add_Reaction": "Add reaction", + "Add_Role": "Add Role", + "Add_Sender_To_ReplyTo": "Add Sender to Reply-To", + "Add_Server": "Add Server", + "Add_URL": "Add URL", + "Add_user": "Add user", + "Add_User": "Add User", + "Add_users": "Add users", + "Add_members": "Add Members", + "add-to-room": "Add to room", + "add-all-to-room": "Add all users to a room", + "add-all-to-room_description": "Permission to add all users to a room", + "add-livechat-department-agents": "Add Omnichannel Agents to Departments", + "add-livechat-department-agents_description": "Permission to add omnichannel agents to departments", + "add-oauth-service": "Add OAuth Service", + "add-oauth-service_description": "Permission to add a new OAuth service", + "bypass-time-limit-edit-and-delete": "Bypass time limit", + "bypass-time-limit-edit-and-delete_description": "Permission to Bypass time limit for editing and deleting messages", + "add-team-channel": "Add Team Channel", + "add-team-channel_description": "Permission to add a channel to a team", + "add-team-member": "Add Team Member", + "add-team-member_description": "Permission to add members to a team", + "Add_them": "Add them", + "add-user": "Add User", + "add-user_description": "Permission to add new users to the server via users screen", + "add-user-to-any-c-room": "Add User to Any Public Channel", + "add-user-to-any-c-room_description": "Permission to add a user to any public channel", + "add-user-to-any-p-room": "Add User to Any Private Channel", + "add-user-to-any-p-room_description": "Permission to add a user to any private channel", + "add-user-to-joined-room": "Add User to Any Joined Channel", + "add-user-to-joined-room_description": "Permission to add a user to a currently joined channel", + "added__roomName__to_team": "added #{{roomName}} to this Team", + "Added__username__to_team": "added @{{user_added}} to this Team", + "added__roomName__to_this_team": "added #{{roomName}} to this team", + "Apps_Framework_enabled": "Enable the App Framework", + "Added__username__to_this_team": "added @{{user_added}} to this team", + "Adding_OAuth_Services": "Adding OAuth Services", + "Adding_permission": "Adding permission", + "Adjustable_layout": "Adjustable layout", + "Adding_user": "Adding user", + "Additional_emails": "Additional Emails", + "Additional_Feedback": "Additional Feedback", + "additional_integrations_Bots": "If you are looking for how to integrate your own bot, then look no further than our Hubot adapter. https://github.com/RocketChat/hubot-rocketchat", + "Admin_disabled_encryption": "Your administrator did not enable E2E encryption.", + "Admin_Info": "Admin Info", + "admin-no-active-video-conf-provider": "**Conference call not enabled**: Configure conference calls in order to make it available on this workspace.", + "admin-video-conf-provider-not-configured": "**Conference call not enabled**: Configure conference calls in order to make it available on this workspace.", + "admin-no-videoconf-provider-app": "**Conference call not enabled**: Conference call apps are available in the Rocket.Chat marketplace.", + "Administration": "Administration", + "Address": "Address", + "Adjustable_font_size": "Adjustable font size", + "Adjustable_font_size_description": "Designed for those who prefer larger or smaller text for improved readability. This flexibility promotes inclusivity by empowering users to tailor the software interface to their specific needs.", + "Adult_images_are_not_allowed": "Adult images are not allowed", + "Aerospace_and_Defense": "Aerospace & Defense", + "After_OAuth2_authentication_users_will_be_redirected_to_this_URL": "After OAuth2 authentication, users will be redirected to an URL on this list. You can add one URL per line.", + "After_guest_registration": "After guest registration", + "Agent": "Agent", + "Agent_added": "Agent added", + "Agent_Info": "Agent Info", + "Agent_messages": "Agent Messages", + "Agent_Name": "Agent Name", + "Agent_Name_Placeholder": "Please enter an agent name...", + "Agent_removed": "Agent removed", + "Agent_deactivated": "Agent was deactivated", + "Agent_Without_Extensions": "Agent Without Extensions", + "Agents": "Agents", + "Agree": "Agree", + "Alerts": "Alerts", + "Alias": "Alias", + "Alias_Format": "Alias Format", + "Alias_Format_Description": "Import messages from Slack with an alias; %s is replaced by the username of the user. If empty, no alias will be used.", + "Alias_Set": "Alias Set", + "AutoLinker_Email": "AutoLinker Email", + "Aliases": "Aliases", + "AutoLinker_Phone": "AutoLinker Phone", + "AutoLinker_Phone_Description": "Automatically linked for Phone numbers. e.g. `(123)456-7890`", + "All": "All", + "AutoLinker_StripPrefix": "AutoLinker Strip Prefix", + "All_Apps": "All Apps", + "AutoLinker_StripPrefix_Description": "Short display. e.g. https://rocket.chat => rocket.chat", + "All_added_tokens_will_be_required_by_the_user": "All added tokens will be required by the user", + "All_categories": "All categories", + "AutoLinker_Urls_Scheme": "AutoLinker Scheme:// URLs", + "All_channels": "All channels", + "AutoLinker_Urls_TLD": "AutoLinker TLD URLs", + "All_closed_chats_have_been_removed": "All closed chats have been removed", + "AutoLinker_Urls_www": "AutoLinker 'www' URLs", + "All_logs": "All logs", + "AutoLinker_UrlsRegExp": "AutoLinker URL Regular Expression", + "All_messages": "All messages", + "All_Prices": "All prices", + "All_roles": "All roles", + "All_status": "All status", + "All_users": "All users", + "All_users_in_the_channel_can_write_new_messages": "All users in the channel can write new messages", + "Allow_collect_and_store_HTTP_header_informations": "Allow to collect and store HTTP header informations", + "Allow_collect_and_store_HTTP_header_informations_description": "This setting determines whether Livechat is allowed to store information collected from HTTP header data, such as IP address, User-Agent, and so on.", + "Allow_Invalid_SelfSigned_Certs": "Allow Invalid Self-Signed Certs", + "Allow_Invalid_SelfSigned_Certs_Description": "Allow invalid and self-signed SSL certificate's for link validation and previews.", + "Allow_Marketing_Emails": "Allow Marketing Emails", + "Allow_Online_Agents_Outside_Business_Hours": "Allow online agents outside of business hours", + "Allow_Online_Agents_Outside_Office_Hours": "Allow online agents outside of office hours", + "Allow_Save_Media_to_Gallery": "Allow Save Media to Gallery", + "Allow_switching_departments": "Allow Visitor to Switch Departments", + "Almost_done": "Almost done", + "Alphabetical": "Alphabetical", + "bold": "bold", + "Also_send_thread_message_to_channel_behavior": "Also send thread message to channel behavior", + "Also_send_to_channel": "Also send to channel", + "Always_open_in_new_window": "Always Open in New Window", + "Always_show_thread_replies_in_main_channel": "Always show thread replies in main channel", + "Analytic_reports": "Analytic reports", + "Analytics": "Analytics", + "Analytics_Description": "See how users interact with your workspace.", + "Analytics_features_enabled": "Features Enabled", + "Analytics_features_messages_Description": "Tracks custom events related to actions a user does on messages.", + "Analytics_features_rooms_Description": "Tracks custom events related to actions on a channel or group (create, leave, delete).", + "Analytics_features_users_Description": "Tracks custom events related to actions related to users (password reset times, profile picture change, etc).", + "Analytics_Google": "Google Analytics", + "Analytics_Google_id": "Tracking ID", + "Analytics_page_briefing_first_paragraph": "Rocket.Chat collects anonymous usage data, such as feature usage and session lengths, to improve the product for everyone.", + "Analytics_page_briefing_second_paragraph": "We protect your privacy by never collecting personal or sensitive data. This section shows what is collected, reinforcing our commitment to transparency and trust.", + "Analyze_practical_usage": "Analyze practical usage statistics about users, messages and channels", + "and": "and", + "And_more": "And {{length}} more", + "Animals_and_Nature": "Animals & Nature", + "Announcement": "Announcement", + "Anonymous": "Anonymous", + "Answer_call": "Answer Call", + "API": "API", + "API_Add_Personal_Access_Token": "Add new Personal Access Token", + "API_Allow_Infinite_Count": "Allow Getting Everything", + "API_Allow_Infinite_Count_Description": "Should calls to the REST API be allowed to return everything in one call?", + "API_Analytics": "Analytics", + "API_CORS_Origin": "CORS Origin", + "API_Apply_permission_view-outside-room_on_users-list": "Apply permission `view-outside-room` to api `users.list`", + "API_Apply_permission_view-outside-room_on_users-list_Description": "Temporary setting to enforce permission. Will be removed on next Major release within the change to always enforce the permission", + "API_Default_Count": "Default Count", + "API_Default_Count_Description": "The default count for REST API results if the consumer did not provided any.", + "API_Drupal_URL": "Drupal Server URL", + "API_Drupal_URL_Description": "Example: `https://domain.com` (excluding trailing slash)", + "API_Embed": "Embed Link Previews", + "API_Embed_Description": "Whether embedded link previews are enabled or not when a user posts a link to a website.", + "API_EmbedIgnoredHosts": "Embed Ignored Hosts", + "API_EmbedIgnoredHosts_Description": "Comma-separated list of hosts or CIDR addresses, eg. localhost, 127.0.0.1, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16", + "API_EmbedSafePorts": "Safe Ports", + "API_EmbedSafePorts_Description": "Comma-separated list of ports allowed for previewing.", + "API_Embed_UserAgent": "Embed Request User Agent", + "API_EmbedCacheExpirationDays": "Embed Cache Expiration Days", + "API_Enable_CORS": "Enable CORS", + "API_Enable_Direct_Message_History_EndPoint": "Enable Direct Message History Endpoint", + "API_Enable_Direct_Message_History_EndPoint_Description": "This enables the `/api/v1/im.messages.others` which allows the viewing of direct messages sent by other users that the caller is not part of.", + "API_Enable_Personal_Access_Tokens": "Enable Personal Access Tokens to REST API", + "API_Enable_Personal_Access_Tokens_Description": "Enable personal access tokens for use with the REST API", + "API_Enable_Rate_Limiter": "Enable Rate Limiter", + "API_Enable_Rate_Limiter_Dev": "Enable Rate Limiter in development", + "API_Enable_Rate_Limiter_Dev_Description": "Should limit the amount of calls to the endpoints in the development environment?", + "API_Enable_Rate_Limiter_Limit_Calls_Default": "Default number calls to the rate limiter", + "API_Enable_Rate_Limiter_Limit_Calls_Default_Description": "Number of default calls for each endpoint of the REST API, allowed within the time range defined below", + "API_Enable_Rate_Limiter_Limit_Time_Default": "Default time limit for the rate limiter (in ms)", + "API_Enable_Rate_Limiter_Limit_Time_Default_Description": "Default timeout to limit the number of calls at each endpoint of the REST API(in ms)", + "API_Enable_Shields": "Enable Shields", + "API_Enable_Shields_Description": "Enable shields available at `/api/v1/shield.svg`", + "API_GitHub_Enterprise_URL": "Server URL", + "API_GitHub_Enterprise_URL_Description": "Example: `https://domain.com` (excluding trailing slash)", + "API_Gitlab_URL": "GitLab URL", + "API_Personal_Access_Token_Generated": "Personal Access Token successfully generated", + "API_Personal_Access_Token_Generated_Text_Token_s_UserId_s": "Please save your token carefully as you will no longer be able to view it afterwards.
Token: {{token}}
Your user Id: {{userId}}", + "API_Personal_Access_Token_Name": "Personal Access Token Name", + "API_Personal_Access_Tokens_Regenerate_It": "Regenerate token", + "API_Personal_Access_Tokens_Regenerate_Modal": "If you lost or forgot your token, you can regenerate it, but remember that all applications that use this token should be updated", + "API_Personal_Access_Tokens_Remove_Modal": "Are you sure you wish to remove this personal access token?", + "API_Personal_Access_Tokens_To_REST_API": "Personal access tokens to REST API", + "API_Rate_Limiter": "API Rate Limiter", + "API_Shield_Types": "Shield Types", + "API_Shield_Types_Description": "Types of shields to enable as a comma separated list, choose from `online`, `channel` or `*` for all", + "Apps_Framework_Development_Mode": "Enable development mode", + "API_Shield_user_require_auth": "Require authentication for users shields", + "API_Token": "API Token", + "Apps_Framework_Development_Mode_Description": "Development mode allows the installation of Apps that are not from the Rocket.Chat's Marketplace.", + "API_Tokenpass_URL": "Tokenpass Server URL", + "API_Tokenpass_URL_Description": "Example: `https://domain.com` (excluding trailing slash)", + "API_Upper_Count_Limit": "Max Record Amount", + "API_Upper_Count_Limit_Description": "What is the maximum number of records the REST API should return (when not unlimited)?", + "API_Use_REST_For_DDP_Calls": "Use REST instead of websocket for Meteor calls", + "API_User_Limit": "User Limit for Adding All Users to Channel", + "API_Wordpress_URL": "WordPress URL", + "api-bypass-rate-limit": "Bypass rate limit for REST API", + "api-bypass-rate-limit_description": "Permission to call api without rate limitation", + "Apiai_Key": "Api.ai Key", + "Apiai_Language": "Api.ai Language", + "APIs": "APIs", + "App_author_homepage": "author homepage", + "App_Details": "App details", + "App_Info": "App Info", + "App_Information": "App Information", + "Apps_context_enterprise": "Enterprise", + "App_Installation": "App Installation", + "App_Installation_Deprecation_Title": "Deprecation Warning", + "App_Installation_Deprecation": "Install apps from URL is deprecated and will be removed in the next major release.", + "App_not_enabled": "App not enabled", + "App_not_found": "App not found", + "App_status_auto_enabled": "Enabled", + "App_status_constructed": "Constructed", + "App_status_disabled": "Disabled", + "App_status_error_disabled": "Disabled: Uncaught Error", + "App_status_initialized": "Initialized", + "App_status_invalid_license_disabled": "Disabled: Invalid License", + "Apps_disabled_when_Enterprise_trial_ended": "Apps disabled when Enterprise trial ended", + "App_status_invalid_settings_disabled": "Disabled: Configuration Needed", + "App_status_manually_disabled": "Disabled: Manually", + "App_status_manually_enabled": "Enabled", + "App_status_unknown": "Unknown", + "App_Store": "App Store", + "App_support_url": "support url", + "App_Url_to_Install_From": "Install from URL", + "App_Url_to_Install_From_File": "Install from file", + "App_user_not_allowed_to_login": "App users are not allowed to log in directly.", + "Appearance": "Appearance", + "Application_added": "Application added", + "Application_delete_warning": "You will not be able to recover this Application!", + "Application_Name": "Application Name", + "Application_updated": "Application updated", + "Apply": "Apply", + "Apply_and_refresh_all_clients": "Apply and refresh all clients", + "Apps": "Apps", + "Apps_context_explore": "Explore", + "Apps_context_installed": "Installed", + "Apps_context_requested": "Requested", + "Apps_context_private": "Private Apps", + "Apps_context_premium": "Premium", + "Apps_Count_Enabled_one": "{{count}} app enabled", + "Apps_Count_Enabled_other": "{{count}} apps enabled", + "Private_Apps_Count_Enabled_one": "{{count}} private app enabled", + "Private_Apps_Count_Enabled_other": "{{count}} private apps enabled", + "Apps_Count_Enabled_tooltip": "Community workspaces can enable up to {{number}} {{context}} apps", + "Apps_disabled_when_Premium_trial_ended": "Apps disabled when Premium plan trial ended", + "Apps_disabled_when_Premium_trial_ended_description": "Workspaces on Community can have up to 5 marketplace apps and 3 private apps enabled. Ask your workspace admin to reenable apps.", + "Apps_disabled_when_Premium_trial_ended_description_admin": "Workspaces on Community can have up to 5 marketplace apps and 3 private apps enabled. Reenable the apps you require.", + "Apps_Engine_Version": "Apps Engine Version", + "Apps_Error_private_app_install_disabled": "Private app installation and updates are disabled in this workspace", + "Apps_Essential_Alert": "This app is essential for the following events:", + "Apps_Essential_Disclaimer": "Events listed above will be disrupted if this app is disabled. If you want Rocket.Chat to work without this app's functionality, you need to uninstall it", + "Apps_Framework_Source_Package_Storage_Type": "Apps' Source Package Storage type", + "Apps_Framework_Source_Package_Storage_Type_Description": "Choose where all the apps' source code will be stored. Apps can have multiple megabytes in size each.", + "Apps_Framework_Source_Package_Storage_Type_Alert": "Changing where the apps are stored may cause instabilities in apps there are already installed", + "Apps_Framework_Source_Package_Storage_FileSystem_Path": "Directory for storing apps source package", + "Apps_Framework_Source_Package_Storage_FileSystem_Path_Description": "Absolute path in the filesystem for storing the apps' source code (in zip file format)", + "Apps_Framework_Source_Package_Storage_FileSystem_Alert": "Make sure the chosen directory exist and Rocket.Chat can access it (e.g. permission to read/write)", + "Apps_Game_Center": "Game Center", + "Apps_Game_Center_Back": "Back to Game Center", + "Apps_Game_Center_Invite_Friends": "Invite your friends to join", + "Apps_Game_Center_Play_Game_Together": "@here Let's play {{name}} together!", + "Apps_Interface_IPostExternalComponentClosed": "Event happening after an external component is closed", + "Apps_Interface_IPostExternalComponentOpened": "Event happening after an external component is opened", + "Apps_Interface_IPostMessageDeleted": "Event happening after a message is deleted", + "Apps_Interface_IPostMessageSent": "Event happening after a message is sent", + "Apps_Interface_IPostMessageUpdated": "Event happening after a message is updated", + "Apps_Interface_IPostRoomCreate": "Event happening after a room is created", + "Apps_Interface_IPostRoomDeleted": "Event happening after a room is deleted", + "Apps_Interface_IPostRoomUserJoined": "Event happening after a user joins a room (private group, public channel)", + "Apps_Interface_IPreMessageDeletePrevent": "Event happening before a message is deleted", + "Apps_Interface_IPreMessageSentExtend": "Event happening before a message is sent", + "Apps_Interface_IPreMessageSentModify": "Event happening before a message is sent", + "Apps_Interface_IPreMessageSentPrevent": "Event happening before a message is sent", + "Apps_Interface_IPreMessageUpdatedExtend": "Event happening before a message is updated", + "Apps_Interface_IPreMessageUpdatedModify": "Event happening before a message is updated", + "Apps_Interface_IPreMessageUpdatedPrevent": "Event happening before a message is updated", + "Apps_Interface_IPreRoomCreateExtend": "Event happening before a room is created", + "Apps_Interface_IPreRoomCreateModify": "Event happening before a room is created", + "Apps_Interface_IPreRoomCreatePrevent": "Event happening before a room is created", + "Apps_Interface_IPreRoomDeletePrevent": "Event happening before a room is deleted", + "Apps_Interface_IPreRoomUserJoined": "Event happening before a user joins a room (private group, public channel)", + "Apps_License_Message_appId": "License hasn't been issued for this app", + "Apps_License_Message_bundle": "License issued for a bundle that does not contain the app", + "Apps_License_Message_expire": "License is no longer valid and needs to be renewed", + "Apps_License_Message_maxSeats": "License does not accomodate the current amount of active users. Please increase the number of seats", + "Apps_License_Message_publicKey": "There has been an error trying to decrypt the license. Please sync your workspace in the Connectivity Services and try again", + "Apps_License_Message_renewal": "License has expired and needs to be renewed", + "Apps_License_Message_seats": "License does not have enough seats to accommodate the current amount of active users. Please increase the number of seats", + "Apps_Logs_TTL": "Number of days to keep logs from apps stored", + "Apps_Logs_TTL_7days": "7 days", + "Apps_Logs_TTL_14days": "14 days", + "Apps_Logs_TTL_30days": "30 days", + "Apps_Logs_TTL_Alert": "Depending on the size of the Logs collection, changing this setting may cause slowness for some moments", + "Apps_Marketplace_Deactivate_App_Prompt": "Do you really want to disable this app?", + "Apps_Marketplace_Login_Required_Description": "Purchasing apps from the Rocket.Chat Marketplace requires registering your workspace and logging in.", + "Apps_Marketplace_Login_Required_Title": "Marketplace Login Required", + "Apps_Marketplace_Modify_App_Subscription": "Modify Subscription", + "Apps_Marketplace_pricingPlan_monthly": "{{price}} / month", + "Apps_Marketplace_pricingPlan_monthly_perUser": "{{price}} / month per user", + "Apps_Marketplace_pricingPlan_monthly_trialDays": "{{price}} / month-{{trialDays}}-day trial", + "Apps_Marketplace_pricingPlan_monthly_perUser_trialDays": "{{price}} / month per user-{{trialDays}}-day trial", + "Apps_Marketplace_pricingPlan_+*_monthly": " {{price}}+* / month", + "Apps_Marketplace_pricingPlan_+*_monthly_trialDays": " {{price}}+* / month-{{trialDays}}-day trial", + "Apps_Marketplace_pricingPlan_+*_monthly_perUser": " {{price}}+* / month per user", + "Apps_Marketplace_pricingPlan_+*_monthly_perUser_trialDays": " {{price}}+* / month per user-{{trialDays}}-day trial", + "Apps_Marketplace_pricingPlan_+*_yearly": " {{price}}+* / year", + "Apps_Marketplace_pricingPlan_+*_yearly_trialDays": " {{price}}+* / year-{{trialDays}}-day trial", + "Apps_Marketplace_pricingPlan_+*_yearly_perUser": " {{price}}+* / year per user", + "Apps_Marketplace_pricingPlan_+*_yearly_perUser_trialDays": " {{price}}+* / year per user-{{trialDays}}-day trial", + "Apps_Marketplace_pricingPlan_yearly_trialDays": "{{price}} / year-{{trialDays}}-day trial", + "Apps_Marketplace_pricingPlan_yearly_perUser_trialDays": "{{price}} / year per user-{{trialDays}}-day trial", + "Apps_Marketplace_Uninstall_App_Prompt": "Do you really want to uninstall this app?", + "Apps_Marketplace_Uninstall_Subscribed_App_Anyway": "Uninstall it anyway", + "Apps_Marketplace_Uninstall_Subscribed_App_Prompt": "This app has an active subscription and uninstalling will not cancel it. If you'd like to do that, please modify your subscription before uninstalling.", + "Apps_Permissions_Review_Modal_Title": "Required Permissions", + "Apps_Permissions_Review_Modal_Subtitle": "This app would like access to the following permissions. Do you agree?", + "Apps_Permissions_No_Permissions_Required": "The App does not require additional permissions", + "Apps_Permissions_cloud_workspace-token": "Interact with Cloud Services on behalf of this server", + "Apps_Permissions_user_read": "Access user information", + "Apps_Permissions_user_write": "Modify user information", + "Apps_Permissions_upload_read": "Access files uploaded to this server", + "Apps_Permissions_upload_write": "Upload files to this server", + "Apps_Permissions_server-setting_read": "Access settings in this server", + "Apps_Permissions_server-setting_write": "Modify settings in this server", + "Apps_Permissions_room_read": "Access room information", + "Apps_Permissions_room_write": "Create and modify rooms", + "Apps_Permissions_message_read": "Access messages", + "Apps_Permissions_message_write": "Send and modify messages", + "Apps_Permissions_livechat-status_read": "Access Livechat status information", + "Apps_Permissions_livechat-custom-fields_write": "Modify Livechat custom field configuration", + "Apps_Permissions_livechat-visitor_read": "Access Livechat visitor information", + "Apps_Permissions_livechat-visitor_write": "Modify Livechat visitor information", + "Apps_Permissions_livechat-message_read": "Access Livechat message information", + "Apps_Permissions_livechat-message_write": "Modify Livechat message information", + "Apps_Permissions_livechat-room_read": "Access Livechat room information", + "Apps_Permissions_livechat-room_write": "Modify Livechat room information", + "Apps_Permissions_livechat-department_read": "Access Livechat department information", + "Apps_Permissions_livechat-department_multiple": "Access to multiple Livechat departments information", + "Apps_Permissions_livechat-department_write": "Modify Livechat department information", + "Apps_Permissions_slashcommand": "Register new slash commands", + "Apps_Permissions_api": "Register new HTTP endpoints", + "Apps_Permissions_env_read": "Access minimal information about this server environment", + "Apps_Permissions_networking": "Access to this server network", + "Apps_Permissions_persistence": "Store internal data in the database", + "Apps_Permissions_scheduler": "Register and maintain scheduled jobs", + "Apps_Permissions_ui_interact": "Interact with the UI", + "Apps_Settings": "App's Settings", + "Apps_Manual_Update_Modal_Title": "This app is already installed", + "Apps_Manual_Update_Modal_Body": "Do you want to update it?", + "Apps_User_Already_Exists": "The username \"{{username}}\" is already being used. Rename or remove the user using it to install this App", + "AutoLinker": "AutoLinker", + "Apps_WhatIsIt": "Apps: What Are They?", + "Apps_WhatIsIt_paragraph1": "A new icon in the administration area! What does this mean and what are Apps?", + "Apps_WhatIsIt_paragraph2": "First off, Apps in this context do not refer to the mobile applications. In fact, it would be best to think of them in terms of plugins or advanced integrations.", + "Apps_WhatIsIt_paragraph3": "Secondly, they are dynamic scripts or packages which will allow you to customize your Rocket.Chat instance without having to fork the codebase. But do keep in mind, this is a new feature set and due to that it might not be 100% stable. Also, we are still developing the feature set so not everything can be customized at this point in time. For more information about getting started developing an app, go here to read:", + "Apps_WhatIsIt_paragraph4": "But with that said, if you are interested in enabling this feature and trying it out then here click this button to enable the Apps system.", + "Archive": "Archive", + "Archived": "Archived", + "archive-room": "Archive Room", + "archive-room_description": "Permission to archive a channel", + "are_typing": "are typing", + "are_playing": "are playing", + "is_playing": "is playing", + "are_uploading": "are uploading", + "are_recording": "are recording", + "is_uploading": "is uploading", + "is_recording": "is recording", + "Are_you_sure": "Are you sure?", + "Are_you_sure_delete_department": "Are you sure you want to delete this department? This action cannot be undone. Please enter the department name to confirm.", + "Are_you_sure_you_want_to_clear_all_unread_messages": "Are you sure you want to clear all unread messages?", + "Are_you_sure_you_want_to_close_this_chat": "Are you sure you want to close this chat?", + "Are_you_sure_you_want_to_delete_this_record": "Are you sure you want to delete this record?", + "Are_you_sure_you_want_to_delete_your_account": "Are you sure you want to delete your account?", + "Are_you_sure_you_want_to_disable_Facebook_integration": "Are you sure you want to disable Facebook integration?", + "Are_you_sure_you_want_to_pin_this_message": "Are you sure you want to pin this message?", + "Are_you_sure_you_want_to_reset_the_name_of_all_priorities": "Are you sure you want to reset the name of all priorities?", + "Assets": "Assets", + "Assets_Description": "Modify your workspace's logo, icon, favicon and more.", + "Asset_preview": "Asset preview", + "Assign_admin": "Assigning admin", + "Assign_new_conversations_to_bot_agent": "Assign new conversations to bot agent", + "Assign_new_conversations_to_bot_agent_description": "The routing system will attempt to find a bot agent before addressing new conversations to a human agent.", + "assign-admin-role": "Assign Admin Role", + "assign-admin-role_description": "Permission to assign the admin role to other users", + "assign-roles": "Assign Roles", + "assign-roles_description": "Permission to assign roles to other users", + "Associate": "Associate", + "Associate_Agent": "Associate Agent", + "Associate_Agent_to_Extension": "Associate Agent to Extension", + "at": "at", + "At_least_one_added_token_is_required_by_the_user": "At least one added token is required by the user", + "AtlassianCrowd": "Atlassian Crowd", + "AtlassianCrowd_Description": "Integrate Atlassian Crowd.", + "Attachment_File_Uploaded": "File Uploaded", + "Attribute_handling": "Attribute handling", + "Audio": "Audio", + "Audio_message": "Audio message", + "Audio_Notification_Value_Description": "Can be any custom sound or the default ones: beep, chelle, ding, droplet, highbell, seasons", + "Audio_Notifications_Default_Alert": "Audio Notifications Default Alert", + "Audio_Notifications_Value": "Default Message Notification Audio", + "Audio_record": "Audio record", + "Audios": "Audios", + "Audit": "Audit", + "Auditing": "Auditing", + "Auth": "Auth", + "Auth_Token": "Auth Token", + "Authentication": "Authentication", + "Author": "Author", + "Author_Information": "Author Information", + "Author_Site": "Author site", + "Authorization_URL": "Authorization URL", + "Authorize": "Authorize", + "Authorize_access_to_your_account": "Authorize access to your account", + "Automatic_translation_not_available": "Automatic translation not available", + "Automatic_translation_not_available_info": "This room has E2E encryption enabled, translation cannot work with encrypted messages", + "Auto_Load_Images": "Auto Load Images", + "Auto_Selection": "Auto Selection", + "Auto_Translate": "Auto-Translate", + "Calls_in_queue": "{{calls}} call in queue", + "auto-translate": "Auto Translate", + "auto-translate_description": "Permission to use the auto translate tool", + "Automatic_Translation": "Automatic Translation", + "AutoTranslate": "Auto-Translate", + "AutoTranslate_APIKey": "API Key", + "AutoTranslate_Change_Language_Description": "Changing the auto-translate language does not translate previous messages.", + "AutoTranslate_DeepL": "DeepL", + "AutoTranslate_Disabled_for_room": "Auto-translate disabled for #{{roomName}}", + "AutoTranslate_Enabled": "Enable Auto-Translate", + "AutoTranslate_Enabled_Description": "Enabling auto-translation will allow people with the `auto-translate` permission to have all messages automatically translated into their selected language. Fees may apply.", + "AutoTranslate_Enabled_for_room": "Auto-translate enabled for #{{roomName}}", + "AutoTranslate_AutoEnableOnJoinRoom": "Auto-Translate for non-default language members", + "AutoTranslate_AutoEnableOnJoinRoom_Description": "If enabled, whenever a user with a language preference different than the workspace default joins a room, it will be automatically translated for them.", + "AutoTranslate_Google": "Google", + "AutoTranslate_language_set_to": "Auto-translate language set to {{language}}", + "AutoTranslate_Microsoft": "Microsoft", + "AutoTranslate_Microsoft_API_Key": "Ocp-Apim-Subscription-Key", + "AutoTranslate_ServiceProvider": "Service Provider", + "Available": "Available", + "Available_agents": "Available agents", + "Available_departments": "Available Departments", + "Avatar": "Avatar", + "Avatars": "Avatars", + "Avatar_changed_successfully": "Avatar changed successfully", + "Avatar_URL": "Avatar URL", + "Avatar_format_invalid": "Invalid Format. Only image type is allowed", + "Avatar_url_invalid_or_error": "The url provided is invalid or not accessible. Please try again, but with a different url.", + "Avg_chat_duration": "Average of Chat Duration", + "Avg_first_response_time": "Average of First Response Time", + "Avg_of_abandoned_chats": "Average of Abandoned Chats", + "Avg_of_available_service_time": "Average of Service Available Time", + "Avg_of_chat_duration_time": "Average of Chat Duration Time", + "Avg_of_service_time": "Average of Service Time", + "Avg_of_waiting_time": "Average of Waiting Time", + "Avg_reaction_time": "Average of Reaction Time", + "Avg_response_time": "Average of Response Time", + "away": "away", + "Away": "Away", + "Back": "Back", + "Back_to_applications": "Back to applications", + "Back_to_calendar": "Back to calendar", + "Back_to_chat": "Back to chat", + "Back_to_home": "Back to home", + "Back_to_imports": "Back to imports", + "Back_to_integration_detail": "Back to the integration detail", + "Back_to_integrations": "Back to integrations", + "Back_to_login": "Back to login", + "Back_to_Manage_Apps": "Back to Manage Apps", + "Back_to_permissions": "Back to permissions", + "Back_to_room": "Back to Room", + "Back_to_threads": "Back to threads", + "Backup_codes": "Backup codes", + "ban-user": "Ban User", + "ban-user_description": "Permission to ban a user from a channel", + "BBB_End_Meeting": "End Meeting", + "BBB_Enable_Teams": "Enable for Teams", + "BBB_Join_Meeting": "Join Meeting", + "BBB_Start_Meeting": "Start Meeting", + "BBB_Video_Call": "BBB Video Call", + "BBB_You_have_no_permission_to_start_a_call": "You have no permission to start a call", + "Be_the_first_to_join": "Be the first to join", + "Belongs_To": "Belongs To", + "Best_first_response_time": "Best first response time", + "Beta_feature_Depends_on_Video_Conference_to_be_enabled": "Beta feature. Depends on Video Conference to be enabled.", + "Better": "Better", + "Bio": "Bio", + "Bio_Placeholder": "Bio Placeholder", + "Block": "Block", + "Block_Multiple_Failed_Logins_Attempts_Until_Block_By_Ip": "Amount of failed attempts before blocking IP address", + "Block_Multiple_Failed_Logins_Attempts_Until_Block_by_User": "Amount of failed attempts before blocking user", + "Block_Multiple_Failed_Logins_By_Ip": "Block failed login attempts by IP", + "Block_Multiple_Failed_Logins_By_User": "Block failed login attempts by Username", + "Block_Multiple_Failed_Logins_Enable_Collect_Login_data_Description": "Stores IP and username from log in attempts to a collection on database", + "Block_Multiple_Failed_Logins_Enabled": "Enable collect log in data", + "Block_Multiple_Failed_Logins_Ip_Whitelist": "IP Whitelist", + "Block_Multiple_Failed_Logins_Ip_Whitelist_Description": "Comma-separated list of whitelisted IPs", + "Block_Multiple_Failed_Logins_Time_To_Unblock_By_Ip_In_Minutes": "Duration of IP address block (in minutes)", + "Block_Multiple_Failed_Logins_Time_To_Unblock_By_Ip_In_Minutes_Description": "This is the time the IP address is blocked by, and the time in which the failed attempts can happen before the counter resets", + "Block_Multiple_Failed_Logins_Time_To_Unblock_By_User_In_Minutes": "Duration of user block (in minutes)", + "Block_Multiple_Failed_Logins_Time_To_Unblock_By_User_In_Minutes_Description": "This is the time the user is blocked by, and the time in which the failed attempts can happen before the counter resets", + "Block_Multiple_Failed_Logins_Notify_Failed": "Notify of failed login attempts", + "Block_Multiple_Failed_Logins_Notify_Failed_Channel": "Channel to send the notifications", + "Block_Multiple_Failed_Logins_Notify_Failed_Channel_Desc": "This is where notifications will be received. Make sure the channel exists. The channel name should not include # symbol", + "Block_User": "Block User", + "Blockchain": "Blockchain", + "block-ip-device-management": "Block IP Device Management", + "block-ip-device-management_description": "Permission to block an IP adress", + "Block_IP_Address": "Block IP Address", + "Blocked_IP_Addresses": "Blocked IP addresses", + "Blockstack": "Blockstack", + "Blockstack_Description": "Give workspace members the ability to sign in without relying on any third parties or remote servers.", + "Blockstack_Auth_Description": "Auth description", + "Blockstack_ButtonLabelText": "Button label text", + "Blockstack_Generate_Username": "Generate username", + "Body": "Body", + "Bold": "Bold", + "bot_request": "Bot request", + "BotHelpers_userFields": "User Fields", + "BotHelpers_userFields_Description": "CSV of user fields that can be accessed by bots helper methods.", + "Bot": "Bot", + "Bots": "Bots", + "Bots_Description": "Set the fields that can be referenced and used when developing bots.", + "Branch": "Branch", + "Broadcast": "Broadcast", + "Broadcast_channel": "Broadcast Channel", + "Broadcast_channel_Description": "Only authorized users can write new messages, but the other users will be able to reply", + "Broadcast_Connected_Instances": "Broadcast Connected Instances", + "Broadcasting_api_key": "Broadcasting API Key", + "Broadcasting_client_id": "Broadcasting Client ID", + "Broadcasting_client_secret": "Broadcasting Client Secret", + "Broadcasting_enabled": "Broadcasting Enabled", + "Broadcasting_media_server_url": "Broadcasting Media Server URL", + "Browse_Files": "Browse Files", + "Browser_does_not_support_audio_element": "Your browser does not support the audio element.", + "Call_number_enterprise_only": "Call number (Enterprise Edition only)", + "Browser_does_not_support_video_element": "Your browser does not support the video element.", + "Browser_does_not_support_recording_video": "Your browser does not support recording video", + "Bugsnag_api_key": "Bugsnag API Key", + "Build_Environment": "Build Environment", + "bulk-register-user": "Bulk Create Users", + "bulk-register-user_description": "Permission to create users in bulk", + "Bundles": "Bundles", + "Busiest_day": "Busiest Day", + "Busiest_time": "Busiest Time", + "Business_Hour": "Business Hour", + "Business_Hour_Removed": "Business Hour Removed", + "Business_Hours": "Business Hours", + "Business_hours_enabled": "Business hours enabled", + "Business_hours_is_disabled": "Business hours is disabled", + "Business_hours_is_disabled_description": "Enable business hours at the workspace admin panel to let customers know when you're available and when can they expect a response.", + "Business_hours_updated": "Business hours updated", + "Business_hours_will_update_automatically": "Business hours will update automatically", + "busy": "busy", + "Busy": "Busy", + "Buy": "Buy", + "By": "By", + "by": "by", + "cache_cleared": "Cache cleared", + "Calendar_MeetingUrl_Regex": "Meeting url Regular Expression", + "Calendar_MeetingUrl_Regex_Description": "Expression used to detect meeting URLs in event descriptions. The first matching group with a valid url will be used. HTML encoded urls will be decoded automatically.", + "Calendar_settings": "Calendar settings", + "Call": "Call", + "Call_again": "Call again", + "Call_back": "Call back", + "Call_not_found": "Call not found", + "Call_not_found_error": "This could happen when the call URL is not valid, or you're having connection issues. Please check with the source of the call URL and try again, or talk to your workspace administrator if the problem persists", + "Calling": "Calling", + "Call_Center": "Voice Channel", + "Call_Center_Description": "Configure Rocket.Chat's voice channels", + "Call_ended": "Call ended", + "Calls": "Calls", + "Calls_in_queue_zero": "Queue is empty", + "Calls_in_queue_one": "{{count}} call in queue", + "Calls_in_queue_other": "{{count}} calls in queue", + "Call_declined": "Call Declined!", + "Call_history_provides_a_record_of_when_calls_took_place_and_who_joined": "Call history provides a record of when calls took place and who joined.", + "Call_Information": "Call Information", + "Call_provider": "Call Provider", + "Call_Already_Ended": "Call Already Ended", + "Call_number": "Call number", + "Call_number_premium_only": "Call number (Premium plans only)", + "call-management": "Call Management", + "call-management_description": "Permission to start a meeting", + "Call_ongoing": "Call ongoing", + "Call_started": "Call started", + "Call_unavailable_for_federation": "Call is unavailable for Federated rooms", + "Call_was_not_answered": "Call was not answered", + "Caller": "Caller", + "Caller_Id": "Caller ID", + "Camera_access_not_allowed": "Camera access was not allowed, please check your browser settings.", + "Cam_on": "Cam On", + "Cam_off": "Cam Off", + "can-audit": "Can Audit", + "can-audit_description": "Permission to access audit", + "can-audit-log": "Can Audit Log", + "can-audit-log_description": "Permission to access audit log", + "Cancel": "Cancel", + "Cancel_message_input": "Cancel", + "Canceled": "Canceled", + "Cancel_subscription": "Cancel subscription", + "Canned_Response_Created": "Canned Response created", + "Canned_Response_Updated": "Canned Response updated", + "Canned_Response_Delete_Warning": "Deleting a canned response cannot be undone.", + "Canned_Response_Removed": "Canned Response Removed", + "Canned_Response_Sharing_Department_Description": "Anyone in the selected department can access this canned response", + "Canned_Response_Sharing_Private_Description": "Only you and Omnichannel managers can access this canned response", + "Canned_Response_Sharing_Public_Description": "Anyone can access this canned response", + "Canned_Responses": "Canned Responses", + "Canned_Responses_Enable": "Enable Canned Responses", + "Create_department": "Create department", + "Create_direct_message": "New direct message", + "Create_tag": "Create tag", + "Create_trigger": "Create trigger", + "Create_SLA_policy": "Create SLA policy", + "Cannot_invite_users_to_direct_rooms": "Cannot invite users to direct rooms", + "Cannot_open_conversation_with_yourself": "Cannot Direct Message with yourself", + "Cannot_share_your_location": "Cannot share your location...", + "Cannot_disable_while_on_call": "Can't change status during calls ", + "Cant_join": "Can't join", + "CAS": "CAS", + "CAS_Description": "Central Authentication Service allows members to use one set of credentials to sign in to multiple sites over multiple protocols.", + "CAS_autoclose": "Autoclose Login Popup", + "CAS_base_url": "SSO Base URL", + "CAS_base_url_Description": "The base URL of your external SSO service e.g: `https://sso.example.undef/sso/`", + "CAS_button_color": "Login Button Background Color", + "CAS_button_label_color": "Login Button Text Color", + "CAS_button_label_text": "Login Button Label", + "CAS_Creation_User_Enabled": "Allow user creation", + "CAS_Creation_User_Enabled_Description": "Allow CAS User creation from data provided by the CAS ticket.", + "CAS_enabled": "Enabled", + "CAS_Login_Layout": "CAS Login Layout", + "CAS_login_url": "SSO Login URL", + "CAS_login_url_Description": "The login URL of your external SSO service e.g: `https://sso.example.undef/sso/login`", + "CAS_popup_height": "Login Popup Height", + "CAS_popup_width": "Login Popup Width", + "CAS_Sync_User_Data_Enabled": "Always Sync User Data", + "CAS_Sync_User_Data_Enabled_Description": "Always synchronize external CAS User data into available attributes upon login. Note: Attributes are always synced upon account creation anyway.", + "CAS_Sync_User_Data_FieldMap": "Attribute Map", + "CAS_Sync_User_Data_FieldMap_Description": "Use this JSON input to build internal attributes (key) from external attributes (value). External attribute names enclosed with '%' will interpolated in value strings. \nExample, `{\"email\":\"%email%\", \"name\":\"%firstname%, %lastname%\"}` \n \nThe attribute map is always interpolated. In CAS 1.0 only the `username` attribute is available. Available internal attributes are: username, name, email, rooms; rooms is a comma separated list of rooms to join upon user creation e.g: `{\"rooms\": \"%team%,%department%\"}` would join CAS users on creation to their team and department channel.", + "CAS_trust_username": "Trust CAS username", + "CAS_trust_username_description": "When enabled, Rocket.Chat will trust that any username from CAS belongs to the same user on Rocket.Chat. \nThis may be needed if a user is renamed on CAS, but may also allow people to take control of Rocket.Chat accounts by renaming their own CAS users.", + "CAS_version": "CAS Version", + "CAS_version_Description": "Only use a supported CAS version supported by your CAS SSO service.", + "Categories": "Categories", + "Categories*": "Categories*", + "CDN_JSCSS_PREFIX": "CDN Prefix for JS/CSS", + "CDN_PREFIX": "CDN Prefix", + "CDN_PREFIX_ALL": "Use CDN Prefix for all assets", + "Certificates_and_Keys": "Certificates and Keys", + "changed_room_announcement_to__room_announcement_": "changed room announcement to: {{room_announcement}}", + "changed_room_description_to__room_description_": "changed room description to: {{room_description}}", + "change-livechat-room-visitor": "Change Livechat Room Visitors", + "change-livechat-room-visitor_description": "Permission to add additional information to the livechat room visitor", + "Change_Room_Type": "Changing the Room Type", + "Changing_email": "Changing email", + "channel": "channel", + "Channel": "Channel", + "Channel_info": "Channel info", + "Channel_already_exist": "The channel `#%s` already exists.", + "Channel_already_exist_static": "The channel already exists.", + "Channel_already_Unarchived": "Channel with name `#%s` is already in Unarchived state", + "Channel_Archived": "Channel with name `#%s` has been archived successfully", + "Channel_created": "Channel `#%s` created.", + "Channel_doesnt_exist": "The channel `#%s` does not exist.", + "Channel_Export": "Channel Export", + "Channel_name": "Channel Name", + "Channel_Name_Placeholder": "Please enter channel name...", + "Channel_to_listen_on": "Channel to listen on", + "Channel_Unarchived": "Channel with name `#%s` has been Unarchived successfully", + "Channel__roomName__": "Channel {{roomName}}.", + "Channels": "Channels", + "Channels_added": "Channels added sucessfully", + "Channels_are_where_your_team_communicate": "Channels are where your team communicate", + "Channels_list": "List of public channels", + "Channel_what_is_this_channel_about": "What is this channel about?", + "Chart": "Chart", + "Chats": "Chats", + "Chat_button": "Chat button", + "Chat_close": "Chat Close", + "Chat_closed": "Chat closed", + "Chat_closed_by_agent": "Chat closed by agent", + "Chat_closed_successfully": "Chat closed successfully", + "Chat_History": "Chat History", + "Chat_Now": "Chat Now", + "chat_on_hold_due_to_inactivity": "This chat is on-hold due to inactivity", + "Chat_On_Hold": "Chat On-Hold", + "Chat_On_Hold_Successfully": "This chat was successfully placed On-Hold", + "Chat_queued": "Chat Queued", + "Chat_removed": "Chat Removed", + "Chat_resumed": "Chat Resumed", + "Chat_start": "Chat Start", + "Chat_started": "Chat started", + "Chat_taken": "Chat Taken", + "Chat_window": "Chat window", + "Chatops_Enabled": "Enable Chatops", + "Chatops_Title": "Chatops Panel", + "Chatops_Username": "Chatops Username", + "Chat_Duration": "Chat Duration", + "Chats_removed": "Chats Removed", + "Check_All": "Check All", + "Check_back_later": "Check back later", + "Check_if_the_spelling_is_correct": "Check if the spelling is correct", + "Check_Progress": "Check Progress", + "Check_device_activity": "Check device activity", + "Choose_a_room": "Choose a room", + "Choose_messages": "Choose messages", + "Choose_the_alias_that_will_appear_before_the_username_in_messages": "Choose the alias that will appear before the username in messages.", + "Choose_the_username_that_this_integration_will_post_as": "Choose the username that this integration will post as.", + "Choose_users": "Choose users", + "Clean_History_unavailable_for_federation": "Clean history is unavailable for federation", + "Clean_Usernames": "Clear usernames", + "clean-channel-history": "Clean Channel History", + "clean-channel-history_description": "Permission to Clear the history from channels", + "clear": "Clear", + "Clear_all_unreads_question": "Clear all unreads?", + "clear_cache_now": "Clear Cache Now", + "Clear_filters": "Clear filters", + "clear_history": "Clear History", + "Clear_livechat_session_when_chat_ended": "Clear guest session when chat ended", + "clear-oembed-cache": "Clear OEmbed cache", + "clear-oembed-cache_description": "Permission to clear OEmbed cache", + "Click_here": "Click here", + "Click_here_for_more_details_or_contact_sales_for_a_new_license": "Click here for more details or contact {{email}} for a new license.", + "Click_here_for_more_info": "Click here for more info", + "Click_here_to_clear_the_selection": "Click here to clear the selection", + "Click_here_to_enter_your_encryption_password": "Click here to enter your encryption password", + "Click_here_to_view_and_copy_your_password": "Click here to view and copy your password.", + "Click_the_messages_you_would_like_to_send_by_email": "Click the messages you would like to send by e-mail", + "Click_to_join": "Click to Join!", + "Click_to_load": "Click to load", + "Client_ID": "Client ID", + "Client_Secret": "Client Secret", + "Client": "Client", + "Clients_will_refresh_in_a_few_seconds": "Clients will refresh in a few seconds", + "close": "close", + "Close": "Close", + "Close_chat": "Close chat", + "Close_room_description": "You are about to close this chat. Are you sure you want to continue?", + "close-livechat-room": "Close Omnichannel Room", + "close-livechat-room_description": "Permission to close the current Omnichannel room", + "close-others-livechat-room": "Close Other Omnichannel Room", + "close-others-livechat-room_description": "Permission to close other Omnichannel rooms", + "Close_Window": "Close Window", + "Closed": "Closed", + "Closed_At": "Closed at", + "Closed_automatically": "Closed automatically by the system", + "Closed_automatically_because_chat_was_onhold_for_seconds": "Closed automatically because chat was On Hold for {{onHoldTime}} seconds", + "Closed_automatically_chat_queued_too_long": "Closed automatically by the system (queue maximum time exceeded)", + "Closed_by_visitor": "Closed by visitor", + "Wrap_up_conversation": "Wrap up conversation", + "These_options_affect_this_conversation_only_To_set_default_selections_go_to_My_Account_Omnichannel": "These options affect this conversation only. To set default selections, go to My Account > Omnichannel.", + "This_option_affect_this_conversation_only_To_set_default_selection_go_to_My_Account_Omnichannel": "This option affect this conversation only. To set default selection, go to My Account > Omnichannel.", + "Closing_chat": "Closing chat", + "Closing_chat_message": "Closing chat message", + "Cloud": "Cloud", + "Cloud_Apply_Offline_License": "Apply Offline License", + "Cloud_Change_Offline_License": "Change Offline License", + "Cloud_License_applied_successfully": "License applied successfully!", + "Cloud_Invalid_license": "Invalid license!", + "Cloud_Apply_license": "Apply license", + "Cloud_connectivity": "Cloud Connectivity", + "Cloud_address_to_send_registration_to": "The address to send your Cloud registration email to.", + "Cloud_click_here": "After copying the text, go to [cloud console (click here)]({{cloudConsoleUrl}}).", + "Cloud_console": "Cloud Console", + "Cloud_error_code": "Code: {{errorCode}}", + "Cloud_error_in_authenticating": "Error received while authenticating", + "Cloud_Info": "Cloud Info", + "Cloud_login_to_cloud": "Login to Rocket.Chat Cloud", + "Cloud_logout": "Logout of Rocket.Chat Cloud", + "Cloud_manually_input_token": "Enter the token received from the Cloud Console.", + "Cloud_register_error": "There has been an error trying to process your request. Please try again later.", + "Cloud_Register_manually": "Register Offline", + "Cloud_register_offline_finish_helper": "After completing the registration process in the Cloud Console you should be presented with some text. Please paste it here to finish the registration.", + "Cloud_register_offline_helper": "Workspaces can be manually registered if airgapped or network access is restricted. Copy the text below and go to our Cloud Console to complete the process.", + "Cloud_register_success": "Your workspace has been successfully registered!", + "Cloud_registration_required": "Registration Required", + "Cloud_registration_required_description": "Looks like during setup you didn't chose to register your workspace.", + "Cloud_registration_required_link_text": "Click here to register your workspace.", + "Cloud_resend_email": "Resend email", + "Cloud_Service_Agree_PrivacyTerms": "Cloud Service Privacy Terms Agreement", + "Cloud_Service_Agree_PrivacyTerms_Description": "I agree with the [Terms](https://rocket.chat/terms) & [Privacy Policy](https://rocket.chat/privacy)", + "Cloud_Service_Agree_PrivacyTerms_Login_Disabled_Warning": "You should accept the cloud privacy terms (Setup Wizard > Cloud Info > Cloud Service Privacy Terms Agreement) to connect to your cloud workspace", + "Cloud_status_page_description": "If a particular Cloud Service is having issues you can check for known issues on our status page at", + "Cloud_token_instructions": "To Register your workspace go to Cloud Console. Login or Create an account and click register self-managed. Paste the token provided below", + "Cloud_troubleshooting": "Troubleshooting", + "Cloud_update_email": "Update Email", + "Cloud_what_is_it": "What is this?", + "Copy_Link": "Copy Link", + "Copy_password": "Copy password", + "Cloud_what_is_it_additional": "In addition you will be able to manage licenses, billing and support from the Rocket.Chat Cloud Console.", + "Cloud_what_is_it_description": "Rocket.Chat Cloud Connect allows you to connect your self-hosted Rocket.Chat Workspace to services we provide in our Cloud.", + "Cloud_what_is_it_services_like": "Services like:", + "Cloud_workspace_connected": "Your workspace is connected to Rocket.Chat Cloud. Logging into your Rocket.Chat Cloud account here will allow you to interact with some services like marketplace.", + "Cloud_workspace_connected_plus_account": "Your workspace is now connected to the Rocket.Chat Cloud and an account is associated.", + "Cloud_workspace_connected_without_account": "Your workspace is now connected to the Rocket.Chat Cloud. If you would like, you can login to the Rocket.Chat Cloud and associate your workspace with your Cloud account.", + "Cloud_workspace_disconnect": "If you no longer wish to utilize cloud services you can disconnect your workspace from Rocket.Chat Cloud.", + "Cloud_workspace_support": "If you have trouble with a cloud service, please try to sync first. Should the issue persist, please open a support ticket in the Cloud Console.", + "Cloud_Workspace_Id": "Cloud Workspace ID", + "Collaborative": "Collaborative", + "Collapse": "Collapse", + "Collapse_Embedded_Media_By_Default": "Collapse Embedded Media by Default", + "color": "Color", + "Color": "Color", + "Colors": "Colors", + "Commands": "Commands", + "Comment_to_leave_on_closing_session": "Comment to Leave on Closing Session", + "Comment": "Comment", + "Common_Access": "Common Access", + "Commit": "Commit", + "Community": "Community", + "Contextualbar_resizable": "Contextual bar resizable", + "Contextualbar_resizable_description": "Allows you to adjust the size of the contextual bar by simply dragging, giving you instant customization and flexibility", + "Free_Edition": "Free edition", + "Composer_not_available_phone_calls": "Messages are not available on phone calls", + "Condensed": "Condensed", + "Condition": "Condition", + "Commit_details": "Commit Details", + "Completed": "Completed", + "Computer": "Computer", + "Conference_call_apps": "Conference call apps", + "Conference_call_has_ended": "_Call has ended._", + "Conference_name": "Conference name", + "Configure_Incoming_Mail_IMAP": "Configure Incoming Mail (IMAP)", + "Configure_Outgoing_Mail_SMTP": "Configure Outgoing Mail (SMTP)", + "Configure_video_conference_to_make_it_available_on_this_workspace": "Configure video conference to make it available on this workspace", + "Confirm": "Confirm", + "Confirm_new_encryption_password": "Confirm new encryption password", + "Confirm_new_password": "Confirm New Password", + "Confirm_New_Password_Placeholder": "Please re-enter new password...", + "Confirm_password": "Confirm password", + "Confirm_your_password": "Confirm your password", + "Confirm_configuration_update_description": "Identification data and cloud connection data will be retained.

Warning: If this is actually a new workspace, please go back and select new workspace option to avoid communication conflicts.", + "Confirm_configuration_update": "Confirm configuration update", + "Confirm_new_workspace_description": "Identification data and cloud connection data will be reset.

Warning: License can be affected if changing workspace URL.", + "Confirm_new_workspace": "Confirm new workspace", + "Confirmation": "Confirmation", + "Configure_video_conference": "Configure conference call", + "Configuration_update_confirmed": "Configuration update confirmed", + "Configuration_update": "Configuration update", + "Connect": "Connect", + "Connected": "Connected", + "Connect_SSL_TLS": "Connect with SSL/TLS", + "Connection_Closed": "Connection closed", + "Connection_Reset": "Connection reset", + "Connection_error": "Connection error", + "Connection_failed": "LDAP Connection Failed", + "Connectivity_Services": "Connectivity Services", + "Consulting": "Consulting", + "Consumer_Packaged_Goods": "Consumer Packaged Goods", + "Contact": "Contact", + "Contacts": "Contacts", + "Contact_Name": "Contact Name", + "Contact_Center": "Contact Center", + "Contact_Chat_History": "Contact Chat History", + "Contains_Security_Fixes": "Contains Security Fixes", + "Contact_Manager": "Contact Manager", + "Contact_not_found": "Contact not found", + "Contact_Profile": "Contact Profile", + "Contact_Info": "Contact Information", + "Content": "Content", + "Continue": "Continue", + "Continue_Adding": "Continue Adding?", + "Continuous_sound_notifications_for_new_livechat_room": "Continuous sound notifications for new omnichannel room", + "convert-team": "Convert Team", + "convert-team_description": "Permission to convert team to channel", + "Conversation": "Conversation", + "Conversation_closed": "Conversation closed: {{comment}}.", + "Conversation_closed_without_comment": "Conversation closed", + "Conversation_closing_tags": "Conversation closing tags", + "Conversation_closing_tags_description": "Closing tags will be automatically assigned to conversations at closing.", + "Conversation_finished": "Conversation Finished", + "Conversation_finished_message": "Conversation Finished Message", + "Conversation_finished_text": "Conversation Finished Text", + "conversation_with_s": "the conversation with %s", + "Conversation_with__roomName__": "Conversation with {{roomName}}.", + "Conversations": "Conversations", + "Conversations_per_day": "Conversations per Day", + "Convert": "Convert", + "Convert_Ascii_Emojis": "Convert ASCII to Emoji", + "Convert_to_channel": "Convert to Channel", + "Converting_channel_to_a_team": "You are converting this Channel to a Team. All members will be kept.", + "Converted__roomName__to_team": "converted #{{roomName}} to a Team", + "Converted__roomName__to_channel": "converted #{{roomName}} to a Channel", + "Converted__roomName__to_a_team": "converted #{{roomName}} to a team", + "Converted__roomName__to_a_channel": "converted #{{roomName}} to channel", + "Converting_team_to_channel": "Converting Team to Channel", + "Copied": "Copied", + "Copy": "Copy", + "Copy_text": "Copy text", + "Copy_to_clipboard": "Copy to clipboard", + "COPY_TO_CLIPBOARD": "COPY TO CLIPBOARD", + "could-not-access-webdav": "Could not access WebDAV", + "Count": "Count", + "Counters": "Counters", + "Country": "Country", + "Country_Afghanistan": "Afghanistan", + "Country_Albania": "Albania", + "Country_Algeria": "Algeria", + "Country_American_Samoa": "American Samoa", + "Country_Andorra": "Andorra", + "Country_Angola": "Angola", + "Country_Anguilla": "Anguilla", + "Country_Antarctica": "Antarctica", + "Country_Antigua_and_Barbuda": "Antigua and Barbuda", + "Country_Argentina": "Argentina", + "Country_Armenia": "Armenia", + "Country_Aruba": "Aruba", + "Country_Australia": "Australia", + "Country_Austria": "Austria", + "Country_Azerbaijan": "Azerbaijan", + "Country_Bahamas": "Bahamas", + "Country_Bahrain": "Bahrain", + "Country_Bangladesh": "Bangladesh", + "Country_Barbados": "Barbados", + "Country_Belarus": "Belarus", + "Country_Belgium": "Belgium", + "Country_Belize": "Belize", + "Country_Benin": "Benin", + "Country_Bermuda": "Bermuda", + "Country_Bhutan": "Bhutan", + "Country_Bolivia": "Bolivia", + "Country_Bosnia_and_Herzegovina": "Bosnia and Herzegovina", + "Country_Botswana": "Botswana", + "Country_Bouvet_Island": "Bouvet Island", + "Country_Brazil": "Brazil", + "Country_British_Indian_Ocean_Territory": "British Indian Ocean Territory", + "Country_Brunei_Darussalam": "Brunei Darussalam", + "Country_Bulgaria": "Bulgaria", + "Country_Burkina_Faso": "Burkina Faso", + "Country_Burundi": "Burundi", + "Country_Cambodia": "Cambodia", + "Country_Cameroon": "Cameroon", + "Country_Canada": "Canada", + "Country_Cape_Verde": "Cape Verde", + "Country_Cayman_Islands": "Cayman Islands", + "Country_Central_African_Republic": "Central African Republic", + "Country_Chad": "Chad", + "Country_Chile": "Chile", + "Country_China": "China", + "Country_Christmas_Island": "Christmas Island", + "Country_Cocos_Keeling_Islands": "Cocos (Keeling) Islands", + "Country_Colombia": "Colombia", + "Country_Comoros": "Comoros", + "Country_Congo": "Congo", + "Country_Congo_The_Democratic_Republic_of_The": "Congo, The Democratic Republic of The", + "Country_Cook_Islands": "Cook Islands", + "Country_Costa_Rica": "Costa Rica", + "Country_Cote_Divoire": "Cote D'ivoire", + "Country_Croatia": "Croatia", + "Country_Cuba": "Cuba", + "Country_Cyprus": "Cyprus", + "Country_Czech_Republic": "Czech Republic", + "Country_Denmark": "Denmark", + "Country_Djibouti": "Djibouti", + "Country_Dominica": "Dominica", + "Country_Dominican_Republic": "Dominican Republic", + "Country_Ecuador": "Ecuador", + "Country_Egypt": "Egypt", + "Country_El_Salvador": "El Salvador", + "Country_Equatorial_Guinea": "Equatorial Guinea", + "Country_Eritrea": "Eritrea", + "Country_Estonia": "Estonia", + "Country_Ethiopia": "Ethiopia", + "Country_Falkland_Islands_Malvinas": "Falkland Islands (Malvinas)", + "Country_Faroe_Islands": "Faroe Islands", + "Country_Fiji": "Fiji", + "Country_Finland": "Finland", + "Country_France": "France", + "Country_French_Guiana": "French Guiana", + "Country_French_Polynesia": "French Polynesia", + "Country_French_Southern_Territories": "French Southern Territories", + "Country_Gabon": "Gabon", + "Country_Gambia": "Gambia", + "Country_Georgia": "Georgia", + "Country_Germany": "Germany", + "Country_Ghana": "Ghana", + "Country_Gibraltar": "Gibraltar", + "Country_Greece": "Greece", + "Country_Greenland": "Greenland", + "Country_Grenada": "Grenada", + "Country_Guadeloupe": "Guadeloupe", + "Country_Guam": "Guam", + "Country_Guatemala": "Guatemala", + "Country_Guinea": "Guinea", + "Country_Guinea_bissau": "Guinea-bissau", + "Country_Guyana": "Guyana", + "Country_Haiti": "Haiti", + "Country_Heard_Island_and_Mcdonald_Islands": "Heard Island and Mcdonald Islands", + "Country_Holy_See_Vatican_City_State": "Holy See (Vatican City State)", + "Country_Honduras": "Honduras", + "Country_Hong_Kong": "Hong Kong", + "Country_Hungary": "Hungary", + "Country_Iceland": "Iceland", + "Country_India": "India", + "Country_Indonesia": "Indonesia", + "Country_Iran_Islamic_Republic_of": "Iran, Islamic Republic of", + "Country_Iraq": "Iraq", + "Country_Ireland": "Ireland", + "Country_Israel": "Israel", + "Country_Italy": "Italy", + "Country_Jamaica": "Jamaica", + "Country_Japan": "Japan", + "Country_Jordan": "Jordan", + "Country_Kazakhstan": "Kazakhstan", + "Country_Kenya": "Kenya", + "Country_Kiribati": "Kiribati", + "Country_Korea_Democratic_Peoples_Republic_of": "Korea, Democratic People's Republic of", + "Country_Korea_Republic_of": "Korea, Republic of", + "Country_Kuwait": "Kuwait", + "Country_Kyrgyzstan": "Kyrgyzstan", + "Country_Lao_Peoples_Democratic_Republic": "Lao People's Democratic Republic", + "Country_Latvia": "Latvia", + "Country_Lebanon": "Lebanon", + "Country_Lesotho": "Lesotho", + "Country_Liberia": "Liberia", + "Country_Libyan_Arab_Jamahiriya": "Libyan Arab Jamahiriya", + "Country_Liechtenstein": "Liechtenstein", + "Country_Lithuania": "Lithuania", + "Country_Luxembourg": "Luxembourg", + "Country_Macao": "Macao", + "Country_Macedonia_The_Former_Yugoslav_Republic_of": "Macedonia, The Former Yugoslav Republic of", + "Country_Madagascar": "Madagascar", + "Country_Malawi": "Malawi", + "Country_Malaysia": "Malaysia", + "Country_Maldives": "Maldives", + "Country_Mali": "Mali", + "Country_Malta": "Malta", + "Country_Marshall_Islands": "Marshall Islands", + "Country_Martinique": "Martinique", + "Country_Mauritania": "Mauritania", + "Country_Mauritius": "Mauritius", + "Country_Mayotte": "Mayotte", + "Country_Mexico": "Mexico", + "Country_Micronesia_Federated_States_of": "Micronesia, Federated States of", + "Country_Moldova_Republic_of": "Moldova, Republic of", + "Country_Monaco": "Monaco", + "Country_Mongolia": "Mongolia", + "Country_Montserrat": "Montserrat", + "Country_Morocco": "Morocco", + "Country_Mozambique": "Mozambique", + "Country_Myanmar": "Myanmar", + "Country_Namibia": "Namibia", + "Country_Nauru": "Nauru", + "Country_Nepal": "Nepal", + "Country_Netherlands": "Netherlands", + "Country_Netherlands_Antilles": "Netherlands Antilles", + "If_you_dont_have_one_send_an_email_to_omni_rocketchat_to_get_yours": "If you don't have one send an email to [omni@rocket.chat](mailto:omni@rocket.chat) to get yours.", + "Country_New_Caledonia": "New Caledonia", + "Country_New_Zealand": "New Zealand", + "Country_Nicaragua": "Nicaragua", + "Country_Niger": "Niger", + "Country_Nigeria": "Nigeria", + "Country_Niue": "Niue", + "Country_Norfolk_Island": "Norfolk Island", + "Country_Northern_Mariana_Islands": "Northern Mariana Islands", + "Country_Norway": "Norway", + "Country_Oman": "Oman", + "Country_Pakistan": "Pakistan", + "Country_Palau": "Palau", + "Country_Palestinian_Territory_Occupied": "Palestinian Territory, Occupied", + "Country_Panama": "Panama", + "Country_Papua_New_Guinea": "Papua New Guinea", + "Country_Paraguay": "Paraguay", + "Country_Peru": "Peru", + "Country_Philippines": "Philippines", + "Country_Pitcairn": "Pitcairn", + "Country_Poland": "Poland", + "Country_Portugal": "Portugal", + "Country_Puerto_Rico": "Puerto Rico", + "Country_Qatar": "Qatar", + "Country_Reunion": "Reunion", + "Country_Romania": "Romania", + "Country_Russian_Federation": "Russian Federation", + "Country_Rwanda": "Rwanda", + "Country_Saint_Helena": "Saint Helena", + "Country_Saint_Kitts_and_Nevis": "Saint Kitts and Nevis", + "Country_Saint_Lucia": "Saint Lucia", + "Country_Saint_Pierre_and_Miquelon": "Saint Pierre and Miquelon", + "Country_Saint_Vincent_and_The_Grenadines": "Saint Vincent and The Grenadines", + "Country_Samoa": "Samoa", + "Country_San_Marino": "San Marino", + "Country_Sao_Tome_and_Principe": "Sao Tome and Principe", + "Country_Saudi_Arabia": "Saudi Arabia", + "Country_Senegal": "Senegal", + "Country_Serbia_and_Montenegro": "Serbia and Montenegro", + "inline_code": "inline code", + "Country_Seychelles": "Seychelles", + "Country_Sierra_Leone": "Sierra Leone", + "Country_Singapore": "Singapore", + "Country_Slovakia": "Slovakia", + "Country_Slovenia": "Slovenia", + "Country_Solomon_Islands": "Solomon Islands", + "Country_Somalia": "Somalia", + "Country_South_Africa": "South Africa", + "Country_South_Georgia_and_The_South_Sandwich_Islands": "South Georgia and The South Sandwich Islands", + "Country_Spain": "Spain", + "Country_Sri_Lanka": "Sri Lanka", + "Country_Sudan": "Sudan", + "Country_Suriname": "Suriname", + "Country_Svalbard_and_Jan_Mayen": "Svalbard and Jan Mayen", + "Country_Swaziland": "Swaziland", + "Country_Sweden": "Sweden", + "Country_Switzerland": "Switzerland", + "Country_Syrian_Arab_Republic": "Syrian Arab Republic", + "Country_Taiwan_Province_of_China": "Taiwan, Province of China", + "Country_Tajikistan": "Tajikistan", + "Country_Tanzania_United_Republic_of": "Tanzania, United Republic of", + "Country_Thailand": "Thailand", + "Country_Timor_leste": "Timor-leste", + "Country_Togo": "Togo", + "Country_Tokelau": "Tokelau", + "Country_Tonga": "Tonga", + "Country_Trinidad_and_Tobago": "Trinidad and Tobago", + "Country_Tunisia": "Tunisia", + "Country_Turkey": "Turkey", + "Country_Turkmenistan": "Turkmenistan", + "Country_Turks_and_Caicos_Islands": "Turks and Caicos Islands", + "Country_Tuvalu": "Tuvalu", + "Country_Uganda": "Uganda", + "Country_Ukraine": "Ukraine", + "Country_United_Arab_Emirates": "United Arab Emirates", + "Country_United_Kingdom": "United Kingdom", + "Country_United_States": "United States", + "Country_United_States_Minor_Outlying_Islands": "United States Minor Outlying Islands", + "Country_Uruguay": "Uruguay", + "Country_Uzbekistan": "Uzbekistan", + "Country_Vanuatu": "Vanuatu", + "Country_Venezuela": "Venezuela", + "Country_Viet_Nam": "Viet Nam", + "Country_Virgin_Islands_British": "Virgin Islands, British", + "Country_Virgin_Islands_US": "Virgin Islands, U.S.", + "Country_Wallis_and_Futuna": "Wallis and Futuna", + "Country_Western_Sahara": "Western Sahara", + "Country_Yemen": "Yemen", + "Country_Zambia": "Zambia", + "Country_Zimbabwe": "Zimbabwe", + "Create": "Create", + "Create_canned_response": "Create canned response", + "Create_custom_field": "Create custom field", + "Create_channel": "Create channel", + "Create_channels": "Create channels", + "Create_a_public_channel_that_new_workspace_members_can_join": "Create a public channel that new workspace members can join.", + "Create_A_New_Channel": "Create a New Channel", + "Create_new": "Create new", + "Create_new_members": "Create New Members", + "Create_unique_rules_for_this_channel": "Create unique rules for this channel", + "Create_unit": "Create unit", + "create-c": "Create Public Channels", + "create-c_description": "Permission to create public channels", + "create-d": "Create Direct Messages", + "create-d_description": "Permission to start direct messages", + "create-invite-links": "Create Invite Links", + "create-invite-links_description": "Permission to create invite links to channels", + "create-p": "Create Private Channels", + "create-p_description": "Permission to create private channels", + "create-personal-access-tokens": "Create Personal Access Tokens", + "create-personal-access-tokens_description": "Permission to create Personal Access Tokens", + "create-team": "Create Team", + "create-team_description": "Permission to create teams", + "create-user": "Create User", + "create-user_description": "Permission to create users", + "Created": "Created", + "Created_as": "Created as", + "Created_at": "Created at", + "Created_at_s_by_s": "Created at %s by %s", + "Created_at_s_by_s_triggered_by_s": "Created at %s by %s triggered by %s", + "Created_by": "Created by", + "CRM_Integration": "CRM Integration", + "CROWD_Allow_Custom_Username": "Allow custom username in Rocket.Chat", + "Crowd_Connection_successful": "Crowd Connection Successful", + "CROWD_Reject_Unauthorized": "Reject Unauthorized", + "Crowd_Remove_Orphaned_Users": "Remove Orphaned Users", + "Crowd_sync_interval_Description": "The interval between synchronizations. Example `every 24 hours` or `on the first day of the week`, more examples at [Cron Text Parser](http://bunkat.github.io/later/parsers.html#text)", + "CSV": "CSV", + "Current_Chats": "Current Chats", + "Current_File": "Current File", + "Current_Import_Operation": "Current Import Operation", + "Current_Status": "Current Status", + "Currently_we_dont_support_joining_servers_with_this_many_people": "Currently we don't support joining servers with this many people", + "Custom": "Custom", + "Custom CSS": "Custom CSS", + "Custom_agent": "Custom agent", + "Custom_dates": "Custom Dates", + "Custom_Emoji": "Custom Emoji", + "Custom_Emoji_Add": "Add New Emoji", + "Custom_Emoji_Added_Successfully": "Custom emoji added successfully", + "Custom_Emoji_Delete_Warning": "Deleting an emoji cannot be undone.", + "Custom_Emoji_Error_Invalid_Emoji": "Invalid emoji", + "Custom_Emoji_Error_Name_Or_Alias_Already_In_Use": "The custom emoji or one of its aliases is already in use.", + "Custom_Emoji_Error_Same_Name_And_Alias": "The custom emoji name and their aliases should be different.", + "Custom_Emoji_Has_Been_Deleted": "The custom emoji has been deleted.", + "Custom_Emoji_Info": "Custom Emoji Info", + "Custom_Emoji_Updated_Successfully": "Custom emoji updated successfully", + "Custom_Fields": "Custom Fields", + "Custom_Field_Removed": "Custom Field Removed", + "Custom_Field_Not_Found": "Custom Field not found", + "Custom_Integration": "Custom Integration", + "Custom_OAuth_has_been_added": "Custom OAuth has been added", + "Custom_OAuth_has_been_removed": "Custom OAuth has been removed", + "Custom_oauth_helper": "When setting up your OAuth Provider, you'll have to inform a Callback URL. Use

%s
.", + "Custom_oauth_unique_name": "Custom OAuth unique name", + "Custom_roles": "Custom roles", + "Custom_roles_upsell_add_custom_roles_workspace": "Add custom roles to suit your workspace", + "Custom_roles_upsell_add_custom_roles_workspace_description": "Custom roles allow you to set permissions for the people in your workspace. Set all the roles you need to make sure people have a safe environment to work on.", + "Custom_Script_Logged_In": "Custom Script for Logged In Users", + "Custom_Script_Logged_In_Description": "Custom Script that will run ALWAYS and to ANY user that is logged in. e.g. (whenever you enter the chat and you are logged in)", + "Custom_Script_Logged_Out": "Custom Script for Logged Out Users", + "Custom_Script_Logged_Out_Description": "Custom Script that will run ALWAYS and to ANY user that is NOT logged in. e.g. (whenever you enter the login page)", + "Custom_Script_On_Logout": "Custom Script for Logout Flow", + "Custom_Script_On_Logout_Description": "Custom Script that will run on execute logout flow ONLY", + "Custom_Scripts": "Custom Scripts", + "Custom_Sound_Add": "Add Custom Sound", + "Custom_Sound_Delete_Warning": "Deleting a sound cannot be undone.", + "Custom_Sound_Edit": "Edit Custom Sound", + "Custom_Sound_Error_Invalid_Sound": "Invalid sound", + "Custom_Sound_Error_Name_Already_In_Use": "The custom sound name is already in use.", + "Custom_Sound_Has_Been_Deleted": "The custom sound has been deleted.", + "Custom_Sound_Info": "Custom Sound Info", + "Custom_Sound_Saved_Successfully": "Custom sound saved successfully", + "Custom_Status": "Custom Status", + "Custom_Translations": "Custom Translations", + "Custom_Translations_Description": "Should be a valid JSON where keys are languages containing a dictionary of key and translations. Example: `{\"en\": {\"Channels\": \"Rooms\"},\"pt\": {\"Channels\": \"Salas\"}}`", + "Custom_User_Status": "Custom User Status", + "Custom_User_Status_Add": "Add Custom User Status", + "Custom_User_Status_Added_Successfully": "Custom User Status Added Successfully", + "Custom_User_Status_Delete_Warning": "Deleting a Custom User Status cannot be undone.", + "Custom_User_Status_Edit": "Edit Custom User Status", + "Custom_User_Status_Error_Invalid_User_Status": "Invalid User Status", + "Custom_User_Status_Error_Name_Already_In_Use": "The Custom User Status Name is already in use.", + "Custom_User_Status_Has_Been_Deleted": "Custom User Status Has Been Deleted", + "Custom_User_Status_Info": "Custom User Status Info", + "Custom_User_Status_Updated_Successfully": "Custom User Status Updated Successfully", + "Customer_without_registered_email": "The customer does not have a registered email address", + "Customize": "Customize", + "Customize_Content": "Customize content", + "CustomSoundsFilesystem": "Custom Sounds Filesystem", + "CustomSoundsFilesystem_Description": "Specify how custom sounds are stored.", + "Daily_Active_Users": "Daily Active Users", + "Dashboard": "Dashboard", + "Data_modified": "Data Modified", + "Data_processing_consent_text": "Data processing consent text", + "Data_processing_consent_text_description": "Use this setting to explain that you can collect, store and process customer's personal informations along the conversation.", + "Date": "Date", + "Date_From": "From", + "Date_to": "to", + "DAU_value": "DAU {{value}}", + "days": "days", + "Days": "Days", + "Daylight_savings_time": "Timezone observes daylight saving time", + "DB_Migration": "Database Migration", + "DB_Migration_Date": "Database Migration Date", + "DDP_Rate_Limiter": "DDP Rate Limit", + "DDP_Rate_Limit_Connection_By_Method_Enabled": "Limit by Connection per Method: enabled", + "DDP_Rate_Limit_Connection_By_Method_Interval_Time": "Limit by Connection per Method: interval time", + "DDP_Rate_Limit_Connection_By_Method_Requests_Allowed": "Limit by Connection per Method: requests allowed", + "DDP_Rate_Limit_Connection_Enabled": "Limit by Connection: enabled", + "DDP_Rate_Limit_Connection_Interval_Time": "Limit by Connection: interval time", + "DDP_Rate_Limit_Connection_Requests_Allowed": "Limit by Connection: requests allowed", + "DDP_Rate_Limit_IP_Enabled": "Limit by IP: enabled", + "DDP_Rate_Limit_IP_Interval_Time": "Limit by IP: interval time", + "DDP_Rate_Limit_IP_Requests_Allowed": "Limit by IP: requests allowed", + "DDP_Rate_Limit_User_By_Method_Enabled": "Limit by User per Method: enabled", + "DDP_Rate_Limit_User_By_Method_Interval_Time": "Limit by User per Method: interval time", + "DDP_Rate_Limit_User_By_Method_Requests_Allowed": "Limit by User per Method: requests allowed", + "DDP_Rate_Limit_User_Enabled": "Limit by User: enabled", + "DDP_Rate_Limit_User_Interval_Time": "Limit by User: interval time", + "DDP_Rate_Limit_User_Requests_Allowed": "Limit by User: requests allowed", + "Deactivate": "Deactivate", + "Deactivated": "Deactivated", + "deactivated": "deactivated", + "Decline": "Decline", + "default": "default", + "Default": "Default", + "Default_provider": "Default provider", + "Default_value": "Default value", + "Delete": "Delete", + "Deleting": "Deleting", + "Delete_account": "Delete account", + "Delete_account?": "Delete account?", + "Delete_all_closed_chats": "Delete all closed chats", + "Delete_Department?": "Delete Department?", + "Delete_File_Warning": "Deleting a file will delete it forever. This cannot be undone.", + "Delete_message": "Delete message", + "Delete_my_account": "Delete my account", + "Delete_Role_Warning": "This cannot be undone", + "Delete_Role_Warning_Not_Enterprise": "This cannot be undone. You won't be able to create a new custom role, since that feature is no longer available for your current plan.", + "Delete_Room_Warning": "Deleting this {{roomType}} will also delete all contained message. This cannot be undone.", + "Delete_User_Warning": "Deleting a user will delete all messages from that user as well. This cannot be undone.", + "Delete_User_Warning_Delete": "Deleting a user will delete all messages from that user as well. This cannot be undone.", + "Delete_User_Warning_Keep": "The user will be deleted, but their messages will remain visible. This cannot be undone.", + "Delete_User_Warning_Unlink": "Deleting a user will remove the user name from all their messages. This cannot be undone.", + "delete-c": "Delete Public Channels", + "delete-c_description": "Permission to delete public channels", + "delete-d": "Delete Direct Messages", + "delete-d_description": "Permission to delete direct messages", + "delete-message": "Delete Message", + "delete-message_description": "Permission to delete a message within a room", + "delete-own-message": "Delete Own Message", + "delete-own-message_description": "Permission to delete own message", + "delete-p": "Delete Private Channels", + "delete-p_description": "Permission to delete private channels", + "delete-team": "Delete Team", + "delete-team_description": "Permission to delete teams", + "delete-user": "Delete User", + "delete-user_description": "Permission to delete users", + "Deleted": "Deleted!", + "Deleted_user": "Deleted user", + "Deleted__roomName__": "deleted #{{roomName}}", + "Deleted__roomName__room": "deleted #{{roomName}}", + "Department": "Department", + "Department_archived": "Department archived", + "Department_name": "Department name", + "Department_not_found": "Department not found", + "Department_removed": "Department removed", + "Department_Removal_Disabled": "Delete option disabled by admin", + "Department_unarchived": "Department unarchived", + "Departments": "Departments", + "Deployment_ID": "Deployment ID", + "Deployment": "Deployment", + "Description": "Description", + "Desktop": "Desktop", + "Desktop_apps": "Desktop apps", + "Desktop_Notification_Test": "Desktop Notification Test", + "Desktop_Notifications": "Desktop Notifications", + "Desktop_Notifications_Default_Alert": "Desktop Notifications Default Alert", + "Desktop_Notifications_Disabled": "Desktop Notifications are Disabled. Change your browser preferences if you need Notifications enabled.", + "Desktop_Notifications_Duration": "Desktop Notifications Duration", + "Desktop_Notifications_Duration_Description": "Seconds to display desktop notification. This may affect OS X Notification Center. Enter 0 to use default browser settings and not affect OS X Notification Center.", + "Desktop_Notifications_Enabled": "Desktop Notifications are Enabled", + "Desktop_Notifications_Not_Enabled": "Desktop Notifications are Not Enabled", + "Unselected_by_default": "Unselected by default", + "Unseen_features": "Unseen features", + "Details": "Details", + "Device_Changes_Not_Available": "Device changes not available in this browser. For guaranteed availability, please use Rocket.Chat's official desktop app.", + "Device_Changes_Not_Available_Insecure_Context": "Device changes are only available on secure contexts (e.g. https://)", + "Device_Management": "Device management", + "Device_Management_Allow_Login_Email_preference": "Allow workspace members to turn off login detection emails", + "Device_Management_Allow_Login_Email_preference_Description": "Individual members can set their preference. Useful when frequent login expirations are set causing members to login frequently.", + "Device_Management_Client": "Client", + "Device_Management_Description": "Configure security and access control policies.", + "Device_Management_Device": "Device", + "line": "line", + "Device_Management_Device_Unknown": "Unknown", + "Device_Management_Email_Subject": "[Site_Name] - Login Detected", + "Device_Management_Email_Body": "You may use the following placeholders: `

{Login_Detected}

[name] ([username]) {Logged_In_Via}

{Device_Management_Client}: [browserInfo]
{Device_Management_OS}: [osInfo]
{Device_Management_Device}: [deviceInfo]
{Device_Management_IP}:[ipInfo]

[userAgent]

{Access_Your_Account}

{Or_Copy_And_Paste_This_URL_Into_A_Tab_Of_Your_Browser}
[SITE_URL]

{Thank_You_For_Choosing_RocketChat}

`", + "Device_Management_Enable_Login_Emails": "Enable login detection emails", + "Device_Management_Enable_Login_Emails_Description": "Emails are sent to workspace members each time new logins are detected on their accounts.", + "Device_Management_IP": "IP", + "Device_Management_OS": "OS", + "Device_ID": "Device ID", + "Device_Info": "Device Info", + "Device_Logged_Out": "Device logged out", + "Device_Logout_Text": "Device will be logged out from workspace and current session will be ended. User will be able to log in again with the same device.", + "Devices": "Devices", + "Devices_Set": "Devices Set", + "Device_settings": "Device Settings", + "Dialed_number_doesnt_exist": "Dialed number doesn't exist", + "Dialed_number_is_incomplete": "Dialed number is not complete", + "Different_Style_For_User_Mentions": "Different style for user mentions", + "Livechat_Facebook_API_Key": "OmniChannel API Key", + "Direct": "Direct", + "Direction": "Direction", + "Livechat_Facebook_API_Secret": "OmniChannel API Secret", + "DirectMesssage_maxUsers": "Max users in direct messages", + "Direct_Message": "Direct message", + "Livechat_Facebook_Enabled": "Facebook integration enabled", + "Direct_message_creation_description": "Select one or more people to message", + "Direct_message_creation_error": "Please select at least one person", + "Direct_message_creation_description_hint": "More people cannot be added once created", + "Direct_message_someone": "Direct message someone", + "Direct_message_you_have_joined": "You have joined a new direct message with", + "Direct_Messages": "Direct messages", + "Direct_message": "Direct message", + "Direct_Reply": "Direct Reply", + "Direct_Reply_Advice": "You can directly reply to this email. Do not modify previous emails in the thread.", + "Direct_Reply_Debug": "Debug Direct Reply", + "Direct_Reply_Debug_Description": "[Beware] Enabling Debug mode would display your 'Plain Text Password' in Admin console.", + "Direct_Reply_Delete": "Delete Emails", + "Direct_Reply_Delete_Description": "[Attention!] If this option is activated, all unread messages are irrevocably deleted, even those that are not direct replies. The configured e-mail mailbox is then always empty and cannot be processed in \"parallel\" by humans.", + "Direct_Reply_Enable": "Enable Direct Reply", + "Direct_Reply_Enable_Description": "[Attention!] If \"Direct Reply\" is enabled, Rocket.Chat will control the configured email mailbox. All unread e-mails are retrieved, marked as read and processed. \"Direct Reply\" should only be activated if the mailbox used is intended exclusively for access by Rocket.Chat and is not read/processed \"in parallel\" by humans.", + "Direct_Reply_Frequency": "Email Check Frequency", + "Direct_Reply_Frequency_Description": "(in minutes, default/minimum 2)", + "Direct_Reply_Host": "Direct Reply Host", + "Direct_Reply_IgnoreTLS": "IgnoreTLS", + "Direct_Reply_Password": "Password", + "Direct_Reply_Port": "Direct_Reply_Port", + "Direct_Reply_Protocol": "Direct Reply Protocol", + "Direct_Reply_Separator": "Separator", + "Direct_Reply_Separator_Description": "[Alter only if you know exactly what you are doing, refer docs] \nSeparator between base & tag part of email", + "Direct_Reply_Username": "Username", + "Direct_Reply_Username_Description": "Please use absolute email, tagging is not allowed, it would be over-written", + "Directory": "Directory", + "Disable": "Disable", + "Disable_Facebook_integration": "Disable Facebook integration", + "Disable_Notifications": "Disable Notifications", + "Disable_two-factor_authentication": "Disable two-factor authentication via TOTP", + "Disable_two-factor_authentication_email": "Disable two-factor authentication via Email", + "Disabled": "Disabled", + "Disallow_reacting": "Disallow Reacting", + "Disallow_reacting_Description": "Disallows reacting", + "Discard": "Discard", + "Disconnect": "Disconnect", + "Discover_public_channels_and_teams_in_the_workspace_directory": "Discover public channels and teams in the workspace directory.", + "Discussion": "Discussion", + "Discussion_info": "Discussion info", + "Discussion_Description": "Discussions are an additional way to organize conversations that allows inviting users from outside channels to participate in specific conversations.", + "Discussion_description": "Discussions allow separate conversations around a specific topic inside a channel or team where any workspace member can be added.", + "Discussion_first_message_disabled_due_to_e2e": "You can start sending End-to-end encrypted messages in this discussion after its creation.", + "Discussion_first_message_title": "Message", + "Discussion_name": "Discussion name", + "Discussion_start": "Start a Discussion", + "Discussion_target_channel": "Parent channel or team", + "Discussion_target_channel_description": "Select a channel which is related to what you want to ask", + "Discussion_target_channel_prefix": "You are creating a discussion in", + "Discussion_title": "Create discussion", + "Discussions_unavailable_for_federation": "Discussions are unavailable for Federated rooms", + "discussion-created": "{{message}}", + "Discussions": "Discussions", + "Display": "Display", + "Display_avatars": "Display Avatars", + "Display_Avatars_Sidebar": "Display Avatars in Sidebar", + "Display_chat_permissions": "Display chat permissions", + "Display_mentions_counter": "Display badge for direct mentions only", + "Display_offline_form": "Display Offline Form", + "Display_setting_permissions": "Display permissions to change settings", + "Display_unread_counter": "Display room as unread when there are unread messages", + "Displays_action_text": "Displays action text", + "Do_It_Later": "Do it later", + "Displayed_next_to_name": "Displayed next to name", + "Do_not_display_unread_counter": "Do not display any counter of this channel", + "Do_not_provide_this_code_to_anyone": "Do not provide this code to anyone.", + "Do_Nothing": "Do Nothing", + "Do_nothing": "Do nothing", + "Do_you_have_any_notes_for_this_conversation": "Do you have any notes for this conversation?", + "Do_you_want_to_accept": "Do you want to accept?", + "Do_you_want_to_change_to_s_question": "Do you want to change to %s?", + "Documentation": "Documentation", + "Document_Domain": "Document Domain", + "Domain": "Domain", + "Domain_added": "domain Added", + "Domain_removed": "Domain Removed", + "Domains": "Domains", + "Domains_allowed_to_embed_the_livechat_widget": "Comma-separated list of domains allowed to embed the livechat widget. Leave blank to allow all domains.", + "Done": "Done", + "Dont_ask_me_again": "Don't ask me again!", + "Dont_ask_me_again_list": "Don't ask me again list", + "Download": "Download", + "Download_Destkop_App": "Download Desktop App", + "Download_Disabled": "Download disabled", + "Download_Info": "Download info", + "Download_My_Data": "Download My Data (HTML)", + "Download_Pending_Avatars": "Download Pending Avatars", + "Download_Pending_Files": "Download Pending Files", + "Download_Snippet": "Download", + "Downloading_file_from_external_URL": "Downloading file from external URL", + "Drop_to_upload_file": "Drop to upload file", + "Dry_run": "Dry run", + "Dry_run_description": "Will only send one email, to the same address as in From. The email must belong to a valid user.", + "Duplicate_archived_channel_name": "An archived Channel with name `#%s` exists", + "Markdown_Headers": "Allow Markdown headers in messages", + "Markdown_Marked_Breaks": "Enable Marked Breaks", + "Duplicate_archived_private_group_name": "An archived Private Group with name '%s' exists", + "Duplicate_channel_name": "A Channel with name '%s' exists", + "Markdown_Marked_GFM": "Enable Marked GFM", + "Duplicate_file_name_found": "Duplicate file name found.", + "Markdown_Marked_Pedantic": "Enable Marked Pedantic", + "Markdown_Marked_SmartLists": "Enable Marked Smart Lists", + "Duplicate_private_group_name": "A Private Group with name '%s' exists", + "Markdown_Marked_Smartypants": "Enable Marked Smartypants", + "Duplicated_Email_address_will_be_ignored": "Duplicated email address will be ignored.", + "Markdown_Marked_Tables": "Enable Marked Tables", + "duplicated-account": "Duplicated account", + "E2E_Allow_Unencrypted_Messages": "Unencrypted messages in encrypted rooms", + "E2E_Allow_Unencrypted_Messages_Description": "Allow plain text messages to be sent in encrypted rooms. These messages will not be encrypted.", + "E2E Encryption": "E2E Encryption", + "E2E_Encryption_enabled_for_room": "End-to-end encryption enabled for #{{roomName}}", + "E2E_Encryption_disabled_for_room": "End-to-end encryption disabled for #{{roomName}}", + "E2EE_not_available_OTR": "This room has OTR enabled, E2E encryption cannot work with OTR.", + "Markdown_Parser": "Markdown Parser", + "Markdown_SupportSchemesForLink": "Markdown Support Schemes for Link", + "E2E Encryption_Description": "Keep conversations private, ensuring only the sender and intended recipients are able to read them.", + "Markdown_SupportSchemesForLink_Description": "Comma-separated list of allowed schemes", + "E2E_enable": "Enable E2E", + "E2E_disable": "Disable E2E", + "E2E_Enable_alert": "This feature is currently in beta! Please report bugs to github.com/RocketChat/Rocket.Chat/issues and be aware of:
- Encrypted messages of encrypted rooms will not be found by search operations.
- The mobile apps may not support the encrypted messages (they are implementing it).
- Bots may not be able to see encrypted messages until they implement support for it.
- Uploads will not be encrypted in this version.", + "E2E_Enable_description": "Enable option to create encrypted groups and be able to change groups and direct messages to be encrypted", + "E2E_Enabled": "E2E Enabled", + "E2E_Enabled_Default_DirectRooms": "Enable encryption for Direct Rooms by default", + "E2E_Enabled_Default_PrivateRooms": "Enable encryption for Private Rooms by default", + "E2E_Enable_Encrypt_Files": "Encrypt files", + "E2E_Enable_Encrypt_Files_Description": "Encrypt files sent inside encrypted rooms. Check for possible conflicts in [file upload settings.](admin/settings/FileUpload)", + "E2E_Encryption_Password_Change": "Change Encryption Password", + "E2E_Encryption_Password_Explanation": "You can now create encrypted private groups and direct messages. You may also change existing private groups or DMs to encrypted.

This is end-to-end encryption so the key to encode/decode your messages will not be saved on the server. For that reason you need to store your password somewhere safe. You will be required to enter it on other devices you wish to use e2e encryption on.", + "E2E_key_reset_email": "E2E Key Reset Notification", + "E2E_message_encrypted_placeholder": "This message is end-to-end encrypted. To view it, you must enter your encryption key in your account settings.", + "E2E_password_request_text": "To access your encrypted channels and direct messages, enter your encryption password. This is not stored on the server, so you’ll need to use it on every device.", + "E2E_password_reveal_text": "Create secure private rooms and direct messages with end-to-end encryption. This password won’t be stored on the server. You can use it on all your devices.", + "E2E_password_save_text": "This will only be displayed once, please save it now.", + "E2E_Reset_Email_Content": "You've been automatically logged out. When you log in again, a new key will be generated and access will be restored to any encrypted room with at least one member online. If no members are online, access will be restored as soon as a member comes online.", + "E2E_Reset_Key_Explanation": "This will remove your current E2EE key and log you out.
When you log in again, a new key will be generated and access will be restored to any encrypted room with at least one member online.
If no members are online, access will be restored as soon as a member comes online.", + "E2E_Reset_Other_Key_Warning": "Resetting the E2EE key will log out the user. When the user logs in again, a new key will be generated and access will be restored to any encrypted room with at least one member online. If no members are online, access will be restored as soon as a member comes online.", + "E2E_unavailable_for_federation": "E2E is unavailable for federated rooms", + "ECDH_Enabled": "Enable second layer encryption for data transport", + "Edit": "Edit", + "Edit_team": "Edit team", + "Edit_channel": "Edit channel", + "Edit_discussion": "Edit discussion", + "Edit_Business_Hour": "Edit Business Hour", + "Edit_Canned_Response": "Edit Canned Response", + "Edit_Canned_Responses": "Edit Canned Responses", + "Edit_Custom_Field": "Edit Custom Field", + "Edit_Department": "Edit Department", + "Edit_Federated_User_Not_Allowed": "Not possible to edit a federated user", + "Message_AllowSnippeting": "Allow Message Snippeting", + "Edit_Invite": "Edit Invite", + "Edit_previous_message": "`%s` - Edit previous message", + "Edit_Priority": "Edit Priority", + "Edit_SLA_Policy": "Edit SLA policy", + "Edit_Status": "Edit Status", + "Edit_Tag": "Edit Tag", + "Edit_Trigger": "Edit Trigger", + "Edit_Unit": "Edit Unit", + "Message_Attachments_GroupAttach": "Group Attachment Buttons", + "Message_Attachments_GroupAttachDescription": "This groups the icons under an expandable menu. Takes up less screen space.", + "Edit_User": "Edit User", + "edit-livechat-room-customfields": "Edit Livechat Room Custom Fields", + "edit-livechat-room-customfields_description": "Permission to edit the custom fields of livechat room", + "edit-message": "Edit Message", + "edit-message_description": "Permission to edit a message within a room", + "edit-other-user-active-status": "Edit Other User Active Status", + "edit-other-user-active-status_description": "Permission to enable or disable other accounts", + "edit-other-user-avatar": "Edit Other User Avatar", + "edit-other-user-avatar_description": "Permission to change other user's avatar.", + "edit-other-user-e2ee": "Edit Other User E2E Encryption", + "edit-other-user-e2ee_description": "Permission to modify other user's E2E Encryption.", + "edit-other-user-info": "Edit Other User Information", + "edit-other-user-info_description": "Permission to change other user's name, username or email address.", + "edit-other-user-password": "Edit Other User Password", + "edit-other-user-password_description": "Permission to modify other user's passwords. Requires edit-other-user-info permission.", + "edit-other-user-totp": "Edit Other User Two Factor TOTP", + "edit-other-user-totp_description": "Permission to edit other user's Two Factor TOTP", + "edit-privileged-setting": "Edit Privileged Setting", + "edit-privileged-setting_description": "Permission to edit settings", + "edit-team": "Edit Team", + "edit-team_description": "Permission to edit teams", + "edit-team-channel": "Edit Team Channel", + "edit-team-channel_description": "Permission to edit a team's channel", + "edit-team-member": "Edit Team Member", + "edit-team-member_description": "Permission to edit a team's members", + "edit-room": "Edit Room", + "edit-room_description": "Permission to edit a room's name, topic, type (private or public status) and status (active or archived)", + "edit-room-avatar": "Edit Room Avatar", + "edit-room-avatar_description": "Permission to edit a room's avatar.", + "edit-room-retention-policy": "Edit Room's Retention Policy", + "edit-room-retention-policy_description": "Permission to edit a room’s retention policy, to automatically delete messages in it", + "edit-omnichannel-contact": "Edit Omnichannel Contact", + "Use_Legacy_Message_Template": "Use legacy message template", + "multi_line": "multi line", + "edit-omnichannel-contact_description": "Permission to edit Omnichannel Contact", + "Edit_Contact_Profile": "Edit Contact Profile", + "edited": "edited", + "Editing_message": "Editing message", + "Editing_message_hint": "esc to cancel · enter to save", + "Editing_room": "Editing room", + "Editing_user": "Editing user", + "Editor": "Editor", + "Message_ShowEditedStatus": "Show Edited Status", + "Education": "Education", + "Message_ShowFormattingTips": "Show Formatting Tips", + "Email": "Email", + "Email_Description": "Configurations for sending broadcast emails from inside Rocket.Chat.", + "Email_address_to_send_offline_messages": "Email Address to Send Offline Messages", + "Email_already_exists": "Email already exists", + "Email_body": "Email body", + "Email_Change_Disabled": "Your Rocket.Chat administrator has disabled the changing of email", + "Email_Changed_Description": "You may use the following placeholders: \n - `[email]` for the user's email. \n- `[Site_Name]` and `[Site_URL]` for the Application Name and URL respectively.", + "Email_Changed_Email_Subject": "[Site_Name] - Email address has been changed", + "Email_changed_section": "Email Address Changed", + "Email_Footer_Description": "You may use the following placeholders: \n - `[Site_Name]` and `[Site_URL]` for the Application Name and URL respectively. ", + "Email_from": "From", + "Email_Header_Description": "You may use the following placeholders: \n - `[Site_Name]` and `[Site_URL]` for the Application Name and URL respectively. ", + "Email_Inbox": "Email Inbox", + "Email_Inboxes": "Email inboxes", + "Email_Inbox_has_been_added": "Email Inbox has been added", + "Email_Inbox_has_been_removed": "Email Inbox has been removed", + "Email_is_required": "Email is required", + "Email_Notification_Mode": "Offline Email Notifications", + "Email_Notification_Mode_All": "Every Mention/DM", + "Email_Notification_Mode_Disabled": "Disabled", + "Email_notification_show_message": "Show Message in Email Notification", + "Email_Notifications_Change_Disabled": "Your Rocket.Chat administrator has disabled email notifications", + "Email_or_username": "Email or username", + "Enterprise_capability": "Enterprise capability", + "Email_Placeholder": "Please enter your email address...", + "Enterprise_capabilities": "Enterprise capabilities", + "Email_Placeholder_any": "Please enter email addresses...", + "email_plain_text_only": "Send only plain text emails", + "Enterprise_Departments_description_upgrade": "Workspaces on Community Edition can create just one department. Upgrade to Enterprise to remove limits and supercharge your workspace.", + "Enterprise_Departments_description_free_trial": "Workspaces on Community Edition can create one department. Start a free Enterprise trial to create multiple departments today!", + "email_style_description": "Avoid nested selectors", + "email_style_label": "Email Style", + "Enterprise_Description": "Manually update your Premium license.", + "Email_subject": "Email Subject", + "Enterprise_License": "Enterprise License", + "Enterprise_License_Description": "If your workspace is registered and license is provided by Rocket.Chat cloud you don't need to manually update the license here.", + "Email_two-factor_authentication": "Email two-factor authentication", + "Email_verified": "Email verified", + "Enterprise_Only": "Enterprise only", + "Encrypted_field_hint": "Messages are end-to-end encrypted, search will not work and notifications may not show message content", + "Encrypted_file_not_allowed": "Encrypted file not allowed", + "Email_sent": "Email sent", + "Email_verification_isnt_required": "Email verification to login is not required. To require, enable setting in Accounts > Registration", + "Emoji": "Emoji", + "Emoji_picker": "Emoji picker", + "EmojiCustomFilesystem": "Custom Emoji Filesystem", + "EmojiCustomFilesystem_Description": "Specify how emojis are stored.", + "Empty_no_agent_selected": "Empty, no agent selected", + "Empty_title": "Empty title", + "Enable": "Enable", + "Enable_Auto_Away": "Enable Auto Away", + "Enable_CSP": "Enable Content-Security-Policy", + "Enable_CSP_Description": "Do not disable this option unless you have a custom build and are having problems due to inline-scripts", + "Extra_CSP_Domains": "Extra CSP Domains", + "Extra_CSP_Domains_Description": "Extra domains to add to the Content-Security-Policy", + "Enable_Desktop_Notifications": "Enable Desktop Notifications", + "Enable_encryption": "Enable encryption", + "Enable_inquiry_fetch_by_stream": "Enable inquiry data fetch from server using a stream", + "Enable_omnichannel_auto_close_abandoned_rooms": "Enable automatic closing of rooms abandoned by the visitor", + "Enable_Password_History": "Enable Password History", + "Enable_Password_History_Description": "When enabled, users won't be able to update their passwords to some of their most recently used passwords.", + "Enable_Svg_Favicon": "Enable SVG favicon", + "Enable_timestamp": "Enable timestamp parsing in messages", + "Enable_timestamp_description": "Enable timestamps to be parsed in messages", + "Enable_to_bypass_email_verification": "Enable to bypass email verification", + "Enable_two-factor_authentication": "Enable two-factor authentication via TOTP", + "Enable_two-factor_authentication_email": "Enable two-factor authentication via Email", + "Enable_unlimited_apps": "Enable unlimited apps", + "Enabled": "Enabled", + "Encrypted": "Encrypted", + "Encrypted_channel_Description": "Messages are end-to-end encrypted, search will not work and notifications may not show message content", + "Encrypted_content_cannot_be_searched": "Encrypted content cannot be searched.", + "Encrypted_key_title": "Click here to disable end-to-end encryption for this channel (requires e2ee-permission)", + "Encrypted_message": "Encrypted message", + "Encrypted_RoomType": "Encrypted {{roomType}}", + "Encrypted_message_preview_unavailable": "Encrypted message, preview unavailable", + "Encrypted_setting_changed_successfully": "Encrypted setting changed successfully", + "Encrypted_not_available": "Not available for public {{roomType}}", + "Encryption_key_saved_successfully": "Your encryption key was saved successfully.", + "EncryptionKey_Change_Disabled": "You can't set a password for your encryption key because your private key is not present on this client. In order to set a new password you need load your private key using your existing password or use a client where the key is already loaded.", + "End": "End", + "End_suspicious_sessions": "End any suspicious sessions", + "End_call": "End call", + "End_conversation": "End conversation", + "End_To_End_Encryption_Enabled": "End-to-end encryption is enabled", + "End_To_End_Encryption_Not_Enabled": "End-to-end encryption is not enabled", + "Expand_view": "Expand view", + "Explore": "Explore", + "Explore_marketplace": "Explore Marketplace", + "Explore_the_marketplace_to_find_awesome_apps": "Explore the Marketplace to find awesome apps for Rocket.Chat", + "Export": "Export", + "End_Call": "End Call", + "End_OTR": "End OTR", + "Engagement": "Engagement", + "Engagement_Dashboard": "Engagement dashboard", + "Enrich_your_workspace": "Enrich your workspace perspective with the engagement dashboard. Analyze practical usage statistics about your users, messages and channels. Included in Premium plans.", + "Ensure_secure_workspace_access": "Ensure secure workspace access", + "ensure_email_address_valid": "Invalid email address", + "Enter": "Enter", + "Enter_a_custom_message": "Enter a custom message", + "Enter_a_department_name": "Enter a department name", + "Enter_a_name": "Enter a name", + "Enter_a_regex": "Enter a regex", + "Enter_a_room_name": "Enter a room name", + "Enter_a_tag": "Enter a tag", + "Enter_a_username": "Enter a username", + "Enter_Alternative": "Alternative mode (send with Enter + Ctrl/Alt/Shift/CMD)", + "Enter_authentication_code": "Enter authentication code", + "Enter_Behaviour": "Enter key Behaviour", + "Enter_Behaviour_Description": "This changes if the enter key will send a message or do a line break", + "Enter_code_here": "Enter code here", + "Enter_E2E_password": "Enter E2EE password", + "Enter_name_here": "Enter name here", + "Enter_Normal": "Normal mode (send with Enter)", + "Enter_the_code_we_just_emailed_you": "Enter the code we just emailed you.", + "Enter_to": "Enter to", + "Enter_TOTP_password": "Enter TOTP password", + "Enter_your_E2E_password": "Enter your E2E password", + "Enter_your_E2E_password_to_access": "Enter your end-to-end encryption password to access", + "Enter_your_password_to_delete_your_account": "Enter your password to delete your account. This cannot be undone.", + "Enter_your_username_to_delete_your_account": "Enter your username to delete your account. This cannot be undone.", + "Premium_capabilities": "Premium capabilities", + "Premium_Departments_title": "Assign customers to queues and improve agent productivity", + "Premium_Departments_description_upgrade": "Workspaces on Community can create just one department. Upgrade to a Premium plan to remove limits and supercharge your workspace.", + "Premium_Departments_description_free_trial": "Workspaces on Community can create one department. Start a free Premium trial to create multiple departments today!", + "Premium_License": "Premium License", + "Premium_License_alert": "If a license is removed the workspace must be restarted to take effect.
If the workspace is connected to the cloud the license should be canceled there first otherwise cloud will provide the license to the workspace again during the restart.", + "Premium_only": "Premium only", + "Entertainment": "Entertainment", + "Error": "Error", + "Error_something_went_wrong": "Oops! Something went wrong. Please reload the page or contact an administrator.", + "Error_404": "Error:404", + "Error_changing_password": "Error changing password", + "Error_loading_pages": "Error loading pages", + "Error_login_blocked_for_ip": "Login has been temporarily blocked for this IP", + "Error_login_blocked_for_user": "Login has been temporarily blocked for this User", + "Error_RocketChat_requires_oplog_tailing_when_running_in_multiple_instances": "Error: Rocket.Chat requires oplog tailing when running in multiple instances", + "Error_RocketChat_requires_oplog_tailing_when_running_in_multiple_instances_details": "Please make sure your MongoDB is on ReplicaSet mode and MONGO_OPLOG_URL environment variable is defined correctly on the application server", + "Error_sending_livechat_offline_message": "Error sending Omnichannel offline message", + "Error_sending_livechat_transcript": "Error sending Omnichannel transcript", + "Error_Site_URL": "Invalid Site_Url", + "Error_Site_URL_description": "Please, update your \"Site_Url\" setting find more information [here](https://go.rocket.chat/i/invalid-site-url)", + "error-action-not-allowed": "{{action}} is not allowed", + "error-agent-offline": "Agent is offline", + "error-agent-status-service-offline": "Agent status is offline or Omnichannel service is not active", + "error-application-not-found": "Application not found", + "error-archived-duplicate-name": "There's an archived channel with name '{{room_name}}'", + "error-avatar-invalid-url": "Invalid avatar URL: {{url}}", + "error-avatar-url-handling": "Error while handling avatar setting from a URL ({{url}}) for {{username}}", + "error-business-hours-are-closed": "Business Hours are closed", + "error-business-hour-finish-time-before-start-time": "Finish time must be after start time", + "error-business-hour-finish-time-equals-start-time": "Start and Finish time cannot be the same", + "error-blocked-username": "**{{field}}** is blocked and can't be used!", + "error-canned-response-not-found": "Canned Response Not Found", + "error-cannot-delete-app-user": "Deleting app user is not allowed, uninstall the corresponding app to remove it.", + "error-cant-add-federated-users": "Can't add federated users to a non-federated room", + "error-cant-invite-for-direct-room": "Can't invite user to direct rooms", + "error-channels-setdefault-is-same": "The channel default setting is the same as what it would be changed to.", + "error-channels-setdefault-missing-default-param": "The bodyParam 'default' is required", + "error-could-not-change-email": "Could not change email", + "error-could-not-change-name": "Could not change name", + "error-could-not-change-username": "Could not change username", + "error-comment-is-required": "Comment is required", + "error-custom-field-name-already-exists": "Custom field name already exists", + "error-delete-protected-role": "Cannot delete a protected role", + "error-department-not-found": "Department not found", + "error-department-removal-disabled": "Department removal is disabled by administration, please contact your administrator", + "error-direct-message-max-user-exceeded": "You cannot add more than {{maxUsers}} users, including yourself to a direct message", + "error-direct-message-file-upload-not-allowed": "File sharing not allowed in direct messages", + "error-duplicate-channel-name": "A channel with name '{{channel_name}}' exists", + "error-duplicate-priority-name": "A priority with the same name already exists", + "error-edit-permissions-not-allowed": "Editing permissions is not allowed", + "error-email-domain-blacklisted": "The email domain is blacklisted", + "error-email-body-not-initialized": "Email body not initialized. Setup Email's Header & Footer on Email settings before sending rich emails", + "error-email-send-failed": "Error trying to send email: {{message}}", + "error-essential-app-disabled": "Error: a Rocket.Chat App that is essential for this is disabled. Please contact your administrator", + "error-failed-to-delete-department": "Failed to delete department", + "error-field-unavailable": "{{field}} is already in use :(", + "error-file-too-large": "File is too large", + "error-forwarding-chat": "Something went wrong while forwarding the chat, Please try again later.", + "error-forwarding-chat-same-department": "The selected department and the current room department are the same", + "error-forwarding-department-target-not-allowed": "The forwarding to the target department is not allowed.", + "error-guests-cant-have-other-roles": "Guest users can't have any other role.", + "error-import-file-extract-error": "Failed to extract import file.", + "error-import-file-is-empty": "Imported file seems to be empty.", + "error-import-file-missing": "The file to be imported was not found on the specified path.", + "error-importer-not-defined": "The importer was not defined correctly, it is missing the Import class.", + "error-input-is-not-a-valid-field": "{{input}} is not a valid {{field}}", + "error-insufficient-permission": "Error! You don't have ' {{permission}} ' permission which is required to perform this operation", + "error-inquiry-taken": "Inquiry already taken", + "error-invalid-account": "Invalid Account", + "error-invalid-actionlink": "Invalid action link", + "error-invalid-arguments": "Invalid arguments", + "error-invalid-asset": "Invalid asset", + "error-invalid-channel": "Invalid channel.", + "error-invalid-channel-start-with-chars": "Invalid channel. Start with @ or #", + "error-invalid-custom-field": "Invalid custom field", + "error-invalid-custom-field-name": "Invalid custom field name. Use only letters, numbers, hyphens and underscores.", + "error-invalid-custom-field-value": "Invalid value for {{field}} field", + "error-custom-field-not-allowed": "Custom field {{key}} is not allowed", + "error-invalid-date": "Invalid date provided.", + "error-invalid-dates": "From date cannot be after To date", + "error-invalid-description": "Invalid description", + "error-invalid-domain": "Invalid domain", + "error-invalid-email": "Invalid email {{email}}", + "error-invalid-email-address": "Invalid email address", + "error-invalid-email-inbox": "Invalid Email Inbox", + "error-email-inbox-not-found": "Email Inbox not found", + "error-this-is-an-ee-feature": "This is an enterprise edition feature", + "error-invalid-file-height": "Invalid file height", + "error-invalid-file-type": "Invalid file type", + "error-invalid-file-width": "Invalid file width", + "error-invalid-from-address": "You informed an invalid FROM address.", + "error-invalid-inquiry": "Invalid inquiry", + "error-invalid-image-url": "Invalid image URL", + "error-invalid-integration": "Invalid integration", + "error-invalid-message": "Invalid message", + "error-invalid-method": "Invalid method", + "error-invalid-name": "Invalid name", + "error-invalid-password": "Invalid password", + "error-invalid-param": "Invalid param", + "error-invalid-params": "Invalid params", + "error-invalid-permission": "Invalid permission", + "error-invalid-port-number": "Invalid port number", + "error-invalid-priority": "Invalid priority", + "error-invalid-redirectUri": "Invalid redirectUri", + "error-invalid-role": "Invalid role", + "error-invalid-room": "Invalid room", + "error-invalid-room-name": "{{room_name}} is not a valid room name", + "error-invalid-room-type": "{{type}} is not a valid room type.", + "error-invalid-settings": "Invalid settings provided", + "error-invalid-subscription": "Invalid subscription", + "error-invalid-token": "Invalid token", + "error-invalid-triggerWords": "Invalid triggerWords", + "error-invalid-urls": "Invalid URLs", + "error-invalid-user": "Invalid user", + "error-invalid-username": "Invalid username", + "error-invalid-value": "Invalid value", + "error-invalid-webhook-response": "The webhook URL responded with a status other than 200", + "error-invalid-external-service-response": "The external service response is not valid", + "error-license-user-limit-reached": "The maximum number of users has been reached.", + "error-logged-user-not-in-room": "You are not in the room `%s`", + "error-max-departments-number-reached": "You reached the maximum number of departments allowed by your license. Contact sale@rocket.chat for a new license.", + "error-max-guests-number-reached": "You reached the maximum number of guest users allowed by your license. Contact sale@rocket.chat for a new license.", + "error-max-number-simultaneous-chats-reached": "The maximum number of simultaneous chats per agent has been reached.", + "error-max-rooms-per-guest-reached": "The maximum number of rooms per guest has been reached.", + "error-mac-limit-reached": "The maximum number of monthly active contacts for this workspace has been reached.", + "error-message-deleting-blocked": "Message deleting is blocked", + "error-message-editing-blocked": "Message editing is blocked", + "error-message-size-exceeded": "Message size exceeds Message_MaxAllowedSize", + "error-missing-unsubscribe-link": "You must provide the [unsubscribe] link.", + "error-no-tokens-for-this-user": "There are no tokens for this user", + "error-no-agents-online-in-department": "No agents online in the department", + "error-no-message-for-unread": "There are no messages to mark unread", + "error-not-allowed": "Not allowed", + "error-not-authorized": "Not authorized", + "error-office-hours-are-closed": "The office hours are closed.", + "Estimated_due_time": "Estimated due time", + "error-password-in-history": "Entered password has been previously used", + "error-password-policy-not-met": "Password does not meet the server's policy", + "Estimated_due_time_in_minutes": "Estimated due time (time in minutes)", + "error-password-policy-not-met-maxLength": "Password does not meet the server's policy of maximum length (password too long)", + "error-password-policy-not-met-minLength": "Password does not meet the server's policy of minimum length (password too short)", + "error-password-policy-not-met-oneLowercase": "Password does not meet the server's policy of at least one lowercase character", + "error-password-policy-not-met-oneNumber": "Password does not meet the server's policy of at least one numerical character", + "error-password-policy-not-met-oneSpecial": "Password does not meet the server's policy of at least one special character", + "Please_go_to_the_Administration_page_then_Livechat_Facebook": "Please go to the Administration page then Omnichannel > Facebook", + "error-password-policy-not-met-oneUppercase": "Password does not meet the server's policy of at least one uppercase character", + "error-password-policy-not-met-repeatingCharacters": "Password not not meet the server's policy of forbidden repeating characters (you have too many of the same characters next to each other)", + "error-password-same-as-current": "Entered password same as current password", + "error-personal-access-tokens-are-current-disabled": "Personal Access Tokens are currently disabled", + "error-pinning-message": "Message could not be pinned", + "error-push-disabled": "Push is disabled", + "error-remove-last-owner": "This is the last owner. Please set a new owner before removing this one.", + "error-returning-inquiry": "Error returning inquiry to the queue", + "error-role-in-use": "Cannot delete role because it's in use", + "error-role-name-required": "Role name is required", + "error-room-does-not-exist": "This room does not exist", + "error-role-already-present": "A role with this name already exists", + "error-room-already-closed": "Room is already closed", + "error-room-is-not-closed": "Room is not closed", + "error-room-onHold": "Error! Room is On Hold", + "error-room-is-already-on-hold": "Error! Room is already On Hold", + "error-room-not-on-hold": "Error! Room is not On Hold", + "error-selected-agent-room-agent-are-same": "The selected agent and the room agent are the same", + "error-starring-message": "Message could not be stared", + "error-tags-must-be-assigned-before-closing-chat": "Tag(s) must be assigned before closing the chat", + "error-the-field-is-required": "The field {{field}} is required.", + "error-this-is-not-a-livechat-room": "This is not a Omnichannel room", + "error-this-is-a-premium-feature": "Only available on premium plans", + "error-token-already-exists": "A token with this name already exists", + "error-token-does-not-exists": "Token does not exists", + "error-too-many-requests": "Error, too many requests. Please slow down. You must wait {{seconds}} seconds before trying again.", + "error-transcript-already-requested": "Transcript already requested", + "error-unpinning-message": "Message could not be unpinned", + "error-user-deactivated": "User is not active", + "error-user-has-no-roles": "User has no roles", + "error-user-is-not-activated": "User is not activated", + "error-user-is-not-agent": "User is not an Omnichannel Agent", + "error-user-is-offline": "User is offline", + "error-user-limit-exceeded": "The number of users you are trying to invite to #channel_name exceeds the limit set by the administrator", + "error-user-not-belong-to-department": "User does not belong to this department", + "error-user-not-in-room": "User is not in this room", + "error-user-registration-disabled": "User registration is disabled", + "error-user-registration-secret": "User registration is only allowed via Secret URL", + "error-validating-department-chat-closing-tags": "At least one closing tag is required when the department requires tag(s) on closing conversations.", + "error-no-permission-team-channel": "You don't have permission to add this channel to the team", + "error-no-owner-channel": "Only owners can add this channel to the team", + "error-unable-to-update-priority": "Unable to update priority", + "error-you-are-last-owner": "You are the last owner. Please set new owner before leaving the room.", + "error-saving-sla": "An error ocurred while saving the SLA", + "error-duplicated-sla": "An SLA with the same name or due time already exists", + "error-cannot-place-chat-on-hold": "You cannot place chat on-hold", + "error-contact-sent-last-message-so-cannot-place-on-hold": "You cannot place chat on-hold, when the Contact has sent the last message", + "error-unserved-rooms-cannot-be-placed-onhold": "Room cannot be placed on hold before being served", + "error-timeout": "The request has timed out", + "Workspace_exceeded_MAC_limit_disclaimer": "The workspace has exceeded the monthly limit of active contacts. Talk to your workspace admin to address this issue.", + "You_do_not_have_permission_to_do_this": "You do not have permission to do this", + "You_do_not_have_permission_to_execute_this_command": "You do not have enough permissions to execute command: `/{{command}}`", + "You_have_reached_the_limit_active_costumers_this_month": "You have reached the limit of active customers this month", + "Errors_and_Warnings": "Errors and Warnings", + "Esc_to": "Esc to", + "Estimated_wait_time": "Estimated wait time", + "Estimated_wait_time_in_minutes": "Estimated wait time (time in minutes)", + "Event_notifications": "Event notifications", + "Event_notifications_description": "By disabling this setting you’ll prevent the app from notifying you of upcoming events.", + "Event_Trigger": "Event Trigger", + "Event_Trigger_Description": "Select which type of event will trigger this Outgoing WebHook Integration", + "every_5_minutes": "Once every 5 minutes", + "every_10_seconds": "Once every 10 seconds", + "every_30_seconds": "Once every 30 seconds", + "every_10_minutes": "Once every 10 minutes", + "every_30_minutes": "Once every 30 minutes", + "every_day": "Once every day", + "every_hour": "Once every hour", + "every_minute": "Once every minute", + "every_second": "Once every second", + "every_six_hours": "Once every six hours", + "every_12_hours": "Once every 12 hours", + "every_24_hours": "Once every 24 hours", + "every_48_hours": "Once every 48 hours", + "Everyone_can_access_this_channel": "Everyone can access this channel", + "Exact": "Exact", + "Example_payload": "Example payload", + "Example_s": "Example: %s", + "Federation_Matrix_join_public_rooms_is_enterprise": "Join federated rooms is an Enterprise Edition feature", + "except_pinned": "(except those that are pinned)", + "Exclude_Botnames": "Exclude Bots", + "Exclude_Botnames_Description": "Do not propagate messages from bots whose name matches the regular expression above. If left empty, all messages from bots will be propagated.", + "Exclude_pinned": "Exclude pinned messages", + "Execute_Synchronization_Now": "Execute Synchronization Now", + "Exit_Full_Screen": "Exit Full Screen", + "Expand": "Expand", + "Experimental_Feature_Alert": "This is an experimental feature! Please be aware that it may change, break, or even be removed in the future without any notice.", + "Expired": "Expired", + "Expiration": "Expiration", + "Expiration_(Days)": "Expiration (Days)", + "Export_as_file": "Export as file", + "Export_Messages": "Export Messages", + "Export_My_Data": "Export My Data (JSON)", + "expression": "Expression", + "Extended": "Extended", + "Extensions": "Extensions", + "Extension_Number": "Extension Number", + "Extension_Status": "Extension Status", + "External": "External", + "External_Domains": "External Domains", + "External_Queue_Service_URL": "External Queue Service URL", + "External_Service": "External Service", + "External_service_url": "External service URL", + "External_service_action_hint": "Send a custom message using external service. For more details please check our docs.", + "External_service_test_hint": "Click on \"Send test\" before saving the trigger.", + "External_service_returned_valid_response": "External service returned a valid response", + "External_Users": "External Users", + "Extremely_likely": "Extremely likely", + "Facebook": "Facebook", + "Facebook_Page": "Facebook Page", + "Failed": "Failed", + "Failed_to_activate_invite_token": "Failed to activate invite token", + "Failed_to_add_monitor": "Failed to add monitor", + "Failed_To_Download_Files": "Failed to download files", + "Failed_to_generate_invite_link": "Failed to generate invite link", + "Failed_To_Load_Import_Data": "Failed to load import data", + "Failed_To_Load_Import_History": "Failed to load import history", + "Failed_To_Load_Import_Operation": "Failed to load import operation", + "Failed_To_Start_Import": "Failed to start import operation", + "Failed_To_upload_Import_File": "Failed to upload import file", + "Failed_to_validate_invite_token": "Failed to validate invite token", + "Failure": "Failure", + "False": "False", + "Fallback_forward_department": "Fallback department for forwarding", + "Fallback_forward_department_description": "Allows you to define a fallback department which will receive the chats forwarded to this one in case there's no online agents at the moment", + "Fallback_message": "Fallback message", + "Favorite": "Favorite", + "Favorite_Rooms": "Enable Favorite Rooms", + "Favorites": "Favorites", + "Feature_preview": "Feature preview", + "Feature_preview_page_description": "Welcome to the features preview page! Here, you can enable the latest cutting-edge features that are currently under development and not yet officially released.\n\nPlease note that these configurations are still in the testing phase and may not be stable or fully functional.", + "featured": "featured", + "Featured": "Featured", + "Feature_depends_on_selected_call_provider_to_be_enabled_from_administration_settings": "This feature depends on the above selected call provider to be enabled from the administration settings (Admin -> Video Conference).", + "Feature_Depends_on_Livechat_Visitor_navigation_as_a_message_to_be_enabled": "This feature depends on \"Send Visitor Navigation History as a Message\" to be enabled.", + "Feature_Limiting": "Feature Limiting", + "Features": "Features", + "Federation": "Federation", + "Federation_Description": "Federation allows an unlimited number of workspaces to communicate with each other.", + "Federation_Enable": "Enable Federation", + "Federation_Example_matrix_server": "Example: matrix.org", + "Federation_Matrix_enable_ephemeral_events": "Enable Matrix ephemeral events", + "Federation_Matrix_enable_ephemeral_events_Alert": "This requires a restart.
Enabling ephemeral events like user typing indicator can affect the performance of your Matrix Homeserver and Rocket.Chat server for federated communication", + "Federation_Federated_room_search": "Federated room search", + "Federation_Public_key": "Public Key", + "Federation_Search_federated_rooms": "Search federated rooms", + "Federation_slash_commands": "Federation commands", + "FEDERATION_Discovery_Method": "Discovery Method", + "FEDERATION_Discovery_Method_Description": "You can use the hub or a SRV and a TXT entry on your DNS records.", + "FEDERATION_Domain": "Domain", + "FEDERATION_Domain_Alert": "Do not change this after enabling the feature, we can't handle domain changes yet.", + "FEDERATION_Domain_Description": "Add the domain that this server should be linked to - for example: @rocket.chat.", + "FEDERATION_Enabled": "Attempt to integrate federation support.", + "FEDERATION_Enabled_Alert": "Federation Support is a work in progress. Use on a production system is not recommended at this time.", + "FEDERATION_Public_Key": "Public Key", + "FEDERATION_Public_Key_Description": "This is the key you need to share with your peers.", + "FEDERATION_Status": "Status", + "FEDERATION_Test_Setup": "Test setup", + "FEDERATION_Test_Setup_Error": "Could not find your server using your setup, please review your settings.", + "FEDERATION_Test_Setup_Success": "Your federation setup is working and other servers can find you!", + "Retry_Count": "Retry Count", + "Federation_Matrix": "Federation V2", + "Federation_Matrix_enabled": "Enabled", + "Federation_Matrix_Enabled_Alert": "More Information about Matrix Federation support can be found here (After any configuration, a restart is required to the changes take effect)", + "Federation_Matrix_Federated": "Federated", + "Federation_Matrix_Federated_Description": "By creating a federated room you'll not be able to enable encryption nor broadcast", + "Federation_Matrix_Federated_Description_disabled": "Federation is currently disabled on this workspace", + "Federation_Matrix_id": "AppService ID", + "Federation_Matrix_hs_token": "Homeserver Token", + "Federation_Matrix_as_token": "AppService Token", + "Federation_Matrix_homeserver_url": "Homeserver URL", + "Federation_Matrix_homeserver_url_alert": "We recommend a new, empty homeserver, to use with our federation", + "Federation_Matrix_homeserver_domain": "Homeserver Domain", + "Federation_Matrix_homeserver_domain_alert": "No user should connect to the homeserver with third party clients, only Rocket.Chat", + "Federation_Matrix_bridge_url": "Bridge URL", + "Federation_Matrix_bridge_localpart": "AppService User Localpart", + "Federation_Matrix_registration_file": "Registration File", + "Federation_Matrix_registration_file_Alert": "Important: Enabling ephemeral events will make the server receive all the typing status of all users from all servers you are connected to.
To enable it, please update your registration file (.yaml file you are using to registrate Rocket.Chat to your home server), adding the following:
de.sorunome.msc2409.push_ephemeral: true", + "Federation_Matrix_error_applying_room_roles": "Something went wrong while applying the room roles over the federated network", + "Federation_Matrix_giving_same_permission_warning": "You're giving this user the same privileges as yourself, you will not be able to undo this change. Do you want to proceed?", + "Federation_Matrix_losing_privileges": "Losing privileges", + "Federation_Matrix_losing_privileges_warning": "You won't be able to undo this action, as you're demoting yourself. If you're the last privileged user you won't be able to regain this privilege. Do you want to proceed still?", + "Federation_Matrix_not_allowed_to_change_moderator": "You are not allowed to change the moderator", + "Federation_Matrix_not_allowed_to_change_owner": "You are not allowed to change the owner", + "Federation_Matrix_join_public_rooms_is_premium": "Join federated rooms is a Premium feature", + "Federation_Matrix_max_size_of_public_rooms_users": "Maximum number of members when joining a public room in a remote server", + "Federation_Matrix_max_size_of_public_rooms_users_desc": "The user limit from a public room in a remote server that can still be joined. Rooms that exceed this setting will still be listed, but users won't be able to join them", + "Federation_Matrix_max_size_of_public_rooms_users_Alert": "Keep in mind, that the bigger the room you allow for users to join, the more time it will take to join that room, besides the amount of resource it will use.
Read more", + "Federation_Matrix_serve_well_known": "Serve Well Known", + "Federation_Matrix_serve_well_known_Description": "Serve /.well-known/matrix/server and /.well-known/matrix/client directly from within Rocket.Chat instead of reverse proxy for federation", + "Federation_Matrix_serve_well_known_Alert": "Keep this off if using DNS srv records for federation, or use a reverse proxy to return static JSON if federation traffic is heavy. Read mode.", + "Federation_Matrix_check_configuration": "Verify configuration", + "Federation_Matrix_configuration_status": "Configuration status", + "Field": "Field", + "Field_removed": "Field removed", + "Field_required": "Field required", + "File": "File", + "File_Downloads_Started": "File Downloads Started", + "File_exceeds_allowed_size_of_bytes": "File size exceeds upload limit of {{size}}.", + "File_name_Placeholder": "Search files...", + "File_not_allowed_direct_messages": "File sharing not allowed in direct messages.", + "File_Path": "File Path", + "file_pruned": "file pruned", + "File_removed_by_automatic_prune": "File removed by automatic prune", + "File_removed_by_prune": "File removed by prune", + "File_Type": "File Type", + "File_type_is_not_accepted": "File type is not accepted.", + "File_uploaded": "File uploaded", + "File_Upload_Disabled": "File upload disabled", + "File_uploaded_successfully": "File uploaded successfully", + "File_URL": "File URL", + "FileType": "File Type", + "files": "files", + "Files": "Files", + "Files_only": "Only remove the attached files, keep messages", + "FileSize_Bytes": "{{fileSize}} Bytes", + "FileSize_KB": "{{fileSize}} KB", + "FileSize_MB": "{{fileSize}} MB", + "FileUpload": "File Upload", + "FileUpload_Description": "Configure file upload and storage.", + "FileUpload_Cannot_preview_file": "Cannot preview file", + "FileUpload_Disabled": "File uploads are disabled.", + "FileUpload_Enable_json_web_token_for_files": "Enable Json Web Tokens protection to file uploads", + "FileUpload_Enable_json_web_token_for_files_description": "Appends a JWT to uploaded files urls", + "FileUpload_Restrict_to_room_members": "Restrict files to rooms' members", + "FileUpload_Restrict_to_room_members_Description": "Restrict the access of files uploaded on rooms to the rooms' members only", + "FileUpload_Restrict_to_users_who_can_access_room": "Restrict files to users who can access the room", + "FileUpload_Restrict_to_users_who_can_access_room_Description": "Restrict the access of files uploaded on rooms to the users who can access the room. This option is mutually exclusive with the \"Restrict files to rooms' members\" option as this one allows for users that are not part of some rooms but have special permissions that allow them to see it to access the files uploaded, for example, Omnichannel Managers & Monitors", + "FileUpload_Enabled": "File Uploads Enabled", + "FileUpload_Enabled_Direct": "File Uploads Enabled in Direct Messages ", + "FileUpload_Error": "File Upload Error", + "FileUpload_File_Empty": "File empty", + "FileUpload_FileSystemPath": "System Path", + "FileUpload_GoogleStorage_AccessId": "Google Storage Access Id", + "FileUpload_GoogleStorage_AccessId_Description": "The Access Id is generally in an email format, for example: \"`example-test@example.iam.gserviceaccount.com`\"", + "FileUpload_GoogleStorage_Bucket": "Google Storage Bucket Name", + "FileUpload_GoogleStorage_Bucket_Description": "The name of the bucket which the files should be uploaded to.", + "FileUpload_GoogleStorage_ProjectId": "Project ID", + "FileUpload_GoogleStorage_ProjectId_Description": "The project ID from the Google Developer's Console", + "FileUpload_GoogleStorage_Proxy_Avatars": "Proxy Avatars", + "FileUpload_GoogleStorage_Proxy_Avatars_Description": "Proxy avatar file transmissions through your server instead of direct access to the asset's URL", + "FileUpload_GoogleStorage_Proxy_Uploads": "Proxy Uploads", + "FileUpload_GoogleStorage_Proxy_Uploads_Description": "Proxy upload file transmissions through your server instead of direct access to the asset's URL", + "FileUpload_GoogleStorage_Secret": "Google Storage Secret", + "FileUpload_GoogleStorage_Proxy_UserDataFiles": "Proxy User Data Files", + "FileUpload_GoogleStorage_Proxy_UserDataFiles_Description": "Proxy user data file transmissions through your server instead of direct access to the asset's URL", + "FileUpload_GoogleStorage_Secret_Description": "Please follow [these instructions](https://github.com/CulturalMe/meteor-slingshot#google-cloud) and paste the result here.", + "FileUpload_json_web_token_secret_for_files": "File Upload Json Web Token Secret", + "FileUpload_json_web_token_secret_for_files_description": "File Upload Json Web Token Secret (Used to be able to access uploaded files without authentication)", + "FileUpload_MaxFileSize": "Maximum File Upload Size (in bytes)", + "FileUpload_MaxFileSizeDescription": "Set it to -1 to remove the file size limitation.", + "FileUpload_MediaType_NotAccepted__type__": "Media Type Not Accepted: {{type}}", + "FileUpload_MediaType_NotAccepted": "Media Types Not Accepted", + "FileUpload_MediaTypeBlackList": "Blocked Media Types", + "FileUpload_MediaTypeBlackListDescription": "Comma-separated list of media types. This setting has priority over the Accepted Media Types.", + "FileUpload_MediaTypeBlackList_Alert": "The default media type for unknown file extensions is \"application/octet-stream\", to work only with known file extensions you can add it to the \"Blocked Media Types\" list.", + "FileUpload_MediaTypeWhiteList": "Accepted Media Types", + "FileUpload_MediaTypeWhiteListDescription": "Comma-separated list of media types. Leave it blank for accepting all media types.", + "FileUpload_ProtectFiles": "Protect Uploaded Files", + "FileUpload_ProtectFilesDescription": "Only authenticated users will have access", + "FileUpload_ProtectFilesEnabled_JWTNotSet": "Uploaded files are protected, but JWT access is not setup, this is required for Twilio to send media messages. Setup in Settings -> FileUpload", + "FileUpload_RotateImages": "Rotate images on upload", + "FileUpload_RotateImages_Description": "Enabling this setting may cause image quality loss", + "FileUpload_S3_Acl": "Acl", + "FileUpload_S3_AWSAccessKeyId": "Access Key", + "FileUpload_S3_AWSAccessKeyId_desc": "Leave this empty if running on an ec2 instance with attached instance profile that has the right s3 permissions on the configured bucket.", + "FileUpload_S3_AWSSecretAccessKey": "Secret Key", + "FileUpload_S3_AWSSecretAccessKey_desc": "Leave this empty if running on an ec2 instance with attached instance profile that has the right s3 permissions on the configured bucket.", + "FileUpload_S3_Bucket": "Bucket name", + "FileUpload_S3_BucketURL": "Bucket URL", + "FileUpload_S3_CDN": "CDN Domain for Downloads", + "FileUpload_S3_ForcePathStyle": "Force Path Style", + "Google_Meet_Enterprise_only": "Google Meet (Enterprise only)", + "FileUpload_S3_Proxy_Avatars": "Proxy Avatars", + "FileUpload_S3_Proxy_Avatars_Description": "Proxy avatar file transmissions through your server instead of direct access to the asset's URL", + "FileUpload_S3_Proxy_Uploads": "Proxy Uploads", + "FileUpload_S3_Proxy_Uploads_Description": "Proxy upload file transmissions through your server instead of direct access to the asset's URL", + "FileUpload_S3_Proxy_UserDataFiles": "Proxy User Data Files", + "FileUpload_S3_Proxy_UserDataFiles_Description": "Proxy user data file transmissions through your server instead of direct access to the asset's URL", + "Hold_Call_EE_only": "Hold Call (Enterprise Edition only)", + "FileUpload_S3_Region": "Region", + "FileUpload_S3_SignatureVersion": "Signature Version", + "FileUpload_S3_URLExpiryTimeSpan": "URLs Expiration Timespan", + "FileUpload_S3_URLExpiryTimeSpan_Description": "Time after which Amazon S3 generated URLs will no longer be valid (in seconds). If set to less than 5 seconds, this field will be ignored.", + "FileUpload_Storage_Type": "Storage Type", + "FileUpload_Webdav_Password": "WebDAV Password", + "FileUpload_Webdav_Proxy_Avatars": "Proxy Avatars", + "FileUpload_Webdav_Proxy_Avatars_Description": "Proxy avatar file transmissions through your server instead of direct access to the asset's URL", + "FileUpload_Webdav_Proxy_Uploads": "Proxy Uploads", + "FileUpload_Webdav_Proxy_Uploads_Description": "Proxy upload file transmissions through your server instead of direct access to the asset's URL", + "FileUpload_Webdav_Proxy_UserDataFiles": "Proxy User Data Files", + "FileUpload_Webdav_Proxy_UserDataFiles_Description": "Proxy user data file transmissions through your server instead of direct access to the asset's URL", + "FileUpload_Webdav_Server_URL": "WebDAV Server Access URL", + "FileUpload_Webdav_Upload_Folder_Path": "Upload Folder Path", + "FileUpload_Webdav_Upload_Folder_Path_Description": "WebDAV folder path which the files should be uploaded to", + "FileUpload_Webdav_Username": "WebDAV Username", + "Filter": "Filter", + "Filter_by_category": "Filter by Category", + "Filter_by_Custom_Fields": "Filter by Custom Fields", + "Filter_By_Price": "Filter by price", + "Filter_by_role": "Filter by role", + "Filter_By_Status": "Filter by status", + "Filters": "Filters", + "Filters_applied": "Filters applied", + "Financial_Services": "Financial Services", + "Finish": "Finish", + "Finish_Registration": "Finish Registration", + "First_Channel_After_Login": "First Channel After Login", + "First_response_time": "First Response Time", + "Flags": "Flags", + "Follow_message": "Follow message", + "Follow_social_profiles": "Follow our social profiles, fork us on github and share your thoughts about the rocket.chat app on our trello board.", + "Following": "Following", + "Fonts": "Fonts", + "Food_and_Drink": "Food & Drink", + "Footer": "Footer", + "Footer_Direct_Reply": "Footer When Direct Reply is Enabled", + "For_more_details_please_check_our_docs": "For more details please check our docs.", + "For_your_security_you_must_enter_your_current_password_to_continue": "For your security, you must enter your current password to continue", + "Force_Disable_OpLog_For_Cache": "Force Disable OpLog for Cache", + "Force_Disable_OpLog_For_Cache_Description": "Will not use OpLog to sync cache even when it's available", + "Force_Screen_Lock": "Force screen lock", + "Force_Screen_Lock_After": "Force screen lock after", + "Force_Screen_Lock_After_description": "The time to request password again after the finish of the latest session, in seconds.", + "Force_Screen_Lock_description": "When enabled, you'll force your users to use a PIN/BIOMETRY/FACEID to unlock the app.", + "Force_SSL": "Force SSL", + "Force_SSL_Description": "*Caution!* _Force SSL_ should never be used with reverse proxy. If you have a reverse proxy, you should do the redirect THERE. This option exists for deployments like Heroku, that does not allow the redirect configuration at the reverse proxy.", + "Force_visitor_to_accept_data_processing_consent": "Force visitor to accept data processing consent", + "Force_visitor_to_accept_data_processing_consent_description": "Visitors are not allowed to start chatting without consent.", + "Force_visitor_to_accept_data_processing_consent_enabled_alert": "Agreement with data processing must be based on a transparent understanding of the reason for processing. Because of this, you must fill out the setting below which will be displayed to users in order to provide the reasons for collecting and processing your personal information.", + "force-delete-message": "Force Delete Message", + "force-delete-message_description": "Permission to delete a message bypassing all restrictions", + "Font_size": "Font size", + "Forgot_password": "Forgot your password?", + "Forgot_Password_Description": "You may use the following placeholders: \n - `[Forgot_Password_Url]` for the password recovery URL. \n - `[name]`, `[fname]`, `[lname]` for the user's full name, first name or last name, respectively. \n - `[email]` for the user's email. \n - `[Site_Name]` and `[Site_URL]` for the Application Name and URL respectively.", + "Forgot_Password_Email": "Click here to reset your password.", + "Forgot_Password_Email_Subject": "[Site_Name] - Password Recovery", + "Forgot_password_section": "Forgot password", + "Hold_EE_only": "Hold (Enterprise Edition only)", + "Format": "Format", + "Forward": "Forward", + "Forward_chat": "Forward chat", + "Forward_message": "Forward message", + "Forward_to_department": "Forward to department", + "Forward_to_user": "Forward to user", + "Forwarding": "Forwarding", + "Free": "Free", + "Free_Extension_Numbers": "Free Extension Numbers", + "Free_Apps": "Free Apps", + "Frequently_Used": "Frequently Used", + "Friday": "Friday", + "From": "From", + "From_Email": "From Email", + "From_email_warning": "Warning: The field From is subject to your mail server settings.", + "Full_Name": "Full Name", + "Full_Screen": "Full Screen", + "Gaming": "Gaming", + "General": "General", + "General_Description": "Configure general workspace settings.", + "General_Settings": "General Settings", + "Generate_new_key": "Generate a new key", + "Generate_New_Link": "Generate New Link", + "Generating_key": "Generating key", + "Copy_link": "Copy link", + "get-password-policy-forbidRepeatingCharacters": "The password should not contain repeating characters", + "get-password-policy-forbidRepeatingCharactersCount": "The password should not contain more than {{forbidRepeatingCharactersCount}} repeating characters", + "get-password-policy-maxLength": "The password should be maximum {{maxLength}} characters long", + "get-password-policy-minLength": "The password should be minimum {{minLength}} characters long", + "get-password-policy-mustContainAtLeastOneLowercase": "The password should contain at least one lowercase letter", + "get-password-policy-mustContainAtLeastOneNumber": "The password should contain at least one number", + "get-password-policy-mustContainAtLeastOneSpecialCharacter": "The password should contain at least one special character", + "get-password-policy-mustContainAtLeastOneUppercase": "The password should contain at least one uppercase letter", + "get-password-policy-minLength-label": "At least {{limit}} characters", + "get-password-policy-maxLength-label": "At most {{limit}} characters", + "get-password-policy-forbidRepeatingCharactersCount-label": "Max. {{limit}} repeating characters", + "get-password-policy-mustContainAtLeastOneLowercase-label": "At least one lowercase letter", + "get-password-policy-mustContainAtLeastOneUppercase-label": "At least one uppercase letter", + "get-password-policy-mustContainAtLeastOneNumber-label": "At least one number", + "get-password-policy-mustContainAtLeastOneSpecialCharacter-label": "At least one symbol", + "get-server-info": "Get Server Info", + "get-server-info_description": "Permission to get server info", + "github_no_public_email": "You don't have any email as public email in your GitHub account", + "github_HEAD": "HEAD", + "Give_a_unique_name_for_the_custom_oauth": "Give a unique name for the custom OAuth", + "strike": "strike", + "Give_the_application_a_name_This_will_be_seen_by_your_users": "Give the application a name. This will be seen by your users.", + "Global": "Global", + "Global Policy": "Global Policy", + "Global_purge_override_warning": "A global retention policy is in place. If you leave \"Override global retention policy\" off, you can only apply a policy that is stricter than the global policy.", + "Global_Search": "Global search", + "Glossary_of_simplified_terms": "Glossary of simplified terms", + "Go_to_your_workspace": "Go to your workspace", + "Go_to_accessibility_and_appearance": "Go to accessibility and appearance", + "Google_Meet_Premium_only": "Google Meet (Premium only)", + "Google_Play": "Google Play", + "Hold_Call": "Hold Call", + "Hold_Call_Premium_only": "Hold Call (Premium plans only)", + "GoogleCloudStorage": "Google Cloud Storage", + "GoogleNaturalLanguage_ServiceAccount_Description": "Service account key JSON file. More information can be found [here](https://cloud.google.com/natural-language/docs/common/auth#set_up_a_service_account)", + "GoogleTagManager_id": "Google Tag Manager Id", + "Got_it": "Got it", + "Government": "Government", + "Grandfathered_app": "Grandfathered app - counts towards app limit but limit is not applied to this app", + "Graphql_CORS": "GraphQL CORS", + "Graphql_Enabled": "GraphQL Enabled", + "Graphql_Subscription_Port": "GraphQL Subscription Port", + "Grid_view": "Grid View", + "Snippet_Messages": "Snippet Messages", + "Group": "Group", + "Group_by": "Group by", + "Group_by_Type": "Group by Type", + "snippet-message": "Snippet Message", + "snippet-message_description": "Permission to create snippet message", + "Group_discussions": "Group discussions", + "Group_favorites": "Group favorites", + "Group_mentions_disabled_x_members": "Group mentions `@all` and `@here` have been disabled for rooms with more than {{total}} members.", + "Group_mentions_only": "Group mentions only", + "Grouping": "Grouping", + "Guest": "Guest", + "Hash": "Hash", + "Header": "Header", + "Header_and_Footer": "Header and Footer", + "Pharmaceutical": "Pharmaceutical", + "Healthcare": "Healthcare", + "Helpers": "Helpers", + "Here_is_your_authentication_code": "Here is your authentication code:", + "Hex_Color_Preview": "Hex Color Preview", + "Hi": "Hi", + "Hi_username": "Hi [name]", + "Hidden": "Hidden", + "Hide": "Hide", + "Hide_additional_fields": "Hide additional fields", + "Hide_counter": "Hide counter", + "Hide_flextab": "Hide Contextual Bar by clicking outside of it", + "Hide_Group_Warning": "Are you sure you want to hide the group \"%s\"?", + "Hide_Livechat_Warning": "Are you sure you want to hide the chat with \"%s\"?", + "Hide_On_Workspace": "Hide on workspace", + "Hide_Private_Warning": "Are you sure you want to hide the discussion with \"%s\"?", + "Hide_roles": "Hide Roles", + "Hide_room": "Hide", + "Hide_Room_Warning": "Are you sure you want to hide the channel \"%s\"?", + "Hide_System_Messages": "Hide system messages", + "Hide_Unread_Room_Status": "Hide Unread Room Status", + "Hide_usernames": "Hide Usernames", + "Hide_video": "Hide video", + "High": "High", + "Highest": "Highest", + "Highlights": "Highlights", + "Highlights_How_To": "To be notified when someone mentions a word or phrase, add it here. You can separate words or phrases with commas. Highlight Words are not case sensitive.", + "Highlights_List": "Highlight words", + "HipChat (tar.gz)": "HipChat (tar.gz)", + "History": "History", + "Hold_Time": "Hold Time", + "Hold": "Hold", + "Hold_Premium_only": "Hold (Premium plans only)", + "Home": "Home", + "Homepage": "Homepage", + "Homepage_Custom_Content_Default_Message": "Admins may insert content html to be rendered in this white space.", + "Host": "Host", + "Hospitality_Businness": "Hospitality Business", + "hours": "hours", + "Hours": "Hours", + "How_and_why_we_collect_usage_data": "How and why usage data is collected", + "How_friendly_was_the_chat_agent": "How friendly was the chat agent?", + "How_knowledgeable_was_the_chat_agent": "How knowledgeable was the chat agent?", + "How_long_to_wait_after_agent_goes_offline": "How Long to Wait After Agent Goes Offline", + "How_long_to_wait_to_consider_visitor_abandonment": "How Long to Wait to Consider Visitor Abandonment?", + "How_long_to_wait_to_consider_visitor_abandonment_in_seconds": "How Long to Wait to Consider Visitor Abandonment?", + "How_responsive_was_the_chat_agent": "How responsive was the chat agent?", + "How_satisfied_were_you_with_this_chat": "How satisfied were you with this chat?", + "How_to_handle_open_sessions_when_agent_goes_offline": "How to Handle Open Sessions When Agent Goes Offline", + "Http_timeout": "HTTP timeout (in milliseconds)", + "Http_timeout_value": "5000", + "HTML": "HTML", + "Icon": "Icon", + "I_Saved_My_Password": "I saved my password", + "Idle_Time_Limit": "Idle Time Limit", + "Idle_Time_Limit_Description": "Period of time until status changes to away. Value needs to be in seconds.", + "if_they_are_from": "(if they are from %s)", + "If_this_email_is_registered": "If this email is registered, we'll send instructions on how to reset your password. If you do not receive an email shortly, please come back and try again.", + "If_you_didnt_ask_for_reset_ignore_this_email": "If you didn't ask for your password reset, you can ignore this email.", + "If_you_didnt_try_to_login_in_your_account_please_ignore_this_email": "If you didn't try to login in your account please ignore this email.", + "Iframe_Integration": "Iframe Integration", + "Iframe_Integration_receive_enable": "Enable Receive", + "Iframe_Integration_receive_enable_Description": "Allow parent window to send commands to Rocket.Chat.", + "Iframe_Integration_receive_origin": "Receive Origins", + "Iframe_Integration_receive_origin_Description": "Origins with protocol prefix, separated by commas, which are allowed to receive commands e.g. `https://localhost, http://localhost`, or * to allow receiving from anywhere.", + "Iframe_Integration_send_enable": "Enable Send", + "Iframe_Integration_send_enable_Description": "Send events to parent window", + "Iframe_Integration_send_target_origin": "Send Target Origin", + "Iframe_Integration_send_target_origin_Description": "Origin with protocol prefix, which commands are sent to e.g. `https://localhost`, or * to allow sending to anywhere.", + "Iframe_Restrict_Access": "Restrict access inside any Iframe", + "Iframe_Restrict_Access_Description": "This setting enable/disable restrictions to load the RC inside any iframe", + "Iframe_X_Frame_Options": "Options to X-Frame-Options", + "Iframe_X_Frame_Options_Description": "Options to X-Frame-Options. [You can see all the options here.](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options#Syntax)", + "Ignore": "Ignore", + "Ignored": "Ignored", + "Ignore_Two_Factor_Authentication": "Ignore Two Factor Authentication", + "Images": "Images", + "IMAP_intercepter_already_running": "IMAP intercepter already running", + "IMAP_intercepter_Not_running": "IMAP intercepter Not running", + "Impersonate_next_agent_from_queue": "Impersonate next agent from queue", + "Impersonate_user": "Impersonate User", + "Impersonate_user_description": "When enabled, integration posts as the user that triggered integration", + "Import": "Import", + "Import_New_File": "Import New File", + "Import_Operation_Failed": "Import operation failed", + "Import_requested_successfully": "Import Requested Successfully", + "Import_Type": "Import Type", + "Importer_Archived": "Archived", + "Importer_CSV_Information": "The CSV importer requires a specific format, please read the documentation for how to structure your zip file:", + "Importer_done": "Importing complete!", + "Importer_ExternalUrl_Description": "You can also use an URL for a publicly accessible file:", + "Importer_finishing": "Finishing up the import.", + "Importer_From_Description": "Imports {{from}} data into Rocket.Chat.", + "Importer_From_Description_CSV": "Imports CSV data into Rocket.Chat. The uploaded file must be a ZIP file.", + "Importer_HipChatEnterprise_BetaWarning": "Please be aware that this import is still a work in progress, please report any errors which occur in GitHub:", + "Importer_HipChatEnterprise_Information": "The file uploaded must be a decrypted tar.gz, please read the documentation for further information:", + "Importer_import_cancelled": "Import cancelled.", + "Importer_import_failed": "An error occurred while running the import.", + "Importer_importing_channels": "Importing the channels.", + "Importer_importing_files": "Importing the files.", + "Importer_importing_messages": "Importing the messages.", + "Importer_importing_started": "Starting the import.", + "Importer_importing_users": "Importing the users.", + "Importer_not_in_progress": "The importer is currently not running.", + "Importer_not_setup": "The importer is not setup correctly, as it didn't return any data.", + "Importer_Prepare_Restart_Import": "Restart Import", + "Importer_Prepare_Start_Import": "Start Importing", + "Importer_Prepare_Uncheck_Archived_Channels": "Uncheck Archived Channels", + "Importer_Prepare_Uncheck_Deleted_Users": "Uncheck Deleted Users", + "Importer_progress_error": "Failed to get the progress for the import.", + "Importer_setup_error": "An error occurred while setting up the importer.", + "Importer_Slack_Users_CSV_Information": "The file uploaded must be Slack's Users export file, which is a CSV file. See here for more information:", + "Importer_Source_File": "Source File Selection", + "importer_status_done": "Completed successfully", + "importer_status_downloading_file": "Downloading file", + "importer_status_file_loaded": "File loaded", + "importer_status_finishing": "Almost done", + "importer_status_import_cancelled": "Cancelled", + "importer_status_import_failed": "Error", + "importer_status_importing_channels": "Importing channels", + "importer_status_importing_files": "Importing files", + "importer_status_importing_messages": "Importing messages", + "importer_status_importing_started": "Importing data", + "importer_status_importing_users": "Importing users", + "importer_status_new": "Not started", + "importer_status_preparing_channels": "Reading channels file", + "importer_status_preparing_messages": "Reading message files", + "importer_status_preparing_started": "Reading files", + "importer_status_preparing_users": "Reading users file", + "importer_status_uploading": "Uploading file", + "importer_status_user_selection": "Ready to select what to import", + "Importer_Upload_FileSize_Message": "Your server settings allow the upload of files of any size up to {{maxFileSize}}.", + "Importer_Upload_Unlimited_FileSize": "Your server settings allow the upload of files of any size.", + "Importing_channels": "Importing channels", + "Importing_Data": "Importing Data", + "Importing_messages": "Importing messages", + "Importing_users": "Importing users", + "Inactivity_Time": "Inactivity Time", + "In_progress": "In progress", + "inbound-voip-calls": "Inbound Voip Calls", + "inbound-voip-calls_description": "Permission to inbound voip calls", + "Inbox_Info": "Inbox Info", + "Include_Offline_Agents": "Include offline agents", + "Inclusive": "Inclusive", + "Incoming": "Incoming", + "Incoming_call_from": "Incoming call from", + "Incoming_Livechats": "Queued chats", + "Incoming_WebHook": "Incoming WebHook", + "Industry": "Industry", + "Info": "Info", + "Information_to_keep_top_of_mind": "Information to keep top-of-mind", + "initials_avatar": "Initials Avatar", + "Inline_code": "Inline code", + "Install": "Install", + "Install_anyway": "Install anyway", + "Install_Extension": "Install Extension", + "Install_FxOs": "Install Rocket.Chat on your Firefox", + "Install_FxOs_done": "Great! You can now use Rocket.Chat via the icon on your homescreen. Have fun with Rocket.Chat!", + "Install_FxOs_error": "Sorry, that did not work as intended! The following error appeared:", + "Install_FxOs_follow_instructions": "Please confirm the app installation on your device (press \"Install\" when prompted).", + "Installing": "Installing", + "Install_package": "Install package", + "Installation": "Installation", + "Installed": "Installed", + "Installed_at": "Installed at", + "Instance": "Instance", + "Instances": "Instances", + "Instances_health": "Instances Health", + "Instance_Record": "Instance Record", + "Instructions": "Instructions", + "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Instructions to your visitor fill the form to send a message", + "Insert_Contact_Name": "Insert the Contact Name", + "Insert_Placeholder": "Insert Placeholder", + "Install_rocket_chat_on_your_preferred_desktop_platform": "Install Rocket.Chat on your preferred desktop platform.", + "Insurance": "Insurance", + "Integration_added": "Integration has been added", + "Integration_Advanced_Settings": "Advanced Settings", + "Integration_Delete_Warning": "Deleting an Integrations cannot be undone.", + "Integration_disabled": "Integration disabled", + "Integration_History_Cleared": "Integration History Successfully Cleared", + "Integration_Incoming_WebHook": "Incoming WebHook Integration", + "Integration_New": "New Integration", + "integration-scripts-disabled": "Integration Scripts are Disabled", + "integration-scripts-isolated-vm-disabled": "The \"Secure Sandbox\" may not be used on new or modified scripts.", + "integration-scripts-vm2-disabled": "The \"Compatible Sandbox\" may not be used on new or modified scripts.", + "Integration_Outgoing_WebHook": "Outgoing WebHook Integration", + "Integration_Outgoing_WebHook_History": "Outgoing WebHook Integration History", + "Integration_Outgoing_WebHook_History_Data_Passed_To_Trigger": "Data Passed to Integration", + "Integration_Outgoing_WebHook_History_Data_Passed_To_URL": "Data Passed to URL", + "Integration_Outgoing_WebHook_History_Error_Stacktrace": "Error Stacktrace", + "Integration_Outgoing_WebHook_History_Http_Response": "HTTP Response", + "Integration_Outgoing_WebHook_History_Http_Response_Error": "HTTP Response Error", + "Integration_Outgoing_WebHook_History_Messages_Sent_From_Prepare_Script": "Messages Sent from Prepare Step", + "Integration_Outgoing_WebHook_History_Messages_Sent_From_Process_Script": "Messages Sent from Process Response Step", + "Integration_Outgoing_WebHook_History_Time_Ended_Or_Error": "Time it Ended or Error'd", + "Integration_Outgoing_WebHook_History_Time_Triggered": "Time Integration Triggered", + "Integration_Outgoing_WebHook_History_Trigger_Step": "Last Trigger Step", + "Integration_Outgoing_WebHook_No_History": "This outgoing webhook integration has yet to have any history recorded.", + "Integration_Retry_Count": "Retry Count", + "Integration_Retry_Count_Description": "How many times should the integration be tried if the call to the url fails?", + "Integration_Retry_Delay": "Retry Delay", + "Integration_Retry_Delay_Description": "Which delay algorithm should the retrying use? 10 ^ x or 2 ^ x or x * 2 ", + "Integration_Retry_Failed_Url_Calls": "Retry Failed Url Calls", + "Integration_Retry_Failed_Url_Calls_Description": "Should the integration try a reasonable amount of time if the call out to the url fails?", + "Integration_Run_When_Message_Is_Edited": "Run On Edits", + "Integration_Run_When_Message_Is_Edited_Description": "Should the integration run when the message is edited? Setting this to false will cause the integration to only run on **new** messages.", + "Integration_updated": "Integration has been updated.", + "Integration_Word_Trigger_Placement": "Word Placement Anywhere", + "Integration_Word_Trigger_Placement_Description": "Should the Word be Triggered when placed anywhere in the sentence other than the beginning?", + "Integrations": "Integrations", + "Integrations_for_all_channels": "Enter all_public_channels to listen on all public channels, all_private_groups to listen on all private groups, and all_direct_messages to listen to all direct messages.", + "Integrations_Outgoing_Type_FileUploaded": "File Uploaded", + "Integrations_Outgoing_Type_RoomArchived": "Room Archived", + "Integrations_Outgoing_Type_RoomCreated": "Room Created (public and private)", + "Integrations_Outgoing_Type_RoomJoined": "User Joined Room", + "Integrations_Outgoing_Type_RoomLeft": "User Left Room", + "Integrations_Outgoing_Type_SendMessage": "Message Sent", + "Integrations_Outgoing_Type_UserCreated": "User Created", + "Integrations_table": "Integrations table", + "InternalHubot": "Internal Hubot", + "InternalHubot_EnableForChannels": "Enable for Public Channels", + "InternalHubot_EnableForDirectMessages": "Enable for Direct Messages", + "InternalHubot_EnableForPrivateGroups": "Enable for Private Channels", + "InternalHubot_PathToLoadCustomScripts": "Folder to Load the Scripts", + "InternalHubot_reload": "Reload the scripts", + "InternalHubot_ScriptsToLoad": "Scripts to Load", + "InternalHubot_ScriptsToLoad_Description": "Please enter a comma separated list of scripts to load from your custom folder", + "InternalHubot_Username_Description": "This must be a valid username of a bot registered on your server.", + "Invalid Canned Response": "Invalid Canned Response", + "Invalid_confirm_pass": "The password confirmation does not match password", + "Invalid_Department": "Invalid Department", + "Invalid_email": "The email entered is invalid", + "Invalid_Export_File": "The file uploaded isn't a valid %s export file.", + "Invalid_field": "The field must not be empty", + "Invalid_Import_File_Type": "Invalid Import file type.", + "Invalid_name": "The name must not be empty", + "Invalid_notification_setting_s": "Invalid notification setting: %s", + "Invalid_OAuth_client": "Invalid OAuth client", + "Invalid_or_expired_invite_token": "Invalid or expired invite token", + "Invalid_pass": "The password must not be empty", + "Invalid_password": "Invalid password", + "Invalid_reason": "The reason to join must not be empty", + "Invalid_room_name": "%s is not a valid room name", + "Invalid_secret_URL_message": "The URL provided is invalid.", + "Invalid_setting_s": "Invalid setting: %s", + "Invalid_two_factor_code": "Invalid two factor code", + "Invalid_username": "The username entered is invalid", + "invisible": "invisible", + "Invisible": "Invisible", + "Invitation": "Invitation", + "Invitation_Email_Description": "You may use the following placeholders: \n - `[email]` for the recipient email. \n - `[Site_Name]` and `[Site_URL]` for the Application Name and URL respectively. ", + "Invitation_HTML": "Invitation HTML", + "Invitation_HTML_Default": "

You have been invited to [Site_Name]

Go to [Site_URL] and try the best open source chat solution available today!

", + "Invitation_Subject": "Invitation Subject", + "Invitation_Subject_Default": "You have been invited to [Site_Name]", + "Invite": "Invite", + "Invites": "Invites", + "Invite_and_add_members_to_this_workspace_to_start_communicating": "Invite and add members to this workspace to start communicating.", + "Invite_Link": "Invite Link", + "link": "link", + "Invite_link_generated": "Invite link has been generated", + "Invite_removed": "Invite removed successfully", + "Invite_user_to_join_channel": "Invite one user to join this channel", + "Invite_user_to_join_channel_all_from": "Invite all users from [#channel] to join this channel", + "Invite_user_to_join_channel_all_to": "Invite all users from this channel to join [#channel]", + "Invite_Users": "Invite Members", + "IP": "IP", + "IP_Address": "IP Address", + "IRC_Channel_Join": "Output of the JOIN command.", + "IRC_Channel_Leave": "Output of the PART command.", + "IRC_Channel_Users": "Output of the NAMES command.", + "IRC_Channel_Users_End": "End of output of the NAMES command.", + "IRC_Description": "Internet Relay Chat (IRC) is a text-based group communication tool. Users join uniquely named channels, or rooms, for open discussion. IRC also supports private messages between individual users and file sharing capabilities. This package integrates these layers of functionality with Rocket.Chat.", + "IRC_Enabled": "Attempt to integrate IRC support. Changing this value requires restarting Rocket.Chat.", + "IRC_Enabled_Alert": "IRC Support is a work in progress. Use on a production system is not recommended at this time.", + "IRC_Federation": "IRC Federation", + "IRC_Federation_Description": "Connect to other IRC servers.", + "IRC_Federation_Disabled": "IRC Federation is disabled.", + "IRC_Hostname": "The IRC host server to connect to.", + "IRC_Login_Fail": "Output upon a failed connection to the IRC server.", + "IRC_Login_Success": "Output upon a successful connection to the IRC server.", + "IRC_Message_Cache_Size": "The cache limit for outbound message handling.", + "IRC_Port": "The port to bind to on the IRC host server.", + "IRC_Private_Message": "Output of the PRIVMSG command.", + "IRC_Quit": "Output upon quitting an IRC session.", + "is_typing": "is typing", + "Issue_Links": "Issue tracker links", + "IssueLinks_Incompatible": "Warning: do not enable this and the 'Hex Color Preview' at the same time.", + "IssueLinks_LinkTemplate": "Template for issue links", + "IssueLinks_LinkTemplate_Description": "Template for issue links; %s will be replaced by the issue number.", + "It_Will_Hide_All_Other_Content_Blocks_In_The_Homepage": "It will hide all other content blocks in the homepage", + "It_Will_Show_All_Other_Content_Blocks_In_The_Homepage": "It will show all other content blocks in the homepage", + "It_works": "It works", + "It_Security": "It Security", + "Italic": "Italic", + "italics": "italics", + "Items_per_page:": "Items per page:", + "Jitsi_included_with_Community": "Jitsi, included with Community", + "Job_Title": "Job Title", + "Join": "Join", + "Join_with_password": "Join with password", + "Join_audio_call": "Join audio call", + "Join_call": "Join call", + "Join_Chat": "Join Chat", + "Join_conference": "Join conference", + "Join_default_channels": "Join default channels", + "Join_discussion": "Join discussion", + "Join_the_Community": "Join the Community", + "Join_the_given_channel": "Join the given channel", + "Join_rooms": "Join rooms", + "Join_video_call": "Join video call", + "Join_my_room_to_start_the_video_call": "Join my room to start the video call", + "join-without-join-code": "Join Without Join Code", + "join-without-join-code_description": "Permission to bypass the join code in channels with join code enabled", + "Joined": "Joined", + "joined": "joined", + "Joined_at": "Joined at", + "JSON": "JSON", + "Jump": "Jump", + "Jump_to_first_unread": "Jump to first unread", + "Jump_to_message": "Jump to message", + "Jump_to_recent_messages": "Jump to recent messages", + "Just_invited_people_can_access_this_channel": "Just invited people can access this channel.", + "kick-user-from-any-c-room": "Kick User from Any Public Channel", + "kick-user-from-any-c-room_description": "Permission to kick a user from any public channel", + "kick-user-from-any-p-room": "Kick User from Any Private Channel", + "kick-user-from-any-p-room_description": "Permission to kick a user from any private channel", + "Katex_Dollar_Syntax": "Allow Dollar Syntax", + "Katex_Dollar_Syntax_Description": "Allow using $$katex block$$ and $inline katex$ syntaxes", + "Katex_Enabled": "Katex Enabled", + "Katex_Enabled_Description": "Allow using [katex](http://khan.github.io/KaTeX/) for math typesetting in messages", + "Katex_Parenthesis_Syntax": "Allow Parenthesis Syntax", + "Katex_Parenthesis_Syntax_Description": "Allow using \\[katex block\\] and \\(inline katex\\) syntaxes", + "Keep_default_user_settings": "Keep the default settings", + "Keyboard_Shortcuts_Edit_Previous_Message": "Edit previous message", + "Keyboard_Shortcuts_Keys_1": "Command (or Ctrl) + p OR Command (or Ctrl) + k", + "Keyboard_Shortcuts_Keys_2": "Up Arrow", + "Keyboard_Shortcuts_Keys_3": "Command (or Alt) + Left Arrow", + "Keyboard_Shortcuts_Keys_4": "Command (or Alt) + Up Arrow", + "Keyboard_Shortcuts_Keys_5": "Command (or Alt) + Right Arrow", + "Keyboard_Shortcuts_Keys_6": "Command (or Alt) + Down Arrow", + "Keyboard_Shortcuts_Keys_7": "Shift + Enter", + "Keyboard_Shortcuts_Keys_8": "Shift (or Ctrl) + ESC", + "Keyboard_Shortcuts_Mark_all_as_read": "Mark all messages (in all channels) as read", + "Keyboard_Shortcuts_Move_To_Beginning_Of_Message": "Move to the beginning of the message", + "Keyboard_Shortcuts_Move_To_End_Of_Message": "Move to the end of the message", + "Keyboard_Shortcuts_New_Line_In_Message": "New line in message compose input", + "Keyboard_Shortcuts_Open_Channel_Slash_User_Search": "Open Channel / User search", + "Keyboard_Shortcuts_Title": "Keyboard Shortcuts", + "Knowledge_Base": "Knowledge Base", + "Label": "Label", + "Language": "Language", + "Language_setting_warning": "Server language setting does not affect user's client
Each user has their own preference for language, that will be kept if this setting is changed.", + "Language_Bulgarian": "Bulgarian", + "Language_Chinese": "Chinese", + "Language_Czech": "Czech", + "Language_Danish": "Danish", + "Language_Dutch": "Dutch", + "Language_English": "English", + "Language_Estonian": "Estonian", + "Language_Finnish": "Finnish", + "Language_French": "French", + "Language_German": "German", + "Language_Greek": "Greek", + "Language_Hungarian": "Hungarian", + "Language_Italian": "Italian", + "Language_Japanese": "Japanese", + "Language_Latvian": "Latvian", + "Language_Lithuanian": "Lithuanian", + "Language_Not_set": "No specific", + "Language_Polish": "Polish", + "Language_Portuguese": "Portuguese", + "Language_Romanian": "Romanian", + "Language_Russian": "Russian", + "Language_Slovak": "Slovak", + "Language_Slovenian": "Slovenian", + "Language_Spanish": "Spanish", + "Language_Swedish": "Swedish", + "Language_Version": "English Version", + "Last_7_days": "Last 7 Days", + "Last_15_days": "Last 15 Days", + "Last_30_days": "Last 30 Days", + "Last_90_days": "Last 90 Days", + "Last_6_months": "Last 6 months", + "Last_year": "Last year", + "Last_active": "Last active", + "Last_Call": "Last Call", + "Last_Chat": "Last Chat", + "Last_Heartbeat_Time": "Last Heartbeat Time", + "Last_login": "Last login", + "Last_Message": "Last Message", + "Last_Message_At": "Last Message At", + "Last_seen": "Last seen", + "Last_Status": "Last Status", + "Last_token_part": "Last token part", + "Last_Updated": "Last Updated", + "Launched_successfully": "Launched successfully", + "Layout": "Layout", + "Layout_Login_Hide_Logo": "Hide Logo", + "Layout_Login_Hide_Logo_Description": "Hide the logo on the login page.", + "Layout_Login_Hide_Title": "Hide Title", + "Layout_Login_Hide_Title_Description": "Hide the title on the login page.", + "Layout_Login_Hide_Powered_By": "Hide \"Powered by\"", + "Layout_Login_Hide_Powered_By_Description": "Hide the \"Powered by\" on the login page.", + "Layout_Login_Template": "Login Template", + "Layout_Login_Template_Description": "Customize the look of the login page.", + "Layout_Login_Template_Vertical": "Vertical", + "Layout_Login_Template_Horizontal": "Horizontal", + "Layout_Description": "Customize the look of your workspace.", + "Layout_Home_Body": "Content block", + "Layout_Home_Page_Content": "Layout / Home page content", + "Layout_Home_Page_Content_Title": "Home page content", + "Layout_Home_Title": "Home Title", + "Layout_Legal_Notice": "Legal Notice", + "Layout_Login_Terms": "Login Terms", + "Layout_Login_Terms_Content": "By proceeding you are agreeing to our Terms of Service, Privacy Policy and Legal Notice.", + "Layout_Privacy_Policy": "Privacy Policy", + "Layout_Show_Home_Button": "Show home page button on sidebar header", + "Layout_Custom_Content_Description": "Here goes your custom content. It may be placed inside a white block or may take the all space available in the homepage, if you’re on a Premium plan.", + "Layout_Home_Custom_Block_Visible": "Show custom content to homepage", + "Layout_Custom_Body_Only": "Show custom content only", + "Layout_Custom_Body_Only_Description": "It will hide all other content blocks in the homepage.", + "Layout_Sidenav_Footer": "Side Navigation Footer", + "Layout_Sidenav_Footer_Dark": "Side Navigation Footer - Dark Theme", + "Layout_Sidenav_Footer_description": "Footer size is 260 x 70px", + "Layout_Sidenav_Footer_Dark_description": "Footer size is 260 x 70px", + "Layout_Terms_of_Service": "Terms of Service", + "LDAP": "LDAP", + "LDAP_Description": "Lightweight Directory Access Protocol enables anyone to locate data about your server or company.", + "LDAP_Documentation": "LDAP Documentation", + "LDAP_Connection": "Connection", + "LDAP_Connection_Authentication": "Authentication", + "LDAP_Connection_Encryption": "Encryption", + "LDAP_Connection_successful": "LDAP Connection Successful", + "LDAP_Connection_Timeouts": "Timeouts", + "LDAP_UserSearch": "User Search", + "LDAP_UserSearch_Filter": "Search Filter", + "LDAP_UserSearch_GroupFilter": "Group Filter", + "LDAP_DataSync": "Data Sync", + "LDAP_DataSync_DataMap": "Mapping", + "LDAP_DataSync_Avatar": "Avatar", + "LDAP_DataSync_Advanced": "Advanced Sync", + "LDAP_DataSync_CustomFields": "Sync Custom Fields", + "LDAP_DataSync_Roles": "Sync Roles", + "LDAP_DataSync_Channels": "Sync Channels", + "LDAP_DataSync_Teams": "Sync Teams", + "LDAP_Enterprise": "Premium", + "LDAP_DataSync_BackgroundSync": "Background Sync", + "LDAP_Server_Type": "Server Type", + "LDAP_Server_Type_AD": "Active Directory", + "LDAP_Server_Type_Other": "Other", + "LDAP_Name_Field": "Name Field", + "LDAP_Email_Field": "Email Field", + "LDAP_Update_Data_On_Login": "Update User Data on Login", + "LDAP_Update_Data_On_OAuth_Login": "Update User Data on Login with OAuth services", + "LDAP_Advanced_Sync": "Advanced Sync", + "LDAP_Authentication": "Enable", + "LDAP_Authentication_Password": "Password", + "LDAP_Authentication_UserDN": "User DN", + "LDAP_Authentication_UserDN_Description": "The LDAP user that performs user lookups to authenticate other users when they sign in. \n This is typically a service account created specifically for third-party integrations. Use a fully qualified name, such as `cn=Administrator,cn=Users,dc=Example,dc=com`.", + "LDAP_Avatar_Field": "User Avatar Field", + "You_have_to_set_an_API_token_first_in_order_to_use_the_integration": "You have to set an API token first in order to use the integration.", + "LDAP_Avatar_Field_Description": " Which field will be used as *avatar* for users. Leave empty to use `thumbnailPhoto` first and `jpegPhoto` as fallback.", + "LDAP_Background_Sync": "Background Sync", + "LDAP_Background_Sync_Avatars": "Avatar Background Sync", + "LDAP_Background_Sync_Avatars_Description": "Enable a separate background process to sync user avatars.", + "LDAP_Background_Sync_Avatars_Interval": "Avatar Background Sync Interval", + "LDAP_Background_Sync_Disable_Missing_Users": "Automatically disable users that are no longer found on LDAP", + "LDAP_Background_Sync_Disable_Missing_Users_Description": "This option will deactivate users on Rocket.Chat when their data is not found on LDAP. Any rooms owned by those users will be automatically assigned to new owners, or removed if no other user has access to them.", + "LDAP_Background_Sync_Import_New_Users": "Background Sync Import New Users", + "LDAP_Background_Sync_Import_New_Users_Description": "Will import all users (based on your filter criteria) that exists in LDAP and does not exists in Rocket.Chat", + "LDAP_Background_Sync_Interval": "Background Sync Interval", + "LDAP_Background_Sync_Interval_Description": "The interval between synchronizations. Example `every 24 hours` or `on the first day of the week`, more examples at [Cron Text Parser](http://bunkat.github.io/later/parsers.html#text)", + "LDAP_Background_Sync_Keep_Existant_Users_Updated": "Background Sync Update Existing Users", + "LDAP_Background_Sync_Keep_Existant_Users_Updated_Description": "Will sync the avatar, fields, username, etc (based on your configuration) of all users already imported from LDAP on every **Sync Interval**", + "LDAP_Background_Sync_Merge_Existent_Users": "Background Sync Merge Existing Users", + "LDAP_Background_Sync_Merge_Existent_Users_Description": "Will merge all users (based on your filter criteria) that exist in LDAP and also exist in Rocket.Chat. To enable this, activate the 'Merge Existing Users' setting in the Data Sync tab.", + "LDAP_BaseDN": "Base DN", + "LDAP_BaseDN_Description": "The fully qualified Distinguished Name (DN) of an LDAP subtree you want to search for users and groups. You can add as many as you like; however, each group must be defined in the same domain base as the users that belong to it. Example: `ou=Users+ou=Projects,dc=Example,dc=com`. If you specify restricted user groups, only users that belong to those groups will be in scope. We recommend that you specify the top level of your LDAP directory tree as your domain base and use search filter to control access.", + "LDAP_CA_Cert": "CA Cert", + "LDAP_Connect_Timeout": "Connection Timeout (ms)", + "LDAP_DataSync_AutoLogout": "Auto Logout Deactivated Users", + "LDAP_Default_Domain": "Default Domain", + "LDAP_Default_Domain_Description": "If provided the Default Domain will be used to create an unique email for users where email was not imported from LDAP. The email will be mounted as `username@default_domain` or `unique_id@default_domain`. \n Example: `rocket.chat`", + "LDAP_Enable": "Enable", + "LDAP_Enable_Description": "Attempt to utilize LDAP for authentication.", + "LDAP_Enable_LDAP_Groups_To_RC_Teams": "Enable team mapping from LDAP to Rocket.Chat", + "LDAP_Encryption": "Encryption", + "LDAP_Encryption_Description": "The encryption method used to secure communications to the LDAP server. Examples include `plain` (no encryption), `SSL/LDAPS` (encrypted from the start), and `StartTLS` (upgrade to encrypted communication once connected).", + "LDAP_Find_User_After_Login": "Find user after login", + "LDAP_Find_User_After_Login_Description": "Will perform a search of the user's DN after bind to ensure the bind was successful preventing login with empty passwords when allowed by the AD configuration.", + "LDAP_Group_Filter_Enable": "Enable LDAP User Group Filter", + "LDAP_Group_Filter_Enable_Description": "Restrict access to users in a LDAP group \n Useful for allowing OpenLDAP servers without a *memberOf* filter to restrict access by groups", + "LDAP_Group_Filter_Group_Id_Attribute": "Group ID Attribute", + "LDAP_Group_Filter_Group_Id_Attribute_Description": "E.g. **OpenLDAP:** `cn`", + "LDAP_Group_Filter_Group_Member_Attribute": "Group Member Attribute", + "LDAP_Group_Filter_Group_Member_Attribute_Description": "E.g. **OpenLDAP:** `uniqueMember`", + "LDAP_Group_Filter_Group_Member_Format": "Group Member Format", + "LDAP_Group_Filter_Group_Member_Format_Description": "E.g. **OpenLDAP:** `uid=#{username},ou=users,o=Company,c=com`", + "LDAP_Group_Filter_Group_Name": "Group name", + "LDAP_Group_Filter_Group_Name_Description": "Group name to which it belong the user", + "LDAP_Group_Filter_ObjectClass": "Group ObjectClass", + "LDAP_Group_Filter_ObjectClass_Description": "The *objectclass* that identify the groups. \n E.g. **OpenLDAP:** `groupOfUniqueNames`", + "LDAP_Groups_To_Rocket_Chat_Teams": "Team mapping from LDAP to Rocket.Chat.", + "LDAP_Host": "Host", + "LDAP_Host_Description": "The LDAP host, e.g. `ldap.example.com` or `10.0.0.30`.", + "LDAP_Idle_Timeout": "Idle Timeout (ms)", + "LDAP_Idle_Timeout_Description": "How many milliseconds wait after the latest LDAP operation until close the connection. (Each operation will open a new connection)", + "LDAP_Import_Users_Description": "It True sync process will be import all LDAP users \n *Caution!* Specify search filter to not import excess users.", + "LDAP_Internal_Log_Level": "Internal Log Level", + "LDAP_Login_Fallback": "Login Fallback", + "LDAP_Login_Fallback_Description": "If the login on LDAP is not successful try to login in default/local account system. Helps when the LDAP is down for some reason.", + "LDAP_Merge_Existing_Users": "Merge Existing Users", + "LDAP_Merge_Existing_Users_Description": "*Caution!* When importing a user from LDAP and an user with same username already exists the LDAP info and password will be set into the existing user.", + "LDAP_Port": "Port", + "LDAP_Port_Description": "Port to access LDAP. eg: `389` or `636` for LDAPS", + "LDAP_Prevent_Username_Changes": "Prevent LDAP users from changing their Rocket.Chat username", + "LDAP_Query_To_Get_User_Teams": "LDAP query to get user groups", + "LDAP_Reconnect": "Reconnect", + "LDAP_Reconnect_Description": "Try to reconnect automatically when connection is interrupted by some reason while executing operations", + "LDAP_Reject_Unauthorized": "Reject Unauthorized", + "LDAP_Reject_Unauthorized_Description": "Disable this option to allow certificates that can not be verified. Usually Self Signed Certificates will require this option disabled to work", + "LDAP_Search_Page_Size": "Search Page Size", + "LDAP_Search_Page_Size_Description": "The maximum number of entries each result page will return to be processed", + "LDAP_Search_Size_Limit": "Search Size Limit", + "LDAP_Search_Size_Limit_Description": "The maximum number of entries to return. \n **Attention** This number should greater than **Search Page Size**", + "LDAP_Sync_Custom_Fields": "Sync Custom Fields", + "LDAP_CustomFieldMap": "Custom Fields Mapping", + "LDAP_Sync_AutoLogout_Enabled": "Enable Auto Logout", + "LDAP_Sync_AutoLogout_Interval": "Auto Logout Interval", + "LDAP_Sync_Now": "Sync Now", + "LDAP_Sync_Now_Description": "This will start a **Background Sync** operation now, without waiting for the next scheduled Sync. \nThis action is asynchronous, please see the logs for more information.", + "LDAP_Sync_User_Active_State": "Sync User Active State", + "LDAP_Sync_User_Active_State_Both": "Enable and Disable Users", + "LDAP_Sync_User_Active_State_Description": "Determine if users should be enabled or disabled on Rocket.Chat based on the LDAP status. The 'pwdAccountLockedTime' attribute will be used to determine if the user is disabled.", + "LDAP_Sync_User_Active_State_Disable": "Disable Users", + "LDAP_Sync_User_Active_State_Enable": "Enable Users", + "LDAP_Sync_User_Active_State_Nothing": "Do Nothing", + "LDAP_Sync_User_Avatar": "Sync User Avatar", + "LDAP_Sync_User_Data_Roles": "Sync LDAP Groups", + "LDAP_Sync_User_Data_Channels": "Auto Sync LDAP Groups to Channels", + "LDAP_Sync_User_Data_Channels_Admin": "Channel Admin", + "LDAP_Sync_User_Data_Channels_Admin_Description": "When channels are auto-created that do not exist during a sync, this user will automatically become the admin for the channel.", + "LDAP_Sync_User_Data_Channels_BaseDN": "LDAP Group BaseDN", + "LDAP_Sync_User_Data_Channels_Description": "Enable this feature to automatically add users to a channel based on their LDAP group. If you would like to also remove users from a channel, see the option below about auto removing users.", + "LDAP_Sync_User_Data_Channels_Enforce_AutoChannels": "Auto Remove Users from Channels", + "LDAP_Sync_User_Data_Channels_Enforce_AutoChannels_Description": "**Attention**: Enabling this will remove any users in a channel that do not have the corresponding LDAP group! Only enable this if you know what you're doing.", + "LDAP_Sync_User_Data_Channels_Filter": "User Group Filter", + "LDAP_Sync_User_Data_Channels_Filter_Description": "The LDAP search filter used to check if a user is in a group.", + "LDAP_Sync_User_Data_Channels_GroupMembershipValidationStrategy": "Group membership validation strategy", + "LDAP_Sync_User_Data_Channels_GroupMembershipValidationStrategy_Description": "Determine how users' memberships to LDAP groups should be validated. \n - **Apply filter for each group**: apply the LDAP user group filter for each group (key) defined in the LDAP group channel map. This is slower, but can be useful in case you need to use the `#{groupName}` replacement tag to define membership; \n - **Apply filter once to get all memberships**: apply the LDAP user group filter once for each user. A given user will be considered a member of all groups returned by the LDAP search. This is a **faster** option that can be applied in case the `#{groupName}` replacement tag is not used by the filter (e.g. when filtering by the `member` field in groups).", + "LDAP_Sync_User_Data_ChannelsMap": "LDAP Group Channel Map", + "LDAP_Sync_User_Data_ChannelsMap_Default": "// Enable Auto Sync LDAP Groups to Channels above", + "LDAP_Sync_User_Data_ChannelsMap_Description": "Map LDAP groups to Rocket.Chat channels. \n As an example, `{\"employee\":\"general\"}` will add any user in the LDAP group employee, to the general channel.", + "LDAP_Sync_User_Data_GroupMembershipValidationStrategy_EachGroup": "Apply filter for each group", + "LDAP_Sync_User_Data_GroupMembershipValidationStrategy_Once": "Apply filter once to get all memberships", + "LDAP_Sync_User_Data_Roles_AutoRemove": "Auto Remove User Roles", + "LDAP_Sync_User_Data_Roles_AutoRemove_Description": "**Attention**: Enabling this will automatically remove users from a role if they are not assigned in LDAP! This will only remove roles automatically that are set under the user data group map below.", + "LDAP_Sync_User_Data_Roles_BaseDN": "LDAP Group BaseDN", + "LDAP_Sync_User_Data_Roles_BaseDN_Description": "The LDAP BaseDN used to lookup users.", + "LDAP_Sync_User_Data_Roles_Filter": "User Group Filter", + "LDAP_Sync_User_Data_Roles_Filter_Description": "The LDAP search filter used to check if a user is in a group.", + "LDAP_Sync_User_Data_Roles_GroupMembershipValidationStrategy": "Group membership validation strategy", + "LDAP_Sync_User_Data_Roles_GroupMembershipValidationStrategy_Description": "Determine how users' memberships to LDAP groups should be validated. \n - **Apply filter for each group**: apply the LDAP user group filter for each group (key) defined in the LDAP group channel map. This is slower, but can be useful in case you need to use the `#{groupName}` replacement tag to define membership; \n - **Apply filter once to get all memberships**: apply the LDAP user group filter once for each user. A given user will be considered a member of all groups returned by the LDAP search. This is a **faster** option that can be applied in case the `#{groupName}` replacement tag is not used by the filter (e.g. when filtering by the `member` field in groups).", + "LDAP_Sync_User_Data_RolesMap": "User Data Group Map", + "LDAP_Sync_User_Data_RolesMap_Description": "Map LDAP groups to Rocket.Chat user roles \n As an example, `{\"rocket-admin\":\"admin\", \"tech-support\":\"support\", \"manager\":[\"leader\", \"moderator\"]}` will map the rocket-admin LDAP group to Rocket's \"admin\" role.", + "LDAP_Teams_BaseDN": "LDAP Teams BaseDN", + "LDAP_Teams_BaseDN_Description": "The LDAP BaseDN used to lookup user teams.", + "LDAP_Teams_Name_Field": "LDAP Team Name Attribute", + "LDAP_Teams_Name_Field_Description": "The LDAP attribute that Rocket.Chat should use to load the team's name. You can specify more than one possible attribute name if you separate them with a comma.", + "LDAP_Timeout": "Timeout (ms)", + "LDAP_Timeout_Description": "How many mileseconds wait for a search result before return an error", + "LDAP_Unique_Identifier_Field": "Unique Identifier Field", + "LDAP_Unique_Identifier_Field_Description": "Which field will be used to link the LDAP user and the Rocket.Chat user. You can inform multiple values separated by comma to try to get the value from LDAP record. \n Default value is `objectGUID,ibm-entryUUID,GUID,dominoUNID,nsuniqueId,uidNumber`", + "LDAP_User_Found": "LDAP User Found", + "LDAP_User_Search_AttributesToQuery": "Attributes to Query", + "LDAP_User_Search_AttributesToQuery_Description": "Specify which attributes should be returned on LDAP queries, separating them with commas. Defaults to everything. `*` represents all regular attributes and `+` represents all operational attributes. Make sure to include every attribute that is used by every Rocket.Chat sync option.", + "LDAP_User_Search_Field": "Search Field", + "LDAP_User_Search_Field_Description": "The LDAP attribute that identifies the LDAP user who attempts authentication. This field should be `sAMAccountName` for most Active Directory installations, but it may be `uid` for other LDAP solutions, such as OpenLDAP. You can use `mail` to identify users by email or whatever attribute you want. \n You can use multiple values separated by comma to allow users to login using multiple identifiers like username or email.", + "LDAP_User_Search_Filter": "Filter", + "LDAP_User_Search_Filter_Description": "If specified, only users that match this filter will be allowed to log in. If no filter is specified, all users within the scope of the specified domain base will be able to sign in. \n E.g. for Active Directory `memberOf=cn=ROCKET_CHAT,ou=General Groups`. \n E.g. for OpenLDAP (extensible match search) `ou:dn:=ROCKET_CHAT`.", + "LDAP_User_Search_Scope": "Scope", + "LDAP_Username_Field": "Username Field", + "LDAP_Username_Field_Description": "Which field will be used as *username* for new users. Leave empty to use the username informed on login page. \n You can use template tags too, like `#{givenName}.#{sn}`. \n Default value is `sAMAccountName`.", + "LDAP_Username_To_Search": "Username to search", + "LDAP_Validate_Teams_For_Each_Login": "Validate mapping for each login", + "LDAP_Validate_Teams_For_Each_Login_Description": "Determine if users' teams should be updated every time they login to Rocket.Chat. If this is turned off the team will be loaded only on their first login.", + "Lead_capture_email_regex": "Lead capture email regex", + "Lead_capture_phone_regex": "Lead capture phone regex", + "Learn_more": "Learn more", + "Learn_more_about_agents": "Learn more about agents", + "Learn_more_about_accessibility": "Learn more about our commitment with accessibility here:", + "Learn_more_about_business_hours": "Learn more about business hours", + "Learn_more_about_canned_responses": "Learn more about canned responses", + "Learn_more_about_contacts": "Learn more about contacts", + "Learn_more_about_current_chats": "Learn more about current chats", + "Learn_more_about_custom_fields": "Learn more about custom fields", + "Learn_more_about_conversations": "Learn more about conversations", + "Learn_more_about_departments": "Learn more about departments", + "Learn_more_about_E2EE": "Learn more about E2EE", + "Learn_more_about_managers": "Learn more about managers", + "Learn_more_about_monitors": "Learn more about monitors", + "Learn_more_about_SLA_policies": "Learn more about SLA policies", + "Learn_more_about_tags": "Learn more about tags", + "Learn_more_about_triggers": "Learn more about triggers", + "Learn_more_about_units": "Learn more about units", + "Learn_more_about_voice_channel": "Learn more about voice channel", + "Least_recent_updated": "Least recent updated", + "Learn_how_to_unlock_the_myriad_possibilities_of_rocket_chat": "Learn how to unlock the myriad possibilities of Rocket.Chat.", + "Leave": "Leave", + "Leave_a_comment": "Leave a comment", + "Leave_Group_Warning": "Are you sure you want to leave the group \"%s\"?", + "Leave_Livechat_Warning": "Are you sure you want to leave the omnichannel with \"%s\"?", + "Leave_Private_Warning": "Are you sure you want to leave the discussion with \"%s\"?", + "Leave_room": "Leave", + "Leave_Room_Warning": "Are you sure you want to leave the channel \"%s\"?", + "Leave_the_current_channel": "Leave the current channel", + "Leave_the_description_field_blank_if_you_dont_want_to_show_the_role": "Leave the description field blank if you don't want to show the role", + "leave-c": "Leave Channels", + "leave-c_description": "Permission to leave channels", + "leave-p": "Leave Private Groups", + "leave-p_description": "Permission to leave private groups", + "Lets_get_you_new_one_": "Let's get you a new one!", + "Let_them_know": "Let them know", + "Left": "Left", + "License": "License", + "Line": "Line", + "Link": "Link", + "Link_Preview": "Link Preview", + "List_of_Channels": "List of Channels", + "List_of_departments_for_forward": "List of departments allowed for forwarding (Optional)", + "List_of_departments_for_forward_description": "Allow to set a restricted list of departments that can receive chats from this department", + "List_of_departments_to_apply_this_business_hour": "List of departments to apply this business hour", + "List_of_Direct_Messages": "List of Direct Messages", + "List_view": "List View", + "Livechat": "Livechat", + "Livechat_AdditionalWidgetScripts": "Livechat Widget Additional Scripts", + "Livechat_AdditionalWidgetScripts_Description": "Use this setting to add additional JS scripts to the widget bundle. You can add a list of scripts by separating them by commas, for example: `https://yourUrl/customScript1.js,https://yourUrl/customScript2.js`", + "Livechat_WidgetLayoutClasses": "Livechat Widget Additional CSS", + "Livechat_WidgetLayoutClasses_Description": "Use this setting to add additional CSS to the widget bundle. You can add a list of CSS files by separating them by commas, for example: `https://yourUrl/customFile1.css,https://yourUrl/customFile2.css`", + "Livechat_abandoned_rooms_action": "How to handle Visitor Abandonment", + "Livechat_abandoned_rooms_closed_custom_message": "Custom message when room is automatically closed by visitor inactivity", + "Livechat_agents": "Omnichannel agents", + "Livechat_Agents": "Agents", + "Livechat_allow_manual_on_hold": "Allow agents to manually place chat On Hold", + "Livechat_allow_manual_on_hold_Description": "If enabled, the agent will get the option to place a chat On Hold", + "Livechat_allow_manual_on_hold_upon_agent_engagement_only": "Chats on hold only after agent engagement", + "Livechat_allow_manual_on_hold_upon_agent_engagement_only_Description": "Only allow chats to be put on hold if the agent is the one who sent the last message in the conversation.", + "Livechat_AllowedDomainsList": "Livechat Allowed Domains", + "Livechat_Appearance": "Livechat Appearance", + "Livechat_auto_close_on_hold_chats_custom_message": "Custom message for closed chats in On Hold queue", + "Livechat_auto_close_on_hold_chats_custom_message_Description": "Custom Message to be sent when a room in On-Hold queue gets automatically closed by the system", + "Livechat_auto_close_on_hold_chats_timeout": "How long to wait before closing a chat in On Hold Queue ?", + "Livechat_auto_close_on_hold_chats_timeout_Description": "Define how long the chat will remain in the On Hold queue until it's automatically closed by the system. Time in seconds", + "Livechat_auto_transfer_chat_timeout": "Timeout (in seconds) for automatic transfer of unanswered chats to another agent", + "Livechat_auto_transfer_chat_timeout_Description": "This event takes place only when the chat has just started. After the first transfering for inactivity, the room is no longer monitored.", + "Livechat_business_hour_type": "Business Hour Type (Single or Multiple)", + "Livechat_chat_transcript_sent": "Chat transcript sent: {{transcript}}", + "Livechat_close_chat": "Close chat", + "Livechat_custom_fields_options_placeholder": "Comma-separated list used to select a pre-configured value. Spaces between elements are not accepted.", + "Livechat_custom_fields_public_description": "Public custom fields will be displayed in external applications, such as Livechat, etc.", + "Livechat_Dashboard": "Omnichannel Dashboard", + "Livechat_DepartmentOfflineMessageToChannel": "Send this department's Livechat offline messages to a channel", + "Livechat_enable_message_character_limit": "Enable message character limit", + "Livechat_enabled": "Omnichannel enabled", + "Livechat_forward_open_chats": "Forward open chats", + "Livechat_forward_open_chats_timeout": "Timeout (in seconds) to forward chats", + "Livechat_guest_count": "Guest Counter", + "Livechat_Inquiry_Already_Taken": "Omnichannel inquiry already taken", + "Livechat_Installation": "Livechat Installation", + "Livechat_last_chatted_agent_routing": "Last-Chatted Agent Preferred", + "Livechat_last_chatted_agent_routing_Description": "The Last-Chatted Agent setting allocates chats to the agent who previously interacted with the same visitor if the agent is available when the chat starts.", + "Livechat_managers": "Omnichannel managers", + "Livechat_Managers": "Managers", + "Livechat_max_queue_wait_time_action": "How to handle queued chats when the maximum wait time is reached", + "Livechat_maximum_queue_wait_time": "Maximum waiting time in queue", + "Livechat_maximum_queue_wait_time_description": "Maximum time (in minutes) to keep chats on queue. -1 means unlimited", + "Livechat_message_character_limit": "Livechat message character limit", + "Livechat_monitors": "Livechat monitors", + "Livechat_Monitors": "Monitors", + "Livechat_offline": "Omnichannel offline", + "Livechat_offline_message_sent": "Livechat offline message sent", + "Livechat_OfflineMessageToChannel_enabled": "Send Livechat offline messages to a channel", + "Livechat_hide_system_messages": "Hide system messages", + "Livechat_widget_position_on_the_screen": "Livechat widget position on the screen", + "Livechat_background": "Livechat background", + "Livechat_background_description": "Define a background using hexadecimal (#F5455C), a color name (red) or an image using a URL (`url('https://example.com/image.png')`). This field follows CSS standards. [See documentation](https://developer.mozilla.org/en-US/docs/Web/CSS/background).", + "Omnichannel_chat_closed_due_to_inactivity": "The chat was automatically closed because we haven't received any reply from {{guest}} in {{timeout}} seconds", + "Omnichannel_actions": "Omnichannel actions", + "Omnichannel_on_hold_chat_resumed": "On Hold Chat Resumed: {{comment}}", + "Omnichannel_on_hold_chat_automatically": "The chat was automatically resumed from On Hold upon receiving a new message from {{guest}}", + "Omnichannel_on_hold_chat_resumed_manually": "The chat was manually resumed from On Hold by {{user}}", + "Omnichannel_On_Hold_due_to_inactivity": "The chat was automatically placed On Hold because we haven't received any reply from {{guest}} in {{timeout}} seconds", + "Omnichannel_On_Hold_manually": "The chat was manually placed On Hold by {{user}}", + "Omnichannel_onHold_Chat": "Place chat On-Hold", + "Omnichannel_quick_actions": "Omnichannel Quick Actions", + "Omnichannel_sorting_disclaimer": "Omnichannel conversations are sorted by {{sortingMechanism}}, edit a room to apply.", + "Livechat_online": "Omnichannel on-line", + "Omnichannel_placed_chat_on_hold": "Chat On Hold: {{comment}}", + "Omnichannel_hide_conversation_after_closing": "Hide conversation after closing", + "Omnichannel_hide_conversation_after_closing_description": "After closing the conversation you will be redirected to Home.", + "Livechat_Queue": "Omnichannel Queue", + "Livechat_registration_form": "Registration Form", + "Livechat_registration_form_message": "Registration Form Message", + "Livechat_room_count": "Omnichannel Room Count", + "Livechat_Routing_Method": "Omnichannel Routing Method", + "Livechat_status": "Livechat Status", + "Livechat_Take_Confirm": "Do you want to take this client?", + "Livechat_title": "Livechat Title", + "Livechat_title_color": "Livechat Title Background Color", + "Livechat_transcript_already_requested_warning": "The transcript of this chat has already been requested and will be sent as soon as the conversation ends.", + "Livechat_transcript_has_been_requested": "Export requested. It may take a few seconds.", + "Livechat_transcript_show_system_messages": "Include system messages in transcripts", + "Livechat_email_transcript_has_been_requested": "The transcript has been requested. It may take a few seconds.", + "Livechat_transcript_request_has_been_canceled": "The chat transcription request has been canceled.", + "Livechat_transcript_sent": "Omnichannel transcript sent", + "Livechat_transcript_send_always": "Always send conversation transcript to visitors via email", + "Livechat_transcript_send_always_Description": "Once finished, send conversation transcript via email to visitors automatically, regardless of agent's preferences.", + "Livechat_transcript_email_subject": "Custom email subject for transcript", + "Livechat_transcript_email_subject_Description": "Allows to customize the email subject for transcripts sent via email. It can be overriden by passing a `subject` property when closing a room. Leave it empty to use default subject.", + "Livechat_transfer_return_to_the_queue": "{{from}} returned the chat to the queue", + "Livechat_transfer_return_to_the_queue_with_a_comment": "{{from}} returned the chat to the queue with a comment: {{comment}}", + "Livechat_transfer_return_to_the_queue_auto_transfer_unanswered_chat": "{{from}} returned the chat to the queue since it was unanswered for {{duration}} seconds", + "Livechat_transfer_to_agent": "{{from}} transferred the chat to {{to}}", + "Livechat_transfer_to_agent_with_a_comment": "{{from}} transferred the chat to {{to}} with a comment: {{comment}}", + "Livechat_transfer_to_agent_auto_transfer_unanswered_chat": "{{from}} transferred the chat to {{to}} since it was unanswered for {{duration}} seconds", + "Livechat_transfer_to_department": "{{from}} transferred the chat to the department {{to}}", + "Livechat_transfer_to_department_with_a_comment": "{{from}} transferred the chat to the department {{to}} with a comment: {{comment}}", + "Livechat_transfer_failed_fallback": "The original department ( {{from}} ) doesn't have online agents. Chat succesfully transferred to {{to}}", + "Livechat_Triggers": "Livechat Triggers", + "Livechat_user_sent_chat_transcript_to_visitor": "{{agent}} sent the chat transcript to {{guest}}", + "Livechat_Users": "Omnichannel Users", + "Livechat_Calls": "Livechat Calls", + "Livechat_visitor_email_and_transcript_email_do_not_match": "Visitor's email and transcript's email do not match", + "Livechat_visitor_transcript_request": "{{guest}} requested the chat transcript", + "Assets_livechat_widget_logo": "Livechat widget logo (svg, png, jpg)", + "Livechat_hide_watermark": "Hide \"powered by Rocket.Chat\"", + "Livechat_hide_watermark_description": "Remove the Rocket.Chat logo from the widget", + "LiveStream & Broadcasting": "LiveStream & Broadcasting", + "LiveStream & Broadcasting_Description": "This integration between Rocket.Chat and YouTube Live allows channel owners to broadcast their camera feed live to livestream inside a channel.", + "Livestream": "Livestream", + "Livestream_close": "Close Livestream", + "Livestream_enable_audio_only": "Enable only audio mode", + "Livestream_enabled": "Livestream Enabled", + "Livestream_not_found": "Livestream not available", + "Livestream_unavailable_for_federation": "Livestram is unavailable for Federated rooms", + "Livestream_popout": "Open Livestream", + "Livestream_source_changed_succesfully": "Livestream source changed successfully", + "Livestream_switch_to_room": "Switch to current room's livestream", + "Livestream_url": "Livestream source url", + "Livestream_url_incorrect": "Livestream url is incorrect", + "Livestream_live_now": "Live now!", + "Load_Balancing": "Load Balancing", + "Load_more": "Load more", + "Load_Rotation": "Load Rotation", + "Loading": "Loading", + "Loading_more_from_history": "Loading more from history", + "marketplace_featured_section_community_featured": "Featured Community Apps", + "Loading_suggestion": "Loading suggestions", + "marketplace_featured_section_community_supported": "Community Supported Apps", + "Loading...": "Loading...", + "marketplace_featured_section_enterprise": "Featured Enterprise Apps", + "Local": "Local", + "marketplace_featured_section_featured": "Featured Apps", + "marketplace_featured_section_most_popular": "Most Popular Apps", + "Local_Domains": "Local Domains", + "marketplace_featured_section_new_arrivals": "New Arrivals", + "Local_Password": "Local Password", + "marketplace_featured_section_popular_this_month": "Apps Popular this Month", + "Local_Time": "Local Time", + "marketplace_featured_section_recommended": "Recommended Apps", + "Local_Timezone": "Local Timezone", + "marketplace_featured_section_social": "Social Apps", + "Local_Time_time": "Local Time: {{time}}", + "marketplace_featured_section_trending": "Trending Apps", + "Localization": "Localization", + "Location": "Location", + "marketplace_featured_section_omnichannel": "Omnichannel Apps", + "marketplace_featured_section_video_conferencing": "Video Conferencing Apps", + "Log_Exceptions_to_Channel": "Log Exceptions to Channel", + "Log_Exceptions_to_Channel_Description": "A channel that will receive all captured exceptions. Leave empty to ignore exceptions.", + "Log_File": "Show File and Line", + "Log_Level": "Log Level", + "Log_Package": "Show Package", + "Log_Trace_Methods": "Trace method calls", + "Log_Trace_Methods_Filter": "Trace method filter", + "Log_Trace_Methods_Filter_Description": "The text here will be evaluated as RegExp (`new RegExp('text')`). Keep it empty to show trace of every call.", + "Log_Trace_Subscriptions": "Trace subscription calls", + "Log_Trace_Subscriptions_Filter": "Trace subscription filter", + "Log_Trace_Subscriptions_Filter_Description": "The text here will be evaluated as RegExp (`new RegExp('text')`). Keep it empty to show trace of every call.", + "Log_View_Limit": "Log View Limit", + "Logged_Out_Banner_Text": "Your session was ended on this device, please log in again to continue.", + "Logged_out_of_other_clients_successfully": "Logged out of other clients successfully", + "Login": "Login", + "Log_in_to_sync": "Log in to sync", + "Login_Attempts": "Failed Login Attempts", + "Login_Detected": "Login detected", + "Logged_In_Via": "Logged in via", + "Login_Logs": "Login Logs", + "Login_Logs_ClientIp": "Show Client IP on failed login attempts logs", + "Login_Logs_Enabled": "Log (on console) failed login attempts", + "Login_Logs_ForwardedForIp": "Show Forwarded IP on failed login attempts logs", + "Login_Logs_UserAgent": "Show UserAgent on failed login attempts logs", + "Login_Logs_Username": "Show Username on failed login attempts logs", + "Login_with": "Login with %s", + "Logistics": "Logistics", + "Logout": "Logout", + "Logout_Others": "Logout From Other Logged In Locations", + "Logout_Device": "Log out device", + "Log_out_devices_remotely": "Log out devices remotely", + "logout-device-management": "Logout Device Management", + "logout-device-management_description": "Permission to logout other users from device management dashboard", + "logout-other-user": "Logout Other User", + "logout-other-user_description": "Permission to logout other users", + "Logs": "Logs", + "Logs_Description": "Configure how server logs are received.", + "Longest_chat_duration": "Longest Chat Duration", + "Longest_reaction_time": "Longest Reaction Time", + "Longest_response_time": "Longest Response Time", + "Looked_for": "Looked for", + "Low": "Low", + "Lowest": "Lowest", + "Mail_Message_Invalid_emails": "You have provided one or more invalid emails: %s", + "Mail_Message_Missing_subject": "You must provide an email subject.", + "Mail_Message_Missing_to": "You must select one or more users or provide one or more email addresses, separated by commas.", + "Mail_Message_No_messages_selected_select_all": "You haven't selected any messages", + "Mail_Messages": "Mail Messages", + "Mail_Messages_Instructions": "Choose which messages you want to send via email by clicking the messages", + "Mail_Messages_Subject": "Here's a selected portion of %s messages", + "mail-messages": "Mail Messages", + "mail-messages_description": "Permission to use the mail messages option", + "Mailer": "Mailer", + "Mailer_body_tags": "You must use [unsubscribe] for the unsubscription link.
You may use `[name]`, `[fname]`, `[lname]` for the user's full name, first name or last name, respectively.
You may use [email] for the user's email.", + "Mailing": "Mailing", + "Make_Admin": "Make Admin", + "Make_sure_you_have_a_copy_of_your_codes_1": "Make sure you have a copy of your codes:", + "Make_sure_you_have_a_copy_of_your_codes_2": "If you lose access to your authenticator app, you can use one of these codes to log in.", + "Manage": "Manage", + "manage-agent-extension-association": "Manage Agent Extension Association", + "manage-agent-extension-association_description": "Permission to manage agent extension association", + "manage-apps": "Manage Apps", + "manage-apps_description": "Permission to manage all apps", + "manage-assets": "Manage Assets", + "manage-assets_description": "Permission to manage the server assets", + "manage-cloud": "Manage Cloud", + "manage-cloud_description": "Permission to manage cloud", + "Manage_Devices": "Manage Devices", + "manage-email-inbox": "Manage Email Inbox", + "manage-email-inbox_description": "Permission to manage email inboxes", + "manage-emoji": "Manage Emoji", + "manage-emoji_description": "Permission to manage the server emojis", + "messages_pruned": "messages pruned", + "manage-incoming-integrations": "Manage Incoming Integrations", + "manage-incoming-integrations_description": "Permission to manage the server incoming integrations", + "manage-integrations": "Manage Integrations", + "manage-integrations_description": "Permission to manage the server integrations", + "manage-livechat-agents": "Manage Omnichannel Agents", + "manage-livechat-agents_description": "Permission to manage omnichannel agents", + "manage-livechat-canned-responses": "Manage Omnichannel Canned Responses", + "manage-livechat-canned-responses_description": "Permission to manage omnichannel canned responses", + "manage-livechat-departments": "Manage Omnichannel Departments", + "manage-livechat-departments_description": "Permission to manage omnichannel departments", + "manage-livechat-managers": "Manage Omnichannel Managers", + "manage-livechat-managers_description": "Permission to manage omnichannel managers", + "manage-livechat-monitors": "Manage Omnichannel Monitors", + "manage-livechat-monitors_description": "Permission to manage omnichannel monitors", + "manage-livechat-priorities": "Manage Omnichannel Priorities", + "manage-livechat-priorities_description": "Permission to manage omnichannel priorities", + "manage-livechat-sla": "Manage Omnichannel SLA", + "manage-livechat-sla_description": "Permission to manage omnichannel SLA", + "manage-livechat-tags": "Manage Omnichannel Tags", + "manage-livechat-tags_description": "Permission to manage omnichannel tags", + "manage-livechat-units": "Manage Omnichannel Units", + "manage-livechat-units_description": "Permission to manage omnichannel units", + "manage-oauth-apps": "Manage OAuth Apps", + "manage-oauth-apps_description": "Permission to manage the server OAuth apps", + "manage-outgoing-integrations": "Manage Outgoing Integrations", + "manage-outgoing-integrations_description": "Permission to manage the server outgoing integrations", + "manage-own-incoming-integrations": "Manage Own Incoming Integrations", + "manage-own-incoming-integrations_description": "Permission to allow users to create and edit their own incoming integration or webhooks", + "manage-own-integrations": "Manage Own Integrations", + "manage-own-integrations_description": "Permition to allow users to create and edit their own integration or webhooks", + "manage-own-outgoing-integrations": "Manage Own Outgoing Integrations", + "manage-own-outgoing-integrations_description": "Permission to allow users to create and edit their own outgoing integration or webhooks", + "manage-selected-settings": "Change Some Settings", + "manage-selected-settings_description": "Permission to change settings which are explicitly granted to be changed", + "manage-sounds": "Manage Sounds", + "manage-sounds_description": "Permission to manage the server sounds", + "manage-the-app": "Manage the App", + "manage-user-status": "Manage User Status", + "manage-user-status_description": "Permission to manage the server custom user statuses", + "manage-voip-call-settings": "Manage Voip Call Settings", + "manage-voip-call-settings_description": "Permission to manage voip call settings", + "manage-voip-contact-center-settings": "Manage Voip Contact Center Settings", + "manage-voip-contact-center-settings_description": "Permission to manage voip contact center settings", + "Manage_Omnichannel": "Manage Omnichannel", + "Manage_workspace": "Manage workspace", + "Manager_added": "Manager added", + "Manager_removed": "Manager removed", + "Managers": "Managers", + "Manage_server_list": "Manage server list", + "Manage_servers": "Manage servers", + "Manage_which_devices": "Manage which devices are connecting to this workspace to help ensure security. Information such as device ID, login data is included as is the ability to log out devices remotely.", + "Management_Server": "Asterisk Manager Interface (AMI)", + "Managing_assets": "Managing assets", + "Managing_integrations": "Managing integrations", + "Manual_Selection": "Manual Selection", + "Manually_created_users_briefing": "Manually created users will initially be shown as pending. Once they log in for the first time, they will be shown as active.", + "Manufacturing": "Manufacturing", + "MapView_Enabled": "Enable Mapview", + "MapView_Enabled_Description": "Enabling mapview will display a location share button on the right of the chat input field.", + "MapView_GMapsAPIKey": "Google Static Maps API Key", + "MapView_GMapsAPIKey_Description": "This can be obtained from the Google Developers Console for free.", + "Mark_all_as_read": "`%s` - Mark all messages (in all channels) as read", + "Mark_as_read": "Mark as read", + "Mark_as_unread": "Mark as unread", + "Mark_email_as_verified": "Mark email as verified", + "Mark_read": "Mark Read", + "Mark_unread": "Mark Unread", + "Marketplace": "Marketplace", + "Marketplace_app_last_updated": "Last updated {{lastUpdated}}", + "Marketplace_view_marketplace": "View Marketplace", + "Marketplace_error": "Cannot connect to internet or your workspace may be an offline install.", + "MAU_value": "MAU {{value}}", + "Max_length_is": "Max length is %s", + "Max_number_incoming_livechats_displayed": "Max number of items displayed in the queue", + "Max_number_incoming_livechats_displayed_description": "(Optional) Max number of items displayed in the incoming Omnichannel queue.", + "Max_number_of_chats_per_agent": "Max. number of simultaneous chats", + "Max_number_of_chats_per_agent_description": "The max. number of simultaneous chats that the agents can attend", + "Max_number_of_uses": "Max number of uses", + "Max_Retry": "Maximum attemps to reconnect to the server", + "Maximum": "Maximum", + "Maximum_number_of_guests_reached": "Maximum number of guests reached", + "Me": "Me", + "Media": "Media", + "Medium": "Medium", + "Members": "Members", + "Members_List": "Members List", + "mention-all": "Mention All", + "mention-all_description": "Permission to use the @all mention", + "Mentions_all_room_members": "Mentions all room members", + "Mentions_online_room_members": "Mentions online room members", + "Mentions_user": "Mentions user", + "Mentions_channel": "Mentions channel", + "Mentions_you": "Mentions you", + "mention-here": "Mention Here", + "mention-here_description": "Permission to use the @here mention", + "Mentions": "Mentions", + "Mentions_default": "Mentions (default)", + "Mentions_only": "Mentions only", + "Mentions_with_@_symbol": "Mentions with @ symbol", + "Mentions_with_@_symbol_description": "Mentions notify and highlight messages for groups or specific users, facilitating targeted communication.\n\nThe screen reader functionality is optimized when the \"@\" symbol is employed in the mention feature. This ensures that users relying on screen readers can easily interpret and engage with these mentions.", + "Merge_Channels": "Merge Channels", + "message": "message", + "Message": "Message", + "Message_Description": "Configure message settings.", + "Message_AllowBadWordsFilter": "Allow Message bad words filtering", + "Message_AllowConvertLongMessagesToAttachment": "Allow converting long messages to attachment", + "Message_AllowDeleting": "Allow Message Deleting", + "Message_AllowDeleting_BlockDeleteInMinutes": "Block Message Deleting After (n) Minutes", + "Message_AllowDeleting_BlockDeleteInMinutes_Description": "Enter 0 to disable blocking.", + "Message_AllowDirectMessagesToYourself": "Allow user direct messages to yourself", + "Message_AllowEditing": "Allow Message Editing", + "Message_AllowEditing_BlockEditInMinutes": "Block Message Editing After (n) Minutes", + "Message_AllowEditing_BlockEditInMinutesDescription": "Enter 0 to disable blocking.", + "Message_AllowPinning": "Allow Message Pinning", + "Message_AllowPinning_Description": "Allow messages to be pinned to any of the channels.", + "Message_AllowStarring": "Allow Message Starring", + "Message_AllowUnrecognizedSlashCommand": "Allow Unrecognized Slash Commands", + "Message_Already_Sent": "This message has already been sent and is being processed by the server", + "Message_AlwaysSearchRegExp": "Always Search Using RegExp", + "Message_AlwaysSearchRegExp_Description": "We recommend to set `True` if your language is not supported on [MongoDB text search](https://docs.mongodb.org/manual/reference/text-search-languages/#text-search-languages).", + "Message_Attachments": "Message Attachments", + "Message_Attachments_Thumbnails_Enabled": "Enable image thumbnails to save bandwith", + "Message_Attachments_Thumbnails_Width": "Thumbnail's max width (in pixels)", + "Message_Attachments_Thumbnails_Height": "Thumbnail's max height (in pixels)", + "Message_with_attachment": "Message with attachment", + "Report_sent": "Report sent", + "Message_Attachments_Thumbnails_EnabledDesc": "Thumbnails will be served instead of the original image to reduce bandwith usage. Images at original resolution can be downloaded using the icon next to the attachment's name.", + "Message_Attachments_Strip_Exif": "Remove EXIF metadata from supported files", + "Message_Attachments_Strip_ExifDescription": "Strips out EXIF metadata from image files (jpeg, tiff, etc). This setting is not retroactive, so files uploaded while disabled will have EXIF data", + "Message_Audio": "Audio Message", + "Message_Audio_bitRate": "Audio Message Bit Rate", + "Message_AudioRecorderEnabled": "Audio Recorder Enabled", + "Message_AudioRecorderEnabled_Description": "Requires 'audio/mp3' files to be an accepted media type within 'File Upload' settings.", + "Message_Audio_Recording_Disabled": "Message audio recording disabled", + "Message_auditing": "Audit messages", + "Message_auditing_log": "Audit logs", + "Message_BadWordsFilterList": "Add Bad Words to the Blacklist", + "Message_BadWordsFilterListDescription": "Add List of Comma-separated list of bad words to filter", + "Message_BadWordsWhitelist": "Remove words from the Blacklist", + "Message_BadWordsWhitelistDescription": "Add a comma-separated list of words to be removed from filter", + "Message_Characther_Limit": "Message Character Limit", + "Message_Code_highlight": "Code highlighting languages list", + "Message_Code_highlight_Description": "Comma separated list of languages (all supported languages at [highlight.js](https://github.com/highlightjs/highlight.js/tree/11.6.0#supported-languages)) that will be used to highlight code blocks", + "Message_CustomDomain_AutoLink": "Custom Domain Whitelist for Auto Link", + "Message_CustomDomain_AutoLink_Description": "If you want to auto link internal links like `https://internaltool.intranet` or `internaltool.intranet`, you need to add the `intranet` domain to the field, multiple domains need to be separated by comma.", + "Message_CustomFields_Enabled": "Allow Custom Fields in Messages", + "Message_CustomFields": "Custom Fields Validation", + "Message_CustomFields_Description": "Custom Fields will be validated according to the rules defined in this setting.\nCheck [ajv.js.org](https://ajv.js.org/json-schema.html) for more information regarding validation options.\nProperties `type` and `additionalProperties` will be forced to `object` and `false` respectively.", + "message_counter_one": "{{count}} message", + "message_counter_other": "{{count}} messages", + "Message_DateFormat": "Date Format", + "Message_DateFormat_Description": "See also: [Moment.js](http://momentjs.com/docs/#/displaying/format/)", + "Message_deleting_blocked": "This message cannot be deleted anymore", + "Message_editing": "Message editing", + "Message_ErasureType": "Message Erasure Type", + "Message_ErasureType_Delete": "Delete All Messages", + "Message_ErasureType_Description": "Determine what to do with messages of users who remove their account. \n - **Keep Messages and User Name:** The message and files history of the user will be deleted from Direct Messages but will be kept in other rooms. \n - **Delete All Messages:** All messages and files from the user will be deleted from the database and it will not be possible to locate the user anymore. \n - **Remove link between user and messages:** This option will assign all messages and files of the user to Rocket.Cat bot and Direct Messages are going to be deleted.", + "Message_ErasureType_Keep": "Keep Messages and User Name", + "Message_ErasureType_Unlink": "Remove Link Between User and Messages", + "Message_GlobalSearch": "Global Search", + "Message_GroupingPeriod": "Grouping Period (in seconds)", + "Message_GroupingPeriodDescription": "Messages will be grouped with previous message if both are from the same user and the elapsed time was less than the informed time in seconds.", + "Message_has_been_edited": "Message has been edited", + "Message_has_been_edited_at": "Message has been edited at {{date}}", + "Message_has_been_edited_by": "Message has been edited by {{username}}", + "Message_has_been_edited_by_at": "Message has been edited by {{username}} at {{date}}", + "Message_has_been_forwarded": "Message has been forwarded", + "Message_has_been_pinned": "Message has been pinned", + "Message_has_been_starred": "Message has been starred", + "Message_has_been_unpinned": "Message has been unpinned", + "Message_has_been_unstarred": "Message has been unstarred", + "Message_HideType_au": "User added", + "Message_HideType_added_user_to_team": "User added to team", + "Message_HideType_mute_unmute": "User muted / unmuted", + "Message_HideType_r": "Room name changed", + "Message_HideType_rm": "Message removed", + "Message_HideType_room_allowed_reacting": "Room allowed reacting", + "Message_HideType_room_archived": "Room archived", + "Message_HideType_room_changed_avatar": "Room avatar changed", + "Message_HideType_room_changed_privacy": "Room type changed", + "Message_HideType_room_changed_topic": "Room topic changed", + "Message_HideType_room_disallowed_reacting": "Room disallowed reacting", + "Message_HideType_room_enabled_encryption": "Room encryption enabled", + "Message_HideType_room_disabled_encryption": "Room encryption disabled", + "Message_HideType_room_set_read_only": "Room set to Read Only", + "Message_HideType_room_removed_read_only": "Room added writing permission", + "Message_HideType_room_unarchived": "Room unarchived", + "Message_HideType_ru": "User removed", + "Message_HideType_removed_user_from_team": "User removed from team", + "Message_HideType_subscription_role_added": "Was set role", + "Message_HideType_subscription_role_removed": "Role no longer defined", + "Message_HideType_uj": "User joined", + "Message_HideType_ujt": "User joined team", + "New_Call_Enterprise_Edition_Only": "New Call (Enterprise Edition Only)", + "Message_HideType_ul": "User left", + "Message_HideType_ult": "User left team", + "Message_HideType_user_added_room_to_team": "User added room to team", + "Message_HideType_user_converted_to_channel": "User converted team to a channel", + "Message_HideType_user_converted_to_team": "User converted channel to a team", + "Message_HideType_user_deleted_room_from_team": "User deleted room from team", + "Message_HideType_user_removed_room_from_team": "User removed room from team", + "Message_HideType_changed_description": "Room description changed", + "Message_HideType_changed_announcement": "Room announcement changed", + "Message_HideType_ut": "User joined conversation", + "Message_HideType_wm": "Welcome", + "Message_HideType_livechat_closed": "Hide \"Conversation finished\" messages", + "Message_HideType_livechat_started": "Hide \"Conversation started\" messages", + "Message_HideType_livechat_transfer_history": "Hide \"Conversation transfered\" messages", + "Message_Id": "Message Id", + "Message_Ignored": "This message was ignored", + "message-impersonate": "Impersonate Other Users", + "message-impersonate_description": "Permission to impersonate other users using message alias", + "Message_info": "Message info", + "Message_KeepHistory": "Keep Per Message Editing History", + "Message_MaxAll": "Maximum Channel Size for ALL Message", + "Message_MaxAllowedSize": "Maximum Allowed Characters Per Message", + "Message_pinning": "Message pinning", + "message_pruned": "message pruned", + "Message_QuoteChainLimit": "Maximum Number of Chained Quotes", + "Message_Read_Receipt_Enabled": "Show Read Receipts", + "Message_Read_Receipt_Store_Users": "Detailed Read Receipts", + "Message_Read_Receipt_Store_Users_Description": "Shows each user's read receipts", + "Message_removed": "message removed", + "Message_is_removed": "message removed", + "Message_sent_by_email": "Message sent by Email", + "Message_ShowDeletedStatus": "Show Deleted Status", + "Message_Formatting_Toolbox": "Formatting Toolbox", + "Message_composer_toolbox_primary_actions": "Composer Primary Actions", + "Message_composer_toolbox_secondary_actions": "Composer Secondary Actions", + "Message_starring": "Message starring", + "Message_Time": "Message Time", + "Message_TimeAndDateFormat": "Time and Date Format", + "Message_TimeAndDateFormat_Description": "See also: [Moment.js](http://momentjs.com/docs/#/displaying/format/)", + "Message_TimeFormat": "Time Format", + "Message_TimeFormat_Description": "See also: [Moment.js](http://momentjs.com/docs/#/displaying/format/)", + "Message_too_long": "Message too long", + "Message_UserId": "User Id", + "Message_view_mode_info": "This changes the amount of space messages take up on screen.", + "Message_VideoRecorderEnabled": "Video Recorder Enabled", + "Message_Video_Recording_Disabled": "Message video recording disabled", + "MessageBox_view_mode": "MessageBox View Mode", + "Message_VideoRecorderEnabledDescription": "Requires 'video/webm' files to be an accepted media type within 'File Upload' settings.", + "messages": "messages", + "Messages": "Messages", + "Messages_selected": "Messages selected", + "Messages_sent": "Messages sent", + "Message_sent": "Message sent", + "Message_viewed": "Message viewed", + "Messages_that_are_sent_to_the_Incoming_WebHook_will_be_posted_here": "Messages that are sent to the Incoming WebHook will be posted here.", + "Meta": "Meta", + "Meta_Description": "Set custom Meta properties.", + "Meta_custom": "Custom Meta Tags", + "Meta_fb_app_id": "Facebook App Id", + "Meta_google-site-verification": "Google Site Verification", + "Meta_language": "Language", + "Meta_msvalidate01": "MSValidate.01", + "Meta_robots": "Robots", + "meteor_status_connected": "Connected", + "meteor_status_connecting": "Connecting...", + "meteor_status_failed": "Connection attempt failed", + "meteor_status_offline": "You’re offline", + "meteor_status_reconnect_in_one": "Trying to reconnect in 1 second", + "meteor_status_reconnect_in_other": "Trying to reconnect in {{count}} seconds", + "meteor_status_try_again_later": "Please try again later or ask your workspace admin for assistance", + "meteor_status_try_now_offline": "Connect again", + "meteor_status_try_now_waiting": "Try now", + "meteor_status_waiting": "You’re offline", + "Method": "Method", + "Mic_on": "Mic On", + "Microphone": "Microphone", + "Microphone_access_not_allowed": "Microphone access was not allowed, please check your browser settings.", + "Mic_off": "Mic Off", + "Min_length_is": "Min length is %s", + "Minimum": "Minimum", + "Minimum_balance": "Minimum balance", + "minute": "minute", + "minutes": "minutes", + "Missing_configuration": "Missing configuration", + "Mobex_sms_gateway_address": "Mobex SMS Gateway Address", + "Mobex_sms_gateway_address_desc": "IP or Host of your Mobex service with specified port. E.g. `http://192.168.1.1:1401` or `https://www.example.com:1401`", + "Mobex_sms_gateway_from_number": "From", + "Mobex_sms_gateway_from_number_desc": "Originating address/phone number when sending a new SMS to livechat client", + "Mobex_sms_gateway_from_numbers_list": "List of numbers to send SMS from", + "Mobex_sms_gateway_from_numbers_list_desc": "Comma-separated list of numbers to use in sending brand new messages, eg. 123456789, 123456788, 123456888", + "Mobex_sms_gateway_password": "Password", + "Mobex_sms_gateway_restful_address": "Mobex SMS REST API Address", + "Mobex_sms_gateway_restful_address_desc": "IP or Host of your Mobex REST API. E.g. `http://192.168.1.1:8080` or `https://www.example.com:8080`", + "Mobex_sms_gateway_username": "Username", + "Mobile": "Mobile", + "Mobile_apps": "Mobile apps", + "Mobile_Description": "Define behaviors for connecting to your workspace from mobile devices.", + "mobile-upload-file": "Allow file upload on mobile devices", + "mobile-upload-file_description": "Permission to allow file upload on mobile devices", + "Mobile_Push_Notifications_Default_Alert": "Push Notifications Default Alert", + "Moderation": "Moderation", + "Moderation_Show_reports": "Show reports", + "Moderation_See_reports": "See reports", + "Moderation_Go_to_message": "Go to message", + "Moderation_Delete_message": "Delete message", + "Moderation_Dismiss_and_delete": "Dismiss and delete", + "Moderation_Delete_this_message": "Delete this message", + "Moderation_Message_context_header": "Reported message(s)", + "Moderation_Message_deleted": "Message deleted and reports dismissed", + "Moderation_Messages_deleted": "Messages deleted and reports dismissed", + "Moderation_Action_View_reports": "View reported messages", + "Moderation_Hide_reports": "Hide reports", + "Moderation_Dismiss_all_reports": "Dismiss all reports", + "Moderation_Deactivate_User": "Deactivate user", + "Moderation_User_deactivated": "User deactivated", + "Moderation_Delete_all_messages": "Delete all messages", + "Moderation_Dismiss_reports": "Dismiss reports", + "Moderation_Duplicate_messages": "Duplicated messages", + "Moderation_Duplicate_messages_warning": "Following may contain same messages sent in multiple rooms.", + "Moderation_Report_date": "Report date", + "Moderation_Reports": "Reports", + "Moderation_Reported_message": "Reported message", + "Moderation_Reports_dismissed": "Reports dismissed", + "Moderation_Reports_all_dismissed": "All reports dismissed", + "Moderation_Message_already_deleted": "Message is already deleted", + "Moderation_Reset_user_avatar": "Reset user avatar", + "Moderation_See_messages": "See messages", + "Moderation_Avatar_reset_success": "Avatar reset", + "Moderation_Dismiss_reports_confirm": "Reports will be deleted and the reported message won't be affected.", + "Moderation_Dismiss_all_reports_confirm": "All reports will be deleted and the reported messages won't be affected.", + "Moderation_Are_you_sure_you_want_to_delete_this_message": "This message will be permanently deleted from its respective room and the report will be dismissed.", + "Moderation_Are_you_sure_you_want_to_reset_the_avatar": "Resetting user avatar will permanently remove their current avatar.", + "Moderation_Are_you_sure_you_want_to_deactivate_this_user": "User will be unable to log in unless reactivated. All reported messages will be permanently deleted from their respective room.", + "Moderation_Are_you_sure_you_want_to_delete_all_reported_messages_from_this_user": "All reported messages from this user will be permanently deleted from their respective room and the report will be dismissed.", + "Moderation_User_deleted_warning": "The user who sent the message(s) no longer exists or has been removed.", + "Monday": "Monday", + "Mongo_storageEngine": "Mongo Storage Engine", + "Mongo_version": "Mongo Version", + "MongoDB": "MongoDB", + "MongoDB_Deprecated": "MongoDB Deprecated", + "MongoDB_version_s_is_deprecated_please_upgrade_your_installation": "MongoDB version %s is deprecated, please upgrade your installation.", + "Monitor_added": "Monitor Added", + "Monitor_new_and_suspicious_logins": "Monitor new and suspicious logins", + "Monitor_history_for_changes_on": "Monitor History for Changes on", + "Monitor_removed": "Monitor removed", + "Monitors": "Monitors", + "Monthly_Active_Users": "Monthly Active Users", + "More": "More", + "More_actions": "More actions", + "More_channels": "More channels", + "More_direct_messages": "More direct messages", + "More_groups": "More private groups", + "More_unreads": "More unreads", + "More_options": "More options", + "Most_popular_channels_top_5": "Most popular channels (Top 5)", + "Most_recent_updated": "Most recent updated", + "Most_recent_requested": "Most recent requested", + "Move_beginning_message": "`%s` - Move to the beginning of the message", + "Move_end_message": "`%s` - Move to the end of the message", + "Move_queue": "Move to the queue", + "Msgs": "Msgs", + "multi": "multi", + "Multi_line": "Multi line", + "Multiple_monolith_instances_alert": "You are operating multiple instances without an active Premium license - some features may not behave as designed", + "Mute": "Mute", + "Mute_and_dismiss": "Mute and dismiss", + "Mute_all_notifications": "Mute all notifications", + "Mute_Focused_Conversations": "Mute Focused Conversations", + "Mute_Group_Mentions": "Mute @all and @here mentions", + "Mute_someone_in_room": "Mute someone in the room", + "Mute_user": "Mute user", + "Mute_microphone": "Mute Microphone", + "mute-user": "Mute User", + "mute-user_description": "Permission to mute other users in the same channel", + "Muted": "Muted", + "My Data": "My Data", + "My_Account": "My Account", + "My_location": "My location", + "n_messages": "%s messages", + "N_new_messages": "%s new messages", + "Name": "Name", + "Name_cant_be_empty": "Name can't be empty", + "Name_of_agent": "Name of agent", + "Name_optional": "Name (optional)", + "Name_Placeholder": "Please enter your name...", + "Navigation": "Navigation", + "Navigation_bar": "Navigation bar", + "Navigation_bar_description": "Introducing the navigation bar — a higher-level navigation designed to help users quickly find what they need. With its compact design and intuitive organization, this streamlined sidebar optimizes screen space while providing easy access to essential software features and sections.", + "Navigation_History": "Navigation History", + "Next": "Next", + "Never": "Never", + "New": "New", + "New_Application": "New Application", + "New_Business_Hour": "New Business Hour", + "New_Call": "New Call", + "New_Call_Premium_Only": "New Call (Premium Plans Only)", + "New_chat_in_queue": "New chat in queue", + "New_chat_priority": "Priority Changed: {{user}} changed the priority to {{priority}}", + "New_chat_transfer": "New Chat Transfer: {{transfer}}", + "New_chat_transfer_fallback": "Transferred to fallback department: {{fallback}}", + "New_contact": "New contact", + "New_Custom_Field": "New Custom Field", + "New_Department": "New Department", + "New_discussion": "New discussion", + "New_discussion_first_message": "Usually, a discussion starts with a question, like “How do I upload a picture?”", + "New_discussion_name": "A meaningful name for the discussion room", + "New_Email_Inbox": "New Email Inbox", + "New_encryption_password": "New encryption password", + "New_integration": "New integration", + "New_line_message_compose_input": "`%s` - New line in message compose input", + "New_Livechat_offline_message_has_been_sent": "A new Livechat offline Message has been sent", + "New_logs": "New logs", + "New_Message_Notification": "New Message Notification", + "New_messages": "New messages", + "New_OTR_Chat": "New OTR Chat", + "New_password": "New Password", + "New_Password_Placeholder": "Please enter new password...", + "New_Priority": "New Priority", + "New_SLA_Policy": "New SLA policy", + "New_role": "New role", + "New_Room_Notification": "New Room Notification", + "New_Tag": "New Tag", + "New_Trigger": "New Trigger", + "New_Unit": "New Unit", + "New_users": "New users", + "New_user": "New user", + "New_user_manually_created": "New user manually created", + "New_version_available_(s)": "New version available (%s)", + "New_videocall_request": "New Video Call Request", + "New_visitor_navigation": "New Navigation: {{history}}", + "New_workspace_confirmed": "New workspace confirmed", + "New_workspace": "New workspace", + "Newer_than": "Newer than", + "New_messages_cannot_be_sent": "New messages cannot be sent", + "Newer_than_may_not_exceed_Older_than": "\"Newer than\" may not exceed \"Older than\"", + "Nickname": "Nickname", + "Nickname_Placeholder": "Enter your nickname...", + "No": "No", + "no-active-video-conf-provider": "**Conference call not enabled**: A workspace admin needs to enable the conference call feature first.", + "No_available_agents_to_transfer": "No available agents to transfer", + "No_app_matches": "No app matches", + "No_app_matches_for": "No app matches for", + "No_apps_installed": "No Apps Installed", + "No_Canned_Responses": "No Canned Responses", + "No_Canned_Responses_Yet": "No canned responses yet", + "No_Canned_Responses_Yet-description": "Use canned responses to provide quick and consistent answers to frequently asked questions.", + "No_channels_in_team": "No Channels on this Team", + "No_agents_yet": "No agents yet", + "No_agents_yet_description": "Add agents to engage with your audience and provide optimized customer service.", + "No_channels_yet": "You aren't part of any channels yet", + "No_chats_yet": "No chats yet", + "No_chats_yet_description": "All your chats will appear here.", + "No_calls_yet": "No calls yet", + "No_calls_yet_description": "All your calls will appear here.", + "No_contacts_yet": "No contacts yet", + "No_contacts_yet_description": "All contacts will appear here.", + "No_custom_fields_yet": "No custom fields yet", + "No_custom_fields_yet_description": "Add custom fields into contact or ticket details or display them on the live chat registration form for new visitors.", + "No_departments_yet": "No departments yet", + "No_departments_yet_description": "Organize agents into departments, set how tickets get forwarded and monitor their performance.", + "No_managers_yet": "No managers yet", + "No_managers_yet_description": "Managers have access to all omnichannel controls, being able to monitor and take actions.", + "No_content_was_provided": "No content was provided", + "No_data_found": "No data found", + "No_data_available_for_the_selected_period": "No data available for the selected period", + "No_direct_messages_yet": "No Direct Messages.", + "No_Discussions_found": "No discussions found", + "No_discussions_yet": "No discussions yet", + "No_emojis_found": "No emojis found", + "No_Encryption": "No Encryption", + "No_files_found": "No files found", + "No_files_left_to_download": "No files left to download", + "No_groups_yet": "You have no private groups yet.", + "No_history": "No history", + "No_installed_app_matches": "No installed app matches", + "No_integration_found": "No integration found by the provided id.", + "No_Limit": "No Limit", + "No_livechats": "You have no livechats", + "No_marketplace_matches_for": "No Marketplace matches for", + "No_members_found": "No members found", + "No_mentions_found": "No mentions found", + "No_messages_found_to_prune": "No messages found to prune", + "No_message_reports": "No message reports", + "No_messages_yet": "No messages yet", + "No_monitors_yet": "No monitors yet", + "No_monitors_yet_description": "Monitors have partial control of Omnichannel. They can view department analytics and activities of the business units they are assigned.", + "No_tags_yet": "No tags yet", + "No_tags_yet_description": "Add tags to tickets to make organizing and finding related conversations easier.", + "No_triggers_yet": "No triggers yet", + "No_triggers_yet_description": "Triggers are events that cause the live chat widget to open and send messages automatically.", + "No_units_yet": "No units yet", + "No_units_yet_description": "Use units to group departments and manage them better.", + "No_user_reports": "No user reports", + "No_pages_yet_Try_hitting_Reload_Pages_button": "No pages yet. Try hitting \"Reload Pages\" button.", + "No_pinned_messages": "No pinned messages", + "No_previous_chat_found": "No previous chat found", + "No_release_information_provided": "No release information provided", + "No_requested_apps": "No requested apps", + "No_requests": "No requests", + "No_results_found": "No results found", + "No_results_found_for": "No results found for:", + "No_SLA_policies_yet": "No SLA policies yet", + "No_SLA_policies_yet_description": "Use SLA policies to change the order of Omnichannel queues based on estimated wait time.", + "No_snippet_messages": "No snippet", + "No_starred_messages": "No starred messages", + "No_such_command": "No such command: `/{{command}}`", + "No_Threads": "No threads found", + "no-videoconf-provider-app": "**Conference call not available**: Conference call apps can be installed in the Rocket.Chat marketplace by a workspace admin.", + "Nobody_available": "Nobody available", + "Node_version": "Node Version", + "None": "None", + "Nonprofit": "Nonprofit", + "Not_authorized": "Not authorized", + "Pexip_Enterprise_only": "Pexip (Enterprise only)", + "Normal": "Normal", + "Not_Available": "Not Available", + "Not_assigned": "Not assigned", + "Not_enough_data": "Not enough data", + "Not_following": "Not following", + "Not_Following": "Not Following", + "Not_found_or_not_allowed": "Not Found or Not Allowed", + "Not_Imported_Messages_Title": "The following messages were not imported successfully", + "Not_in_channel": "Not in channel", + "Not_likely": "Not likely", + "Not_started": "Not started", + "Not_verified": "Not verified", + "Not_Visible_To_Workspace": "Not visible to workspace", + "Nothing": "Nothing", + "Nothing_found": "Nothing found", + "Notice_that_public_channels_will_be_public_and_visible_to_everyone": "Notice that public Channels will be public and visible to everyone.", + "Notification_Desktop_Default_For": "Show Desktop Notifications For", + "Notification_Push_Default_For": "Send Push Notifications For", + "Notification_RequireInteraction": "Require Interaction to Dismiss Desktop Notification", + "Notification_RequireInteraction_Description": "Works only with Chrome browser versions > 50. Utilizes the parameter *requireInteraction* to show the desktop notification to indefinite until the user interacts with it.", + "Notifications": "Notifications", + "Notifications_Max_Room_Members": "Max Room Members Before Disabling All Message Notifications", + "Notifications_Max_Room_Members_Description": "Max number of members in room when notifications for all messages gets disabled. Users can still change per room setting to receive all notifications on an individual basis. (0 to disable)", + "Notifications_Muted_Description": "If you choose to mute everything, you won't see the room highlight in the list when there are new messages, except for mentions. Muting notifications will override notifications settings.", + "Notifications_Preferences": "Notifications Preferences", + "Notifications_Sound_Volume": "Notifications sound volume", + "Notify_active_in_this_room": "Notify active users in this room", + "Notify_all_in_this_room": "Notify all in this room", + "Notify_Calendar_Events": "Notify calendar events", + "Now_Its_Visible_For_Everyone": "Now it's visible for everyone", + "Now_Its_Visible_Only_For_Admins": "Now it's visible only for admins", + "NPS_survey_enabled": "Enable NPS Survey", + "NPS_survey_enabled_Description": "Allow NPS survey run for all users. Admins will receive an alert 2 months upfront the survey is launched", + "NPS_survey_is_scheduled_to-run-at__date__for_all_users": "NPS survey is scheduled to run at {{date}} for all users. It's possible to turn off the survey on 'Admin > General > NPS'", + "Default_Timezone_For_Reporting": "Default timezone for reporting", + "Default_Timezone_For_Reporting_Description": "Sets the default timezone that will be used when showing dashboards or sending emails", + "Default_Server_Timezone": "Server timezone", + "Default_Custom_Timezone": "Custom timezone", + "Default_User_Timezone": "User's current timezone", + "Num_Agents": "# Agents", + "Number_in_seconds": "Number in seconds", + "Number_of_events": "Number of events", + "Number_of_federated_servers": "Number of federated servers", + "Number_of_federated_users": "Number of federated users", + "Number_of_messages": "Number of messages", + "Number_of_most_recent_chats_estimate_wait_time": "Number of recent chats to calculate estimate wait time", + "Number_of_most_recent_chats_estimate_wait_time_description": "This number defines the number of last served rooms that will be used to calculate queue wait times.", + "Number_of_users_autocomplete_suggestions": "Number of users' autocomplete suggestions", + "OAuth": "OAuth", + "OAuth_Description": "Configure authentication methods beyond just username and password.", + "OAuth_Application": "OAuth Application", + "Objects": "Objects", + "Off": "Off", + "Off_the_record_conversation": "Off-the-Record Conversation", + "Off_the_record_conversation_is_not_available_for_your_browser_or_device": "Off-the-Record conversation is not available for your browser or device.", + "Office_Hours": "Office Hours", + "Office_hours_enabled": "Office Hours Enabled", + "Office_hours_updated": "Office hours updated", + "offline": "offline", + "Offline": "Offline", + "Offline_DM_Email": "Direct Message Email Subject", + "Offline_Email_Subject_Description": "You may use the following placeholders: \n - `[Site_Name]`, `[Site_URL]`, `[User]` & `[Room]` for the Application Name, URL, Username & Roomname respectively. ", + "Offline_form": "Offline form", + "Offline_form_unavailable_message": "Offline Form Unavailable Message", + "Offline_Link_Message": "GO TO MESSAGE", + "Offline_Mention_All_Email": "Mention All Email Subject", + "Offline_Mention_Email": "Mention Email Subject", + "Offline_message": "Offline message", + "Offline_Message": "Offline Message", + "Offline_Message_Use_DeepLink": "Use Deep Link URL Format", + "Offline_messages": "Offline Messages", + "Offline_success_message": "Offline Success Message", + "Offline_unavailable": "Offline unavailable", + "Ok": "Ok", + "Old Colors": "Old Colors", + "Old Colors (minor)": "Old Colors (minor)", + "Older_than": "Older than", + "Omnichannel": "Omnichannel", + "Omnichannel_Description": "Set up Omnichannel to communicate with customers from one place, regardless of how they connect with you.", + "Omnichannel_Directory": "Omnichannel Directory", + "Omnichannel_appearance": "Omnichannel Appearance", + "Omnichannel_calculate_dispatch_service_queue_statistics": "Calculate and dispatch Omnichannel waiting queue statistics", + "Omnichannel_calculate_dispatch_service_queue_statistics_Description": "Processing and dispatching waiting queue statistics such as position and estimated waiting time. If *Livechat channel* is not in use, it is recommended to disable this setting and prevent the server from doing unnecessary processes.", + "Omnichannel_Contact_Center": "Omnichannel Contact Center", + "Omnichannel_contact_manager_routing": "Assign new conversations to the contact manager", + "Omnichannel_contact_manager_routing_Description": "This setting allocates a chat to the assigned Contact Manager, as long as the Contact Manager is online when the chat starts", + "Omnichannel_External_Frame": "External Frame", + "Omnichannel_External_Frame_Enabled": "External frame enabled", + "Omnichannel_External_Frame_Encryption_JWK": "Encryption key (JWK)", + "Omnichannel_External_Frame_Encryption_JWK_Description": "If provided it will encrypt the user's token with the provided key and the external system will need to decrypt the data to access the token", + "Omnichannel_External_Frame_URL": "External frame URL", + "omnichannel_priority_change_history": "Priority changed: {{user}} changed the priority to {{priority}}", + "omnichannel_sla_change_history": "SLA Policy changed: {{user}} changed the SLA Policy to {{sla}}", + "Omnichannel_enable_department_removal": "Enable department removal", + "Omnichannel_enable_department_removal_alert": "Departments removed cannot be restored, we recommend archiving the department instead.", + "Omnichannel_Reports_Status_Open": "Open", + "Omnichannel_Reports_Status_Closed": "Closed", + "Omnichannel_Reports_Channels_Empty_Subtitle": "This chart shows the most used channels.", + "Omnichannel_Reports_Departments_Empty_Subtitle": "This chart displays the departments that receive the most conversations.", + "Omnichannel_Reports_Status_Empty_Subtitle": "This chart will update as soon as conversations start.", + "Omnichannel_Reports_Tags_Empty_Subtitle": "This chart shows the most frequently used tags.", + "Omnichannel_Reports_Agents_Empty_Subtitle": "This chart displays which agents receive the highest volume of conversations.", + "Omnichannel_Reports_Summary": "Gain insights into your operation and export your metrics.", + "Omnichannel_max_fallback_forward_depth": "Maximum fallback forward departments depth", + "Omnichannel_max_fallback_forward_depth_Description": "Maximum number of hops that a room being transfered will do when the target department has a Fallback Forward Department set up. When limit is reached, chat won't be transferred and process will stop. Depending on your configuration, setting a high number may cause performance issues.", + "On": "On", + "on-hold-livechat-room": "On Hold Omnichannel Room", + "on-hold-livechat-room_description": "Permission to on hold omnichannel room", + "on-hold-others-livechat-room": "On Hold Others Omnichannel Room", + "on-hold-others-livechat-room_description": "Permission to on hold others omnichannel room", + "On_Hold": "On hold", + "On_Hold_Chats": "On hold", + "On_Hold_conversations": "On hold conversations", + "online": "online", + "Online": "Online", + "Only_authorized_users_can_write_new_messages": "Only authorized users can write new messages", + "Only_authorized_users_can_react_to_messages": "Only authorized users can react to messages", + "Only_from_users": "Only prune content from these users (leave empty to prune everyone's content)", + "Only_Members_Selected_Department_Can_View_Channel": "Only members of selected department can view chats on this channel", + "Only_On_Desktop": "Desktop mode (only sends with enter on desktop)", + "Only_works_with_chrome_version_greater_50": "Only works with Chrome browser versions > 50", + "Only_you_can_see_this_message": "Only you can see this message", + "Only_invited_users_can_acess_this_channel": "Only invited users can access this channel", + "Oops_page_not_found": "Oops, page not found", + "Oops!": "Oops", + "Person_Or_Channel": "Person or Channel", + "Open": "Open", + "Open_call": "Open call", + "Open_call_in_new_tab": "Open call in new tab", + "Open_channel_user_search": "`%s` - Open Channel / User search", + "Open_conversations": "Open Conversations", + "Open_Days": "Open days", + "Open_days_of_the_week": "Open Days of the Week", + "Open_Dialpad": "Open Dialpad", + "Open_directory": "Open directory", + "Open_Livechats": "Chats in progress", + "Open_Outlook": "Open Outlook", + "Open_settings": "Open settings", + "Open_sidebar": "Open sidebar", + "Open-source_conference_call_solution": "Open-source conference call solution.", + "Open_thread": "Open Thread", + "Enter_the_code_provided_by_your_authentication_app_to_continue": "Enter the code provided by your authentication app to continue. You can also use one of your backup codes.", + "Opened": "Opened", + "Opened_in_a_new_window": "Opened in a new window.", + "Opens_a_channel_group_or_direct_message": "Opens a channel, group or direct message", + "Optional": "Optional", + "optional": "optional", + "Options": "Options", + "or": "or", + "Or_Copy_And_Paste_This_URL_Into_A_Tab_Of_Your_Browser": "Or copy and paste this URL into a tab of your browser", + "Or_talk_as_anonymous": "Or talk as anonymous", + "Order": "Order", + "Organization_Email": "Organization Email", + "Organization_Info": "Organization Info", + "Organization_Name": "Organization Name", + "Organization_Type": "Organization Type", + "Original": "Original", + "OS": "OS", + "OS_Arch": "OS Arch", + "OS_Cpus": "OS CPU Count", + "OS_Freemem": "OS Free Memory", + "OS_Loadavg": "OS Load Average", + "OS_Platform": "OS Platform", + "OS_Release": "OS Release", + "OS_Totalmem": "OS Total Memory", + "OS_Type": "OS Type", + "OS_Uptime": "OS Uptime", + "Other": "Other", + "others": "others", + "Others": "Others", + "OTR": "OTR", + "OTR_unavailable_for_federation": "OTR is unavailable for federated rooms", + "OTR_Description": "Off-the-record chats are secure, private and disappear once ended.", + "OTR_Chat_Declined_Title": "OTR Chat invite Declined", + "OTR_Chat_Declined_Description": "%s declined OTR chat invite. For privacy protection local cache was deleted, including all related system messages.", + "OTR_Chat_Error_Title": "Chat ended due to failed key refresh", + "OTR_Chat_Error_Description": "For privacy protection local cache was deleted, including all related system messages.", + "OTR_Chat_Timeout_Title": "OTR chat invite expired", + "OTR_Chat_Timeout_Description": "%s failed to accept OTR chat invite in time. For privacy protection local cache was deleted, including all related system messages.", + "OTR_Enable_Description": "Enable option to use off-the-record (OTR) messages in direct messages between 2 users. OTR messages are not recorded on the server and exchanged directly and encrypted between the 2 users.", + "OTR_message": "OTR Message", + "OTR_not_available": "OTR not available", + "OTR_not_available_e2ee": "This room has E2E encryption enabled, OTR cannot work with encrypted messages.", + "OTR_is_only_available_when_both_users_are_online": "OTR is only available when both users are online", + "OTR_Session_ended_other_user_went_offline": "OTR Session has ended. User {{username}} went offline", + "outbound-voip-calls": "Outbound Voip Calls", + "outbound-voip-calls_description": "Permission to outbound voip calls", + "Out_of_seats": "Out of Seats", + "Outgoing": "Outgoing", + "Outgoing_WebHook": "Outgoing WebHook", + "Outgoing_WebHook_Description": "Get data out of Rocket.Chat in real-time.", + "Outlook_authentication": "Outlook authentication", + "Outlook_authentication_disabled": "Outlook authentication disabled", + "Outlook_authentication_description": "Disable this to clear any outlook credentials stored in this machine.", + "Outlook_calendar": "Outlook calendar", + "Outlook_calendar_event": "Outlook calendar event", + "Outlook_calendar_settings": "Outlook calendar settings", + "Outlook_Calendar": "Outlook Calendar", + "Outlook_Calendar_Enabled": "Enabled", + "Outlook_Calendar_Exchange_Url": "Exchange URL", + "Outlook_Calendar_Exchange_Url_Description": "Host URL for the EWS api.", + "Outlook_Calendar_Outlook_Url": "Outlook URL", + "Outlook_Calendar_Outlook_Url_Description": "URL used to launch the Outlook web app.", + "Output_format": "Output format", + "Outlook_Sync_Failed": "Failed to load outlook events.", + "Outlook_Sync_Success": "Outlook events synchronized.", + "Override_URL_to_which_files_are_uploaded_This_url_also_used_for_downloads_unless_a_CDN_is_given": "Override URL to which files are uploaded. This url also used for downloads unless a CDN is given", + "Override_Destination_Channel": "Allow to overwrite destination channel in the body parameters", + "Owner": "Owner", + "Play": "Play", + "Page_not_exist_or_not_permission": "The page does not exist or you may not have access permission", + "Page_not_found": "Page not found", + "Page_title": "Page title", + "Page_URL": "Page URL", + "Pages": "Pages", + "Parent_channel_doesnt_exist": "Channel does not exist.", + "Parent_channel_or_team": "Parent channel or team", + "Participants": "Participants", + "Password": "Password", + "Password_Change_Disabled": "Your Rocket.Chat administrator has disabled the changing of passwords", + "Password_Changed_Description": "You may use the following placeholders: \n - `[password]` for the temporary password. \n - `[name]`, `[fname]`, `[lname]` for the user's full name, first name or last name, respectively. \n - `[email]` for the user's email. \n - `[Site_Name]` and `[Site_URL]` for the Application Name and URL respectively. ", + "Password_Changed_Email_Subject": "[Site_Name] - Password Changed", + "Password_changed_section": "Password Changed", + "Password_changed_successfully": "Password changed successfully", + "Password_History": "Password History", + "Password_History_Amount": "Password History Length", + "Password_History_Amount_Description": "Amount of most recently used passwords to prevent users from reusing.", + "Password_must_have": "Password must have:", + "Password_Policy": "Password Policy", + "Password_Policy_Aria_Description": "Below it's listed the password requirement verifications", + "Password_must_meet_the_complexity_requirements": "Password must meet the complexity requirements.", + "Password_to_access": "Password to access", + "Passwords_do_not_match": "Passwords do not match", + "Past_Chats": "Past Chats", + "Paste_here": "Paste here...", + "Paste": "Paste", + "Pause": "Pause", + "Paste_error": "Error reading from clipboard", + "Paid_Apps": "Paid Apps", + "Payload": "Payload", + "PDF": "PDF", + "pdf_success_message": "PDF Transcript successfully generated", + "pdf_error_message": "Error generating PDF Transcript", + "Peer_Password": "Peer Password", + "Pending": "Pending", + "pending": "pending", + "Pending_action": "Pending action", + "Pending Avatars": "Pending Avatars", + "Pending Files": "Pending Files", + "People": "People", + "Permalink": "Permalink", + "Permissions": "Permissions", + "Personal_Access_Tokens": "Personal Access Tokens", + "Pexip_Premium_only": "Pexip (Premium only)", + "Phone": "Phone", + "Phone_call": "Phone Call", + "Phone_Number": "Phone Number", + "Thank_you_exclamation_mark": "Thank you!", + "Thank_You_For_Choosing_RocketChat": "Thank you for choosing Rocket.Chat!", + "Phone_already_exists": "Phone already exists", + "Phone_number": "Phone number", + "PID": "PID", + "Pin": "Pin", + "Pin_Message": "Pin Message", + "pin-message": "Pin Message", + "pin-message_description": "Permission to pin a message in a channel", + "Pinned_a_message": "Pinned a message:", + "Pinned_Messages": "Pinned Messages", + "Pinned_messages_are_visible_to_everyone": "Pinned messages are visible to everyone", + "Pinned_messages_unavailable_for_federation": "Pinned Messages are not available for federated rooms.", + "pinning-not-allowed": "Pinning is not allowed", + "PiwikAdditionalTrackers": "Additional Piwik Sites", + "PiwikAdditionalTrackers_Description": "Enter addtitional Piwik website URLs and SiteIDs in the following format, if you want to track the same data into different websites: `[ { \"trackerURL\" : \"https://my.piwik.domain2/\", \"siteId\" : 42 }, { \"trackerURL\" : \"https://my.piwik.domain3/\", \"siteId\" : 15 } ]`", + "PiwikAnalytics_cookieDomain": "All Subdomains", + "PiwikAnalytics_cookieDomain_Description": "Track visitors across all subdomains", + "PiwikAnalytics_domains": "Hide Outgoing Links", + "PiwikAnalytics_domains_Description": "In the 'Outlinks' report, hide clicks to known alias URLs. Please insert one domain per line and do not use any separators.", + "PiwikAnalytics_prependDomain": "Prepend Domain", + "PiwikAnalytics_prependDomain_Description": "Prepend the site domain to the page title when tracking", + "PiwikAnalytics_siteId_Description": "The site id to use for identifying this site. Example: 17", + "PiwikAnalytics_url_Description": "The url where the Piwik resides, be sure to include the trailing slash. Example: `https://piwik.rocket.chat/`", + "Placeholder_for_email_or_username_login_field": "Placeholder for Email or Username Login Field", + "Placeholder_for_password_login_confirm_field": "Confirm Placeholder for Password Login Field", + "Placeholder_for_password_login_field": "Placeholder for Password Login Field", + "Platform_Windows": "Windows", + "Platform_Linux": "Linux", + "Platform_Mac": "Mac", + "Please_add_a_comment": "Please add a comment", + "Please_add_a_comment_to_close_the_room": "Please, add a comment to close the room", + "Please_answer_survey": "Please take a moment to answer a quick survey about this chat", + "Please_enter_usernames": "Please enter usernames...", + "please_enter_valid_domain": "Please enter a valid domain", + "Please_enter_value_for_url": "Please enter a value for the url of your avatar.", + "Please_enter_your_new_password_below": "Please enter your new password below:", + "Please_enter_your_password": "Please enter your password", + "Please_enter_E2EE_password": "Please enter your E2EE password", + "Please_fill_a_label": "Please fill a label", + "Please_fill_a_name": "Please fill a name", + "Please_fill_a_token_name": "Please fill a valid token name", + "Please_fill_a_username": "Please fill a username", + "Please_fill_all_the_information": "Please fill all the information", + "Please_fill_an_email": "Please fill an email", + "Please_fill_name_and_email": "Please fill name and email", + "Please_fill_out_reason_for_report": "Please fill out the reason for the report", + "Please_select_an_user": "Please select an user", + "Please_select_enabled_yes_or_no": "Please select an option for Enabled", + "Please_select_visibility": "Please select a visibility", + "Please_wait": "Please wait", + "Please_wait_activation": "Please wait, this can take some time.", + "Please_wait_while_OTR_is_being_established": "Please wait while OTR is being established", + "Please_wait_while_your_account_is_being_deleted": "Please wait while your account is being deleted...", + "Please_wait_while_your_profile_is_being_saved": "Please wait while your profile is being saved...", + "Policies": "Policies", + "Pool": "Pool", + "Port": "Port", + "Post_as": "Post as", + "Post_to": "Post to", + "Post_to_Channel": "Post to Channel", + "Post_to_s_as_s": "Post to %s as %s", + "post-readonly": "Post ReadOnly", + "post-readonly_description": "Permission to post a message in a read-only channel", + "Powered_by_JoyPixels": "Powered by JoyPixels", + "Powered_by_RocketChat": "Powered by Rocket.Chat", + "powers-of-ten": "powers of ten", + "powers-of-two": "powers of two", + "increments-of-two": "increments of two", + "Preferences": "Preferences", + "Preferences_saved": "Preferences saved", + "Preparing_data_for_import_process": "Preparing data for import process", + "Preparing_list_of_channels": "Preparing list of channels", + "Preparing_list_of_messages": "Preparing list of messages", + "Preparing_list_of_users": "Preparing list of users", + "Presence": "Presence", + "Preview": "Preview", + "preview-c-room": "Preview Public Channel", + "preview-c-room_description": "Permission to view the contents of a public channel before joining", + "Previous_month": "Previous Month", + "Previous_week": "Previous Week", + "Price": "Price", + "Priorities": "Priorities", + "Priority": "Priority", + "Priority_saved": "Priority saved", + "Priority_removed": "Priority removed", + "Priorities_restored": "Priorities restored", + "Privacy": "Privacy", + "Privacy_Policy": "Privacy Policy", + "Privacy_policy": "Privacy policy", + "Privacy_summary": "Privacy summary", + "Private": "Private", + "private": "private", + "Private_channels": "Private channels", + "Private_Apps": "Private Apps", + "Private_Channel": "Private Channel", + "Private_Channels": "Private channels", + "Private_Chats": "Private Chats", + "Private_Discussion": "Private discussion", + "Private_Group": "Private Group", + "Private_Groups": "Private groups", + "Private_Groups_list": "List of Private Groups", + "Private_Team": "Private Team", + "Productivity": "Productivity", + "Profile": "Profile", + "Profile_details": "Profile Details", + "Profile_picture": "Profile Picture", + "Profile_saved_successfully": "Profile saved successfully", + "Prometheus": "Prometheus", + "Prometheus_API_User_Agent": "API: Track User Agent", + "Prometheus_Garbage_Collector": "Collect NodeJS GC", + "Prometheus_Garbage_Collector_Alert": "Restart required to deactivate", + "Prometheus_Reset_Interval": "Reset Interval (ms)", + "Protocol": "Protocol", + "Prune": "Prune", + "Prune_finished": "Prune finished", + "Prune_Messages": "Prune Messages", + "Prune_Modal": "Are you sure you wish to prune these messages? Pruned messages cannot be recovered.", + "Prune_Warning_after": "This will delete all %s in %s after %s.", + "Prune_Warning_all": "This will delete all %s in %s!", + "Prune_Warning_before": "This will delete all %s in %s before %s.", + "Prune_Warning_between": "This will delete all %s in %s between %s and %s.", + "Pruning_files": "Pruning files...", + "Pruning_messages": "Pruning messages...", + "Public": "Public", + "public": "public", + "Public_Channel": "Public Channel", + "Public_Channels": "Public channels", + "Public_Community": "Public Community", + "Public_URL": "Public URL", + "Purchase_for_free": "Purchase for FREE", + "Purchase_for_price": "Purchase for $%s", + "Purchased": "Purchased", + "Push": "Push", + "Push_Description": "Enable and configure push notifications for workspace members using mobile devices.", + "Push_Notifications": "Push Notifications", + "Push_apn_cert": "APN Cert", + "Push_apn_dev_cert": "APN Dev Cert", + "Push_apn_dev_key": "APN Dev Key", + "Push_apn_dev_passphrase": "APN Dev Passphrase", + "Push_apn_key": "APN Key", + "Push_apn_passphrase": "APN Passphrase", + "Push_enable": "Enable", + "Push_UseLegacy": "Use legacy notification provider", + "Push_Setting_Legacy_Warning": "The legacy notification provider will be deprecated after June 20, 2024. See: https://firebase.google.com/support/faq#fcm-23-deprecation", + "Push_enable_gateway": "Enable Gateway", + "Push_enable_gateway_Description": "**Warning:** You need to accept to register your server (Setup Wizard > Organization Info > Register Server) and our privacy terms (Setup Wizard > Cloud Info > Cloud Service Privacy Terms Agreement) to enabled this setting and use our gateway. Even if this setting is on it **won't** work if the server isn't registered.", + "Push_gateway": "Gateway", + "Push_gateway_description": "Multiple lines can be used to specify multiple gateways", + "Push_gcm_api_key": "GCM API Key", + "Push_google_api_credentials": "Google FCM API Credentials", + "Push_gcm_project_number": "GCM Project Number", + "Push_production": "Production", + "Push_request_content_from_server": "Hide message content from Apple and Google (and the Gateway, if enabled)", + "Push_request_content_from_server_Description": "Instead of exposing the message content to Apple/Google by including it in the push notification data, push only a message id. The mobile client will dynamically fetch the content from the server and update the notification before displaying it. In the event of an API error, it will display “You have a new message”. This setting takes effect only on a Premium plan.", + "Push_Setting_Requires_Restart_Alert": "Changing this value requires restarting Rocket.Chat.", + "Push_show_message": "Show Message in Notification", + "Push_show_username_room": "Show Channel/Group/Username in Notification", + "Push_test_push": "Test", + "Query": "Query", + "Query_description": "Additional conditions for determining which users to send the email to. Unsubscribed users are automatically removed from the query. It must be a valid JSON. Example: \"{\"createdAt\":{\"$gt\":{\"$date\": \"2015-01-01T00:00:00.000Z\"}}}\"", + "Query_is_not_valid_JSON": "Query is not valid JSON", + "Queue": "Queue", + "Queued": "Queued", + "Queues": "Queues", + "Queue_delay_timeout": "Queue processing delay timeout", + "Queue_Time": "Queue Time", + "Queue_management": "Queue Management", + "Quick_reactions": "Quick reactions", + "Quick_reactions_description": "The three most used reactions get an easy access while your mouse is over the message", + "quote": "quote", + "Quote": "Quote", + "Random": "Random", + "Rate Limiter": "Rate Limiter", + "Rate Limiter_Description": "Control the rate of requests sent or received by your server to prevent cyber attacks and scraping.", + "Rate_Limiter_Limit_RegisterUser": "Default number calls to the rate limiter for registering a user", + "Rate_Limiter_Limit_RegisterUser_Description": "Number of default calls for user registering endpoints(REST and real-time API's), allowed within the time range defined in the API Rate Limiter section.", + "React_when_read_only": "Allow reacting", + "React_when_read_only_changed_successfully": "Allow reacting when read only changed successfully", + "React_with__reaction__": "Reacted with {{reaction}}", + "Reacted_with": "Reacted with", + "Reactions": "Reactions", + "Read_by": "Read by", + "Read_only": "Read-only", + "Read_only_field_hint_enabled": "Only {{roomType}} owners can send new messages", + "Read_only_field_hint_disabled": "Anyone can send new messages", + "Read_Receipts": "Read receipts", + "Readability": "Readability", + "This_room_is_read_only": "This room is read only", + "Only_people_with_permission_can_send_messages_here": "Only people with permission can send messages here", + "Read_only_changed_successfully": "Read only changed successfully", + "Read_only_channel": "Read Only Channel", + "Read_only_group": "Read Only Group", + "Real_Estate": "Real Estate", + "Real_Time_Monitoring": "Real-time Monitoring", + "RealName_Change_Disabled": "Your Rocket.Chat administrator has disabled the changing of names", + "Reason_for_joining": "Reason for joining", + "Reason_To_Join": "Reason to Join", + "Receive_alerts": "Receive alerts", + "Receive_Group_Mentions": "Receive @all and @here mentions", + "Receive_login_notifications": "Receive login notifications", + "Receive_Login_Detection_Emails": "Receive login detection emails", + "Receive_Login_Detection_Emails_Description": "Receive an email each time a new login is detected on your account.", + "Recent_Import_History": "Recent Import History", + "Record": "Record", + "Records": "Records", + "recording": "recording", + "Redirect_URI": "Redirect URI", + "Redirect_URL_does_not_match": "Redirect URL does not match", + "Refresh": "Refresh", + "Refresh_keys": "Refresh keys", + "Refresh_oauth_services": "Refresh OAuth Services", + "Refresh_your_page_after_install_to_enable_screen_sharing": "Refresh your page after install to enable screen sharing", + "Refreshing": "Refreshing", + "Regenerate_codes": "Regenerate codes", + "Regexp_validation": "Validation by regular expression", + "Register": "Register", + "Register_new_account": "Register a new account", + "Register_Server": "Register Server", + "Register_Server_Info": "Use the preconfigured gateways and proxies provided by Rocket.Chat Technologies Corp.", + "Register_Server_Opt_In": "Product and Security Updates", + "Register_Server_Registered": "Register to access", + "Register_Server_Registered_I_Agree": "I agree with the", + "Register_Server_Registered_Livechat": "Livechat omnichannel proxy", + "Register_Server_Registered_Marketplace": "Apps Marketplace", + "Register_Server_Registered_OAuth": "OAuth proxy for social network", + "Register_Server_Registered_Push_Notifications": "Mobile push notifications gateway", + "Register_Server_Standalone": "Keep standalone, you'll need to", + "Register_Server_Standalone_Own_Certificates": "Recompile the mobile apps with your own certificates", + "Register_Server_Standalone_Service_Providers": "Create accounts with service providers", + "Register_Server_Standalone_Update_Settings": "Update the preconfigured settings", + "Register_Server_Terms_Alert": "Please agree to terms to complete registration", + "register-on-cloud": "Register On Cloud", + "register-on-cloud_description": "Permission to register on cloud", + "Registration": "Registration", + "Registration_status": "Registration status", + "Registration_Succeeded": "Registration Succeeded", + "Registration_via_Admin": "Registration via Admin", + "Regular_Expressions": "Regular Expressions", + "Reject_call": "Reject call", + "Release": "Release", + "Releases": "Releases", + "Religious": "Religious", + "Reload": "Reload", + "Reload_page": "Reload Page", + "Reload_Pages": "Reload Pages", + "Remember_my_credentials": "Remember my credentials", + "Remove": "Remove", + "Remove_Admin": "Remove Admin", + "Remove_Association": "Remove Association", + "Remove_as_leader": "Remove as leader", + "Remove_as_moderator": "Remove as moderator", + "Remove_as_owner": "Remove as owner", + "remove-canned-responses": "Remove Canned Responses", + "remove-canned-responses_description": "Permission to remove canned responses", + "Remove_Channel_Links": "Remove channel links", + "Remove_custom_oauth": "Remove custom OAuth", + "Remove_from_room": "Remove from room", + "Remove_from_team": "Remove from team", + "Remove_last_admin": "Removing last admin", + "Remove_someone_from_room": "Remove someone from the room", + "remove-closed-livechat-room": "Remove Closed Omnichannel Room", + "remove-closed-livechat-room_description": "Permission to remove closed omnichannel room", + "remove-closed-livechat-rooms": "Remove All Closed Omnichannel Rooms", + "remove-closed-livechat-rooms_description": "Permission to remove all closed omnichannel rooms", + "remove-livechat-department": "Remove Omnichannel Departments", + "remove-livechat-department_description": "Permission to remove omnichannel departments", + "remove-slackbridge-links": "Remove Slackbridge Links", + "remove-slackbridge-links_description": "Permission to remove slackbridge links", + "remove-team-channel": "Remove Team Channel", + "remove-team-channel_description": "Permission to remove a team's channel", + "remove-user": "Remove User", + "remove-user_description": "Permission to remove a user from a room", + "Removed": "Removed", + "Removed_User": "Removed User", + "Removed__roomName__from_this_team": "removed #{{roomName}} from this Team", + "Removed__username__from_team": "removed @{{user_removed}} from this Team", + "Removed__roomName__from_the_team": "removed #{{roomName}} from this team", + "Removed__username__from_the_team": "removed @{{user_removed}} from this team", + "Replay": "Replay", + "Replied_on": "Replied on", + "Replies": "Replies", + "Reply": "Reply", + "Reply_in_direct_message": "Reply in direct message", + "Reply_in_thread": "Reply in thread", + "Reply_via_Email": "Reply via email", + "ReplyTo": "Reply-To", + "Report": "Report", + "Reports": "Reports", + "Report_Abuse": "Report Abuse", + "Reported_Messages": "Reported messages", + "Reported_Users": "Reported users", + "Report_exclamation_mark": "Report!", + "Report_has_been_sent": "Report has been sent", + "Report_Number": "Report Number", + "Report_this_message_question_mark": "Report this message?", + "Report_User": "Report user", + "Reporting": "Reporting", + "Request": "Request", + "Request_comment_when_closing_conversation": "Request comment when closing conversation", + "Request_comment_when_closing_conversation_description": "If enabled, the agent will need to set a comment before the conversation is closed.", + "Request_tag_before_closing_chat": "Request tag(s) before closing conversation", + "request": "request", + "requests": "requests", + "Requests": "Requests", + "Search_Enterprise_Apps": "Search Enterprise apps", + "Requested": "Requested", + "Requested_apps_will_appear_here": "Requested apps will appear here", + "request-pdf-transcript": "Request PDF Transcript", + "request-pdf-transcript_description": "Permission to request a PDF transcript for a given Omnichannel room", + "Requested_At": "Requested At", + "Requested_By": "Requested By", + "Require": "Require", + "Required": "Required", + "required": "required", + "Require_all_tokens": "Require all tokens", + "Require_any_token": "Require any token", + "Require_password_change": "Require password change", + "Require_Two_Factor_Authentication": "Require Two Factor Authentication", + "Resend_verification_email": "Resend verification email", + "Resend_welcome_email": "Resend welcome email", + "Reset": "Reset", + "Reset_priorities": "Reset priorities", + "Reset_Connection": "Reset Connection", + "Reset_E2E_Key": "Reset E2E Key", + "Reset_password": "Reset password", + "Reset_section_settings": "Restore defaults", + "Reset_TOTP": "Reset TOTP", + "reset-other-user-e2e-key": "Reset Other User E2E Key", + "Responding": "Responding", + "Response_description_post": "Empty bodies or bodies with an empty text property will simply be ignored. Non-200 responses will be retried a reasonable number of times. A response will be posted using the alias and avatar specified above. You can override these informations as in the example above.", + "Response_description_pre": "If the handler wishes to post a response back into the channel, the following JSON should be returned as the body of the response:", + "Restart": "Restart", + "Restart_the_server": "Restart The Server", + "restart-server": "Restart the server", + "restart-server_description": "Permission to restart the server", + "Results": "Results", + "Resume": "Resume", + "Retail": "Retail", + "Retention_setting_changed_successfully": "Retention policy setting changed successfully", + "RetentionPolicy": "Retention Policy", + "RetentionPolicy_Advanced_Precision": "Use Advanced Retention Policy configuration", + "RetentionPolicy_Advanced_Precision_Cron": "Use Advanced Retention Policy Cron", + "RetentionPolicy_Advanced_Precision_Cron_Description": "How often the prune timer should run defined by cron job expression. Setting this to a more precise value makes channels with fast retention timers work better, but might cost extra processing power on large communities.", + "RetentionPolicy_AppliesToChannels": "Prune in public rooms", + "RetentionPolicy_AppliesToChannels_Description": "Includes public channels, discussions and teams.", + "RetentionPolicy_AppliesToDMs": "Prune in direct messages", + "RetentionPolicy_AppliesToGroups": "Prune in private rooms", + "RetentionPolicy_AppliesToGroups_Description": "Includes private channels, discussions and teams.", + "RetentionPolicy_Description": "Automatically prune old messages and files across your workspace.", + "RetentionPolicy_DoNotPruneDiscussion": "Do not prune discussion messages", + "RetentionPolicy_DoNotPrunePinned": "Do not prune pinned messages", + "RetentionPolicy_DoNotPruneThreads": "Do not prune Threads", + "RetentionPolicy_Enabled": "Enabled", + "RetentionPolicy_ExcludePinned": "Exclude pinned messages", + "RetentionPolicy_FilesOnly": "Only delete files", + "RetentionPolicy_FilesOnly_Description": "Only files will be deleted, the messages themselves will stay in place.", + "RetentionPolicy_MaxAge": "Maximum message age", + "RetentionPolicy_TTL_Channels": "Prune messages older than", + "RetentionPolicy_TTL_DMs": "Prune messages older than", + "RetentionPolicy_TTL_Groups": "Prune messages older than", + "RetentionPolicy_MaxAge_Channels": "Maximum message age in channels", + "RetentionPolicy_MaxAge_Description": "Prune all messages older than this value, in days", + "RetentionPolicy_MaxAge_DMs": "Maximum message age in direct messages", + "RetentionPolicy_MaxAge_Groups": "Maximum message age in private groups", + "RetentionPolicy_Precision": "Timer Precision", + "RetentionPolicy_Precision_Description": "How often the prune timer should run. Setting this to a more precise value makes channels with fast retention timers work better, but might cost extra processing power on large communities.", + "RetentionPolicy_RoomWarning_NextRunDate": "Messages older than {{maxAge}} will be pruned on {{nextRunDate}}", + "RetentionPolicy_RoomWarning_FilesOnly_NextRunDate": "Files older than {{maxAge}} will be pruned on {{nextRunDate}}.", + "RetentionPolicy_RoomWarning_Unpinned_NextRunDate": "Unpinned messages older than {{maxAge}} will be pruned on {{nextRunDate}}.", + "RetentionPolicy_RoomWarning_UnpinnedFilesOnly_NextRunDate": "Unpinned files older than {{maxAge}} will be pruned on {{nextRunDate}}.", + "RetentionPolicyRoom_Enabled": "Automatically prune old messages", + "RetentionPolicyRoom_ExcludePinned": "Exclude pinned messages", + "RetentionPolicyRoom_FilesOnly": "Prune files only, keep messages", + "RetentionPolicyRoom_MaxAge": "Maximum message age in days (default: {{max}})", + "RetentionPolicyRoom_OverrideGlobal": "Override global retention policy", + "RetentionPolicyRoom_ReadTheDocs": "Watch out! Tweaking these settings without utmost care can destroy all message history. Please read the documentation before turning the feature on here.", + "Retention_policy_warning_banner": "Retention policy warning banner", + "Retention_policy_warning_callout": "Retention policy warning callout", + "Retry": "Retry", + "Return_to_home": "Return to home", + "Return_to_previous_page": "Return to previous page", + "Return_to_the_queue": "Return back to the Queue", + "Review_devices": "Review when and where devices are connecting from", + "Ringing": "Ringing", + "Ringtones_and_visual_indicators_notify_people_of_incoming_calls": "Ringtones and visual indicators notify people of incoming calls.", + "Right": "Right", + "Robot_Instructions_File_Content": "Robots.txt File Contents", + "Root": "Root", + "Required_action": "Required action", + "Default_Referrer_Policy": "Default Referrer Policy", + "Default_Referrer_Policy_Description": "This controls the 'referrer' header that's sent when requesting embedded media from other servers. For more information, refer to [this link from MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy). Remember, a full page refresh is required for this to take effect", + "No_feature_to_preview": "No feature to preview", + "No_Referrer": "No Referrer", + "No_Referrer_When_Downgrade": "No referrer when downgrade", + "Notes": "Notes", + "Origin": "Origin", + "Origin_When_Cross_Origin": "Origin when cross origin", + "Same_Origin": "Same origin", + "Strict_Origin": "Strict origin", + "Strict_Origin_When_Cross_Origin": "Strict origin when cross origin", + "UIKit_Interaction_Timeout": "App has failed to respond. Please try again or contact your admin", + "Unsafe_Url": "Unsafe URL", + "Rocket_Chat_Alert": "Rocket.Chat Alert", + "Role": "Role", + "Roles": "Roles", + "Role_Editing": "Role Editing", + "Role_Mapping": "Role mapping", + "Role_removed": "Role removed", + "Room": "Room", + "room_allowed_reacting": "Room allowed reacting by {{user_by}}", + "room_allowed_reactions": "allowed reactions", + "Room_announcement_changed_successfully": "Room announcement changed successfully", + "Room_archivation_state": "State", + "Room_archivation_state_false": "Active", + "Room_archivation_state_true": "Archived", + "Room_archived": "Room archived", + "room_changed_announcement": "Room announcement changed to: {{room_announcement}} by {{user_by}}", + "room_changed_avatar": "Room avatar changed by {{user_by}}", + "room_avatar_changed": "changed room avatar", + "room_changed_description": "Room description changed to: {{room_description}} by {{user_by}}", + "room_changed_privacy": "Room type changed to: {{room_type}} by {{user_by}}", + "room_changed_topic": "Room topic changed to: {{room_topic}} by {{user_by}}", + "room_changed_type": "changed room to {{room_type}}", + "room_changed_topic_to": "changed room topic to {{room_topic}}", + "Room_default_change_to_private_will_be_default_no_more": "This is a default channel and changing it to a private group will cause it to no longer be a default channel. Do you want to proceed?", + "Room_description_changed_successfully": "Room description changed successfully", + "room_disallowed_reacting": "Room disallowed reacting by {{user_by}}", + "room_disallowed_reactions": "disallowed reactions", + "Room_Edit": "Room Edit", + "Room_has_been_archived": "Room has been archived", + "Room_has_been_converted": "Room has been converted", + "Room_has_been_created": "Room has been created", + "Room_has_been_removed": "Room has been removed", + "Room_has_been_unarchived": "Room has been unarchived", + "Room_Info": "Room Information", + "room_is_blocked": "This room is blocked", + "room_account_deactivated": "This account is deactivated", + "room_is_read_only": "This room is read only", + "room_name": "room name", + "Room_name_changed": "Room name changed to: {{room_name}} by {{user_by}}", + "Room_name_changed_to": "changed room name to {{room_name}}", + "Room_name_changed_successfully": "Room name changed successfully", + "Room_not_exist_or_not_permission": "The room does not exist or you may not have access permission", + "Room_not_found": "Room not found", + "Room_password_changed_successfully": "Room password changed successfully", + "room_removed_read_only": "Room added writing permission by {{user_by}}", + "room_set_read_only": "Room set as Read Only by {{user_by}}", + "Room_Status_Open": "Open", + "room_removed_read_only_permission": "removed read only permission", + "room_set_read_only_permission": "set room to read only", + "Room_topic_changed_successfully": "Room topic changed successfully", + "Room_type_changed_successfully": "Room type changed successfully", + "Room_type_of_default_rooms_cant_be_changed": "This is a default room and the type can not be changed, please consult with your administrator.", + "Room_unarchived": "Room unarchived", + "Room_updated_successfully": "Room updated successfully!", + "Room_uploaded_file_list": "Files List", + "Room_uploaded_file_list_empty": "No files available.", + "Rooms": "Rooms", + "Rooms_added_successfully": "Rooms added successfully", + "Routing": "Routing", + "Run_only_once_for_each_visitor": "Run only once for each visitor", + "run-import": "Run Import", + "run-import_description": "Permission to run the importers", + "run-migration": "Run Migration", + "run-migration_description": "Permission to run the migrations", + "Running_Instances": "Running Instances", + "Runtime_Environment": "Runtime Environment", + "S_new_messages_since_s": "%s new messages since %s", + "S_new_messages": "%s new messages", + "Same_As_Token_Sent_Via": "Same as \"Token Sent Via\"", + "Same_Style_For_Mentions": "Same style for mentions", + "SAML": "SAML", + "SAML_Description": "Security Assertion Markup Language used for exchanging authentication and authorization data.", + "SAML_Allowed_Clock_Drift": "Allowed clock drift from Identity Provider", + "SAML_Allowed_Clock_Drift_Description": "The clock of the Identity Provider may drift slightly ahead of your system clocks. You can allow for a small amount of clock drift. Its value must be given in a number of milliseconds (ms). The value given is added to the current time at which the response is validated.", + "SAML_AuthnContext_Template": "AuthnContext Template", + "SAML_AuthnContext_Template_Description": "You can use any variable from the AuthnRequest Template here. \n \n To add additional authn contexts, duplicate the {{AuthnContextClassRef}} tag and replace the {{\\_\\_authnContext\\_\\}} variable with the new context.", + "SAML_AuthnRequest_Template": "AuthnRequest Template", + "SAML_AuthnRequest_Template_Description": "The following variables are available: \n- **\\_\\_newId\\_\\_**: Randomly generated id string \n- **\\_\\_instant\\_\\_**: Current timestamp \n- **\\_\\_callbackUrl\\_\\_**: The Rocket.Chat callback URL. \n- **\\_\\_entryPoint\\_\\_**: The value of the {{Custom Entry Point}} setting. \n- **\\_\\_issuer\\_\\_**: The value of the {{Custom Issuer}} setting. \n- **\\_\\_identifierFormatTag\\_\\_**: The contents of the {{NameID Policy Template}} if a valid {{Identifier Format}} is configured. \n- **\\_\\_identifierFormat\\_\\_**: The value of the {{Identifier Format}} setting. \n- **\\_\\_authnContextTag\\_\\_**: The contents of the {{AuthnContext Template}} if a valid {{Custom Authn Context}} is configured. \n- **\\_\\_authnContextComparison\\_\\_**: The value of the {{Authn Context Comparison}} setting. \n- **\\_\\_authnContext\\_\\_**: The value of the {{Custom Authn Context}} setting.", + "SAML_Connection": "Connection", + "SAML_Enterprise": "Premium", + "SAML_General": "General", + "SAML_Custom_Authn_Context": "Custom Authn Context", + "SAML_Custom_Authn_Context_Comparison": "Authn Context Comparison", + "SAML_Custom_Authn_Context_description": "Leave this empty to omit the authn context from the request. \n \n To add multiple authn contexts, add the additional ones directly to the {{AuthnContext Template}} setting.", + "SAML_Custom_Cert": "Custom Certificate", + "SAML_Custom_Debug": "Enable Debug", + "SAML_Custom_EMail_Field": "E-Mail field name", + "SAML_Custom_Entry_point": "Custom Entry Point", + "SAML_Custom_Generate_Username": "Generate Username", + "SAML_Custom_IDP_SLO_Redirect_URL": "IDP SLO Redirect URL", + "SAML_Custom_Immutable_Property": "Immutable field name", + "SAML_Custom_Immutable_Property_EMail": "E-Mail", + "SAML_Custom_Immutable_Property_Username": "Username", + "SAML_Custom_Issuer": "Custom Issuer", + "SAML_Custom_Logout_Behaviour": "Logout Behaviour", + "SAML_Custom_Logout_Behaviour_End_Only_RocketChat": "Only log out from Rocket.Chat", + "SAML_Custom_Logout_Behaviour_Terminate_SAML_Session": "Terminate SAML-session", + "SAML_Custom_mail_overwrite": "Overwrite user mail (use idp attribute)", + "SAML_Custom_name_overwrite": "Overwrite user fullname (use idp attribute)", + "SAML_Custom_Private_Key": "Private Key Contents", + "SAML_Custom_Provider": "Custom Provider", + "SAML_Custom_Public_Cert": "Public Cert Contents", + "SAML_Custom_signature_validation_all": "Validate All Signatures", + "SAML_Custom_signature_validation_assertion": "Validate Assertion Signature", + "SAML_Custom_signature_validation_either": "Validate Either Signature", + "SAML_Custom_signature_validation_response": "Validate Response Signature", + "SAML_Custom_signature_validation_type": "Signature Validation Type", + "SAML_Custom_signature_validation_type_description": "This setting will be ignored if no Custom Certificate is provided.", + "SAML_Custom_user_data_fieldmap": "User Data Field Map", + "SAML_Custom_user_data_fieldmap_description": "Configure how user account fields (like email) are populated from a record in SAML (once found). \nAs an example, `{\"name\":\"cn\", \"email\":\"mail\"}` will choose a person's human readable name from the cn attribute, and their email from the mail attribute. \nAvailable fields in Rocket.Chat: `name`, `email` and `username`, everything else will be discarted. \n`{\"email\": \"mail\",\"username\": {\"fieldName\": \"mail\",\"regex\": \"(.*)@.+$\",\"template\": \"user-regex\"}, \"name\": { \"fieldNames\": [\"firstName\", \"lastName\"], \"template\": \"{{firstName}} {{lastName}}\"}, \"{{identifier}}\": \"uid\"}`", + "SAML_Custom_user_data_custom_fieldmap": "User Data Custom Field Map", + "SAML_Custom_user_data_custom_fieldmap_description": "Configure how user custom fields are populated from a record in SAML (once found).", + "SAML_Custom_Username_Field": "Username field name", + "SAML_Custom_Username_Normalize": "Normalize username", + "SAML_Custom_Username_Normalize_Lowercase": "To Lowercase", + "SAML_Custom_Username_Normalize_None": "No normalization", + "SAML_Default_User_Role": "Default User Role", + "SAML_Default_User_Role_Description": "You can specify multiple roles, separating them with commas.", + "SAML_Identifier_Format": "Identifier Format", + "SAML_Identifier_Format_Description": "Leave this empty to omit the NameID Policy from the request.", + "SAML_LogoutRequest_Template": "Logout Request Template", + "SAML_LogoutRequest_Template_Description": "The following variables are available: \n- **\\_\\_newId\\_\\_**: Randomly generated id string \n- **\\_\\_instant\\_\\_**: Current timestamp \n- **\\_\\_idpSLORedirectURL\\_\\_**: The IDP Single LogOut URL to redirect to. \n- **\\_\\_issuer\\_\\_**: The value of the {{Custom Issuer}} setting. \n- **\\_\\_identifierFormat\\_\\_**: The value of the {{Identifier Format}} setting. \n- **\\_\\_nameID\\_\\_**: The NameID received from the IdP when the user logged in. \n- **\\_\\_sessionIndex\\_\\_**: The sessionIndex received from the IdP when the user logged in.", + "SAML_LogoutResponse_Template": "Logout Response Template", + "SAML_LogoutResponse_Template_Description": "The following variables are available: \n- **\\_\\_newId\\_\\_**: Randomly generated id string \n- **\\_\\_inResponseToId\\_\\_**: The ID of the Logout Request received from the IdP \n- **\\_\\_instant\\_\\_**: Current timestamp \n- **\\_\\_idpSLORedirectURL\\_\\_**: The IDP Single LogOut URL to redirect to. \n- **\\_\\_issuer\\_\\_**: The value of the {{Custom Issuer}} setting. \n- **\\_\\_identifierFormat\\_\\_**: The value of the {{Identifier Format}} setting. \n- **\\_\\_nameID\\_\\_**: The NameID received from the IdP Logout Request. \n- **\\_\\_sessionIndex\\_\\_**: The sessionIndex received from the IdP Logout Request.", + "SAML_Metadata_Certificate_Template_Description": "The following variables are available: \n- **\\_\\_certificate\\_\\_**: The private certificate for assertion encryption.", + "SAML_Metadata_Template": "Metadata Template", + "SAML_Metadata_Template_Description": "The following variables are available: \n- **\\_\\_sloLocation\\_\\_**: The Rocket.Chat Single LogOut URL. \n- **\\_\\_issuer\\_\\_**: The value of the {{Custom Issuer}} setting. \n- **\\_\\_identifierFormat\\_\\_**: The value of the {{Identifier Format}} setting. \n- **\\_\\_certificateTag\\_\\_**: If a private certificate is configured, this will include the {{Metadata Certificate Template}}, otherwise it will be ignored. \n- **\\_\\_callbackUrl\\_\\_**: The Rocket.Chat callback URL.", + "SAML_MetadataCertificate_Template": "Metadata Certificate Template", + "SAML_NameIdPolicy_Template": "NameID Policy Template", + "SAML_NameIdPolicy_Template_Description": "You can use any variable from the Authorize Request Template here.", + "SAML_Role_Attribute_Name": "Role Attribute Name", + "SAML_Role_Attribute_Name_Description": "If this attribute is found on the SAML response, it's values will be used as role names for new users.", + "SAML_Role_Attribute_Sync": "Sync User Roles", + "SAML_Role_Attribute_Sync_Description": "Sync SAML user roles on login (overwrites local user roles).", + "SAML_Section_1_User_Interface": "User Interface", + "SAML_Section_2_Certificate": "Certificate", + "SAML_Section_3_Behavior": "Behavior", + "SAML_Section_4_Roles": "Roles", + "SAML_Section_5_Mapping": "Mapping", + "SAML_Section_6_Advanced": "Advanced", + "SAML_Custom_channels_update": "Update Room Subscriptions on Each Login", + "SAML_Custom_channels_update_description": "Ensures user is a member of all channels in SAML assertion on every login.", + "SAML_Custom_include_private_channels_update": "Include Private Rooms in Room Subscription", + "SAML_Custom_include_private_channels_update_description": "Adds user to any private rooms that exist in the SAML assertion.", + "Saturday": "Saturday", + "Save": "Save", + "Save_changes": "Save changes", + "Save_E2EE_password": "Save E2EE password", + "Save_Mobile_Bandwidth": "Save Mobile Bandwidth", + "Save_to_enable_this_action": "Save to enable this action", + "Save_To_Webdav": "Save to WebDAV", + "Save_user": "Save user", + "Save_your_encryption_password": "Save your encryption password", + "Save_your_encryption_password_to_access": "Save your end-to-end encryption password to access", + "save-all-canned-responses": "Save All Canned Responses", + "save-all-canned-responses_description": "Permission to save all canned responses", + "save-canned-responses": "Save Canned Responses", + "save-canned-responses_description": "Permission to save canned responses", + "save-department-canned-responses": "Save Department Canned Responses", + "save-department-canned-responses_description": "Permission to save department canned responses", + "save-others-livechat-room-info": "Save Others Omnichannel Room Info", + "save-others-livechat-room-info_description": "Permission to save information from other omnichannel rooms", + "Saved": "Saved", + "Saving": "Saving", + "Scan_QR_code": "Using an authenticator app like Google Authenticator, Authy or Duo, scan the QR code. It will display a 6 digit code which you need to enter below.", + "Scan_QR_code_alternative_s": "If you can't scan the QR code, you may enter code manually instead:", + "Scope": "Scope", + "Score": "Score", + "Screen_Lock": "Screen Lock", + "Screen_Share": "Screen Share", + "Script": "Script", + "Script_Enabled": "Script Enabled", + "Script_Engine": "Script Sandbox", + "Script_Engine_Description": "Older scripts may require the compatible sandbox to run properly, but all new scripts should try to use the secure sandbox instead.", + "Script_Engine_vm2": "Compatible Sandbox (Deprecated)", + "Script_Engine_isolated_vm": "Secure Sandbox", + "Search": "Search", + "Searchable": "Searchable", + "Search_Apps": "Search apps", + "Search_Installed_Apps": "Search installed apps", + "Search_Private_apps": "Search private apps", + "Search_Requested_Apps": "Search requested apps", + "Search_Premium_Apps": "Search Premium apps", + "Search_by_file_name": "Search by file name", + "Search_by_username": "Search by username", + "Search_by_category": "Search by category", + "Search_Channels": "Search Channels", + "Search_Chat_History": "Search Chat History", + "Search_current_provider_not_active": "Current Search Provider is not active", + "Search_Description": "Select workspace search provider and configure search related settings.", + "Search_Devices_Users": "Search devices or users", + "Search_Files": "Search Files", + "Search_for_a_more_general_term": "Search for a more general term", + "Search_for_a_more_specific_term": "Search for a more specific term", + "Search_Integrations": "Search Integrations", + "Search_message_search_failed": "Search request failed", + "Search_Messages": "Search Messages", + "Search_on_marketplace": "Search on Marketplace", + "Search_Page_Size": "Page Size", + "Search_Private_Groups": "Search Private Groups", + "Search_Provider": "Search Provider", + "Search_roles": "Search roles", + "Search_rooms": "Search rooms", + "Search_Rooms": "Search Rooms", + "Search_Users": "Search Users", + "Seats_Available": "{{seatsLeft, number}} Seats Available", + "MAC_Available": "{{macLeft, number}} MAC's Available", + "used_limit": "{{used, number}} / {{limit, number}}", + "used_limit_infinite": "{{used, number}} / ∞", + "Seats_usage": "Seats Usage", + "seconds": "seconds", + "Secret_token": "Secret Token", + "Secure_SaaS_solution": "Secure SaaS solution.", + "Security": "Security", + "See_all_themes": "See all themes", + "See_documentation": "See documentation", + "See_Paid_Plan": "See paid plan", + "See_Pricing": "See Pricing", + "See_full_profile": "See full profile", + "See_history": "See history", + "See_on_Engagement_Dashboard": "See on Engagement Dashboard", + "Select": "Select", + "Select_a_department": "Select a department", + "Select_a_room": "Select a room", + "Select_a_user": "Select a user", + "Select_a_webdav_server": "Select a WebDAV server", + "Select_an_avatar": "Select an avatar", + "Select_an_option": "Select an option", + "Select_at_least_one_user": "Select at least one user", + "Select_at_least_two_users": "Select at least two users", + "Select_department": "Select a department", + "Select_file": "Select file", + "Select_role": "Select a Role", + "Select_service_to_login": "Select a service to login to load your picture or upload one directly from your computer", + "Select_tag": "Select a tag", + "Select_the_channels_you_want_the_user_to_be_removed_from": "Select the channels you want the user to be removed from", + "Select_the_teams_channels_you_would_like_to_delete": "Select the Team’s Channels you would like to delete, the ones you do not select will be moved to the Workspace.", + "Select_atleast_one_channel_to_forward_the_messsage_to": "Select at least one channel to forward the message to", + "Select_user": "Select user", + "Select_users": "Select users", + "Select_period": "Select period", + "Selected_agents": "Selected agents", + "Selected_by_default": "Selected by default", + "Selected_departments": "Selected Departments", + "Selected_first_reply_unselected_following_replies": "Selected for first reply, unselected for following replies", + "Selected_monitors": "Selected Monitors", + "Selecting_users": "Selecting users", + "Send": "Send", + "Send_a_message": "Send a message", + "Send_a_message_external_service": "Send a message (external service)", + "Send_a_test_mail_to_my_user": "Send a test mail to my user", + "Send_a_test_push_to_my_user": "Send a test push to my user", + "Send_confirmation_email": "Send confirmation email", + "Send_data_into_RocketChat_in_realtime": "Send data into Rocket.Chat in real-time.", + "Send_email": "Send Email", + "Send_Email_SMTP_Warning": "Set up the SMTP server in email settings to enable.", + "Send_invitation_email": "Send invitation email", + "Send_invitation_email_error": "You haven't provided any valid email address.", + "Send_invitation_email_info": "You can send multiple email invitations at once.", + "Send_invitation_email_success": "You have successfully sent an invitation email to the following addresses:", + "Send_it_as_attachment_instead_question": "Send it as attachment instead?", + "Send_me_the_code_again": "Send me the code again", + "Send_request_on": "Send Request on", + "Send_request_on_agent_message": "Send Request on Agent Messages", + "Send_request_on_chat_close": "Send Request on Chat Close", + "Send_request_on_chat_queued": "Send request on Chat Queued", + "Send_request_on_chat_start": "Send Request on Chat Start", + "Send_request_on_chat_taken": "Send Request on Chat Taken", + "Send_request_on_forwarding": "Send Request on Forwarding", + "Send_request_on_lead_capture": "Send request on lead capture", + "Send_request_on_offline_messages": "Send Request on Offline Messages", + "Send_request_on_visitor_message": "Send Request on Visitor Messages", + "Send_Test": "Send Test", + "Send_Test_Email": "Send test email", + "Send_via_email": "Send via email", + "Send_via_Email_as_attachment": "Send via Email as attachment", + "Export_as_PDF": "Export as PDF", + "Export_enabled_at_the_end_of_the_conversation": "Export enabled at the end of the conversation", + "Send_Visitor_navigation_history_as_a_message": "Send Visitor Navigation History as a Message", + "Send_visitor_navigation_history_on_request": "Send Visitor Navigation History on Request", + "Send_welcome_email": "Send welcome email", + "Send_your_JSON_payloads_to_this_URL": "Send your JSON payloads to this URL.", + "send-mail": "Send Emails", + "send-mail_description": "Permission to send emails", + "send-many-messages": "Send Many Messages", + "send-many-messages_description": "Permission to bypasses rate limit of 5 messages per second", + "send-omnichannel-chat-transcript": "Send Omnichannel Conversation Transcript", + "send-omnichannel-chat-transcript_description": "Permission to send omnichannel conversation transcript", + "Sender": "Sender", + "Sender_Info": "Sender Info", + "Sending": "Sending...", + "Sending_Invitations": "Sending invitations", + "Sending_your_mail_to_s": "Sending your mail to %s", + "Sent_an_attachment": "Sent an attachment", + "Sent_from": "Sent from", + "Separate_multiple_words_with_commas": "Separate multiple words with commas", + "Served_By": "Served By", + "Server": "Server", + "Server_already_added": "Server already added", + "Server_doesnt_exist": "Server doesn't exist", + "Servers": "Servers", + "Server_Configuration": "Server Configuration", + "Server_File_Path": "Server File Path", + "Server_Folder_Path": "Server Folder Path", + "Server_Info": "Server Info", + "Server_name": "Server name", + "Server_Type": "Server Type", + "Service": "Service", + "Service_account_key": "Service account key", + "Service_fallback_message_hint": "External service is currently active. Leave the field empty if you do not wish to send the message after the timeout ends.", + "Set_as_favorite": "Set as favorite", + "Set_as_leader": "Set as leader", + "Set_as_moderator": "Set as moderator", + "Set_as_owner": "Set as owner", + "Upload_app": "Upload App", + "Set_randomly_and_send_by_email": "Set randomly and send by email", + "Set_random_password_and_send_by_email": "Set random password and send by email", + "set-leader": "Set Leader", + "set-leader_description": "Permission to set other users as leader of a channel", + "Set_manually": "Set manually", + "set-moderator": "Set Moderator", + "set-moderator_description": "Permission to set other users as moderator of a channel", + "set-owner": "Set Owner", + "set-owner_description": "Permission to set other users as owner of a channel", + "set-react-when-readonly": "Set React When ReadOnly", + "set-react-when-readonly_description": "Permission to set the ability to react to messages in a read only channel", + "set-readonly": "Set ReadOnly", + "set-readonly_description": "Permission to set a channel to read only channel", + "Settings": "Settings", + "Settings_updated": "Settings updated", + "Setup_SMTP": "Set up SMTP", + "Setup_Wizard": "Setup Wizard", + "Setup_Wizard_Description": "Basic info about your workspace such as organization name and country.", + "Setup_Wizard_Info": "We'll guide you through setting up your first admin user, configuring your organisation and registering your server to receive free push notifications and more.", + "Share": "Share", + "Share_Location_Title": "Share Location?", + "Share_screen": "Share screen", + "New_CannedResponse": "New Canned Response", + "Edit_CannedResponse": "Edit Canned Response", + "Sharing": "Sharing", + "Shared_Location": "Shared Location", + "Shared_Secret": "Shared Secret", + "Shortcut": "Shortcut", + "shortcut_name": "shortcut name", + "Should_be_a_URL_of_an_image": "Should be a URL of an image.", + "Should_exists_a_user_with_this_username": "The user must already exist.", + "Show_additional_fields": "Show additional fields", + "Show_agent_email": "Show agent email", + "Show_agent_info": "Show agent information", + "Show_all": "Show All", + "Show_Avatars": "Show Avatars", + "Show_counter": "Mark as unread", + "Show_default_content": "Show default content", + "Show_email_field": "Show email field", + "Show_mentions": "Show badge for mentions", + "Show_more": "Show more", + "Show_name_field": "Show name field", + "show_offline_users": "show offline users", + "Accept_receive_inquiry_no_online_agents": "Allow department to receive forwarded inquiries even when there's no available agents", + "Accept_receive_inquiry_no_online_agents_Hint": "This method is effective only with automatic assignment routing methods, and does not apply to Manual Selection.", + "Show_on_offline_page": "Show on offline page", + "Show_on_registration_page": "Show on registration page", + "Show_only_online": "Show Online Only", + "Show_Only_This_Content": "Show only this content", + "Show_preregistration_form": "Show Pre-registration Form", + "Show_queue_list_to_all_agents": "Show Queue List to All Agents", + "Show_room_counter_on_sidebar": "Show room counter on sidebar", + "Show_Setup_Wizard": "Show Setup Wizard", + "Show_the_keyboard_shortcut_list": "Show the keyboard shortcut list", + "Show_To_Workspace": "Show to workspace", + "Show_video": "Show video", + "Showing": "Showing", + "Showing_archived_results": "

Showing %s archived results

", + "Showing_current_of_total": "Showing {{current}} of {{total}}", + "Showing_online_users": "Showing: {{total_showing}}, Online: {{online}}, Total: {{total}} users", + "Showing_results": "

Showing %s results

", + "Showing_results_of": "Showing results %s - %s of %s", + "Show_usernames": "Show usernames", + "Show_roles": "Show roles", + "Show_or_hide_the_user_roles_of_message_authors": "Show or hide the user roles of message authors.", + "Show_or_hide_the_username_of_message_authors": "Show or hide the username of message authors.", + "Sidebar": "Sidebar", + "Sidebar_actions": "Sidebar actions", + "Sidebar_list_mode": "Sidebar Channel List Mode", + "Sign_in_to_start_talking": "Sign in to start talking", + "Sign_in_with__provider__": "Sign in with {{provider}}", + "since_creation": "since %s", + "Site_Name": "Site Name", + "Site_Url": "Site URL", + "Site_Url_Description": "Example: `https://chat.domain.com/`", + "Size": "Size", + "Skin_tone": "Skin tone", + "Skip": "Skip", + "Skip_to_main_content": "Skip to main content", + "SLA_Policy": "SLA Policy", + "SLA_Policies": "SLA Policies", + "SLA_removed": "SLA removed", + "Slack": "Slack", + "Slack_Users": "Slack's Users CSV", + "SlackBridge_APIToken": "API Tokens (Legacy)", + "SlackBridge_UseLegacy": "Use Legacy API Tokens", + "SlackBridge_APIToken_Description": "You can configure multiple slack servers by adding one API Token per line.", + "SlackBridge_BotToken": "Bot Tokens", + "SlackBridge_BotToken_Description": "You can configure multiple slack servers by adding one Bot Token per line.", + "SlackBridge_AppToken": "App Tokens", + "SlackBridge_AppToken_Description": "You can configure multiple slack servers by adding one App Token per line.", + "SlackBridge_SigningSecret": "Signing Secret", + "SlackBridge_SigningSecret_Description": "You can configure multiple slack servers by adding one signing secret per line.", + "Slackbridge_channel_links_removed_successfully": "The slackbridge channel links have been removed successfully.", + "SlackBridge_Description": "Enable Rocket.Chat to communicate directly with Slack.", + "SlackBridge_error": "SlackBridge got an error while importing your messages at %s: %s", + "SlackBridge_finish": "SlackBridge has finished importing the messages at %s. Please reload to view all messages.", + "SlackBridge_Out_All": "SlackBridge Out All", + "SlackBridge_Out_All_Description": "Send messages from all channels that exist in Slack and the bot has joined", + "SlackBridge_Out_Channels": "SlackBridge Out Channels", + "SlackBridge_Out_Channels_Description": "Choose which channels will send messages back to Slack", + "SlackBridge_Out_Enabled": "SlackBridge Out Enabled", + "SlackBridge_Out_Enabled_Description": "Choose whether SlackBridge should also send your messages back to Slack", + "SlackBridge_Remove_Channel_Links_Description": "Remove the internal link between Rocket.Chat channels and Slack channels. The links will afterwards be recreated based on the channel names.", + "SlackBridge_start": "@%s has started a SlackBridge import at `#%s`. We'll let you know when it's finished.", + "Slash_Gimme_Description": "Displays ༼ つ ◕_◕ ༽つ before your message", + "Slash_LennyFace_Description": "Displays ( ͡° ͜ʖ ͡°) after your message", + "Slash_Shrug_Description": "Displays ¯\\_(ツ)_/¯ after your message", + "Slash_Status_Description": "Set your status message", + "Slash_Status_Params": "Status message", + "Slash_Tableflip_Description": "Displays (╯°□°)╯︵ ┻━┻", + "Slash_TableUnflip_Description": "Displays ┬─┬ ノ( ゜-゜ノ)", + "Slash_Topic_Description": "Set topic", + "Slash_Topic_Params": "Topic message", + "Smarsh": "Smarsh", + "Smarsh_Description": "Configurations to preserve email communication.", + "Smarsh_Email": "Smarsh Email", + "Smarsh_Email_Description": "Smarsh Email Address to send the .eml file to.", + "Smarsh_Enabled": "Smarsh Enabled", + "Smarsh_Enabled_Description": "Whether the Smarsh eml connector is enabled or not (needs 'From Email' filled in under Email -> SMTP).", + "Smarsh_Interval": "Smarsh Interval", + "Smarsh_Interval_Description": "The amount of time to wait before sending the chats (needs 'From Email' filled in under Email -> SMTP).", + "Smarsh_MissingEmail_Email": "Missing Email", + "Smarsh_MissingEmail_Email_Description": "The email to show for a user account when their email address is missing, generally happens with bot accounts.", + "Smarsh_Timezone": "Smarsh Timezone", + "Smileys_and_People": "Smileys & People", + "SMS": "SMS", + "SMS_Description": "Enable and configure SMS gateways on your workspace.", + "SMS_Default_Omnichannel_Department": "Omnichannel Department (Default)", + "SMS_Default_Omnichannel_Department_Description": "If set, all new incoming chats initiated by this integration will be routed to this department. \nThis setting can be overwritten by passing department query param in the request. \ne.g. `https://{{SERVER_URL}}/api/v1/livechat/sms-incoming/twilio?department={{Department Id or Name}}`. \nNote: if you're using Department Name, then it should be URL safe.", + "SMS_Enabled": "SMS Enabled", + "SMS_Twilio_NotConfigured": "Twilio SMS is not configured yet. Go to Settings -> SMS to configure it", + "SMS_Twilio_InvalidCredentials": "Twilio SMS credentials are invalid, cannot send messages", + "SMTP": "SMTP", + "SMTP_Host": "SMTP Host", + "SMTP_Password": "SMTP Password", + "SMTP_Port": "SMTP Port", + "SMTP_Server_Not_Setup_Title": "SMTP server is not setup yet", + "SMTP_Server_Not_Setup_Description": "Set up your SMTP emailing server to start sending invites or add users manually", + "SMTP_Test_Button": "Test SMTP Settings", + "SMTP_Username": "SMTP Username", + "Snippet_Added": "Created on %s", + "Snippet_name": "Snippet name", + "Snippeted_a_message": "Created a snippet {{snippetLink}}", + "Social_Network": "Social Network", + "Some_ideas_to_get_you_started": "Some ideas to get you started", + "Something_went_wrong": "Something went wrong", + "Something_went_wrong_try_again_later": "Something went wrong, try again later.", + "Something_went_wrong_while_executing_command": "Something went wrong while executing command: `/{{command}}`", + "Sorry_page_you_requested_does_not_exist_or_was_deleted": "Sorry, page you requested does not exist or was deleted!", + "Sort": "Sort", + "Sort_By": "Sort by", + "Sorting_mechanism": "Sorting mechanism", + "Service_level_agreements": "Service level agreements", + "Sort_by_activity": "Sort by Activity", + "Sound": "Sound", + "Sounds": "Sounds", + "Sound_File_mp3": "Sound File (mp3)", + "Sound File": "Sound File", + "Source": "Source", + "Speakers": "Speakers", + "spy-voip-calls": "Spy Voip Calls", + "spy-voip-calls_description": "Permission to spy voip calls", + "SSL": "SSL", + "Star": "Star", + "Star_Message": "Star Message", + "Starred_Messages": "Starred Messages", + "Starred_messages_are_only_visible_to_you": "Starred messages are only visible to you", + "Start": "Start", + "Start_a_call": "Start a call", + "Start_a_call_in__roomName__": "Start a call in {{roomName}}", + "Start_a_call_with__roomName__": "Start a call with {{roomName}}", + "Start_a_free_trial": "Start a free trial", + "Start_audio_call": "Start audio call", + "Start_call": "Start call", + "Start_Chat": "Start Chat", + "Start_conference_call": "Start conference call", + "Start_free_trial": "Start free trial", + "Start_of_conversation": "Start of conversation", + "Start_OTR": "Start OTR", + "Start_video_call": "Start video call", + "Start_video_conference": "Start conference call?", + "Start_with_s_for_user_or_s_for_channel_Eg_s_or_s": "Start with %s for user or %s for channel. Eg: %s or %s", + "start-discussion": "Start Discussion", + "start-discussion_description": "Permission to start a discussion", + "start-discussion-other-user": "Start Discussion (Other-User)", + "start-discussion-other-user_description": "Permission to start a discussion, which gives permission to the user to create a discussion from a message sent by another user as well", + "Started": "Started", + "Started_a_video_call": "Started a Video Call", + "Started_At": "Started At", + "Statistics": "Statistics", + "Statistics_reporting": "Send Statistics to Rocket.Chat", + "Statistics_reporting_Description": "By sending your statistics, you'll help us identify how many instances of Rocket.Chat are deployed, as well as how good the system is behaving, so we can further improve it. Don't worry, as no user information is sent and all the information we receive is kept confidential.", + "Stats_Active_Guests": "Activated Guests", + "Stats_Active_Users": "Activated Users", + "Stats_App_Users": "Rocket.Chat App Users", + "Stats_Avg_Channel_Users": "Average Channel Users", + "Stats_Avg_Private_Group_Users": "Average Private Group Users", + "Stats_Away_Users": "Away Users", + "Stats_Max_Room_Users": "Max Rooms Users", + "Stats_Non_Active_Users": "Deactivated Users", + "Stats_Offline_Users": "Offline Users", + "Stats_Online_Users": "Online Users", + "Stats_Total_Active_Apps": "Total Active Apps", + "Stats_Total_Active_Incoming_Integrations": "Total Active Incoming Integrations", + "Stats_Total_Active_Outgoing_Integrations": "Total Active Outgoing Integrations", + "Stats_Total_Channels": "Channels", + "Stats_Total_Connected_Users": "Total Connected Users", + "Stats_Total_Direct_Messages": "Direct messages", + "Stats_Total_Incoming_Integrations": "Total Incoming Integrations", + "Stats_Total_Installed_Apps": "Total Installed Apps", + "Stats_Total_Integrations": "Total Integrations", + "Stats_Total_Integrations_With_Script_Enabled": "Total Integrations With Script Enabled", + "Stats_Total_Livechat_Rooms": "Omnichannel Rooms", + "Stats_Total_Messages": "Messages", + "Stats_Total_Messages_Channel": "In channels", + "Stats_Total_Messages_Direct": "In direct messages", + "Stats_Total_Messages_Livechat": "In omnichannel", + "Stats_Total_Messages_PrivateGroup": "In private groups", + "Stats_Total_Messages_Discussions": "In discussions", + "Stats_Total_Outgoing_Integrations": "Total Outgoing Integrations", + "Stats_Total_Private_Groups": "Private Groups", + "Stats_Total_Rooms": "Rooms", + "Stats_Total_Uploads": "Total Uploads", + "Stats_Total_Uploads_Size": "Total Uploads Size", + "Stats_Total_Users": "Total Users", + "Status": "Status", + "StatusMessage": "Status message", + "StatusMessage_Change_Disabled": "Your Rocket.Chat administrator has disabled the changing of status messages", + "StatusMessage_Changed_Successfully": "Status message changed successfully.", + "StatusMessage_Placeholder": "What are you doing right now?", + "StatusMessage_Too_Long": "Status message must be shorter than 120 characters.", + "Step": "Step", + "Stop_call": "Stop call", + "Stop_Recording": "Stop Recording", + "Store_Last_Message": "Store Last Message", + "Store_Last_Message_Sent_per_Room": "Store last message sent on each room.", + "Stream_Cast": "Stream Cast", + "Stream_Cast_Address": "Stream Cast Address", + "Stream_Cast_Address_Description": "IP or Host of your Rocket.Chat central Stream Cast. E.g. `192.168.1.1:3000` or `localhost:4000`", + "Strike": "Strike", + "Style": "Style", + "Subject": "Subject", + "Submit": "Submit", + "Subscribe": "Subscribe", + "Success": "Success", + "Success_message": "Success message", + "Successfully_downloaded_file_from_external_URL_should_start_preparing_soon": "Successfully downloaded file from external URL, should start preparing soon", + "Suggestion_from_recent_messages": "Suggestion from recent messages", + "Sunday": "Sunday", + "Support": "Support", + "Survey": "Survey", + "Survey_instructions": "Rate each question according to your satisfaction, 1 meaning you are completely unsatisfied and 5 meaning you are completely satisfied.", + "Symbols": "Symbols", + "Sync": "Sync", + "Sync / Import": "Sync / Import", + "Sync_in_progress": "Synchronization in progress", + "Sync_Interval": "Sync interval", + "Sync_success": "Sync success", + "Sync_Users": "Sync Users", + "sync-auth-services-users": "Sync authentication services' users", + "sync-auth-services-users_description": "Permission to sync authentication services' users", + "System_messages": "System Messages", + "system_message": "system message", + "Tag": "Tag", + "Tags": "Tags", + "Tag_removed": "Tag Removed", + "Tag_already_exists": "Tag already exists", + "Take_it": "Take it!", + "Take_rocket_chat_with_you_with_mobile_applications": "Take Rocket.Chat with you with mobile applications.", + "Taken_at": "Taken at", + "Talk_Time": "Talk Time", + "Talk_to_an_expert": "Talk to an expert", + "Talk_to_sales": "Talk to sales", + "Talk_to_your_workspace_administrator_about_enabling_video_conferencing": "Talk to your workspace administrator about enabling video conferencing", + "Talk_to_your_workspace_admin_to_address_this_issue": "Talk to your workspace admin to address this issue.", + "Target user not allowed to receive messages": "Target user not allowed to receive messages", + "TargetRoom": "Target Room", + "TargetRoom_Description": "The room where messages will be sent which are a result of this event being fired. Only one target room is allowed and it must exist.", + "Team": "Team", + "Team_Add_existing_channels": "Add Existing Channels", + "Team_Add_existing": "Add Existing", + "Team_Auto-join": "Auto-join", + "Team_Auto-join_exceeded_user_limit": "Auto-join has a limit of {{limit}} members, #{{channelName}} now has {{numberOfMembers}} members", + "Team_Auto-join_updated": "#{{channelName}} now has {{numberOfMembers}} members", + "Team_Channels": "Team Channels", + "Team_Delete_Channel_modal_content_danger": "This can’t be undone.", + "Team_Delete_Channel_modal_content": "Would you like to delete this Channel?", + "Team_has_been_created": "Team has been created", + "Team_has_been_deleted": "Team has been deleted", + "Team_Info": "Team Info", + "Team_Mapping": "Team Mapping", + "Team_Name": "Team Name", + "Team_Remove_from_team_modal_content": "Would you like to remove this Channel from {{teamName}}? The Channel will be moved back to the workspace.", + "Team_Remove_from_team": "Remove from team", + "Team_what_is_this_team_about": "What is this team about", + "Teams": "Teams", + "Teams_about_the_channels": "And about the Channels?", + "Teams_channels_didnt_leave": "You did not select the following Channels so you are not leaving them:", + "Teams_channels_last_owner_delete_channel_warning": "You are the last owner of this Channel. Once you convert the Team into a channel, the Channel will be moved to the Workspace.", + "Teams_channels_last_owner_leave_channel_warning": "You are the last owner of this Channel. Once you leave the Team, the Channel will be kept inside the Team but you will managing it from outside.", + "Teams_leaving_team": "You are leaving this Team.", + "Teams_channels": "Team channels", + "Teams_convert_channel_to_team": "Convert to Team", + "Teams_delete_team_choose_channels": "Select the Channels you would like to delete. The ones you decide to keep, will be available on your workspace.", + "Teams_delete_team_public_notice": "Notice that public Channels will still be public and visible to everyone.", + "Teams_delete_team_Warning": "Once you delete a Team, all chat content and configuration will be deleted.", + "Teams_delete_team": "You are about to delete this Team.", + "Teams_deleted_channels": "The following Channels are going to be deleted:", + "Teams_Errors_Already_exists": "The team `{{name}}` already exists.", + "Teams_Errors_team_name": "You can't use \"{{name}}\" as a team name.", + "Teams_move_channel_to_team": "Move to Team", + "Teams_move_channel_to_team_description_first": "Moving a Channel inside a Team means that this Channel will be added in the Team’s context, however, all Channel’s members, which are not members of the respective Team, will still have access to this Channel, but will not be added as Team’s members.", + "Teams_move_channel_to_team_description_second": "All Channel’s management will still be made by the owners of this Channel.", + "Teams_move_channel_to_team_description_third": "Team’s members and even Team’s owners, if not a member of this Channel, can not have access to the Channel’s content.", + "Teams_move_channel_to_team_description_fourth": "Please notice that the Team’s owner will be able to remove members from the Channel.", + "Teams_move_channel_to_team_confirm_description": "After reading the previous instructions about this behavior, do you want to move forward with this action?", + "Teams_New_Title": "Create team", + "Teams_new_description": "Teams allow a group of people to collaborate and can contain multiple channels.", + "Teams_New_Name_Label": "Name", + "Teams_Info": "Team info", + "Teams_kept_channels": "You did not select the following Channels so they will be moved to the Workspace:", + "Teams_kept__username__channels": "You did not select the following Channels so {{username}} will be kept on them:", + "Teams_leave_channels": "Select the Team’s Channels you would like to leave.", + "Teams_leave": "Leave Team", + "Teams_left_team_successfully": "Left the Team successfully", + "Teams_members": "Teams Members", + "Teams_New_Add_members_Label": "Members", + "Teams_New_Broadcast_Description": "Only team owners can write new messages but anyone can reply in a thread", + "Teams_New_Broadcast_Label": "Broadcast", + "Teams_New_Description_Label": "Topic", + "Teams_New_Description_Placeholder": "What is this team about", + "Teams_New_Encrypted_Description_Disabled": "Only available for private team", + "Teams_New_Encrypted_Description_Enabled": "End-to-end encrypted team. Search will not work with encrypted Teams and notifications may not show the messages content.", + "Teams_New_Encrypted_Label": "Encrypted", + "Teams_New_Private_Description_Disabled": "Anyone can access", + "Teams_New_Private_Description_Enabled": "People can only join by being invited", + "Teams_New_Private_Label": "Private", + "Teams_New_Read_only_Description": "All users in this team can write messages", + "Teams_Public_Team": "Public Team", + "Teams_Private_Team": "Private Team", + "Teams_removing_member": "Removing Member", + "Teams_removing__username__from_team": "You are removing {{username}} from this Team", + "Teams_removing__username__from_team_and_channels": "You are removing {{username}} from this Team and all its Channels.", + "Teams_Select_a_team": "Select a team", + "Teams_Search_teams": "Search Teams", + "Teams_New_Read_only_Label": "Read-only", + "Technology_Services": "Technology Services", + "Upgrade_tab_connection_error_description": "Looks like you have no internet connection. This may be because your workspace is installed on a fully-secured air-gapped server", + "Terms": "Terms", + "Terms_of_use": "Terms of use", + "Upgrade_tab_connection_error_restore": "Restore your connection to learn about features you are missing out on.", + "Test_Connection": "Test Connection", + "Upgrade_tab_go_fully_featured": "Go fully featured", + "Upgrade_tab_trial_guide": "Trial guide", + "Test_Desktop_Notifications": "Test Desktop Notifications", + "Test_LDAP_Search": "Test LDAP Search", + "test-admin-options": "Test options on admin panel", + "test-admin-options_description": "Permission to test options on admin panel such as LDAP login.", + "test-push-notifications": "Test push notifications", + "test-push-notifications_description": "Permission to test push notifications", + "Texts": "Texts", + "Text": "Text", + "Thank_you_for_your_feedback": "Thank you for your feedback", + "The_application_name_is_required": "The application name is required", + "The_application_will_be_able_to": "<1>{{appName}} will be able to:", + "The_channel_name_is_required": "The channel name is required", + "The_emails_are_being_sent": "The emails are being sent.", + "The_empty_room__roomName__will_be_removed_automatically": "The empty room {{roomName}} will be removed automatically.", + "The_field_is_required": "The field %s is required.", + "The_image_resize_will_not_work_because_we_can_not_detect_ImageMagick_or_GraphicsMagick_installed_in_your_server": "The image resize will not work because we can not detect ImageMagick or GraphicsMagick installed on your server.", + "The_message_is_a_discussion_you_will_not_be_able_to_recover": "The message is a discussion you will not be able to recover the messages!", + "The_mobile_notifications_were_disabled_to_all_users_go_to_Admin_Push_to_enable_the_Push_Gateway_again": "The mobile notifications were disabled to all users, go to \"Admin > Push\" to enable the Push Gateway again", + "The_necessary_browser_permissions_for_location_sharing_are_not_granted": "The necessary browser permissions for location sharing are not granted", + "The_peer__peer__does_not_exist": "The peer {{peer}} does not exist.", + "The_redirectUri_is_required": "The redirectUri is required", + "The_selected_user_is_not_a_monitor": "The selected user is not a monitor", + "The_selected_user_is_not_an_agent": "The selected user is not an agent", + "The_server_will_restart_in_s_seconds": "The server will restart in %s seconds", + "The_setting_s_is_configured_to_s_and_you_are_accessing_from_s": "The setting %s is configured to %s and you are accessing from %s!", + "The_user_s_will_be_removed_from_role_s": "The user %s will be removed from role %s", + "The_user_will_be_removed_from_s": "The user will be removed from %s", + "The_user_wont_be_able_to_type_in_s": "The user won't be able to type in %s", + "The_workspace_has_exceeded_the_monthly_limit_of_active_contacts": "The workspace has exceeded the monthly limit of active contacts.", + "Theme": "Theme", + "Themes": "Themes", + "Choose_theme_description": "Choose the interface appearance that best suits your needs.", + "theme-color-attention-color": "Attention Color", + "theme-color-component-color": "Component Color", + "theme-color-content-background-color": "Content Background Color", + "theme-color-custom-scrollbar-color": "Custom Scrollbar Color", + "theme-color-error-color": "Error Color", + "theme-color-info-font-color": "Info Font Color", + "theme-color-link-font-color": "Link Font Color", + "theme-color-pending-color": "Pending Color", + "theme-color-primary-action-color": "Primary Action Color", + "theme-color-primary-background-color": "Primary Background Color", + "theme-color-primary-font-color": "Primary Font Color", + "theme-color-rc-color-alert": "Alert", + "theme-color-rc-color-alert-light": "Alert Light", + "theme-color-rc-color-alert-message-primary": "Alert Message Primary", + "theme-color-rc-color-alert-message-primary-background": "Alert Message Primary Background", + "theme-color-rc-color-alert-message-secondary": "Alert Message Secondary", + "theme-color-rc-color-alert-message-secondary-background": "Alert Message Secondary Background", + "theme-color-rc-color-alert-message-warning": "Alert Message Warning", + "theme-color-rc-color-alert-message-warning-background": "Alert Message Warning Background", + "theme-color-rc-color-announcement-text": "Announcement Text Color", + "theme-color-rc-color-announcement-background": "Announcement Background Color", + "theme-color-rc-color-announcement-text-hover": "Announcement Text Color Hover", + "theme-color-rc-color-announcement-background-hover": "Announcement Background Color Hover", + "theme-color-rc-color-button-primary": "Button Primary", + "theme-color-rc-color-button-primary-light": "Button Primary Light", + "theme-color-rc-color-content": "Content", + "theme-color-rc-color-error": "Error", + "theme-color-rc-color-error-light": "Error Light", + "theme-color-rc-color-link-active": "Link Active", + "theme-color-rc-color-primary": "Primary", + "theme-color-rc-color-primary-background": "Primary Background", + "theme-color-rc-color-primary-dark": "Primary Dark", + "theme-color-rc-color-primary-darkest": "Primary Darkest", + "theme-color-rc-color-primary-light": "Primary Light", + "theme-color-rc-color-primary-light-medium": "Primary Light Medium", + "theme-color-rc-color-primary-lightest": "Primary Lightest", + "theme-color-rc-color-success": "Success", + "theme-color-rc-color-success-light": "Success Light", + "theme-color-secondary-action-color": "Secondary Action Color", + "theme-color-secondary-background-color": "Secondary Background Color", + "theme-color-secondary-font-color": "Secondary Font Color", + "theme-color-selection-color": "Selection Color", + "theme-color-status-away": "Away Status Color", + "theme-color-status-busy": "Busy Status Color", + "theme-color-status-offline": "Offline Status Color", + "theme-color-status-online": "Online Status Color", + "theme-color-success-color": "Success Color", + "theme-color-transparent-dark": "Transparent Dark", + "theme-color-transparent-darker": "Transparent Darker", + "theme-color-transparent-lightest": "Transparent Lightest", + "theme-color-unread-notification-color": "Unread Notifications Color", + "theme-custom-css": "Custom CSS", + "theme-font-body-font-family": "Body Font Family", + "There_are_no_agents_added_to_this_department_yet": "There are no agents added to this department yet.", + "There_are_no_applications": "No OAuth Applications have been added yet.", + "There_are_no_applications_installed": "There are currently no Rocket.Chat Applications installed.", + "There_are_no_available_monitors": "There are no available monitors", + "There_are_no_departments_added_to_this_tag_yet": "There are no departments added to this tag yet", + "There_are_no_departments_added_to_this_unit_yet": "There are no departments added to this unit yet", + "There_are_no_departments_available": "There are no departments available", + "There_are_no_integrations": "There are no integrations", + "There_are_no_monitors_added_to_this_unit_yet": "There are no monitors added to this unit yet", + "There_are_no_personal_access_tokens_created_yet": "There are no Personal Access Tokens created yet.", + "There_are_no_rooms_for_the_given_search_criteria": "There are no rooms for the given search criteria", + "There_are_no_users_in_this_role": "There are no users in this role.", + "There_is_no_video_conference_history_in_this_room": "There is no conference call history in this room", + "There_is_one_or_more_apps_in_an_invalid_state_Click_here_to_review": "There is one or more apps in an invalid state. Click here to review.", + "There_has_been_an_error_installing_the_app": "There has been an error installing the app", + "These_notes_will_be_available_in_the_call_summary": "These notes will be available in the call summary", + "This_agent_was_already_selected": "This agent was already selected", + "this_app_is_included_with_subscription": "This app is included with {{bundleName}} plans", + "This_cant_be_undone": "This can't be undone.", + "This_conversation_is_already_closed": "This conversation is already closed.", + "This_email_has_already_been_used_and_has_not_been_verified__Please_change_your_password": "This email has already been used and has not been verified. Please change your password.", + "This_feature_is_currently_in_alpha": "This feature is currently in alpha!", + "This_is_a_desktop_notification": "This is a desktop notification", + "This_is_a_deprecated_feature_alert": "This is a deprecated feature. It may not work as expected and will not get new updates.", + "Zapier_integration_has_been_deprecated": "The Zapier integration has been deprecated, may not work as expected and will not receive updates", + "Install_Zapier_from_marketplace": "Install the Zapier app from Marketplace to avoid disruptions", + "Input": "Input", + "This_is_a_push_test_messsage": "This is a push test message", + "This_message_was_rejected_by__peer__peer": "This message was rejected by {{peer}} peer.", + "This_monitor_was_already_selected": "This monitor was already selected", + "This_month": "This Month", + "This_room_has_been_archived_by__username_": "This room has been archived by {{username}}", + "This_room_has_been_unarchived_by__username_": "This room has been unarchived by {{username}}", + "This_room_has_been_archived": "archived room", + "This_room_has_been_unarchived": "unarchived room", + "This_server_will_be_available_while_your_session_is_active": "This server will be available while your session is active", + "This_week": "This Week", + "thread": "thread", + "thread_message": "thread message", + "Thread_message_list": "Thread message list", + "Thread_message": "Commented on *{{username}}'s* message: _ {{msg}} _", + "Threads": "Threads", + "Threads_Description": "Threads allow organized discussions around a specific message.", + "Threads_unavailable_for_federation": "Threads are unavailable for Federated rooms", + "Thursday": "Thursday", + "Time_in_minutes": "Time in minutes", + "Time_in_seconds": "Time in seconds", + "Timeout": "Timeout", + "Timeout_in_miliseconds": "Timeout (in miliseconds)", + "Timeout_in_miliseconds_cant_be_negative_number": "Timeout (in miliseconds) can't a negative number", + "Timeout_in_miliseconds_hint": "The time in milliseconds to wait for an external service to respond before canceling the request.", + "Timeouts": "Timeouts", + "Timezone": "Timezone", + "Title": "Title", + "Title_bar_color": "Title bar color", + "Title_bar_color_offline": "Title bar color offline", + "Title_offline": "Title offline", + "To": "To", + "To_additional_emails": "To additional emails", + "To_install_RocketChat_Livechat_in_your_website_copy_paste_this_code_above_the_last_body_tag_on_your_site": "To install Rocket.Chat Livechat in your website, copy & paste this code above the last </body> tag on your site.", + "To_prevent_seeing_this_message_again_allow_popups_from_workspace_URL": "To prevent seeing this message again, make sure your browser settings allow pop-ups to be opened from the workspace URL: ", + "to_see_more_details_on_how_to_integrate": "to see more details on how to integrate.", + "To_users": "To Users", + "Today": "Today", + "Toggle_original_translated": "Toggle original/translated", + "toggle-room-e2e-encryption": "Toggle Room E2E Encryption", + "toggle-room-e2e-encryption_description": "Permission to toggle e2e encryption room", + "Token": "Token", + "Token_Access": "Token Access", + "Token_Controlled_Access": "Token Controlled Access", + "Token_has_been_removed": "Token has been removed", + "Token_required": "Token required", + "Tokens_Minimum_Needed_Balance": "Minimum needed token balance", + "Tokens_Minimum_Needed_Balance_Description": "Set minimum needed balance on each token. Blank or \"0\" for not limit.", + "Tokens_Minimum_Needed_Balance_Placeholder": "Balance value", + "Tokens_Required": "Tokens required", + "Tokens_Required_Input_Description": "Type one or more tokens asset names separated by comma.", + "Tokens_Required_Input_Error": "Invalid typed tokens.", + "Tokens_Required_Input_Placeholder": "Tokens asset names", + "Topic": "Topic", + "Top_5_agents_with_the_most_conversations": "Top 5 agents with the most conversations", + "Total": "Total", + "Total_abandoned_chats": "Total Abandoned Chats", + "Total_conversations": "Total Conversations", + "Total_Discussions": "Discussions", + "Total_messages": "Total Messages", + "Total_rooms": "Total Rooms", + "Total_Threads": "Threads", + "Total_visitors": "Total Visitors", + "TOTP Invalid [totp-invalid]": "Code or password invalid", + "TOTP_reset_email": "Two Factor TOTP Reset Notification", + "TOTP_Reset_Other_Key_Warning": "Reset the current Two Factor TOTP will log out the user. The user will be able to set the Two Factor again later.", + "totp-disabled": "You do not have 2FA login enabled for your user", + "totp-invalid": "Code or password invalid", + "totp-required": "TOTP Required", + "totp-max-attempts": "Maximum OTP failed attempts reached. A new code will be generated.", + "Transcript": "Transcript", + "Transcript_Enabled": "Ask Visitor if They Would Like a Transcript After Chat Closed", + "Transcript_message": "Message to Show When Asking About Transcript", + "Transcript_of_your_livechat_conversation": "Transcript of your omnichannel conversation.", + "Transcript_Request": "Transcript Request", + "onboarding.form.registeredServerForm.continueStandalone": "Continue as standalone", + "transfer-livechat-guest": "Transfer Livechat Guests", + "transfer-livechat-guest_description": "Permission to transfer livechat guests", + "Transferred": "Transferred", + "Translate": "Translate", + "Translated": "Translated", + "Translate_to": "Translate to", + "Translations": "Translations", + "Travel_and_Places": "Travel & Places", + "Trigger_removed": "Trigger removed", + "Trigger_Words": "Trigger Words", + "Trigger": "Trigger", + "Triggers": "Triggers", + "Troubleshoot": "Troubleshoot", + "Troubleshoot_Description": "Configure how troubleshooting is handled on your workspace.", + "Troubleshoot_Disable_Data_Exporter_Processor": "Disable Data Exporter Processor", + "Troubleshoot_Disable_Data_Exporter_Processor_Alert": "This setting stops the processing of all export requests from users, so they will not receive the link to download their data!", + "Troubleshoot_Disable_Instance_Broadcast": "Disable Instance Broadcast", + "Troubleshoot_Disable_Instance_Broadcast_Alert": "This setting prevents the Rocket.Chat instances from sending events to the other instances, it may cause syncing problems and misbehavior!", + "Troubleshoot_Disable_Livechat_Activity_Monitor": "Disable Livechat Activity Monitor", + "Troubleshoot_Disable_Livechat_Activity_Monitor_Alert": "This setting stops the processing of livechat visitor sessions causing the statistics to stop working correctly!", + "Troubleshoot_Disable_Notifications": "Disable Notifications", + "Troubleshoot_Disable_Notifications_Alert": "This setting completely disables the notifications system; sounds, desktop notifications, mobile notifications, and emails will stop!", + "Troubleshoot_Disable_Presence_Broadcast": "Disable Presence Broadcast", + "Troubleshoot_Disable_Presence_Broadcast_Alert": "This setting prevents all instances form sending the status changes of the users to their clients keeping all the users with their presence status from the first load!", + "Troubleshoot_Disable_Sessions_Monitor": "Disable Sessions Monitor", + "Troubleshoot_Disable_Sessions_Monitor_Alert": "This setting stops the processing of user sessions causing the statistics to stop working correctly!", + "Troubleshoot_Disable_Teams_Mention": "Disable Teams mention", + "Troubleshoot_Disable_Teams_Mention_Alert": "This setting disables the teams mention feature. User's won't be able to mention a Team by name in a message and get its members notified.", + "Troubleshoot_Force_Caching_Version": "Force browsers to clear networking cache based on version change", + "Troubleshoot_Force_Caching_Version_Alert": "If the value provided is not empty and different from previous one the browsers will try to clear the cache. This setting should not be set for a long period since it affects the browser performance, please clear it as soon as possible.", + "True": "True", + "Try_now": "Try now", + "Try_searching_in_the_marketplace_instead": "Try searching in the Marketplace instead", + "Tuesday": "Tuesday", + "Turn_OFF": "Turn OFF", + "Turn_ON": "Turn ON", + "Turn_on_video": "Turn on video", + "Turn_on_answer_chats": "Turn on answer chats", + "Turn_on_answer_calls": "Turn on answer calls", + "Turn_on_microphone": "Turn on microphone", + "Turn_off_microphone": "Turn off microphone", + "Turn_off_answer_chats": "Turn off answer chats", + "Turn_off_answer_calls": "Turn off answer calls", + "Turn_off_video": "Turn off video", + "Two Factor Authentication": "Two Factor Authentication", + "Two-factor_authentication": "Two-factor authentication", + "Two-factor_authentication_via_TOTP": "Two-factor authentication via TOTP", + "Two-factor_authentication_disabled": "Two-factor authentication disabled", + "Two-factor_authentication_email": "Two-factor authentication via email", + "Two-factor_authentication_email_is_currently_disabled": "Two-factor authentication via Email is currently disabled", + "Two-factor_authentication_enabled": "Two-factor authentication enabled", + "Two-factor_authentication_is_currently_disabled": "Two-factor authentication via TOTP is currently disabled", + "Two-factor_authentication_native_mobile_app_warning": "WARNING: Once you enable this, you will not be able to login on the native mobile apps (Rocket.Chat+) using your password until they implement the 2FA.", + "Type": "Type", + "typing": "typing", + "Types": "Types", + "Types_and_Distribution": "Types and Distribution", + "Type_your_email": "Type your email", + "Type_your_job_title": "Type your job title", + "Type_your_message": "Type your message", + "Type_your_name": "Type your name", + "Type_your_password": "Type your password", + "Type_your_username": "Type your username", + "UI_Allow_room_names_with_special_chars": "Allow Special Characters in Room Names", + "UI_Click_Direct_Message": "Click to Create Direct Message", + "UI_Click_Direct_Message_Description": "Skip opening profile tab, instead go straight to conversation", + "UI_DisplayRoles": "Display Roles", + "UI_Group_Channels_By_Type": "Group channels by type", + "UI_Merge_Channels_Groups": "Merge Private Groups with Channels", + "UI_Show_top_navbar_embedded_layout": "Show top navbar in embedded layout", + "UI_Unread_Counter_Style": "Unread Counter Style", + "UI_Use_Name_Avatar": "Use Full Name Initials to Generate Default Avatar", + "UI_Use_Real_Name": "Use Real Name", + "unable-to-get-file": "Unable to get file", + "Unable_to_load_active_connections": "Unable to load active connections", + "Unarchive": "Unarchive", + "unarchive-room": "Unarchive Room", + "unarchive-room_description": "Permission to unarchive channels", + "Unassigned": "Unassigned", + "unauthorized": "Not authorized", + "Unavailable": "Unavailable", + "Unavailable_in_encrypted_channels": "Unavailable in encrypted channels", + "Unblock": "Unblock", + "Unblock_User": "Unblock User", + "Uncheck_All": "Uncheck All", + "Uncollapse": "Uncollapse", + "Undefined": "Undefined", + "Unfavorite": "Unfavorite", + "Unfollow_message": "Unfollow message", + "Unignore": "Unignore", + "Uninstall": "Uninstall", + "Units": "Units", + "Unit_removed": "Unit Removed", + "Unique_ID_change_detected_description": "Information that identifies this workspace has changed. This can happen when the site URL or database connection string are changed or when a new workspace is created from a copy of an existing database.

Would you like to proceed with a configuration update to the existing workspace or create a new workspace and unique ID?", + "Unique_ID_change_detected_learn_more_link": "Learn more", + "Unique_ID_change_detected": "Unique ID change detected", + "Unknown_Import_State": "Unknown Import State", + "Unknown_User": "Unknown User", + "Unlimited": "Unlimited", + "Unmute": "Unmute", + "Unmute_someone_in_room": "Unmute someone in the room", + "Unmute_user": "Unmute user", + "Unnamed": "Unnamed", + "Unpin": "Unpin", + "Unpin_Message": "Unpin Message", + "unpinning-not-allowed": "Unpinning is not allowed", + "Unprioritized": "Unprioritized", + "Unread": "Unread", + "Unread_Count": "Unread Count", + "Unread_Count_DM": "Unread Count for Direct Messages", + "Unread_Count_Omni": "Unread Count for Omnichannel Chats", + "Unread_Messages": "Unread Messages", + "Unread_on_top": "Unread on top", + "Unread_Rooms": "Unread Rooms", + "Unread_Rooms_Mode": "Unread Rooms Mode", + "Unread_Requested_First": "Unread requested first", + "Unread_Requested_Last": "Unread requested last", + "Unread_Tray_Icon_Alert": "Unread Tray Icon Alert", + "Unstar_Message": "Remove star", + "Unmute_microphone": "Unmute Microphone", + "Update": "Update", + "Update_EnableChecker": "Enable the Update Checker", + "Update_EnableChecker_Description": "Checks automatically for new updates / important messages from the Rocket.Chat developers and receives notifications when available. The notification appears once per new version as a clickable banner and as a message from the Rocket.Cat bot, both visible only for administrators.", + "Update_every": "Update every", + "Update_LatestAvailableVersion": "Update Latest Available Version", + "Update_to_version": "Update to {{version}}", + "Update_your_RocketChat": "Update your Rocket.Chat", + "Updated_at": "Updated at", + "Upgrade_tab_upgrade_your_plan": "Upgrade your plan", + "Upload": "Upload", + "Uploads": "Uploads", + "Upload_private_app": "Upload private app", + "Upload_file_description": "File description", + "Upload_file": "Upload file", + "Upload_file_name": "File name", + "Upload_file_question": "Upload file?", + "Upload_Folder_Path": "Upload Folder Path", + "Upload_From": "Upload from {{name}}", + "Upload_user_avatar": "Upload avatar", + "Uploading_file": "Uploading file...", + "Uptime": "Uptime", + "URL": "URL", + "URLs": "URLs", + "Usage": "Usage", + "Use": "Use", + "Use_account_preference": "Use account preference", + "Use_Emojis": "Use Emojis", + "Use_Global_Settings": "Use Global Settings", + "Use_initials_avatar": "Use your username initials", + "Use_minor_colors": "Use minor color palette (defaults inherit major colors)", + "Use_Room_configuration": "Overwrites the server configuration and use room config", + "Use_Server_configuration": "Use server configuration", + "Use_service_avatar": "Use %s avatar", + "Use_this_response": "Use this response", + "Use_response": "Use response", + "Use_this_username": "Use this username", + "Use_uploaded_avatar": "Use uploaded avatar", + "Use_url_for_avatar": "Use URL for avatar", + "Use_User_Preferences_or_Global_Settings": "Use User Preferences or Global Settings", + "User": "User", + "User_card_actions": "User card actions", + "User_menu": "User menu", + "User Search": "User Search", + "User Search (Group Validation)": "User Search (Group Validation)", + "User__username__is_now_a_leader_of__room_name_": "User {{username}} is now a leader of {{room_name}}", + "User__username__is_now_a_moderator_of__room_name_": "User {{username}} is now a moderator of {{room_name}}", + "User__username__is_now_an_owner_of__room_name_": "User {{username}} is now an owner of {{room_name}}", + "User__username__muted_in_room__roomName__": "User {{username}} muted in room {{roomName}}", + "User__username__removed_from__room_name__leaders": "User {{username}} removed from {{room_name}} leaders", + "User__username__removed_from__room_name__moderators": "User {{username}} removed from {{room_name}} moderators", + "User__username__removed_from__room_name__owners": "User {{username}} removed from {{room_name}} owners", + "User__username__unmuted_in_room__roomName__": "User {{username}} unmuted in room {{roomName}}", + "User_added": "User added", + "User_added_by": "User {{user_added}} added by {{user_by}}.", + "User_added_to": "added {{user_added}}", + "User_added_successfully": "User added successfully", + "User_and_group_mentions_only": "User and group mentions only", + "User_cant_be_empty": "User cannot be empty", + "User_created_successfully!": "User create successfully!", + "User_default": "User default", + "User_doesnt_exist": "No user exists by the name of `@%s`.", + "User_e2e_key_was_reset": "User E2E key was reset successfully.", + "User_first_log_in": "User first log in", + "User_has_been_activated": "User has been activated", + "User_has_been_deactivated": "User has been deactivated", + "User_has_been_deleted": "User has been deleted", + "User_has_been_ignored": "User has been ignored", + "User_has_been_muted_in_s": "User has been muted in %s", + "User_has_been_removed_from_s": "User has been removed from %s", + "User_has_been_removed_from_team": "User has been removed from team", + "User_has_been_unignored": "User is no longer ignored", + "User_Info": "User Info", + "User_Interface": "User Interface", + "User_is_blocked": "User is blocked", + "User_is_no_longer_an_admin": "User is no longer an admin", + "User_is_now_an_admin": "User is now an admin", + "User_is_unblocked": "User is unblocked", + "User_joined_channel": "Has joined the channel.", + "User_joined_conversation": "Has joined the conversation", + "User_joined_team": "joined this Team", + "User_joined_the_channel": "joined the channel", + "User_joined_the_conversation": "joined the conversation", + "User_joined_the_team": "joined this team", + "user_joined_otr": "Has joined OTR chat.", + "user_key_refreshed_successfully": "key refreshed successfully", + "user_requested_otr_key_refresh": "Has requested key refresh.", + "User_left": "Has left the channel.", + "User_left_team": "left this Team", + "User_left_this_channel": "left the channel", + "User_left_this_team": "left this team", + "User_logged_out": "User is logged out", + "User_management": "User Management", + "User_mentions_only": "User mentions only", + "User_muted": "User Muted", + "User_muted_by": "User {{user_muted}} muted by {{user_by}}.", + "User_has_been_muted": "muted {{user_muted}}", + "User_not_found": "User not found", + "User_not_found_or_incorrect_password": "User not found or incorrect password", + "User_or_channel_name": "User or channel name", + "User_Presence": "User Presence", + "User_removed": "User removed", + "User_removed_by": "User {{user_removed}} removed by {{user_by}}.", + "User_has_been_removed": "removed {{user_removed}}", + "User_sent_a_message_on_channel": "{{username}} sent a message on {{channel}}", + "User_sent_a_message_to_you": "{{username}} sent you a message", + "user_sent_an_attachment": "{{user}} sent an attachment", + "User_Settings": "User Settings", + "User_started_a_new_conversation": "{{username}} started a new conversation", + "User_unmuted_by": "User {{user_unmuted}} unmuted by {{user_by}}.", + "User_has_been_unmuted": "unmuted {{user_unmuted}}", + "User_unmuted_in_room": "User unmuted in room", + "User_updated_successfully": "User updated successfully", + "User_uploaded_a_file_on_channel": "{{username}} uploaded a file on {{channel}}", + "User_uploaded_a_file_to_you": "{{username}} sent you a file", + "User_uploaded_file": "Uploaded a file", + "User_uploaded_image": "Uploaded an image", + "user-generate-access-token": "User Generate Access Token", + "user-generate-access-token_description": "Permission for users to generate access tokens", + "UserData_EnableDownload": "Enable User Data Download", + "UserData_FileSystemPath": "System Path (Exported Files)", + "view-livechat-facebook": "View Omnichannel Facebook", + "UserData_FileSystemZipPath": "System Path (Compressed File)", + "view-livechat-facebook_description": "Permission to view Omnichannel Facebook", + "UserData_MessageLimitPerRequest": "Message Limit per Request", + "UserData_ProcessingFrequency": "Processing Frequency (Minutes)", + "UserDataDownload": "User Data Download", + "UserDataDownload_Description": "Configurations to allow or disallow workspace members from downloading of workspace data.", + "UserDataDownload_CompletedRequestExisted_Text": "Your data file was already generated. Check your email account for the download link.", + "UserDataDownload_CompletedRequestExistedWithLink_Text": "Your data file was already generated. Click here to download it.", + "UserDataDownload_EmailBody": "Your data file is now ready to download. Click here to download it.", + "UserDataDownload_EmailSubject": "Your Data File is Ready to Download", + "UserDataDownload_Requested": "Download File Requested", + "UserDataDownload_Requested_Text": "Your data file will be generated. A link to download it will be sent to your email address when ready. There are {{pending_operations}} queued operations to run before yours.", + "UserDataDownload_RequestExisted_Text": "Your data file is already being generated. A link to download it will be sent to your email address when ready. There are {{pending_operations}} queued operations to run before yours.", + "Username": "Username", + "Username_already_exist": "Username already exists. Please try another username.", + "Username_and_message_must_not_be_empty": "Username and message must not be empty.", + "Username_cant_be_empty": "The username cannot be empty", + "Username_Change_Disabled": "Your Rocket.Chat administrator has disabled the changing of usernames", + "Username_denied_the_OTR_session": "{{username}} denied the OTR session", + "Username_description": "The username is used to allow others to mention you in messages.", + "Username_doesnt_exist": "The username `%s` doesn't exist.", + "Username_ended_the_OTR_session": "{{username}} ended the OTR session", + "Username_invalid": "%s is not a valid username,
use only letters, numbers, dots, hyphens and underscores", + "Username_is_already_in_here": "`@%s` is already in here.", + "Username_Placeholder": "Please enter usernames...", + "Username_title": "Register username", + "Username_has_been_updated": "Username has been updated", + "Username_wants_to_start_otr_Do_you_want_to_accept": "{{username}} wants to start OTR. Do you want to accept?", + "Username_name_email": "Username, name or e-mail", + "Users": "Users", + "Users must use Two Factor Authentication": "Users must use Two Factor Authentication", + "Users_added": "The users have been added", + "Users_and_rooms": "Users and Rooms", + "Users_by_time_of_day": "Users by time of day", + "Users_in_role": "Users in role", + "Users_key_has_been_reset": "User's key has been reset", + "Users_reacted": "Users that Reacted", + "Users_TOTP_has_been_reset": "User's TOTP has been reset", + "Uses": "Uses", + "Uses_left": "Uses left", + "UTC_Timezone": "UTC Timezone", + "Utilities": "Utilities", + "UTF8_Names_Slugify": "UTF8 Names Slugify", + "UTF8_User_Names_Validation": "UTF8 Usernames Validation", + "UTF8_User_Names_Validation_Description": "RegExp that will be used to validate usernames", + "UTF8_Channel_Names_Validation": "UTF8 Channel Names Validation", + "UTF8_Channel_Names_Validation_Description": "RegExp that will be used to validate channel names", + "Videocall_enabled": "Video Call Enabled", + "Validate_email_address": "Validate Email Address", + "Validation": "Validation", + "Value_messages": "{{value}} messages", + "Value_users": "{{value}} users", + "Verification": "Verification", + "Verification_Description": "You may use the following placeholders: \n - `[Verification_Url]` for the verification URL. \n - `[name]`, `[fname]`, `[lname]` for the user's full name, first name or last name, respectively. \n - `[email]` for the user's email. \n - `[Site_Name]` and `[Site_URL]` for the Application Name and URL respectively. ", + "Verification_Email": "Click here to verify your email address.", + "Verification_email_body": "Please, click on the button below to confirm your email address.", + "Verification_email_sent": "Verification email sent", + "Verification_Email_Subject": "[Site_Name] - Email address verification", + "Verified": "Verified", + "Verify": "Verify", + "Verify_your_email": "Verify your email", + "Version": "Version", + "Version_version": "Version {{version}}", + "App_Request_Admin_Message": "Hi {{admin_name}}, {{user_name}} submitted a request to install {{app_name}} app on this workspace. \n \n This is the message they included: \n>{{message}} \n \n To learn more and install the {{app_name}} app, [click here]({{learn_more}}).", + "App_version_incompatible_tooltip": "App incompatible with Rocket.Chat version", + "App_request_enduser_message": "The app you requested, {{appName}}, has just been installed on this workspace. \n [Click here]({{learnmore}}) to learn about the app.", + "App_requests_by_workspace": "App requests by workspace members appear here", + "Video_Conference_Description": "Configure conferencing calls for your workspace.", + "Video_Chat_Window": "Video Chat", + "Video_Conference": "Conference Call", + "Video_Call_unavailable_for_this_type_of_room": "Video Call is unavailable for this type of room", + "Video_Conferences": "Conference Calls", + "Video_Conference_Info": "Meeting Information", + "Video_Conference_Url": "Meeting URL", + "video-conf-provider-not-configured": "**Conference call not enabled**: A workspace admin needs to enable the conference calls feature first.", + "Video_message": "Video message", + "Videocall_declined": "Video Call Declined.", + "Video_and_Audio_Call": "Video and Audio Call", + "video_conference_started": "_Started a call._", + "video_conference_started_by": "**{{username}}** _started a call._", + "video_conference_ended": "_Call has ended._", + "video_conference_ended_by": "**{{username}}** _ended a call._", + "video_livechat_started": "_Started a video call._", + "video_livechat_missed": "_Started a video call that wasn't answered._", + "video_direct_calling": "_Is calling._", + "video_direct_ended": "_Call has ended._", + "video_direct_ended_by": "**{{username}}** _ended a call._", + "video_direct_missed": "_Started a call that wasn't answered._", + "video_direct_started": "_Started a call._", + "VideoConf_Default_Provider": "Default Provider", + "VideoConf_Default_Provider_Description": "If you have multiple provider apps installed, select which one should be used for new conference calls.", + "VideoConf_Enable_Channels": "Enable in public channels", + "VideoConf_Enable_Groups": "Enable in private channels", + "VideoConf_Enable_DMs": "Enable in direct messages", + "VideoConf_Enable_Teams": "Enable in teams", + "VideoConf_Enable_Persistent_Chat": "Enable Persistent Chat", + "VideoConf_Enable_Persistent_Chat_description": "When persistent chat is enabled, Rocket.Chat will create a discussion every time a conference call is initiated. The provider app is responsible for sending the chat messages to this discussion.", + "VideoConf_Enable_Persistent_Chat_Alert": "Persistent Chat will not work if discussions are disabled on the workspace. It will also not work if the provider app being used do not explicitly support this feature.", + "VideoConf_Persistent_Chat_Discussion_Name": "Persistent Chat Discussion Name", + "VideoConf_Mobile_Ringing": "Enable mobile ringing", + "VideoConf_Mobile_Ringing_Description": "When enabled, direct calls to mobile users will ring their device as a phone call.", + "VideoConf_Mobile_Ringing_Alert": "This feature is currently in an experimental stage and may not yet be fully supported by the mobile app. When enabled it will send additional Push Notifications to users.", + "videoconf-ring-users": "Ring other users when calling", + "videoconf-ring-users_description": "Permission to ring other users when calling", + "Video_record": "Video record", + "Videos": "Videos", + "View_mode": "View Mode", + "View_All": "View All Members", + "View_channels": "View channels", + "view-agent-canned-responses": "View Agent Canned Responses", + "view-agent-canned-responses_description": "Permission to view agent canned responses", + "view-agent-extension-association": "View Agent Extension Association", + "view-agent-extension-association_description": "Permission to view agent extension association", + "view-all-canned-responses": "View All Canned Responses", + "view-all-canned-responses_description": "Permission to view all canned responses", + "view-import-operations": "View Import Operations", + "view-import-operations_description": "Permission to view import operations", + "view-omnichannel-contact-center": "View Omnichannel Contact Center", + "view-omnichannel-contact-center_description": "Permission to view and interact with the Omnichannel Contact Center", + "View_Logs": "View Logs", + "View_original": "View Original", + "View_the_Logs_for": "View the logs for: \"{{name}}\"", + "view-all-teams": "View All Teams", + "view-all-teams_description": "Permission to view all teams", + "view-all-team-channels": "View All Team Channels", + "view-all-team-channels_description": "Permission to view all team's channels", + "view-members-list-all-rooms": "Can view members in all rooms", + "view-members-list-all-rooms_description": "Gives the ability to see the members list in all rooms, even those the user is not part of", + "Room_members_list": "Members list", + "view-broadcast-member-list": "View Members List in Broadcast Room", + "view-broadcast-member-list_description": "Permission to view list of users in broadcast channel", + "view-c-room": "View Public Channel", + "view-c-room_description": "Permission to view public channels", + "view-canned-responses": "View Canned Responses", + "view-canned-responses_description": "Permission to view canned responses", + "view-d-room": "View Direct Messages", + "view-d-room_description": "Permission to view direct messages", + "view-device-management": "View Device Management", + "view-device-management_description": "Permission to view device management dashboard", + "view-engagement-dashboard": "View Engagement Dashboard", + "view-engagement-dashboard_description": "Permission to view engagement dashboard", + "view-federation-data": "View Federation Data", + "view-federation-data_description": "Permission to view federation data", + "View_full_conversation": "View full conversation", + "view-full-other-user-info": "View Full Other User Info", + "view-full-other-user-info_description": "Permission to view full profile of other users including account creation date, last login, etc.", + "view-history": "View History", + "view-history_description": "Permission to view the channel history", + "onboarding.component.form.action.registerNow": "Register now", + "view-join-code": "View Join Code", + "view-join-code_description": "Permission to view the channel join code", + "view-joined-room": "View Joined Room", + "view-joined-room_description": "Permission to view the currently joined channels", + "view-l-room": "View Omnichannel Rooms", + "create-livechat-contact": "Create Omnichannel contacts", + "update-livechat-contact": "Update Omnichannel contacts", + "view-l-room_description": "Permission to view Omnichannel rooms", + "view-livechat-analytics": "View Omnichannel Analytics", + "onboarding.page.awaitingConfirmation.subtitle": "We have sent you an email to {{emailAddress}} with a confirmation link. Please verify that the security code below matches the one in the email.", + "view-livechat-analytics_description": "Permission to view live chat analytics", + "view-livechat-appearance": "View Omnichannel Appearance", + "view-livechat-appearance_description": "Permission to view live chat appearance", + "view-livechat-business-hours": "View Omnichannel Business-Hours", + "view-livechat-business-hours_description": "Permission to view live chat business hours", + "view-livechat-current-chats": "View Omnichannel Current Chats", + "view-livechat-current-chats_description": "Permission to view live chat current chats", + "view-livechat-customfields": "View Omnichannel Custom Fields", + "view-livechat-customfields_description": "Permission to view Omnichannel custom fields", + "view-livechat-departments": "View Omnichannel Departments", + "view-livechat-departments_description": "Permission to view Omnichannel departments", + "view-livechat-installation": "View Omnichannel Installation", + "view-livechat-installation_description": "Permission to view Omnichannel installation", + "view-livechat-manager": "View Omnichannel Manager", + "view-livechat-manager_description": "Permission to view other Omnichannel managers", + "view-livechat-monitor": "View Livechat Monitors", + "view-livechat-queue": "View Omnichannel Queue", + "view-livechat-queue_description": "Permission to view Omnichannel queue", + "view-livechat-real-time-monitoring": "View Omnichannel Real-time Monitoring", + "view-livechat-room-closed-by-another-agent": "View Omnichannel Rooms closed by another agent", + "view-livechat-room-closed-by-another-agent_description": "Permission to view live chat rooms closed by another agent", + "view-livechat-room-closed-same-department": "View Omnichannel Rooms closed by another agent in the same department", + "view-livechat-room-closed-same-department_description": "Permission to view live chat rooms closed by another agent in the same department", + "view-livechat-room-customfields": "View Omnichannel Room Custom Fields", + "view-livechat-room-customfields_description": "Permission to view live chat room custom fields", + "view-livechat-rooms": "View Omnichannel Rooms", + "view-livechat-rooms_description": "Permission to view other Omnichannel rooms", + "view-livechat-triggers": "View Omnichannel Triggers", + "view-livechat-triggers_description": "Permission to view live chat triggers", + "view-livechat-webhooks": "View Omnichannel Webhooks", + "view-livechat-webhooks_description": "Permission to view live chat webhooks", + "view-livechat-unit": "View Livechat Units", + "view-logs": "View Logs", + "view-logs_description": "Permission to view the server logs ", + "view-other-user-channels": "View Other User Channels", + "view-other-user-channels_description": "Permission to view channels owned by other users", + "view-outside-room": "View Outside Room", + "view-outside-room_description": "Permission to view users outside the current room", + "view-p-room": "View Private Room", + "view-p-room_description": "Permission to view private channels", + "view-privileged-setting": "View Privileged Setting", + "view-privileged-setting_description": "Permission to view settings", + "view-moderation-console": "View Moderation Console", + "view-moderation-console_description": "Permission to view moderation console of the server", + "manage-moderation-actions": "Manage Moderation Actions", + "manage-moderation-actions_description": "Permission to manage moderation actions, perform actions on reported users", + "view-room-administration": "View Room Administration", + "view-room-administration_description": "Permission to view public, private and direct message statistics. Does not include the ability to view conversations or archives", + "view-statistics": "View Statistics", + "view-statistics_description": "Permission to view system statistics such as number of users logged in, number of rooms, operating system information", + "view-user-administration": "View User Administration", + "view-user-administration_description": "Permission to partial, read-only list view of other user accounts currently logged into the system. No user account information is accessible with this permission", + "Viewing_room_administration": "Viewing room administration", + "Visibility": "Visibility", + "Visible": "Visible", + "Visible_To_Workspace": "Visible to workspace", + "Visit_Site_Url_and_try_the_best_open_source_chat_solution_available_today": "Visit [Site_URL] and try the best open source chat solution available today!", + "Visitor": "Visitor", + "Visitor_Email": "Visitor E-mail", + "Visitor_Info": "Visitor Info", + "Visitor_message": "Visitor Messages", + "Visitor_Name": "Visitor Name", + "Visitor_Name_Placeholder": "Please enter a visitor name...", + "Visitor_not_found": "Visitor not found", + "Visitor_does_not_exist": "Visitor does not exist!", + "Visitor_Navigation": "Visitor Navigation", + "Visitor_page_URL": "Visitor page URL", + "Visitor_time_on_site": "Visitor time on site", + "Voice_Call": "Voice Call", + "VoIP_Enable_Keep_Alive_For_Unstable_Networks": "Enable SIP Options Keep Alive", + "VoIP_Enable_Keep_Alive_For_Unstable_Networks_Description": "Monitor the status of multiple external SIP gateways by sending periodic SIP OPTIONS messages. Used for unstable networks.", + "VoIP_Enabled": "Enable voice channel", + "VoIP_Enabled_Description": "Connect agents to customers through outbound and incoming calls", + "VoIP_Extension": "VoIP Extension", + "Voip_Server_Configuration": "Asterisk WebSocket Server", + "VoIP_Server_Websocket_Port": "Websocket Port", + "VoIP_Server_Name": "Server Name", + "VoIP_Server_Websocket_Path": "Websocket URL", + "VoIP_Retry_Count": "Retry Count", + "VoIP_Retry_Count_Description": "Defines the number of times the client will try to reconnect to the VoIP server if the connection is lost.", + "VoIP_Management_Server": "VoIP Management Server", + "VoIP_Management_Server_Host": "Server Host", + "VoIP_Management_Server_Port": "Server Port", + "VoIP_Management_Server_Name": "Server Name", + "VoIP_Management_Server_Username": "Username", + "VoIP_Management_Server_Password": "Password", + "Voip_call_started": "Call started at", + "Voip_call_duration": "Call lasted {{duration}}", + "Voip_call_declined": "Call hanged up by agent", + "Voip_call_on_hold": "Call placed on hold at", + "Voip_call_unhold": "Call resumed at", + "Voip_call_ended": "Call ended at", + "Voip_call_ended_unexpectedly": "Call ended unexpectedly: {{reason}}", + "Voip_call_wrapup": "Call wrapup notes added: {{comment}}", + "VoIP_JWT_Secret": "Secret key (JWT)", + "VoIP_JWT_Secret_description": "Set a secret key for sharing extension details from server to client as JWT instead of plain text. Extension registration details will be sent as plain text if a secret key has not been set.", + "Voip_is_disabled": "VoIP is disabled", + "Voip_is_disabled_description": "To view the list of extensions it is necessary to activate VoIP, do so in the Settings tab.", + "VoIP_Toggle": "Enable/Disable VoIP", + "Chat_opened_by_visitor": "Chat opened by the visitor", + "Wait_activation_warning": "Before you can login, your account must be manually activated by an administrator.", + "Waiting_for_answer": "Waiting for answer", + "Waiting_queue": "Waiting queue", + "Enterprise_cap_description": "Enterprise workspaces have no cap on the presence service.", + "Waiting_queue_message": "Waiting queue message", + "Waiting_queue_message_description": "Message that will be displayed to the visitors when they get in the queue", + "More_about_Enterprise_Edition": "More about Enterprise Edition", + "Waiting_Time": "Waiting Time", + "Waiting_for_server_connection": "Waiting for server connection", + "Warning": "Warning", + "Warnings": "Warnings", + "WAU_value": "WAU {{value}}", + "We_appreciate_your_feedback": "We appreciate your feedback", + "We_are_offline_Sorry_for_the_inconvenience": "We are offline. Sorry for the inconvenience.", + "We_Could_not_retrive_any_data": "We couldn't retrive any data", + "We_have_sent_password_email": "We have sent you an email with password reset instructions. If you do not receive an email shortly, please come back and try again.", + "We_have_sent_registration_email": "We have sent you an email to confirm your registration. If you do not receive an email shortly, please come back and try again.", + "Webdav Integration": "Webdav Integration", + "Webdav Integration_Description": "A framework for users to create, change and move documents on a server. Used to link WebDAV servers such as Nextcloud.", + "WebDAV_Accounts": "WebDAV Accounts", + "Webdav_add_new_account": "Add new WebDAV account", + "Webdav_Integration_Enabled": "Webdav Integration Enabled", + "WebDAV_Integration_Not_Allowed": "WebDAV Integration Not Allowed", + "Webdav_Password": "WebDAV Password", + "Webdav_Server_URL": "WebDAV Server Access URL", + "Webdav_Username": "WebDAV Username", + "Webdav_account_removed": "WebDAV account removed", + "webdav-account-saved": "WebDAV account saved", + "webdav-account-updated": "WebDAV account updated", + "webdav-server-not-found": "WebDAV server not found", + "Webhook_Details": "WebHook Details", + "Webhook_URL": "Webhook URL", + "Webhook_URL_not_set": "Webhook URL is not set", + "Webhooks": "Webhooks", + "WebRTC": "WebRTC", + "WebRTC_Description": "Broadcast audio and/or video material, as well as transmit arbitrary data between browsers without the need for a middleman.", + "WebRTC_Call": "WebRTC Call", + "WebRTC_Call_unavailable_for_federation": "WebRTC Call is unavailable for Federated rooms", + "WebRTC_direct_audio_call_from_%s": "Direct audio call from %s", + "WebRTC_direct_video_call_from_%s": "Direct video call from %s", + "WebRTC_Enable_Channel": "Enable for Public Channels", + "WebRTC_Enable_Direct": "Enable for Direct Messages", + "WebRTC_Enable_Private": "Enable for Private Channels", + "WebRTC_group_audio_call_from_%s": "Group audio call from %s", + "WebRTC_group_video_call_from_%s": "Group video call from %s", + "WebRTC_monitor_call_from_%s": "Monitor call from %s", + "WebRTC_Servers": "STUN/TURN Servers", + "WebRTC_Servers_Description": "A list of STUN and TURN servers separated by comma. \n Username, password and port are allowed in the format `username:password@stun:host:port` or `username:password@turn:host:port`.", + "WebRTC_call_ended_message": " Call ended at {{endTime}} - Lasted {{callDuration}}", + "WebRTC_call_declined_message": " Call Declined by Contact.", + "Website": "Website", + "Wednesday": "Wednesday", + "Weekly_Active_Users": "Weekly Active Users", + "Welcome": "Welcome %s.", + "Welcome_email_failed": "Failed to resend welcome email", + "Welcome_email_resent": "Welcome email resent", + "Welcome_to": "Welcome to [Site_Name]", + "Welcome_to_workspace": "Welcome to {{Site_Name}}", + "Welcome_to_the": "Welcome to the", + "When": "When", + "When_a_line_starts_with_one_of_there_words_post_to_the_URLs_below": "When a line starts with one of these words, post to the URL(s) below", + "When_is_the_chat_busier?": "When is the chat busier?", + "Where_are_the_messages_being_sent?": "Where are the messages being sent?", + "Why_did_you_chose__score__": "Why did you chose {{score}}?", + "Why_do_you_want_to_report_question_mark": "Why do you want to report?", + "Will_Appear_In_From": "Will appear in the From: header of emails you send.", + "will_be_able_to": "will be able to", + "Will_be_available_here_after_saving": "Will be available here after saving.", + "Without_priority": "Without priority", + "Without_SLA": "Without SLA", + "Workspace_now_using_device_management": "Workspace now using device management", + "Worldwide": "Worldwide", + "Would_you_like_to_return_the_inquiry": "Would you like to return the inquiry?", + "Would_you_like_to_return_the_queue": "Would you like to move back this room to the queue? All conversation history will be kept on the room.", + "Would_you_like_to_place_chat_on_hold": "Would you like to place this chat On-Hold?", + "multiple_instance_solutions": "multiple instance solutions", + "Wrap_up_the_call": "Wrap-up the call", + "Wrap_Up_Notes": "Wrap-Up Notes", + "Workspace": "Workspace", + "Yes": "Yes", + "Yes_archive_it": "Yes, archive it!", + "Yes_clear_all": "Yes, clear all!", + "Yes_continue": "Yes, continue!", + "Yes_deactivate_it": "Yes, deactivate it!", + "Yes_delete_it": "Yes, delete", + "Yes_hide_it": "Yes, hide it!", + "Yes_leave_it": "Yes, leave it!", + "Yes_mute_user": "Yes, mute user!", + "Yes_prune_them": "Yes, prune them!", + "Yes_pin_message": "Yes, pin message", + "Yes_remove_user": "Yes, remove user!", + "Yes_unarchive_it": "Yes, unarchive it!", + "yesterday": "yesterday", + "Yesterday": "Yesterday", + "You": "You", + "You_reacted_with": "You reacted with {{emoji}}", + "Users_reacted_with": "{{users}} reacted with {{emoji}}", + "Users_and_more_reacted_with": "{{users}} and {{counter}} more reacted with {{emoji}}", + "You_and_users_Reacted_with": "You and {{users}} reacted with {{emoji}}", + "You_users_and_more_Reacted_with": "You, {{users}} and {{counter}} more reacted with {{emoji}}", + "You_are_converting_team_to_channel": "You are converting this Team to a Channel.", + "you_are_in_preview_mode_of": "You are in preview mode of channel #{{room_name}}", + "you_are_in_preview": "You are in preview mode", + "you_are_in_preview_please_insert_the_password": "Please insert the password", + "you_are_in_preview_mode_of_incoming_livechat": "You are in preview mode of this chat", + "You_are_logged_in_as": "You are logged in as", + "You_are_not_authorized_to_view_this_page": "You are not authorized to view this page.", + "You_can_change_a_different_avatar_too": "You can override the avatar used to post from this integration.", + "You_can_close_this_window_now": "You can close this window now.", + "You_can_do_from_account_preferences": "You can do this later from your account preferences", + "You_can_search_using_RegExp_eg": "You can search using Regular Expression. e.g. /^text$/i", + "You_can_try_to": "You can try to", + "You_can_use_an_emoji_as_avatar": "You can also use an emoji as an avatar.", + "You_can_use_webhooks_to_easily_integrate_livechat_with_your_CRM": "You can use webhooks to easily integrate Omnichannel with your CRM.", + "You_cant_leave_a_livechat_room_Please_use_the_close_button": "You can't leave a omnichannel room. Please, use the close button.", + "You_followed_this_message": "You followed this message.", + "You_have_a_new_message": "You have a new message", + "You_have_been_muted": "You have been muted and cannot speak in this room", + "You_have_been_removed_from__roomName_": "You've been removed from the room {{roomName}}", + "You_have_created_user": "You’ve created 1 user", + "You_have_joined_a_new_call_with": "You have joined a new call with", + "You_have_n_codes_remaining": "You have {{number}} codes remaining.", + "You_have_not_verified_your_email": "You have not verified your email.", + "You_have_successfully_unsubscribed": "You have successfully unsubscribed from our Mailling List.", + "You_must_join_to_view_messages_in_this_channel": "You must join to view messages in this channel", + "You_mentioned___mentions__but_theyre_not_in_this_room": "You mentioned {{mentions}}, but they're not in this room.", + "You_mentioned___mentions__but_theyre_not_in_this_room_You_can_ask_a_room_admin_to_add_them": "You mentioned {{mentions}}, but they're not in this room. You can ask a room admin to add them.", + "You_mentioned___mentions__but_theyre_not_in_this_room_You_let_them_know_via_dm": "You mentioned {{mentions}}, but they're not in this room. You let them know via DM.", + "You_need_confirm_email": "You need to confirm your email to login!", + "You_need_install_an_extension_to_allow_screen_sharing": "You need install an extension to allow screen sharing", + "You_need_to_change_your_password": "You need to change your password", + "You_need_to_type_in_your_password_in_order_to_do_this": "You need to type in your password in order to do this!", + "You_need_to_type_in_your_username_in_order_to_do_this": "You need to type in your username in order to do this!", + "You_need_to_verifiy_your_email_address_to_get_notications": "You need to verify your email address to get notifications", + "You_need_to_write_something": "You need to write something!", + "You_reached_the_maximum_number_of_guest_users_allowed_by_your_license": "You reached the maximum number of guest users allowed by your license.", + "You_should_inform_one_url_at_least": "You should define at least one URL.", + "You_should_name_it_to_easily_manage_your_integrations": "You should name it to easily manage your integrations.", + "You_unfollowed_this_message": "You unfollowed this message.", + "You_will_be_asked_for_permissions": "You will be asked for permissions", + "You_will_not_be_able_to_recover": "You will not be able to recover this message!", + "You_will_not_be_able_to_recover_email_inbox": "You will not be able to recover this email inbox", + "You_will_not_be_able_to_recover_file": "You will not be able to recover this file!", + "You_wont_receive_email_notifications_because_you_have_not_verified_your_email": "You won't receive email notifications because you have not verified your email.", + "Your_e2e_key_has_been_reset": "Your e2e key has been reset.", + "Your_email_address_has_changed": "Your email address has been changed.", + "Your_email_has_been_queued_for_sending": "Your email has been queued for sending", + "Your_entry_has_been_deleted": "Your entry has been deleted.", + "Your_file_has_been_deleted": "Your file has been deleted.", + "Your_invite_link_will_expire_after__usesLeft__uses": "Your invite link will expire after {{usesLeft}} uses.", + "Your_invite_link_will_expire_on__date__": "Your invite link will expire on {{date}}.", + "Your_invite_link_will_expire_on__date__or_after__usesLeft__uses": "Your invite link will expire on {{date}} or after {{usesLeft}} uses.", + "Your_invite_link_will_never_expire": "Your invite link will never expire.", + "your_message": "your message", + "your_message_optional": "your message (optional)", + "Your_new_email_is_email": "Your new email address is [email].", + "Your_E2EE_password_is": "Your E2EE password is:", + "Your_password_is_wrong": "Your password is wrong!", + "Your_E2EE_password_is_incorrect": "Your E2EE password is incorrect", + "Your_password_was_changed_by_an_admin": "Your password was changed by an admin.", + "Your_push_was_sent_to_s_devices": "Your push was sent to %s devices", + "Your_request_to_join__roomName__has_been_made_it_could_take_up_to_15_minutes_to_be_processed": "Your request to join {{roomName}} has been made, it could take up to 15 minutes to be processed. You'll be notified when it's ready to go.", + "Your_question": "Your question", + "Your_server_link": "Your server link", + "Your_temporary_password_is_password": "Your temporary password is [password].", + "Your_TOTP_has_been_reset": "Your Two Factor TOTP has been reset.", + "Your_web_browser_blocked_Rocket_Chat_from_opening_tab": "Your web browser blocked Rocket.Chat from opening a new tab.", + "Your_workspace_is_ready": "Your workspace is ready to use 🎉", + "Youre_not_a_part_of__channel__and_I_mentioned_you_there": "You're not a part of {{channel}} and I mentioned you there", + "Zapier": "Zapier", + "registration.page.login.errors.wrongCredentials": "User not found or incorrect password", + "registration.page.login.errors.invalidEmail": "Invalid Email", + "registration.page.login.errors.loginBlockedForIp": "Login has been temporarily blocked for this IP", + "registration.page.login.errors.loginBlockedForUser": "Login has been temporarily blocked for this User", + "registration.page.login.errors.licenseUserLimitReached": "The maximum number of users has been reached.", + "registration.page.login.errors.AppUserNotAllowedToLogin": "App users are not allowed to log in directly.", + "registration.page.registration.waitActivationWarning": "Before you can login, your account must be manually activated by an administrator.", + "registration.page.login.register": "New here? <1>Create an account", + "registration.page.login.forgot": "Forgot your password?", + "registration.page.register.back": "Back to Login", + "registration.page.emailVerification.subTitle": "This server requires verified email addresses. Please check your email inbox for a verification link.", + "registration.page.emailVerification.sent": "Verification email sent, please check your inbox.", + "registration.page.resetPassword.sent": "If this email is registered, we'll send instructions on how to reset your password. If you do not receive an email shortly, please come back and try again.", + "registration.page.resetPassword.sendInstructions": "Send instructions", + "registration.page.resetPassword.errors.invalidEmail": "Invalid Email", + "registration.page.poweredBy": "Powered by <1>Rocket.Chat", + "registration.page.guest.chooseHowToJoin": "Choose how you want to join", + "registration.page.guest.loginWithRocketChat": "Login with Rocket.Chat", + "registration.page.guest.continueAsGuest": "Continue as guest", + "registration.component.welcome": "Welcome to <1>Rocket.Chat workspace", + "registration.component.login": "Login", + "registration.component.login.userNotFound": "User not found", + "registration.component.login.incorrectPassword": "Incorrect password", + "registration.component.switchLanguage": "Change to <1>{{name}}", + "registration.component.resetPassword": "Reset password", + "registration.component.form.emailOrUsername": "Email or username", + "registration.component.form.username": "Username", + "registration.component.form.name": "Name", + "registration.component.form.nameContainsInvalidChars": "Name contains invalid characters", + "registration.component.form.usernameContainsInvalidChars": "Username contains invalid characters", + "registration.component.form.nameOptional": "Name optional", + "registration.component.form.createAnAccount": "Create an account", + "registration.component.form.userAlreadyExist": "Username already exists. Please try another username.", + "registration.component.form.emailAlreadyExists": "Email already exists", + "registration.component.form.usernameAlreadyExists": "Username already exists. Please try another username.", + "registration.component.form.invalidEmail": "The email entered is invalid", + "registration.component.form.email": "Email", + "registration.component.form.emailPlaceholder": "example@example.com", + "registration.component.form.password": "Password", + "registration.component.form.divider": "or", + "registration.component.form.submit": "Submit", + "registration.component.form.requiredField": "This field is required", + "registration.component.form.joinYourTeam": "Join your team", + "registration.component.form.reasonToJoin": "Reason to Join", + "registration.component.form.invalidConfirmPass": "The password confirmation does not match password", + "registration.component.form.confirmPassword": "Confirm your password", + "registration.component.form.confirmation": "Confirmation", + "registration.component.form.sendConfirmationEmail": "Send confirmation email", + "registration.component.form.register": "Register", + "onboarding.component.form.requiredField": "This field is required", + "onboarding.component.form.steps": "Step {{currentStep}} of {{stepCount}}", + "onboarding.component.form.action.back": "Back", + "onboarding.component.form.action.next": "Next", + "onboarding.component.form.action.skip": "Skip this step", + "onboarding.component.form.action.register": "Register", + "onboarding.component.form.action.registerWorkspace": "Register workspace", + "onboarding.component.form.action.registerOffline": "Register offline", + "onboarding.component.form.action.confirm": "Confirm", + "onboarding.component.form.action.pasteHere": "Paste here...", + "onboarding.component.form.action.completeRegistration": "Complete registration", + "onboarding.component.form.termsAndConditions": "I agree with <1>Terms and Conditions and <3>Privacy Policy", + "onboarding.component.emailCodeFallback": "Didn’t receive email? <1>Resend or <3>Change email.", + "onboarding.page.form.title": "Let's launch your workspace", + "onboarding.page.emailConfirmed.title": "Email Confirmed!", + "onboarding.page.emailConfirmed.subtitle": "You can return to your Rocket.Chat application – we have launched your workspace already.", + "onboarding.page.checkYourEmail.title": "Check your email", + "onboarding.page.checkYourEmail.subtitle": "Your request has been sent successfully.<1>Check your email inbox to launch your Premium plan trial.<1>The link will expire in 30 minutes.", + "onboarding.page.confirmationProcess.title": "Confirmation in Process", + "onboarding.page.cloudDescription.title": "Let's launch your workspace and <1>14-day trial", + "onboarding.page.cloudDescription.tryGold": "Try our best Gold plan for 14 days for free", + "onboarding.page.cloudDescription.numberOfIntegrations": "1,000 integrations", + "onboarding.page.cloudDescription.availability": "High availability", + "onboarding.page.cloudDescription.auditing": "Message audit panel / Audit logs", + "onboarding.page.cloudDescription.engagement": "Engagement Dashboard", + "onboarding.page.cloudDescription.ldap": "LDAP enhanced sync", + "onboarding.page.cloudDescription.omnichannel": "Omnichannel premium", + "onboarding.page.cloudDescription.sla": "SLA: Premium", + "onboarding.page.cloudDescription.push": "Secured push notifications", + "onboarding.page.cloudDescription.goldIncludes": "* Golden plan includes all features from other plans", + "onboarding.page.alreadyHaveAccount": "Already have an account? <1>Manage your workspaces.", + "onboarding.page.invalidLink.title": "Your Link is no Longer Valid", + "onboarding.page.invalidLink.content": "Seems like you have already used invite link. It’s generated for a single sign in. Request a new one to join your workspace.", + "onboarding.page.invalidLink.button.text": "Request new link", + "onboarding.page.requestTrial.title": "Request a <1>30-day Trial", + "onboarding.page.requestTrial.subtitle": "Try our best Premium plan for 30 days for free", + "onboarding.page.magicLinkEmail.title": "We emailed you a login link", + "onboarding.page.magicLinkEmail.subtitle": "Click the link in the email we just sent you to sign in to your workspace. <1>The link will expire in 30 minutes.", + "onboarding.form.adminInfoForm.title": "Admin Info", + "onboarding.form.adminInfoForm.subtitle": "We need this information to create an admin profile for your workspace.", + "onboarding.form.adminInfoForm.fields.fullName.label": "Full name", + "onboarding.form.adminInfoForm.fields.fullName.placeholder": "First and last name", + "onboarding.form.adminInfoForm.fields.username.label": "Username", + "onboarding.form.adminInfoForm.fields.username.placeholder": "@username", + "onboarding.form.adminInfoForm.fields.email.label": "Email", + "onboarding.form.adminInfoForm.fields.email.placeholder": "Email", + "onboarding.form.adminInfoForm.fields.password.label": "Password", + "onboarding.form.adminInfoForm.fields.password.placeholder": "Create password", + "onboarding.form.adminInfoForm.fields.keepPosted.label": "Keep me posted about Rocket.Chat updates", + "onboarding.form.awaitConfirmationForm.title": "Awaiting confirmation", + "onboarding.form.awaitConfirmationForm.content.securityCode": "Security code", + "onboarding.form.awaitConfirmationForm.content.sentEmail": "Email sent to <1>{{emailAddress}} with a confirmation link.Please verify that the security code below matches the one in the email.", + "onboarding.form.organizationInfoForm.title": "Organization Info", + "onboarding.form.organizationInfoForm.subtitle": "We need to know who you are.", + "onboarding.form.organizationInfoForm.fields.organizationName.label": "Organization name", + "onboarding.form.organizationInfoForm.fields.organizationName.placeholder": "Organization name", + "onboarding.form.organizationInfoForm.fields.organizationType.label": "Organization type", + "onboarding.form.organizationInfoForm.fields.organizationType.placeholder": "Select", + "onboarding.form.organizationInfoForm.fields.organizationIndustry.label": "Organization industry", + "onboarding.form.organizationInfoForm.fields.organizationIndustry.placeholder": "Select", + "onboarding.form.organizationInfoForm.fields.organizationSize.label": "Organization size", + "onboarding.form.organizationInfoForm.fields.organizationSize.placeholder": "Select", + "onboarding.form.organizationInfoForm.fields.country.label": "Country", + "onboarding.form.organizationInfoForm.fields.country.placeholder": "Select", + "onboarding.form.registerOfflineForm.title": "Register Offline", + "onboarding.form.registerOfflineForm.copyStep.description": "If for any reason your workspace can’t be connected to the internet, follow these steps:<1>1. Go to: <2>cloud.rocket.chat > Workspaces and click “<3>Register self-managed”<4>2. Click “<5>Continue offline”<6>3. In the <7>Register offline workspace dialog in cloud.rocket.chat, paste the token in the box below", + "onboarding.form.registerOfflineForm.pasteStep.description": "1. In <1>cloud.rocket.chat get the generated text and paste below to complete your registration process", + "onboarding.form.registerOfflineForm.fields.registrationToken.inputLabel": "Registration token", + "onboarding.form.registeredServerForm.title": "Register your workspace", + "onboarding.form.registeredServerForm.included.push": "Mobile push notifications", + "onboarding.form.registeredServerForm.included.externalProviders": "Integration with external providers (WhatsApp, Facebook, Telegram, Twitter)", + "onboarding.form.registeredServerForm.included.apps": "Access to marketplace apps", + "onboarding.form.registeredServerForm.fields.accountEmail.inputLabel": "Admin email", + "onboarding.form.registeredServerForm.fields.accountEmail.inputPlaceholder": "Insert your email to continue", + "onboarding.form.registeredServerForm.keepInformed": "Keep me informed about news and events", + "onboarding.form.registeredServerForm.registerLater": "Register later", + "onboarding.form.registeredServerForm.notConnectedToInternet": "The server is not connected to the internet, so you’ll have to do an offline registration for this workspace.", + "onboarding.form.registeredServerForm.registrationEngagement": "Registration allows automatic license updates, notifications of critical vulnerabilities and access to Rocket.Chat Cloud services. No sensitive workspace data is shared; statistics sent to Rocket.Chat are made visible to you within the administration area.", + "onboarding.form.registeredServerForm.registrationKeepInformed": "By submitting this form you consent to receive more information about Rocket.Chat products, events and updates, according to our <1>privacy policy. You may unsubscribe at any time.", + "onboarding.form.standaloneServerForm.title": "Standalone Server Confirmation", + "onboarding.form.standaloneServerForm.servicesUnavailable": "Some of the services will be unavailable or will require manual setup", + "onboarding.form.standaloneServerForm.publishOwnApp": "In order to send push notitications you need to compile and publish your own app to Google Play and App Store", + "onboarding.form.standaloneServerForm.manuallyIntegrate": "Need to manually integrate with external services", + "subscription.callout.servicesDisruptionsMayOccur": "Services disruptions may occur", + "subscription.callout.servicesDisruptionsOccurring": "Services disruptions occurring", + "subscription.callout.capabilitiesDisabled": "Capabilities disabled", + "subscription.callout.description.limitsExceeded_one": "Your workspace exceeded the <1>{{val}} license limit. <3>Manage your subscription to increase limits.", + "subscription.callout.description.limitsExceeded_other": "Your workspace exceeded the <1>{{val, list}} license limits. <3>Manage your subscription to increase limits.", + "subscription.callout.description.limitsReached_one": "Your workspace reached the <1>{{val}} license limit. <3>Manage your subscription to increase limits.", + "subscription.callout.description.limitsReached_other": "Your workspace reached the <1>{{val, list}} license limits. <3>Manage your subscription to increase limits.", + "subscription.callout.allPremiumCapabilitiesDisabled": "All premium capabilities disabled", + "subscription.callout.activeUsers": "seats", + "subscription.callout.guestUsers": "guests", + "subscription.callout.roomsPerGuest": "max guest per room", + "subscription.callout.privateApps": "installed private apps", + "subscription.callout.marketplaceApps": "installed marketplace apps", + "subscription.callout.monthlyActiveContacts": "monthly active contacts", + "Something_Went_Wrong": "Something went wrong", + "Toolbox_room_actions": "Primary Room actions", + "Theme_light": "Light", + "Theme_light_description": "More accessible for individuals with visual impairments and a good choice for well-lit environments.", + "Theme_dark": "Dark", + "Theme_dark_description": "Reduce eye strain and fatigue in low-light conditions by minimizing the amount of light emitted by the screen.", + "Enable_of_limit_apps_currently_enabled": "**{{enabled}} of {{limit}} {{context}} apps currently enabled.** \n \nWorkspaces on Community can have up to {{limit}} {{context}} apps enabled. \n \n**{{appName}} will be disabled by default.** Disable another {{context}} app or upgrade to Premium to enable this app.", + "Enable_of_limit_apps_currently_enabled_exceeded": "**{{enabled}} of {{limit}} {{context}} apps currently enabled.** \n \nCommunity app limit has been exceeded. \n \nWorkspaces on Community can have up to {{limit}} {{context}} apps enabled. \n \n**{{appName}} will be disabled by default.** You will need to disable at least {{exceed}} other {{context}} apps or upgrade to a Premium plan to enable this app.", + "Workspaces_on_Community_edition_install_app": "Community workspaces can have up to {{limit}} {{context}} apps enabled. Upgrade to a Premium plan to enable unlimited apps.", + "Apps_Currently_Enabled": "{{enabled}} of {{limit}} {{context}} apps currently enabled", + "Disable_another_app": "Disable another app or upgrade to a Premium plan to enable this app.", + "Upload_anyway": "Upload anyway", + "App_limit_reached": "App limit reached", + "App_limit_exceeded": "App limit exceeded", + "Private_apps_limit_reached": "Private apps limit reached", + "Private_apps_limit_exceeded": "Private apps limit exceeded", + "Disable_at_least_more_apps": "You will need to disable at least {{numberOfExceededApps}} other apps or upgrade to a Premium plan to enable this app.", + "Community_Private_apps_limit_exceeded": "Community app limit has been exceeded.", + "Theme_match_system": "Match system", + "Theme_match_system_description": "Automatically match the appearance of your system.", + "Theme_high_contrast": "High contrast", + "Theme_high_contrast_description": "Maximum tonal differentiation with bold colors and sharp contrasts provide enhanced accessibility.", + "Highlighted_chosen_word": "Highlighted chosen word", + "Join_your_team": "Join your team", + "Create_a_password": "Create a password", + "Create_an_account": "Create an account", + "Get_all_apps": "Get all the apps your team needs", + "Workspaces_on_community_edition_trial_on": "Workspaces on Community can have up to 5 marketplace apps and 3 private apps enabled. Start a free Premium trial to remove these limits today!", + "Workspaces_on_community_edition_trial_off": "Workspaces on Community can have up to 5 marketplace apps and 3 private apps enabled. Upgrade to Premium to remove limits and supercharge your workspace.", + "No_private_apps_installed": "No private apps installed", + "Private_apps_are_side-loaded": "Private apps are side-loaded and are not available on the Marketplace.", + "Chat_transcript": "Chat transcript", + "Conversational_transcript": "Conversational transcript", + "Conversations_by_agents": "Conversations by agents", + "Conversations_by_channel": "Conversations by channel", + "Conversations_by_department": "Conversations by department", + "Conversations_by_status": "Conversations by status", + "Conversations_by_tag": "Conversations by tag", + "Send_conversation_transcript_via_email": "Send conversation transcript via email", + "Always_send_the_transcript_to_contacts_at_the_end_of_the_conversations": "Always send the transcript to contacts at the end of the conversations.", + "Export_conversation_transcript_as_PDF": "Export conversation transcript as PDF", + "Omnichannel_transcript_email": "Send chat transcript via email.", + "Accounts_Default_User_Preferences_omnichannelTranscriptEmail_Description": "Always send the transcript to contacts at the end of the conversations. This preference may be overriden by an admin setting.", + "Omnichannel_transcript_pdf": "Export chat transcript as PDF.", + "Accounts_Default_User_Preferences_omnichannelTranscriptPDF_Description": "Always export the transcript as PDF at the end of conversations.", + "Contact_email": "Contact email", + "Customer": "Customer", + "Time": "Time", + "Omnichannel_Agent": "Omnichannel Agent", + "This_attachment_is_not_supported": "Attachment format not supported", + "Send_transcript": "Send transcript", + "Undo_request": "Undo request", + "No_permission": "No permission", + "Users_Table_Generic_No_users": "No %s users", + "Users_Table_no_all_users_description": "No Users found.", + "Users_Table_no_pending_users_description": "Users who are pending activation or have been manually created but haven't logged in yet appear here.", + "Users_Table_no_active_users_description": "Active users appear here.", + "Users_Table_no_deactivated_users_description": "Deactivated users appear here.", + "Community_cap_description": "Community workspaces have a limit of 200 concurrent connections. If this limit is exceeded it will no longer be possible for users to see each others status. This does not affect sending and receiving of messages.", + "Premium_cap_description": "Premium plans do not have a presence service limit.", + "Service_status": "Service status", + "More_about_Premium_plans": "More about Premium plans", + "Presence_service_cap": "Presence service cap", + "User_Status": "User status", + "User_status_menu": "User status menu", + "Active_connections": "Active connections", + "Presence_service": "Presence service", + "Presence_broadcast_disabled": "Presence broadcast disabled internally", + "Presence_broadcast_disabled_Description": "This shows if the presence broadcast has been disabled automatically. This can happen if you don't have an Premium License and have more than 200 concurrent connections.", + "New_custom_status": "New custom status", + "Service_disabled": "The service is now disabled", + "Service_disabled_description": "You can't reenable it again until there's less than 200 active connections at the same time", + "User_status_disabled": "User status temporarily disabled to maintain performance.", + "User_status_disabled_learn_more": "User status disabled", + "User_status_disabled_learn_more_description": "Due to high volume of active connections, the service that handles user status is temporarily disabled. Administrators can re-enable this manually in the workspace settings.", + "Go_to_workspace_settings": "Go to workspace settings", + "User_status_temporarily_disabled": "User status temporarily disabled", + "Use_token": "Use token", + "Disconnected": "Disconnected", + "Disconnect_workspace": "Disconnect workspace", + "Awaiting_confirmation": "Awaiting confirmation", + "Security_code": "Security code", + "Registration_Token": "Registration Token", + "RegisterWorkspace_Button": "Register workspace", + "ConnectWorkspace_Button": "Connect workspace", + "Workspace_registered": "Workspace registered", + "Workspace_not_connected": "Workspace not connected", + "Token_Not_Recognized": "Token not recognized", + "RegisterWorkspace_Registered_Description": "These services are available", + "RegisterWorkspace_Registered_Subtitle": "Because this workspace is registered the following is available", + "RegisterWorkspace_Registered_Benefits": "Registration allows automatic license updates, notifications of critical vulnerabilities and access to Rocket.Chat Cloud services. No sensitive workspace data is shared with Rocket.Chat.", + "RegisterWorkspace_NotRegistered_Title": "Workspace not registered", + "RegisterWorkspace_NotRegistered_Subtitle": "Register this workspace and get", + "RegisterWorkspace_NotConnected_Title": "Workspace disconnected", + "RegisterWorkspace_NotConnected_Subtitle": "Connect this workspace and get", + "RegisterWorkspace_NotRegistered_Description": "Benefits of registering workspace", + "RegisterWorkspace_Disconnect_Subtitle": "Disconnecting your workspace will result in the loss of the following", + "RegisterWorkspace_Disconnect_Error": "An error occured disconnecting", + "RegisterWorkspace_Features_MobileNotifications_Title": "Mobile push notifications", + "RegisterWorkspace_Features_MobileNotifications_Description": "Allows workspace members to receive notifications on their mobile devices.", + "RegisterWorkspace_Features_MobileNotifications_Disconnect": "Workspace members will no longer receive notifications on their mobile devices.", + "RegisterWorkspace_Features_Marketplace_Title": "Marketplace", + "RegisterWorkspace_Features_Marketplace_Description": "Install Rocket.Chat Marketplace apps on this workspace.", + "RegisterWorkspace_Features_Marketplace_Disconnect": "It will no longer be possible to install apps.", + "RegisterWorkspace_Features_Omnichannel_Title": "Omnichannel", + "RegisterWorkspace_Features_Omnichannel_Description": "Talk to your audience, where they are, through the most popular social channels in the world.", + "RegisterWorkspace_Features_Omnichannel_Disconnect": "Omnichannel capabilities will no longer be available.", + "RegisterWorkspace_Features_ThirdPartyLogin_Title": "Third-party login", + "RegisterWorkspace_Features_ThirdPartyLogin_Description": "Let workspace members log in using a set of third-party applications.", + "RegisterWorkspace_Features_ThirdPartyLogin_Disconnect": "Third-party login options will no longer be available.", + "RegisterWorkspace_Token_Title": "Register workspace with token", + "RegisterWorkspace_Token_Step_Two": "Copy the token and paste it below.", + "RegisterWorkspace_with_email": "Register workspace with email", + "RegisterWorkspace_Setup_Subtitle": "To register this workspace it needs to be associated it with a Rocket.Chat Cloud account.", + "RegisterWorkspace_Setup_Steps": "Step {{step}} of {{numberOfSteps}}", + "RegisterWorkspace_Setup_Label": "Cloud account email", + "RegisterWorkspace_Setup_Have_Account_Title": "Have an account?", + "RegisterWorkspace_Setup_Have_Account_Subtitle": "Enter your Cloud account email to associate this workspace with your account.", + "RegisterWorkspace_Setup_No_Account_Title": "Don't have an account?", + "RegisterWorkspace_Setup_No_Account_Subtitle": "Enter your email to create a new Cloud account and associate this workspace.", + "cloud.RegisterWorkspace_Setup_Email_Confirmation": "Email sent to <1>email with a confirmation link.", + "RegisterWorkspace_Setup_Email_Verification": "Please verify that the security code below matches the one in the email.", + "RegisterWorkspace_Syncing_Error": "An error occured syncing your workspace", + "RegisterWorkspace_Syncing_Complete": "Sync Complete", + "RegisterWorkspace_Connection_Error": "An error occured connecting", + "cloud.RegisterWorkspace_Token_Step_One": "1. Go to: <1>cloud.rocket.chat > Workspaces and click <3>'Register self-managed'.", + "cloud.RegisterWorkspace_Setup_Terms_Privacy": "I agree with <1>Terms and Conditions and <3>Privacy Policy", + "Larger_amounts_of_active_connections": "For larger amounts of active connections you can consider our <1>multiple instance solutions.", + "Uninstall_grandfathered_app": "Uninstall {{appName}}?", + "App_will_lose_grandfathered_status": "**This {{context}} app will lose its grandfathered status.** \n \nWorkspaces on Community can have up to {{limit}} {{context}} apps enabled. Grandfathered apps count towards the limit but the limit is not applied to them.", + "All_rooms": "All rooms", + "All_visible": "All visible", + "all": "all", + "Filter_by_room": "Filter by room type", + "Filter_by_visibility": "Filter by visibility", + "Theme_Appearence": "Theme Appearence", + "mentions_counter_one": "{{count}} mention", + "mentions_counter_other": "{{count}} mentions", + "threads_counter_one": "{{count}} unread threaded message", + "threads_counter_other": "{{count}} unread threaded messages", + "group_mentions_counter_one": "{{count}} group mention", + "group_mentions_counter_other": "{{count}} group mentions", + "unread_messages_counter_one": "{{count}} unread message", + "unread_messages_counter_other": "{{count}} unread messages", + "Premium": "Premium", + "Enterprise": "Premium", + "Premium_capability": "Premium capability", + "Operating_withing_plan_limits": "Operating within plan limits", + "Plan_limits_reached": "Plan limits reached", + "Workspace_not_registered": "Workspace not registered", + "Users_Connected": "Users connected", + "Solve_issues": "Solve issues", + "Update_version": "Update version", + "Version_not_supported": "Version <1>not supported", + "Version_supported_until": "Version <1>supported until {{date}}", + "Check_support_availability": "Check <1>support availability", + "Outdated": "Outdated", + "Latest": "Latest", + "New_version_available": "New version available", + "trial": "trial", + "Subscription": "Subscription", + "Manage_subscription": "Manage subscription", + "ActiveSessionsPeak": "Active sessions peak", + "ActiveSessionsPeak_InfoText": "Highest amount of active connections in the past 30 days", + "ActiveSessions": "Active sessions", + "ActiveSessions_available": "sessions available", + "Monthly_active_contacts": "Monthly active contacts", + "Upgrade": "Upgrade", + "Seats": "Seats", + "Marketplace_apps": "Marketplace apps", + "Private_apps": "Private apps", + "Finish_your_purchase_trial": "Finish your purchase to avoid <1>downgrade consequences.", + "Contact_sales_trial": "Contact sales to finish your purchase and avoid <1>downgrade consequences.", + "Why_has_a_trial_been_applied_to_this_workspace": "<0>Why has a trial been applied to this workspace?", + "Compare_plans": "Compare plans", + "n_days_left": "{{n}} days left", + "Contact_sales": "Contact sales", + "Finish_purchase": "Finish purchase", + "Self_managed_hosting": "Self-managed hosting", + "Cloud_hosting": "Rocket.Chat cloud hosting", + "free_per_month_user": "$0 per month/user", + "Trial_active": "Trial active", + "Contact_sales_renew_date": "<0>Contact sales to check plan renew date", + "Renews_DATE": "Renews {{date}}", + "UpgradeToGetMore_Headline": "Upgrade to get more", + "UpgradeToGetMore_Subtitle": "Supercharge your workspace with advanced capabilities.", + "UpgradeToGetMore_scalability_Title": "High scalabaility", + "UpgradeToGetMore_scalability_Body": "Improve efficiency, decrease costs and increase concurrent users usage by switching from monolithic to microservices or multi-instance.", + "UpgradeToGetMore_accessibility-certification_Title": "WCAG 2.1 and BITV 2.0", + "UpgradeToGetMore_accessibility-certification_Body": "Comply with WCAG and BITV standards with Rocket.Chat's accessibility program.", + "UpgradeToGetMore_engagement-dashboard_Title": "Analytics", + "UpgradeToGetMore_engagement-dashboard_Body": "Gain insights into user, message, and channel usage through the engagement dashboard.", + "UpgradeToGetMore_oauth-enterprise_Title": "Advanced authentication", + "UpgradeToGetMore_oauth-enterprise_Body": "Ensure proper access permissions through LDAP/SAML/Oauth with group roles mapping, channel subscription, auto logout and more.", + "UpgradeToGetMore_custom-roles_Title": "Custom roles", + "UpgradeToGetMore_custom-roles_Body": "Ensure a safe and productive work environment by setting specific roles and permissions for people in your workspace.", + "UpgradeToGetMore_auditing_Title": "Message auditing", + "UpgradeToGetMore_auditing_Body": "Audit conversations in one single place to ensure communication quality with customers, suppliers, and internal teams.", + "Seats_InfoText": "Each unique user occupies one seat. Deactivated users do not occupy seats. Total number of seats is defined by active license type.", + "CountSeats_InfoText": "Each unique user occupies one seat. Deactivated users do not occupy seats.", + "MAC_InfoText": "(MAC) the number of unique omnichannel contacts engaged with during the billing month.", + "CountMAC_InfoText": "(MAC) the number of unique omnichannel contacts engaged with during the calendar month.", + "ActiveSessions_InfoText": "Total concurrent connections. A single user can be connected multiple times. User presence service is disabled at 200 or more to prevent performance issues.", + "Apps_InfoText": "Community allows up to 3 private apps and 5 marketplace apps to be enabled", + "Remove_RocketChat_Watermark_InfoText": "Watermark is automatically removed when a paid license is active.", + "Remove_RocketChat_Watermark": "Remove Rocket.Chat watermark", + "High_scalabaility": "High scalabaility", + "Premium_and_unlimited_apps": "Premium and unlimited apps", + "Message_actions": "Message actions", + "Message_audit": "Message auditing", + "Message_list": "Message list", + "Premium_omnichannel_capabilities": "Premium omnichannel capabilities", + "Video_call_manager": "Video call manager", + "Unlimited_push_notifications": "Unlimited push notifications", + "Buy_more": "Buy more", + "Upgrade_to_Pro": "Upgrade to Pro", + "Sync_license_update": "Sync license update", + "Sync_license_update_Callout_Title": "We're updating your license", + "Sync_license_update_Callout": "If you don't notice any changes in your workspace within a few minutes, sync the license update.", + "Includes": "Includes", + "Unlock_premium_capabilities": "Unlock premium capabilities", + "Unlimited_seats": "Unlimited seats", + "Unlimited_MACs": "Unlimited MACs", + "Unlimited_seats_MACs": "Unlimited seats and MACs", + "Seat_limit_reached": "Seat limit reached", + "Seat_limit_reached_Description": "Your workspace reached its contractual seat limit. Buy more seats to add more users.", + "Buy_more_seats": "Buy more seats", + "Anyone_can_react_to_messages": "Anyone can react to messages", + "Name_cannot_have_spaces": "Name cannot have spaces", + "No_spaces": "No spaces", + "Add_people": "Add people", + "Anyone_can_access": "Anyone can access", + "Only_invited_people": "People can only join by being invited", + "Broadcast_hint_enabled": "Only {{roomType}} owners can write new messages but anyone can reply in a thread", + "Federation_is_currently_disabled_on_this_workspace": "Federation is currently disabled on this workspace", + "Search_options": "Search options", + "First_message_hint": "A discussion can start with a question like \"How do I upload a picture?\"", + "Delete_roomType": "Delete {{roomType}}", + "Delete_roomType_description": "Deleting this {{roomType}} will also delete all contained message. This cannot be undone.", + "Deleted_roomType": "{{roomName}} {{roomType}} has been deleted", + "unread_messages_one": "{{count}} unread message", + "unread_messages_other": "{{count}} unread messages", + "Encrypted_messages": "End-to-end encrypted {{roomType}}. Search will not work with encrypted {{roomType}} and notifications may not show the messages content.", + "Encrypted_messages_false": "Messages are not encrypted", + "Encrypted_content_will_not_appear_search": "Room encrypted, encrypted content will not appear in search", + "Encrypted_content_cannot_be_searched_and_audited": "Encrypted content cannot be searched and audited", + "Encrypted_content_cannot_be_searched_and_audited_subtitle": "There are one or more encrypted rooms selected for audit.", + "Not_available_for_broadcast": "Not available for broadcast {{roomType}}", + "Not_available_for_this_workspace": "Not available for this workspace", + "People_can_only_join_by_being_invited": "People can only join by being invited", + "Go_to_href": "Go to: {{href}}", + "Anyone_can_send_new_messages": "Anyone can send new messages", + "Select_messages_to_hide": "Select messages to hide", + "Name_cannot_have_special_characters": "Name cannot have spaces or special characters", + "Resize": "Resize", + "Zoom_out": "Zoom out", + "Zoom_in": "Zoom in", + "Close_gallery": "Close gallery", + "Next_image": "Next Image", + "Previous_image": "Previous image", + "Image_gallery": "Image gallery", + "Add_topic": "Add topic", + "Chat_with_leader": "Chat with leader", + "You_cant_take_chats_unavailable": "You cannot take new conversations because you're unavailable", + "You_cant_take_chats_offline": "You cannot take new conversations because you're offline", + "New_navigation": "Enhanced navigation experience", + "New_navigation_description": "Explore our improved navigation, designed with clear scopes for easy access to what you need. This change serves as the foundation for future advancements in navigation management.", + "Workspace_and_user_settings": "Workspace and user settings", + "Sidebar_Sections_Order": "Sidebar sections order", + "Sidebar_Sections_Order_Description": "Select the categories in your preferred order", + "Incoming_Calls": "Incoming calls", + "Advanced_settings": "Advanced settings", + "Security_and_permissions": "Security and permissions" } diff --git a/packages/i18n/src/locales/pt-BR.i18n.json b/packages/i18n/src/locales/pt-BR.i18n.json index ad490a1b6f04..dc62318cb230 100644 --- a/packages/i18n/src/locales/pt-BR.i18n.json +++ b/packages/i18n/src/locales/pt-BR.i18n.json @@ -1736,6 +1736,7 @@ "error-invalid-custom-field": "Campo personalizado inválido", "error-invalid-custom-field-name": "Nome inválido para o campo personalizado. Use apenas letras, números, hífens e travessão.", "error-invalid-custom-field-value": "Valor inválido para o campo {{field}}", + "error-custom-field-not-allowed": "O campo personalizado {{key}} não é permitido", "error-invalid-date": "Data fornecida inválida", "error-invalid-description": "Descrição inválida", "error-invalid-domain": "Domínio inválido", From 0cc0e835d3ac58e4c6a6af2e77379c4a5ec850f8 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Wed, 28 Aug 2024 15:18:12 -0300 Subject: [PATCH 49/59] test: mock user repository --- .../app/livechat/server/lib/Contacts.spec.ts | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/apps/meteor/tests/unit/app/livechat/server/lib/Contacts.spec.ts b/apps/meteor/tests/unit/app/livechat/server/lib/Contacts.spec.ts index 2dd82c974ffd..e5cb2beccad8 100644 --- a/apps/meteor/tests/unit/app/livechat/server/lib/Contacts.spec.ts +++ b/apps/meteor/tests/unit/app/livechat/server/lib/Contacts.spec.ts @@ -2,11 +2,17 @@ import { expect } from 'chai'; import proxyquire from 'proxyquire'; import sinon from 'sinon'; +const modelsMock = { + Users: { + findOneAgentById: sinon.stub(), + }, +}; const { validateCustomFields, validateContactManager } = proxyquire .noCallThru() .load('../../../../../../app/livechat/server/lib/Contacts', { 'meteor/check': sinon.stub(), 'meteor/meteor': sinon.stub(), + '@rocket.chat/models': modelsMock, }); describe('[OC] Contacts', () => { @@ -48,16 +54,21 @@ describe('[OC] Contacts', () => { }); describe('validateContactManager', () => { - it('should throw an error if the user does not exist', async () => { - const user = null; + beforeEach(() => { + modelsMock.Users.findOneAgentById.reset(); + }); - await expect(validateContactManager(user)).to.be.rejectedWith('error-contact-manager-not-found'); + it('should throw an error if the user does not exist', async () => { + modelsMock.Users.findOneAgentById.resolves(undefined); + await expect(validateContactManager('any_id')).to.be.rejectedWith('error-contact-manager-not-found'); }); it('should not throw an error if the user has the "livechat-agent" role', async () => { - const user = { roles: ['livechat-agent'] }; + const user = { _id: 'userId' }; + modelsMock.Users.findOneAgentById.resolves(user); - await expect(validateContactManager(user)).to.not.be.rejected; + await expect(validateContactManager('userId')).to.not.be.rejected; + expect(modelsMock.Users.findOneAgentById.getCall(0).firstArg).to.be.equal('userId'); }); }); }); From 32cb0a66b7020786a333f96898994d68c4b06536 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Wed, 28 Aug 2024 15:42:07 -0300 Subject: [PATCH 50/59] test: add updateContact unit tests --- .../app/livechat/server/lib/Contacts.spec.ts | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/apps/meteor/tests/unit/app/livechat/server/lib/Contacts.spec.ts b/apps/meteor/tests/unit/app/livechat/server/lib/Contacts.spec.ts index e5cb2beccad8..fef3c59469f8 100644 --- a/apps/meteor/tests/unit/app/livechat/server/lib/Contacts.spec.ts +++ b/apps/meteor/tests/unit/app/livechat/server/lib/Contacts.spec.ts @@ -6,8 +6,12 @@ const modelsMock = { Users: { findOneAgentById: sinon.stub(), }, + LivechatContacts: { + findOneById: sinon.stub(), + updateContact: sinon.stub(), + }, }; -const { validateCustomFields, validateContactManager } = proxyquire +const { validateCustomFields, validateContactManager, updateContact } = proxyquire .noCallThru() .load('../../../../../../app/livechat/server/lib/Contacts', { 'meteor/check': sinon.stub(), @@ -71,4 +75,28 @@ describe('[OC] Contacts', () => { expect(modelsMock.Users.findOneAgentById.getCall(0).firstArg).to.be.equal('userId'); }); }); + + describe('updateContact', () => { + beforeEach(() => { + modelsMock.LivechatContacts.findOneById.reset(); + modelsMock.LivechatContacts.updateContact.reset(); + }); + + it('should throw an error if the contact does not exist', async () => { + modelsMock.LivechatContacts.findOneById.resolves(undefined); + await expect(updateContact('any_id')).to.be.rejectedWith('error-contact-not-found'); + expect(modelsMock.LivechatContacts.updateContact.getCall(0)).to.be.null; + }); + + it('should update the contact with correct params', async () => { + modelsMock.LivechatContacts.findOneById.resolves({ _id: 'contactId' }); + modelsMock.LivechatContacts.updateContact.resolves({ _id: 'contactId', name: 'John Doe' } as any); + + const updatedContact = await updateContact({ contactId: 'contactId', name: 'John Doe' }); + + expect(modelsMock.LivechatContacts.updateContact.getCall(0).args[0]).to.be.equal('contactId'); + expect(modelsMock.LivechatContacts.updateContact.getCall(0).args[1]).to.be.deep.contain({ name: 'John Doe' }); + expect(updatedContact).to.be.deep.equal({ _id: 'contactId', name: 'John Doe' }); + }); + }); }); From c903de94b6d26622403215af9419ab322ed45bac Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Thu, 29 Aug 2024 15:25:48 -0300 Subject: [PATCH 51/59] fix: make name not nullable --- packages/rest-typings/src/v1/omnichannel.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/rest-typings/src/v1/omnichannel.ts b/packages/rest-typings/src/v1/omnichannel.ts index a764956e0885..1ed249f5dd55 100644 --- a/packages/rest-typings/src/v1/omnichannel.ts +++ b/packages/rest-typings/src/v1/omnichannel.ts @@ -1272,7 +1272,6 @@ const POSTUpdateOmnichannelContactsSchema = { }, name: { type: 'string', - nullable: true, }, emails: { type: 'array', From f54dc84a5df11a0aa9da41b1b5b4d431b391e1dd Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Thu, 29 Aug 2024 15:27:31 -0300 Subject: [PATCH 52/59] test: admin already has the permission by default --- apps/meteor/tests/end-to-end/api/livechat/contacts.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/meteor/tests/end-to-end/api/livechat/contacts.ts b/apps/meteor/tests/end-to-end/api/livechat/contacts.ts index 2ac1768fddef..2dff7ccf30c8 100644 --- a/apps/meteor/tests/end-to-end/api/livechat/contacts.ts +++ b/apps/meteor/tests/end-to-end/api/livechat/contacts.ts @@ -311,7 +311,6 @@ describe('LIVECHAT - contacts', () => { let contactId: string; before(async () => { - await updatePermission('update-livechat-contact', ['admin']); const { body } = await request .post(api('omnichannel/contacts')) .set(credentials) From a23a9e0a4d22f751bf84ef4f118a726cbf54c398 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Thu, 29 Aug 2024 15:39:46 -0300 Subject: [PATCH 53/59] test: use after/before to set permissions --- .../tests/end-to-end/api/livechat/contacts.ts | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/apps/meteor/tests/end-to-end/api/livechat/contacts.ts b/apps/meteor/tests/end-to-end/api/livechat/contacts.ts index 2dff7ccf30c8..957d22ba92ae 100644 --- a/apps/meteor/tests/end-to-end/api/livechat/contacts.ts +++ b/apps/meteor/tests/end-to-end/api/livechat/contacts.ts @@ -397,18 +397,24 @@ describe('LIVECHAT - contacts', () => { expect(res.body.error).to.be.equal('error-contact-manager-not-found'); }); - it("should return an error if user doesn't have 'update-livechat-contact' permission", async () => { - await removePermissionFromAllRoles('update-livechat-contact'); + describe('Permissions', () => { + before(async () => { + await removePermissionFromAllRoles('update-livechat-contact'); + }); - const res = await request.post(api('omnichannel/contacts.update')).set(credentials).send({ - contactId, + after(async () => { + await restorePermissionToRoles('update-livechat-contact'); }); - expect(res.body).to.have.property('success', false); - expect(res.body).to.have.property('error'); - expect(res.body.error).to.be.equal('User does not have the permissions required for this action [error-unauthorized]'); + it("should return an error if user doesn't have 'update-livechat-contact' permission", async () => { + const res = await request.post(api('omnichannel/contacts.update')).set(credentials).send({ + contactId, + }); - await restorePermissionToRoles('update-livechat-contact'); + expect(res.body).to.have.property('success', false); + expect(res.body).to.have.property('error'); + expect(res.body.error).to.be.equal('User does not have the permissions required for this action [error-unauthorized]'); + }); }); describe('Custom Fields', () => { From 67f25b305e1663275cd0f6f63e4136bd4a19fc47 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Thu, 29 Aug 2024 15:42:28 -0300 Subject: [PATCH 54/59] chore: improve description --- .changeset/heavy-snails-help.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/heavy-snails-help.md b/.changeset/heavy-snails-help.md index 4d2cb570f0df..89a6dd5ccaa5 100644 --- a/.changeset/heavy-snails-help.md +++ b/.changeset/heavy-snails-help.md @@ -3,4 +3,4 @@ "@rocket.chat/rest-typings": minor --- -implemented "update contacts" endpoint to the omnichannel +implemented "omnichannel/contacts.update" endpoint to update contacts From 726414e7cf3545106f7aa8261ca455640b662460 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Mon, 2 Sep 2024 16:02:17 -0300 Subject: [PATCH 55/59] Update .changeset/heavy-snails-help.md Co-authored-by: Marcos Spessatto Defendi --- .changeset/heavy-snails-help.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/heavy-snails-help.md b/.changeset/heavy-snails-help.md index 89a6dd5ccaa5..fb10bac9ea8f 100644 --- a/.changeset/heavy-snails-help.md +++ b/.changeset/heavy-snails-help.md @@ -3,4 +3,4 @@ "@rocket.chat/rest-typings": minor --- -implemented "omnichannel/contacts.update" endpoint to update contacts +Implemented "omnichannel/contacts.update" endpoint to update contacts From b922e3d194f234ce539cea1c1640c9775525e0a9 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Mon, 2 Sep 2024 17:55:14 -0300 Subject: [PATCH 56/59] fix: set the correct translation --- packages/i18n/src/locales/en.i18n.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/i18n/src/locales/en.i18n.json b/packages/i18n/src/locales/en.i18n.json index 00d471c1ec97..ea7e31422cb1 100644 --- a/packages/i18n/src/locales/en.i18n.json +++ b/packages/i18n/src/locales/en.i18n.json @@ -2082,7 +2082,7 @@ "error-invalid-custom-field": "Invalid custom field", "error-invalid-custom-field-name": "Invalid custom field name. Use only letters, numbers, hyphens and underscores.", "error-invalid-custom-field-value": "Invalid value for {{field}} field", - "error-custom-field-not-allowed": "O campo personalizado {{key}} não é permitido", + "error-custom-field-not-allowed": "Custom field {{key}} is not allowed", "error-invalid-date": "Invalid date provided.", "error-invalid-dates": "From date cannot be after To date", "error-invalid-description": "Invalid description", @@ -5843,8 +5843,8 @@ "view-joined-room": "View Joined Room", "view-joined-room_description": "Permission to view the currently joined channels", "view-l-room": "View Omnichannel Rooms", - "create-livechat-contact": "Criar contatos do omnichannel", - "update-livechat-contact": "Atualizar contatos do omnichannel", + "create-livechat-contact": "Create Omnichannel contacts", + "update-livechat-contact": "Update Omnichannel contacts", "view-l-room_description": "Permission to view Omnichannel rooms", "view-livechat-analytics": "View Omnichannel Analytics", "onboarding.page.awaitingConfirmation.subtitle": "We have sent you an email to {{emailAddress}} with a confirmation link. Please verify that the security code below matches the one in the email.", From 5f5ce4caf6e667c2ac7c24b0c37de1ac7fce038c Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Tue, 3 Sep 2024 07:31:57 -0300 Subject: [PATCH 57/59] refactor: remove unused method --- apps/meteor/server/models/raw/LivechatContacts.ts | 5 ----- packages/model-typings/src/models/ILivechatContactsModel.ts | 2 -- 2 files changed, 7 deletions(-) diff --git a/apps/meteor/server/models/raw/LivechatContacts.ts b/apps/meteor/server/models/raw/LivechatContacts.ts index b1a7445e67be..88dac1b9f5c1 100644 --- a/apps/meteor/server/models/raw/LivechatContacts.ts +++ b/apps/meteor/server/models/raw/LivechatContacts.ts @@ -17,9 +17,4 @@ export class LivechatContactsRaw extends BaseRaw implements IL ); return updatedValue.value as ILivechatContact; } - - async findVerifiedContactByEmail(email: string): Promise { - // TODO: find only contacts with verified channels - return this.findOne({ emails: { $elemMatch: { address: email } }, channels: { $elemMatch: { verified: true } } }); - } } diff --git a/packages/model-typings/src/models/ILivechatContactsModel.ts b/packages/model-typings/src/models/ILivechatContactsModel.ts index 0e56f8c7790a..f94216830884 100644 --- a/packages/model-typings/src/models/ILivechatContactsModel.ts +++ b/packages/model-typings/src/models/ILivechatContactsModel.ts @@ -1,9 +1,7 @@ import type { ILivechatContact } from '@rocket.chat/core-typings'; -import type { FindOptions } from 'mongodb'; import type { IBaseModel } from './IBaseModel'; export interface ILivechatContactsModel extends IBaseModel { updateContact(contactId: string, data: Partial): Promise; - findVerifiedContactByEmail(email: string, options?: FindOptions): Promise; } From 58df14e49d4d69049fbcf18a94467fed1c5a8d53 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Tue, 3 Sep 2024 10:37:13 -0300 Subject: [PATCH 58/59] refactor: create contacts only in test mode --- .../app/livechat/server/lib/LivechatTyped.ts | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/apps/meteor/app/livechat/server/lib/LivechatTyped.ts b/apps/meteor/app/livechat/server/lib/LivechatTyped.ts index 6f3c4d1db43f..88f9494159a2 100644 --- a/apps/meteor/app/livechat/server/lib/LivechatTyped.ts +++ b/apps/meteor/app/livechat/server/lib/LivechatTyped.ts @@ -665,13 +665,15 @@ class LivechatClass { } } - const contactId = await createContact({ - name: name ?? (visitorDataToUpdate.username as string), - emails: email ? [email] : [], - phones: phone ? [phone.number] : [], - unknown: true, - }); - visitorDataToUpdate.contactId = contactId; + if (process.env.TEST_MODE?.toUpperCase() === 'TRUE') { + const contactId = await createContact({ + name: name ?? (visitorDataToUpdate.username as string), + emails: email ? [email] : [], + phones: phone ? [phone.number] : [], + unknown: true, + }); + visitorDataToUpdate.contactId = contactId; + } const upsertedLivechatVisitor = await LivechatVisitors.updateOneByIdOrToken(visitorDataToUpdate, { upsert: true, From 838b7afe17e5ba353ab1e008e8569f1f1ac62a78 Mon Sep 17 00:00:00 2001 From: Rafael Tapia Date: Tue, 3 Sep 2024 10:38:10 -0300 Subject: [PATCH 59/59] fix: `test_mode` validation --- apps/meteor/app/livechat/server/api/v1/contact.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/meteor/app/livechat/server/api/v1/contact.ts b/apps/meteor/app/livechat/server/api/v1/contact.ts index 94bd5ed3e11c..7e9457d2f185 100644 --- a/apps/meteor/app/livechat/server/api/v1/contact.ts +++ b/apps/meteor/app/livechat/server/api/v1/contact.ts @@ -92,7 +92,7 @@ API.v1.addRoute( { authRequired: true, permissionsRequired: ['create-livechat-contact'], validateParams: isPOSTOmnichannelContactsProps }, { async post() { - if (!process.env.TEST_MODE) { + if (process.env.TEST_MODE?.toUpperCase() !== 'TRUE') { throw new Meteor.Error('error-not-allowed', 'This endpoint is only allowed in test mode'); } const contactId = await createContact({ ...this.bodyParams, unknown: false }); @@ -106,7 +106,7 @@ API.v1.addRoute( { authRequired: true, permissionsRequired: ['update-livechat-contact'], validateParams: isPOSTUpdateOmnichannelContactsProps }, { async post() { - if (!process.env.TEST_MODE) { + if (process.env.TEST_MODE?.toUpperCase() !== 'TRUE') { throw new Meteor.Error('error-not-allowed', 'This endpoint is only allowed in test mode'); }