diff --git a/apps/meteor/.scripts/translation-check.ts b/apps/meteor/.scripts/translation-check.ts
index 0a1b9d319b2c..11782c8db649 100644
--- a/apps/meteor/.scripts/translation-check.ts
+++ b/apps/meteor/.scripts/translation-check.ts
@@ -237,8 +237,8 @@ const checkFiles = async (sourceDirPath: string, sourceLng: string, fix = false)
for await (const { path, json, lng } of translations) {
await checkPlaceholdersFormat({ json, path, fix });
- await checkMissingPlurals({ json, path, lng, fix });
await checkExceedingKeys({ json, path, lng, sourceJson, sourceLng, fix });
+ await checkMissingPlurals({ json, path, lng, fix });
}
};
diff --git a/apps/meteor/app/utils/lib/i18n.ts b/apps/meteor/app/utils/lib/i18n.ts
index 6363628a3715..9d3fbc59d245 100644
--- a/apps/meteor/app/utils/lib/i18n.ts
+++ b/apps/meteor/app/utils/lib/i18n.ts
@@ -6,31 +6,13 @@ import { isObject } from '../../../lib/utils/isObject';
export const i18n = i18next.use(sprintf);
-type HasCounter = {
- counter?: number;
-};
-
-const hasCounterProperty = (obj: any): obj is HasCounter => obj?.hasOwnProperty('counter') && typeof obj.counter === 'number';
-
-export const addSprinfToI18n = function (t: (typeof i18n)['t'], i18nInstance?: typeof i18n) {
+export const addSprinfToI18n = function (t: (typeof i18n)['t']) {
return function (key: string, ...replaces: any): string {
if (replaces[0] === undefined) {
return t(key, ...replaces);
}
if (isObject(replaces[0]) && !Array.isArray(replaces[0])) {
- if (!hasCounterProperty(replaces[0])) {
- return t(key, ...replaces);
- }
-
- const pluralKey = `${key}_plural`;
- const pluralKeyExists = i18nInstance?.exists(pluralKey);
- const counter = replaces[0]?.counter;
-
- if (counter !== undefined && pluralKeyExists) {
- return counter === 1 ? t(key, ...replaces) : t(pluralKey, ...replaces);
- }
-
return t(key, ...replaces);
}
diff --git a/apps/meteor/client/components/connectionStatus/ConnectionStatusBar.tsx b/apps/meteor/client/components/connectionStatus/ConnectionStatusBar.tsx
index 22f7bace7f05..73b92606ba01 100644
--- a/apps/meteor/client/components/connectionStatus/ConnectionStatusBar.tsx
+++ b/apps/meteor/client/components/connectionStatus/ConnectionStatusBar.tsx
@@ -1,6 +1,6 @@
import { Icon } from '@rocket.chat/fuselage';
import { useConnectionStatus, useTranslation } from '@rocket.chat/ui-contexts';
-import type { MouseEventHandler, FC } from 'react';
+import type { MouseEventHandler } from 'react';
import React, { useEffect, useRef, useState } from 'react';
import './ConnectionStatusBar.styles.css';
@@ -45,7 +45,7 @@ const useReconnectCountdown = (
return reconnectCountdown;
};
-const ConnectionStatusBar: FC = function ConnectionStatusBar() {
+function ConnectionStatusBar() {
const { connected, retryTime, status, reconnect } = useConnectionStatus();
const reconnectCountdown = useReconnectCountdown(retryTime, status);
const t = useTranslation();
@@ -65,12 +65,7 @@ const ConnectionStatusBar: FC = function ConnectionStatusBar() {
{t('meteor_status' as Parameters[0], { context: status })}
- {status === 'waiting' && (
- <>
- {' '}
- {t(reconnectCountdown === 1 ? 'meteor_status_reconnect_in' : 'meteor_status_reconnect_in_plural', { count: reconnectCountdown })}
- >
- )}
+ {status === 'waiting' && <> {t('meteor_status_reconnect_in', { count: reconnectCountdown })}>}
{['waiting', 'offline'].includes(status) && (
<>
@@ -82,6 +77,6 @@ const ConnectionStatusBar: FC = function ConnectionStatusBar() {
)}
);
-};
+}
export default ConnectionStatusBar;
diff --git a/apps/meteor/client/components/message/content/DiscussionMetrics.tsx b/apps/meteor/client/components/message/content/DiscussionMetrics.tsx
index 5589d1278905..dc84828e607a 100644
--- a/apps/meteor/client/components/message/content/DiscussionMetrics.tsx
+++ b/apps/meteor/client/components/message/content/DiscussionMetrics.tsx
@@ -23,7 +23,7 @@ const DiscussionMetrics = ({ lm, count, rid, drid }: DiscussionMetricsProps): Re
goToRoom(drid)}>
- {count ? t('message_counter', { counter: count, count }) : t('Reply')}
+ {count ? t('message_counter', { count }) : t('Reply')}
diff --git a/apps/meteor/client/providers/TranslationProvider.tsx b/apps/meteor/client/providers/TranslationProvider.tsx
index 039028b4cf2b..7f98c374f949 100644
--- a/apps/meteor/client/providers/TranslationProvider.tsx
+++ b/apps/meteor/client/providers/TranslationProvider.tsx
@@ -238,7 +238,7 @@ const TranslationProviderInner = ({
loadLanguage: async (language: string) => {
i18n.changeLanguage(language);
},
- translate: Object.assign(addSprinfToI18n(t, i18n), {
+ translate: Object.assign(addSprinfToI18n(t), {
has: ((key, options) => key && i18n.exists(key, options)) as TranslationContextValue['translate']['has'],
}),
}),
diff --git a/apps/meteor/client/sidebar/RoomList/SideBarItemTemplateWithData.tsx b/apps/meteor/client/sidebar/RoomList/SideBarItemTemplateWithData.tsx
index c42d2894315b..4c51b8a3615b 100644
--- a/apps/meteor/client/sidebar/RoomList/SideBarItemTemplateWithData.tsx
+++ b/apps/meteor/client/sidebar/RoomList/SideBarItemTemplateWithData.tsx
@@ -42,17 +42,17 @@ const getBadgeTitle = (
) => {
const title = [] as string[];
if (userMentions) {
- title.push(t('mentions_counter', { counter: userMentions }));
+ title.push(t('mentions_counter', { count: userMentions }));
}
if (threadUnread) {
- title.push(t('threads_counter', { counter: threadUnread }));
+ title.push(t('threads_counter', { count: threadUnread }));
}
if (groupMentions) {
- title.push(t('group_mentions_counter', { counter: groupMentions }));
+ title.push(t('group_mentions_counter', { count: groupMentions }));
}
const count = unread - userMentions - groupMentions;
if (count > 0) {
- title.push(t('unread_messages_counter', { counter: count }));
+ title.push(t('unread_messages_counter', { count }));
}
return title.join(', ');
};
diff --git a/apps/meteor/client/sidebar/footer/voip/index.tsx b/apps/meteor/client/sidebar/footer/voip/index.tsx
index 70ad626044a4..9ae7d91c7c2b 100644
--- a/apps/meteor/client/sidebar/footer/voip/index.tsx
+++ b/apps/meteor/client/sidebar/footer/voip/index.tsx
@@ -1,7 +1,7 @@
import type { VoIpCallerInfo } from '@rocket.chat/core-typings';
import { useEndpoint, useTranslation } from '@rocket.chat/ui-contexts';
import type { ReactElement } from 'react';
-import React, { useCallback, useMemo, useState } from 'react';
+import React, { useCallback, useState } from 'react';
import { useVoipFooterMenu } from '../../../../ee/client/hooks/useVoipFooterMenu';
import {
@@ -62,18 +62,6 @@ export const VoipFooter = (): ReactElement | null => {
return subtitles[state] || '';
};
- const getCallsInQueueText = useMemo((): string => {
- if (queueCounter === 0) {
- return t('Calls_in_queue_empty');
- }
-
- if (queueCounter === 1) {
- return t('Calls_in_queue', { calls: queueCounter });
- }
-
- return t('Calls_in_queue_plural', { calls: queueCounter });
- }, [queueCounter, t]);
-
if (!('caller' in callerInfo)) {
return ;
}
@@ -91,7 +79,7 @@ export const VoipFooter = (): ReactElement | null => {
togglePause={togglePause}
createRoom={createRoom}
openRoom={openRoom}
- callsInQueue={getCallsInQueueText}
+ callsInQueue={t('Calls_in_queue', { count: queueCounter })}
dispatchEvent={dispatchEvent}
openedRoomInfo={openedRoomInfo}
isEnterprise={isEnterprise}
diff --git a/apps/meteor/client/views/admin/moderation/ModerationConsoleTable.tsx b/apps/meteor/client/views/admin/moderation/ModerationConsoleTable.tsx
index 4e877b3aefc7..da7526cc597b 100644
--- a/apps/meteor/client/views/admin/moderation/ModerationConsoleTable.tsx
+++ b/apps/meteor/client/views/admin/moderation/ModerationConsoleTable.tsx
@@ -1,9 +1,10 @@
import { Pagination, Field, FieldLabel, FieldRow } from '@rocket.chat/fuselage';
import { useDebouncedValue, useMediaQuery, useMutableCallback } from '@rocket.chat/fuselage-hooks';
-import { useEndpoint, useToastMessageDispatch, useRoute, useTranslation } from '@rocket.chat/ui-contexts';
+import { useEndpoint, useToastMessageDispatch, useRoute } from '@rocket.chat/ui-contexts';
import { useQuery } from '@tanstack/react-query';
import type { FC } from 'react';
import React, { useMemo, useState } from 'react';
+import { useTranslation } from 'react-i18next';
import FilterByText from '../../../components/FilterByText';
import GenericNoResults from '../../../components/GenericNoResults';
@@ -23,7 +24,7 @@ import DateRangePicker from './helpers/DateRangePicker';
const ModerationConsoleTable: FC = () => {
const [text, setText] = useState('');
const moderationRoute = useRoute('moderation-console');
- const t = useTranslation();
+ const { t } = useTranslation();
const isDesktopOrLarger = useMediaQuery('(min-width: 1024px)');
const { sortBy, sortDirection, setSort } = useSort<'reports.ts' | 'reports.message.u.username' | 'reports.description' | 'count'>(
@@ -110,7 +111,7 @@ const ModerationConsoleTable: FC = () => {
{t('Moderation_Report_date')}
,
- {t('Moderation_Report_plural')}
+ {t('Moderation_Report_reports')}
,
,
],
diff --git a/apps/meteor/client/views/admin/moderation/hooks/useDismissUserAction.tsx b/apps/meteor/client/views/admin/moderation/hooks/useDismissUserAction.tsx
index 560c980df91e..6f9411817918 100644
--- a/apps/meteor/client/views/admin/moderation/hooks/useDismissUserAction.tsx
+++ b/apps/meteor/client/views/admin/moderation/hooks/useDismissUserAction.tsx
@@ -1,12 +1,13 @@
-import { useEndpoint, useRouter, useSetModal, useToastMessageDispatch, useTranslation } from '@rocket.chat/ui-contexts';
+import { useEndpoint, useRouter, useSetModal, useToastMessageDispatch } from '@rocket.chat/ui-contexts';
import { useMutation, useQueryClient } from '@tanstack/react-query';
import React from 'react';
+import { useTranslation } from 'react-i18next';
import type { GenericMenuItemProps } from '../../../../components/GenericMenu/GenericMenuItem';
import GenericModal from '../../../../components/GenericModal';
const useDismissUserAction = (userId: string): GenericMenuItemProps => {
- const t = useTranslation();
+ const { t } = useTranslation();
const setModal = useSetModal();
const dispatchToastMessage = useToastMessageDispatch();
const moderationRoute = useRouter();
@@ -20,7 +21,7 @@ const useDismissUserAction = (userId: string): GenericMenuItemProps => {
dispatchToastMessage({ type: 'error', message: error });
},
onSuccess: () => {
- dispatchToastMessage({ type: 'success', message: t('Moderation_Reports_dismissed_plural') });
+ dispatchToastMessage({ type: 'success', message: t('Moderation_Reports_all_dismissed') });
},
});
diff --git a/apps/meteor/client/views/admin/settings/inputs/ActionSettingInput.stories.tsx b/apps/meteor/client/views/admin/settings/inputs/ActionSettingInput.stories.tsx
index da0e68443dc3..5c8a468eed80 100644
--- a/apps/meteor/client/views/admin/settings/inputs/ActionSettingInput.stories.tsx
+++ b/apps/meteor/client/views/admin/settings/inputs/ActionSettingInput.stories.tsx
@@ -1,9 +1,8 @@
import { Field } from '@rocket.chat/fuselage';
-import type { ServerMethods } from '@rocket.chat/ui-contexts';
+import type { ServerMethods, TranslationKey } from '@rocket.chat/ui-contexts';
import type { ComponentMeta, ComponentStory } from '@storybook/react';
import React from 'react';
-import type keys from '../../../../../packages/rocketchat-i18n/i18n/en.i18n.json';
import ActionSettingInput from './ActionSettingInput';
export default {
@@ -17,14 +16,14 @@ const Template: ComponentStory = (args) => = (args) => ;
const options: valuesOption[] = [
- { key: '1', i18nLabel: '1' as keyof typeof keys },
- { key: '2', i18nLabel: '2' as keyof typeof keys },
- { key: '3', i18nLabel: '3' as keyof typeof keys },
+ { key: '1', i18nLabel: '1' as TranslationKey },
+ { key: '2', i18nLabel: '2' as TranslationKey },
+ { key: '3', i18nLabel: '3' as TranslationKey },
];
export const Default = Template.bind({});
diff --git a/apps/meteor/client/views/admin/settings/inputs/SelectSettingInput.stories.tsx b/apps/meteor/client/views/admin/settings/inputs/SelectSettingInput.stories.tsx
index e08f376be0f7..fc8798351f9e 100644
--- a/apps/meteor/client/views/admin/settings/inputs/SelectSettingInput.stories.tsx
+++ b/apps/meteor/client/views/admin/settings/inputs/SelectSettingInput.stories.tsx
@@ -1,8 +1,8 @@
import { Field } from '@rocket.chat/fuselage';
+import type { TranslationKey } from '@rocket.chat/ui-contexts';
import type { ComponentMeta, ComponentStory } from '@storybook/react';
import React from 'react';
-import type keys from '../../../../../packages/rocketchat-i18n/i18n/en.i18n.json';
import SelectSettingInput from './SelectSettingInput';
export default {
@@ -24,9 +24,9 @@ Default.args = {
label: 'Label',
placeholder: 'Placeholder',
values: [
- { key: '1', i18nLabel: '1' as keyof typeof keys },
- { key: '2', i18nLabel: '2' as keyof typeof keys },
- { key: '3', i18nLabel: '3' as keyof typeof keys },
+ { key: '1', i18nLabel: '1' as TranslationKey },
+ { key: '2', i18nLabel: '2' as TranslationKey },
+ { key: '3', i18nLabel: '3' as TranslationKey },
],
};
@@ -36,9 +36,9 @@ Disabled.args = {
label: 'Label',
placeholder: 'Placeholder',
values: [
- { key: '1', i18nLabel: '1' as keyof typeof keys },
- { key: '2', i18nLabel: '2' as keyof typeof keys },
- { key: '3', i18nLabel: '3' as keyof typeof keys },
+ { key: '1', i18nLabel: '1' as TranslationKey },
+ { key: '2', i18nLabel: '2' as TranslationKey },
+ { key: '3', i18nLabel: '3' as TranslationKey },
],
disabled: true,
};
@@ -50,9 +50,9 @@ WithValue.args = {
placeholder: 'Placeholder',
value: '2',
values: [
- { key: '1', i18nLabel: '1' as keyof typeof keys },
- { key: '2', i18nLabel: '2' as keyof typeof keys },
- { key: '3', i18nLabel: '3' as keyof typeof keys },
+ { key: '1', i18nLabel: '1' as TranslationKey },
+ { key: '2', i18nLabel: '2' as TranslationKey },
+ { key: '3', i18nLabel: '3' as TranslationKey },
],
};
@@ -62,9 +62,9 @@ WithResetButton.args = {
label: 'Label',
placeholder: 'Placeholder',
values: [
- { key: '1', i18nLabel: '1' as keyof typeof keys },
- { key: '2', i18nLabel: '2' as keyof typeof keys },
- { key: '3', i18nLabel: '3' as keyof typeof keys },
+ { key: '1', i18nLabel: '1' as TranslationKey },
+ { key: '2', i18nLabel: '2' as TranslationKey },
+ { key: '3', i18nLabel: '3' as TranslationKey },
],
hasResetButton: true,
};
diff --git a/apps/meteor/client/views/marketplace/components/EnabledAppsCount.tsx b/apps/meteor/client/views/marketplace/components/EnabledAppsCount.tsx
index cd3e482b977b..9578d49961c8 100644
--- a/apps/meteor/client/views/marketplace/components/EnabledAppsCount.tsx
+++ b/apps/meteor/client/views/marketplace/components/EnabledAppsCount.tsx
@@ -19,12 +19,9 @@ const EnabledAppsCount = ({
}): ReactElement | null => {
const t = useTranslation();
- const privateAppsCountText: string = t('Private_Apps_Count_Enabled', { counter: enabled });
- const marketplaceAppsCountText: string = t('Apps_Count_Enabled', { counter: enabled });
-
return (
{
throw new Error(t('No_messages_found_to_prune'));
}
- dispatchToastMessage({ type: 'success', message: t('__count__message_pruned', { counter: count }) });
+ dispatchToastMessage({ type: 'success', message: t('__count__message_pruned', { count }) });
methods.reset();
} catch (error: unknown) {
dispatchToastMessage({ type: 'error', message: error });
diff --git a/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfList/VideoConfListItem.tsx b/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfList/VideoConfListItem.tsx
index 8b9f073e4925..41cabe61bf90 100644
--- a/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfList/VideoConfListItem.tsx
+++ b/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfList/VideoConfListItem.tsx
@@ -94,7 +94,7 @@ const VideoConfListItem = ({
{joinedUsers.length > VIDEOCONF_STACK_MAX_USERS
- ? t('__usersCount__member_joined', { counter: joinedUsers.length - VIDEOCONF_STACK_MAX_USERS })
+ ? t('__usersCount__member_joined', { count: joinedUsers.length - VIDEOCONF_STACK_MAX_USERS })
: t('joined')}
diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/ar.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/ar.i18n.json
index 6060705de4d3..bba35b3dea00 100644
--- a/apps/meteor/packages/rocketchat-i18n/i18n/ar.i18n.json
+++ b/apps/meteor/packages/rocketchat-i18n/i18n/ar.i18n.json
@@ -706,9 +706,12 @@
"Call": "مكالمة",
"Calling": "يتم الآن الاتصال",
"Call_Center": "مركز الاتصال",
- "Calls_in_queue": "{{calls}} من المكالمات الانتظار",
- "Calls_in_queue_plural": "{{calls}} من المكالمات الانتظار",
- "Calls_in_queue_empty": "قائمة الانتظار فارغة",
+ "Calls_in_queue_zero": "قائمة الانتظار فارغة",
+ "Calls_in_queue_one": "{{count}} من المكالمات الانتظار",
+ "Calls_in_queue_two": "{{count}} من المكالمات الانتظار",
+ "Calls_in_queue_few": "{{count}} من المكالمات الانتظار",
+ "Calls_in_queue_many": "{{count}} من المكالمات الانتظار",
+ "Calls_in_queue_other": "{{count}} من المكالمات الانتظار",
"Call_declined": "تم رفض المكالمة!",
"Call_Information": "معلومات المكالمة",
"Call_provider": "مزود المكالمة",
@@ -2847,8 +2850,12 @@
"Message_Characther_Limit": "حد أحرف الرسالة",
"Message_Code_highlight": "رمز تمييز قائمة اللغات",
"Message_Code_highlight_Description": "قائمة اللغات المفصولة بفواصل (كل اللغات المدعومة على [highlight.js](https://github.com/highlightjs/highlight.js/tree/11.6.0#supported-languages)) التي سيتم استخدامها لتمييز الكتل البرمجية للتعليمات البرمجية",
- "message_counter": "{{counter}} رسالة",
- "message_counter_plural": "{{counter}} رسائل",
+ "message_counter_zero": "{{count}} رسائل",
+ "message_counter_one": "{{count}} رسالة",
+ "message_counter_two": "{{count}} رسائل",
+ "message_counter_few": "{{count}} رسائل",
+ "message_counter_many": "{{count}} رسائل",
+ "message_counter_other": "{{count}} رسائل",
"Message_DateFormat": "تنسيق التاريخ",
"Message_DateFormat_Description": "انظر أيضًا: [Moment.js](http://momentjs.com/docs/#/displaying/format/)",
"Message_deleting_blocked": "لا يمكن حذف هذه الرسالة بعد الآن",
@@ -2941,8 +2948,12 @@
"meteor_status_connecting": "يتم الاتصال الآن...",
"meteor_status_failed": "فشل الاتصال بالخادم",
"meteor_status_offline": "وضع عدم الاتصال.",
- "meteor_status_reconnect_in": "المحاولة مرة أخرى خلال ثانية واحدة...",
- "meteor_status_reconnect_in_plural": "المحاولة مرة أخرى خلال {{count}} من الثواني...",
+ "meteor_status_reconnect_in_zero": "المحاولة مرة أخرى خلال {{count}} من الثواني...",
+ "meteor_status_reconnect_in_one": "المحاولة مرة أخرى خلال ثانية واحدة...",
+ "meteor_status_reconnect_in_two": "المحاولة مرة أخرى خلال {{count}} من الثواني...",
+ "meteor_status_reconnect_in_few": "المحاولة مرة أخرى خلال {{count}} من الثواني...",
+ "meteor_status_reconnect_in_many": "المحاولة مرة أخرى خلال {{count}} من الثواني...",
+ "meteor_status_reconnect_in_other": "المحاولة مرة أخرى خلال {{count}} من الثواني...",
"meteor_status_try_now_offline": "الاتصال مرة أخرى",
"meteor_status_try_now_waiting": "المحاولة الآن",
"meteor_status_waiting": "في انتظار اتصال الخادم،",
@@ -3494,8 +3505,6 @@
"Replied_on": "تم الرد على",
"Replies": "الردود",
"Reply": "رد",
- "reply_counter": "{{counter}} رد",
- "reply_counter_plural": "{{counter}} ردود",
"Reply_in_direct_message": "الرد في رسالة مباشرة",
"Reply_in_thread": "الرد في موضوع",
"Reply_via_Email": "الرد عبر البريد الإلكتروني",
@@ -4886,4 +4895,4 @@
"Enterprise": "مؤسسة",
"UpgradeToGetMore_engagement-dashboard_Title": "التحليلات",
"UpgradeToGetMore_auditing_Title": "تدقيق الرسائل"
-}
\ No newline at end of file
+}
diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/ca.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/ca.i18n.json
index f61d28735fe6..eb92931433c2 100644
--- a/apps/meteor/packages/rocketchat-i18n/i18n/ca.i18n.json
+++ b/apps/meteor/packages/rocketchat-i18n/i18n/ca.i18n.json
@@ -704,9 +704,9 @@
"Call": "Trucada",
"Calling": "Trucant",
"Call_Center": "Centre de trucades",
- "Calls_in_queue": "{{calls}} Trucada a la cua",
- "Calls_in_queue_plural": "{{calls}} Trucades a la cua",
- "Calls_in_queue_empty": "La cua és buida",
+ "Calls_in_queue_zero": "La cua és buida",
+ "Calls_in_queue_one": "{{count}} Trucada a la cua",
+ "Calls_in_queue_other": "{{count}} Trucades a la cua",
"Call_declined": "Trucada rebutjada!",
"Call_Information": "Informació de la trucada",
"Call_provider": "Proveïdor de trucades",
@@ -2820,8 +2820,8 @@
"Message_Characther_Limit": "Límit de caràcters del missatge",
"Message_Code_highlight": "Llista d'idiomes de ressaltat de codi",
"Message_Code_highlight_Description": "Llista d'idiomes separats per comes (tots els idiomes admesos en [highlight.js](https://github.com/highlightjs/highlight.js/tree/11.6.0#supported-languages)) que s'utilitzarà per a ressaltar blocs de codi",
- "message_counter": "missatge {{counter}}",
- "message_counter_plural": "{{counter}} missatges",
+ "message_counter_one": "missatge {{count}}",
+ "message_counter_other": "{{count}} missatges",
"Message_DateFormat": "Format de data",
"Message_DateFormat_Description": "Veure: [Moment.js](http://momentjs.com/docs/#/displaying/format/)",
"Message_deleting_blocked": "Aquest missatge ja no es pot eliminar",
@@ -2913,8 +2913,8 @@
"meteor_status_connecting": "Connectant...",
"meteor_status_failed": "La connexió del servidor ha fallat",
"meteor_status_offline": "Mode fora de línia",
- "meteor_status_reconnect_in": "intentant de nou en un segon ...",
- "meteor_status_reconnect_in_plural": "provant de nou d'aquí a {{count}} segons ...",
+ "meteor_status_reconnect_in_one": "intentant de nou en un segon ...",
+ "meteor_status_reconnect_in_other": "provant de nou d'aquí a {{count}} segons ...",
"meteor_status_try_now_offline": "Connectar de nou",
"meteor_status_try_now_waiting": "Prova-ho ara",
"meteor_status_waiting": "Esperant la connexió de servidor,",
@@ -3441,8 +3441,6 @@
"Replied_on": "Va respondre a",
"Replies": "Respostes",
"Reply": "Resposta",
- "reply_counter": "{{counter}} resposta",
- "reply_counter_plural": "{{counter}} respostes",
"Reply_in_direct_message": "Respondre en missatge directe",
"Reply_in_thread": "Respon en fil",
"Reply_via_Email": "Respondre per correu electrònic",
@@ -4690,4 +4688,4 @@
"Enterprise": "Empresa",
"UpgradeToGetMore_engagement-dashboard_Title": "Analítiques",
"UpgradeToGetMore_auditing_Title": "Auditoria de missatges"
-}
\ No newline at end of file
+}
diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/cs.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/cs.i18n.json
index 1c5931521c91..f5dff70565d2 100644
--- a/apps/meteor/packages/rocketchat-i18n/i18n/cs.i18n.json
+++ b/apps/meteor/packages/rocketchat-i18n/i18n/cs.i18n.json
@@ -2392,8 +2392,10 @@
"Message_BadWordsFilterList": "Přidat sprostá slova na černou listinu",
"Message_BadWordsFilterListDescription": "Zadejte čárkou oddělený seznam sprostých slov k odfiltrování",
"Message_Characther_Limit": "Maximální délka zprávy",
- "message_counter": "{{counter}} zpráva",
- "message_counter_plural": "{{counter}} zpráv(y)",
+ "message_counter_one": "{{count}} zpráva",
+ "message_counter_few": "{{count}} zpráv(y)",
+ "message_counter_many": "{{count}} zpráv(y)",
+ "message_counter_other": "{{count}} zpráv(y)",
"Message_DateFormat": "Formát datumu",
"Message_DateFormat_Description": "Viz také: [Moment.js](http://momentjs.com/docs/#/displaying/format/)",
"Message_deleting_blocked": "Tuto zprávu již nelze smazat",
@@ -2466,8 +2468,10 @@
"meteor_status_connecting": "Připojuji k serveru...",
"meteor_status_failed": "Připojení k serveru selhalo",
"meteor_status_offline": "Offline režim.",
- "meteor_status_reconnect_in": "zkusím znovu za sekundu...",
- "meteor_status_reconnect_in_plural": "zkusím znovu za {{count}} sekund...",
+ "meteor_status_reconnect_in_one": "zkusím znovu za sekundu...",
+ "meteor_status_reconnect_in_few": "zkusím znovu za {{count}} sekund...",
+ "meteor_status_reconnect_in_many": "zkusím znovu za {{count}} sekund...",
+ "meteor_status_reconnect_in_other": "zkusím znovu za {{count}} sekund...",
"meteor_status_try_now_offline": "Znovu připojit",
"meteor_status_try_now_waiting": "Zkusit nyní",
"meteor_status_waiting": "Čekám na připojení k serveru,",
@@ -2926,8 +2930,6 @@
"Replied_on": "Zodpovězeno",
"Replies": "Odpovědi",
"Reply": "Odpověď",
- "reply_counter": "{{counter}} odpověď",
- "reply_counter_plural": "{{counter}} odpovědí",
"Reply_in_direct_message": "Odpovědět v přímé zprávě",
"Reply_in_thread": "Odpovědět ve vlákně",
"ReplyTo": "Odpovědět na",
@@ -3965,4 +3967,4 @@
"Enterprise": "Korporace",
"UpgradeToGetMore_engagement-dashboard_Title": "Analytika",
"UpgradeToGetMore_auditing_Title": "Audit zpráv"
-}
\ No newline at end of file
+}
diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/da.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/da.i18n.json
index d9aaf3f0a003..8928f7899973 100644
--- a/apps/meteor/packages/rocketchat-i18n/i18n/da.i18n.json
+++ b/apps/meteor/packages/rocketchat-i18n/i18n/da.i18n.json
@@ -2404,8 +2404,8 @@
"Message_BadWordsFilterList": "Tilføj dårlige ord til blacklisten",
"Message_BadWordsFilterListDescription": "Tilføj Liste over Kommasepareret liste over dårlige ord til at filtrere",
"Message_Characther_Limit": "Besked-grænse baseret på antal tegn",
- "message_counter": "{{counter}} meddelelse",
- "message_counter_plural": "{{counter}} meddelelser",
+ "message_counter_one": "{{count}} meddelelse",
+ "message_counter_other": "{{count}} meddelelser",
"Message_DateFormat": "Datoformat",
"Message_DateFormat_Description": "Se også: [Moment.js](http://momentjs.com/docs/#/displaying/format/)",
"Message_deleting_blocked": "Denne besked kan ikke slettes længere",
@@ -2479,8 +2479,8 @@
"meteor_status_connecting": "Forbinder...",
"meteor_status_failed": "Forbindelsen til serveren gik tabt",
"meteor_status_offline": "Offline-tilstand.",
- "meteor_status_reconnect_in": "forsøger igen om 1 sekund...",
- "meteor_status_reconnect_in_plural": "forsøger igen om {{count}} sekunder...",
+ "meteor_status_reconnect_in_one": "forsøger igen om 1 sekund...",
+ "meteor_status_reconnect_in_other": "forsøger igen om {{count}} sekunder...",
"meteor_status_try_now_offline": "Forbind igen",
"meteor_status_try_now_waiting": "Forsøg nu",
"meteor_status_waiting": "Afventer forbindelse til server,",
@@ -2940,8 +2940,6 @@
"Replied_on": "Besvarede den",
"Replies": "Svar",
"Reply": "Svar",
- "reply_counter": "{{counter}} svar",
- "reply_counter_plural": "{{counter}} svar",
"Reply_in_direct_message": "Besvar i direkte meddelelse",
"Reply_in_thread": "Besvar i tråd",
"ReplyTo": "Svar til",
@@ -3987,4 +3985,4 @@
"Enterprise": "Firma",
"UpgradeToGetMore_engagement-dashboard_Title": "Analyse",
"UpgradeToGetMore_auditing_Title": "Meddelelsesovervågning"
-}
\ No newline at end of file
+}
diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/de-IN.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/de-IN.i18n.json
index 2248f5ef3022..5fffe589894a 100644
--- a/apps/meteor/packages/rocketchat-i18n/i18n/de-IN.i18n.json
+++ b/apps/meteor/packages/rocketchat-i18n/i18n/de-IN.i18n.json
@@ -2322,8 +2322,6 @@
"Replied_on": "Antwortete auf",
"Replies": "Antworten",
"Reply": "Antwort",
- "reply_counter": "{{counter}} Antwort",
- "reply_counter_plural": "{{counter}} Antworten",
"Reply_in_direct_message": "Mit Direktnachricht antworten",
"Reply_in_thread": "Mit Thread antworten",
"ReplyTo": "Antwort an",
@@ -3103,4 +3101,4 @@
"Your_question": "Deine Frage",
"Your_server_link": "Dein Server-Link",
"Your_workspace_is_ready": "Dein Arbeitsbereich ist einsatzbereit 🎉"
-}
\ No newline at end of file
+}
diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/de.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/de.i18n.json
index d60d08f4c832..03e471f3cec9 100644
--- a/apps/meteor/packages/rocketchat-i18n/i18n/de.i18n.json
+++ b/apps/meteor/packages/rocketchat-i18n/i18n/de.i18n.json
@@ -2,10 +2,10 @@
"500": "Interner Serverfehler",
"__count__empty_rooms_will_be_removed_automatically": "{{count}} leere Räume werden automatisch entfernt.",
"__count__empty_rooms_will_be_removed_automatically__rooms__": "{{count}} leere Räume werden automatisch entfernt:
{{rooms}}.",
- "__count__message_pruned": "{{counter}} Nachricht gelöscht",
- "__count__message_pruned_plural": "{{counter}} Nachrichten gelöscht",
- "__usersCount__member_joined": "+ {{counter}} Mitglied(er) beigetreten",
- "__usersCount__member_joined_plural": "+ {{counter}} Mitglieder beigetreten",
+ "__count__message_pruned_one": "{{count}} Nachricht gelöscht",
+ "__count__message_pruned_other": "{{count}} Nachrichten gelöscht",
+ "__usersCount__member_joined_one": "+ {{count}} Mitglied(er) beigetreten",
+ "__usersCount__member_joined_other": "+ {{count}} Mitglieder beigetreten",
"__usersCount__people_will_be_invited": "{{usersCount}} Mitglieder werden eingeladen",
"__username__is_no_longer__role__defined_by__user_by_": "{{username}} ist nicht länger {{role}}, geändert durch {{user_by}}",
"__username__was_set__role__by__user_by_": "{{username}} ist jetzt {{role}}, geändert durch {{user_by}}",
@@ -797,9 +797,9 @@
"Call_Center_Description": "Konfigurieren Sie das Rocket.Chat Call Center.",
"Call_ended": "Anruf beendet",
"Calls": "Anrufe",
- "Calls_in_queue": "{{calls}} Anrufe in der Warteschlange",
- "Calls_in_queue_plural": "{{calls}} Anrufe in der Warteschlange",
- "Calls_in_queue_empty": "Warteschlange ist leer",
+ "Calls_in_queue_zero": "Warteschlange ist leer",
+ "Calls_in_queue_one": "{{count}} Anrufe in der Warteschlange",
+ "Calls_in_queue_other": "{{count}} Anrufe in der Warteschlange",
"Call_declined": "Anruf abgelehnt!",
"Call_history_provides_a_record_of_when_calls_took_place_and_who_joined": "In der Anrufliste wird festgehalten, wann Anrufe getätigt wurden und wer daran teilgenommen hat.",
"Call_Information": "Anrufinformationen",
@@ -3189,8 +3189,8 @@
"Message_Characther_Limit": "Zeichenbegrenzung für Nachrichten",
"Message_Code_highlight": "Code zum Hervorheben der Sprachenliste",
"Message_Code_highlight_Description": "CSV-Liste mit Sprachen (alle auf [highlight.js](https://github.com/highlightjs/highlight.js/tree/11.6.0#supported-languages) unterstützten Sprachen) die verwendet werden, um Codeblocks hervorzuheben",
- "message_counter": "{{counter}} message",
- "message_counter_plural": "{{counter}} messages",
+ "message_counter_one": "{{count}} message",
+ "message_counter_other": "{{count}} messages",
"Message_DateFormat": "Datumsformat",
"Message_DateFormat_Description": "Für mögliche Formate s. [Dokumentation von Moment.js](http://momentjs.com/docs/#/displaying/format/)",
"Message_deleting_blocked": "Diese Nachricht kann nicht mehr gelöscht werden",
@@ -3294,8 +3294,8 @@
"meteor_status_connecting": "Verbinden...",
"meteor_status_failed": "Die Verbindung zum Server wurde unterbrochen",
"meteor_status_offline": "Offline Modus.",
- "meteor_status_reconnect_in": "Versuche in einer Sekunde zu verbinden...",
- "meteor_status_reconnect_in_plural": "Versuche in {{count}} Sekunden zu verbinden...",
+ "meteor_status_reconnect_in_one": "Versuche in einer Sekunde zu verbinden...",
+ "meteor_status_reconnect_in_other": "Versuche in {{count}} Sekunden zu verbinden...",
"meteor_status_try_now_offline": "Nochmal verbinden",
"meteor_status_try_now_waiting": "Jetzt versuchen",
"meteor_status_waiting": "Warte auf Verbindung zum Server,",
@@ -3934,8 +3934,6 @@
"Replied_on": "Antwortete auf",
"Replies": "Antworten",
"Reply": "Antwort",
- "reply_counter": "{{counter}} Antwort",
- "reply_counter_plural": "{{counter}} Antworten",
"Reply_in_direct_message": "Mit Direktnachricht antworten",
"Reply_in_thread": "Mit Thread antworten",
"Reply_via_Email": "Mit E-Mail antworten",
diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/en.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/en.i18n.json
index 770545a1f056..8dc09480d65e 100644
--- a/apps/meteor/packages/rocketchat-i18n/i18n/en.i18n.json
+++ b/apps/meteor/packages/rocketchat-i18n/i18n/en.i18n.json
@@ -3,13 +3,13 @@
"__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": "{{counter}} message pruned",
- "__count__message_pruned_plural": "{{counter}} messages pruned",
+ "__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": "+ {{counter}} member joined",
- "__usersCount__member_joined_plural": "+ {{counter}} members joined",
+ "__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}}",
@@ -537,10 +537,10 @@
"Apps_context_requested": "Requested",
"Apps_context_private": "Private Apps",
"Apps_context_premium": "Premium",
- "Apps_Count_Enabled": "{{count}} app enabled",
- "Apps_Count_Enabled_plural": "{{count}} apps enabled",
- "Private_Apps_Count_Enabled": "{{count}} private app enabled",
- "Private_Apps_Count_Enabled_plural": "{{count}} private apps enabled",
+ "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.",
@@ -865,9 +865,9 @@
"Call_Center_Description": "Configure Rocket.Chat's voice channels",
"Call_ended": "Call ended",
"Calls": "Calls",
- "Calls_in_queue": "{{calls}} call in queue",
- "Calls_in_queue_plural": "{{calls}} calls in queue",
- "Calls_in_queue_empty": "Queue is empty",
+ "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",
@@ -3437,8 +3437,8 @@
"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_counter": "{{counter}} message",
- "message_counter_plural": "{{counter}} messages",
+ "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",
@@ -3545,8 +3545,8 @@
"meteor_status_connecting": "Connecting...",
"meteor_status_failed": "The server connection failed",
"meteor_status_offline": "Offline mode.",
- "meteor_status_reconnect_in": "trying again in 1 second...",
- "meteor_status_reconnect_in_plural": "trying again in {{count}} seconds...",
+ "meteor_status_reconnect_in_one": "trying again in 1 second...",
+ "meteor_status_reconnect_in_other": "trying again in {{count}} seconds...",
"meteor_status_try_now_offline": "Connect again",
"meteor_status_try_now_waiting": "Try now",
"meteor_status_waiting": "Waiting for server connection,",
@@ -3596,10 +3596,10 @@
"Moderation_Duplicate_messages": "Duplicated messages",
"Moderation_Duplicate_messages_warning": "Following may contain same messages sent in multiple rooms.",
"Moderation_Report_date": "Report date",
- "Moderation_Report_plural": "Reports",
+ "Moderation_Report_reports": "Reports",
"Moderation_Reported_message": "Reported message",
"Moderation_Reports_dismissed": "Reports dismissed",
- "Moderation_Reports_dismissed_plural": "All 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",
@@ -4307,8 +4307,6 @@
"Replied_on": "Replied on",
"Replies": "Replies",
"Reply": "Reply",
- "reply_counter": "{{counter}} reply",
- "reply_counter_plural": "{{counter}} replies",
"Reply_in_direct_message": "Reply in direct message",
"Reply_in_thread": "Reply in thread",
"Reply_via_Email": "Reply via email",
@@ -6176,14 +6174,14 @@
"Filter_by_room": "Filter by room type",
"Filter_by_visibility": "Filter by visibility",
"Theme_Appearence": "Theme Appearence",
- "mentions_counter": "{{counter}} mention",
- "mentions_counter_plural": "{{counter}} mentions",
- "threads_counter": "{{counter}} unread threaded message",
- "threads_counter_plural": "{{counter}} unread threaded messages",
- "group_mentions_counter": "{{counter}} group mention",
- "group_mentions_counter_plural": "{{counter}} group mentions",
- "unread_messages_counter": "{{counter}} unread message",
- "unread_messages_counter_plural": "{{counter}} unread messages",
+ "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",
diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/es.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/es.i18n.json
index 9e1fed728dce..d4633a7d3837 100644
--- a/apps/meteor/packages/rocketchat-i18n/i18n/es.i18n.json
+++ b/apps/meteor/packages/rocketchat-i18n/i18n/es.i18n.json
@@ -3,13 +3,15 @@
"__agents__agents_and__count__conversations__period__": "{{agents}} agentes y {{count}} conversaciones, {{period}}",
"__count__empty_rooms_will_be_removed_automatically": "{{count}} salas vacías se eliminarán automáticamente.",
"__count__empty_rooms_will_be_removed_automatically__rooms__": "{{count}} salas vacías se eliminarán automáticamente.
{{rooms}}.",
- "__count__message_pruned": "{{count}} mensaje borrado",
- "__count__message_pruned_plural": "{{count}} mensajes borrados",
+ "__count__message_pruned_one": "{{count}} mensaje borrado",
+ "__count__message_pruned_many": "{{count}} mensajes borrados",
+ "__count__message_pruned_other": "{{count}} mensajes borrados",
"__count__conversations__period__": "{{count}} conversaciones, {{period}}",
"__count__tags__and__count__conversations__period__": "{{count}} etiquetas y {{conversations}} conversaciones, {{period}}",
"__departments__departments_and__count__conversations__period__": "{{departments}} departamentos y {{count}} conversaciones, {{period}}",
- "__usersCount__member_joined": "{{usersCount}} miembro se ha unido",
- "__usersCount__member_joined_plural": "{{usersCount}} miembros se han unido",
+ "__usersCount__member_joined_one": "{{count}} miembro se ha unido",
+ "__usersCount__member_joined_many": "{{count}} miembros se han unido",
+ "__usersCount__member_joined_other": "{{count}} miembros se han unido",
"__usersCount__people_will_be_invited": "{{usersCount}} miembros sern invitados",
"__username__is_no_longer__role__defined_by__user_by_": "{{username}} ya no es {{role}} (por {{user_by}})",
"__username__was_set__role__by__user_by_": "{{username}} se ha establecido como {{role}} por {{user_by}}",
@@ -718,7 +720,7 @@
"Call": "Llamada",
"Calling": "Llamando",
"Call_Center": "Centro de llamadas",
- "Calls_in_queue": "{{calls}} llamadas en cola",
+ "Calls_in_queue": "{{count}} llamadas en cola",
"Call_declined": "Llamada rechazada",
"Call_Information": "Información de llamada",
"Call_provider": "Proveedor de llamadas",
@@ -2841,8 +2843,9 @@
"Message_Characther_Limit": "Límite de caracteres de mensaje",
"Message_Code_highlight": "Lista de lenguajes para resaltar código",
"Message_Code_highlight_Description": "Lista de lenguajes separados por comas (todos los lenguajes admitidos se pueden consultar en [highlight.js](https://github.com/highlightjs/highlight.js/tree/11.6.0#supported-languages)) que se usarán para resaltar bloques de código",
- "message_counter": "{{counter}} mensaje",
- "message_counter_plural": "{{counter}} mensajes",
+ "message_counter_one": "{{count}} mensaje",
+ "message_counter_many": "{{count}} mensajes",
+ "message_counter_other": "{{count}} mensajes",
"Message_DateFormat": "Formato de fecha",
"Message_DateFormat_Description": "Ver también: [Moment.js](http://momentjs.com/docs/#/displaying/format/)",
"Message_deleting_blocked": "Este mensaje ya no se puede eliminar",
@@ -2934,8 +2937,9 @@
"meteor_status_connecting": "Conectando...",
"meteor_status_failed": "Error de conexión con el servidor",
"meteor_status_offline": "Modo de fuera de línea.",
- "meteor_status_reconnect_in": "intentando de nuevo dentro de un segundo...",
- "meteor_status_reconnect_in_plural": "intentando de nuevo dentro de {{count}} segundos...",
+ "meteor_status_reconnect_in_one": "intentando de nuevo dentro de un segundo...",
+ "meteor_status_reconnect_in_many": "intentando de nuevo dentro de {{count}} segundos...",
+ "meteor_status_reconnect_in_other": "intentando de nuevo dentro de {{count}} segundos...",
"meteor_status_try_now_offline": "Conectar de nuevo",
"meteor_status_try_now_waiting": "Intentar ahora",
"meteor_status_waiting": "Esperando la conexión del servidor,",
@@ -3483,8 +3487,6 @@
"Replied_on": "Ha respondido en",
"Replies": "Respuestas",
"Reply": "Responder",
- "reply_counter": "{{counter}} respuesta",
- "reply_counter_plural": "{{counter}} respuestas",
"Reply_in_direct_message": "Responder en mensaje directo",
"Reply_in_thread": "Responder en hilo",
"Reply_via_Email": "Responder vía correo electrónico",
@@ -5006,12 +5008,15 @@
"RegisterWorkspace_Connection_Error": "Un error ocurrió al conectarse",
"cloud.RegisterWorkspace_Setup_Terms_Privacy": "Acepto los <1>términos y condiciones1> y la <3>política de privacidad3>",
"Uninstall_grandfathered_app": "¿Desinstalar {{appName}}?",
- "mentions_counter": "{{count}} mención",
- "mentions_counter_plural": "{{count}} menciones",
- "threads_counter": "{{count}} mensaje en hilo sin leer",
- "threads_counter_plural": "{{count}} mensajes en hilo sin leer",
- "unread_messages_counter": "{{count}} mensaje sin leer",
- "unread_messages_counter_plural": "{{count}} mensajes sin leer",
+ "mentions_counter_one": "{{count}} mención",
+ "mentions_counter_many": "{{count}} menciones",
+ "mentions_counter_other": "{{count}} menciones",
+ "threads_counter_one": "{{count}} mensaje en hilo sin leer",
+ "threads_counter_many": "{{count}} mensajes en hilo sin leer",
+ "threads_counter_other": "{{count}} mensajes en hilo sin leer",
+ "unread_messages_counter_one": "{{count}} mensaje sin leer",
+ "unread_messages_counter_many": "{{count}} mensajes sin leer",
+ "unread_messages_counter_other": "{{count}} mensajes sin leer",
"Premium": "Premium",
"Enterprise": "Premium",
"Premium_capability": "Característica premium",
@@ -5084,4 +5089,4 @@
"Unlimited_seats": "Puestos ilimitados",
"Unlimited_MACs": "Contactos Activos por Mes (MAC) ilimitados",
"Unlimited_seats_MACs": "Puestos y Contactos Activos por Mes (MAC) ilimitados"
-}
\ No newline at end of file
+}
diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/et.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/et.i18n.json
index b13104ada588..0afbf48dab3f 100644
--- a/apps/meteor/packages/rocketchat-i18n/i18n/et.i18n.json
+++ b/apps/meteor/packages/rocketchat-i18n/i18n/et.i18n.json
@@ -53,8 +53,8 @@
"meteor_status_connecting": "Ühendan...",
"meteor_status_failed": "Ei saa serveriga ühendust",
"meteor_status_offline": "Offline režiimis.",
- "meteor_status_reconnect_in": "proovin uuesti 1 sekundi pärast...",
- "meteor_status_reconnect_in_plural": "proovin uuesti {{count}} sekundi pärast...",
+ "meteor_status_reconnect_in_one": "proovin uuesti 1 sekundi pärast...",
+ "meteor_status_reconnect_in_other": "proovin uuesti {{count}} sekundi pärast...",
"meteor_status_try_now_offline": "Ühenda uuesti",
"meteor_status_try_now_waiting": "Proovi nüüd",
"meteor_status_waiting": "Ootan serveriga ühendust,",
@@ -76,4 +76,4 @@
"Type_your_name": "Sisestage oma nimi",
"Upload_file_question": "Faili üles laadima?",
"User_left": "Kasutaja lahkus"
-}
\ No newline at end of file
+}
diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/fi.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/fi.i18n.json
index ce89e21e6328..e87803c7dc47 100644
--- a/apps/meteor/packages/rocketchat-i18n/i18n/fi.i18n.json
+++ b/apps/meteor/packages/rocketchat-i18n/i18n/fi.i18n.json
@@ -2,10 +2,10 @@
"500": "Sisäinen palvelinvirhe",
"__count__empty_rooms_will_be_removed_automatically": "{{count}} tyhjää huonetta poistetaan automaattisesti.",
"__count__empty_rooms_will_be_removed_automatically__rooms__": "{{count}} tyhjää huonetta poistetaan automaattisesti:
{{rooms}}.",
- "__count__message_pruned": "{{counter}} viesti karsittu",
- "__count__message_pruned_plural": "{{counter}} viestiä karsittu",
- "__usersCount__member_joined": "+ {{counter}} jäsen liittyi",
- "__usersCount__member_joined_plural": "+ {{counter}} jäsentä liittynyt",
+ "__count__message_pruned_one": "{{count}} viesti karsittu",
+ "__count__message_pruned_other": "{{count}} viestiä karsittu",
+ "__usersCount__member_joined_one": "+ {{count}} jäsen liittyi",
+ "__usersCount__member_joined_other": "+ {{count}} jäsentä liittynyt",
"__usersCount__people_will_be_invited": "{{usersCount}} henkilöä kutsutaan",
"__username__is_no_longer__role__defined_by__user_by_": "{{username}} ei ole enää {{role}} (muutoksen teki {{user_by}})",
"__username__was_set__role__by__user_by_": "{{user_by}} muutti käyttäjän {{username}} rooliksi {{role}} ",
@@ -507,10 +507,10 @@
"Apps_context_installed": "Asennettu",
"Apps_context_requested": "Pyydetty",
"Apps_context_private": "Yksityiset sovellukset",
- "Apps_Count_Enabled": "{{counter}} sovellus käytössä",
- "Apps_Count_Enabled_plural": "{{counter}} sovellusta käytössä",
- "Private_Apps_Count_Enabled": "{{counter}} yksityistä sovellusta käytössä",
- "Private_Apps_Count_Enabled_plural": "{{counter}} yksityistä sovellusta käytössä",
+ "Apps_Count_Enabled_one": "{{count}} sovellus käytössä",
+ "Apps_Count_Enabled_other": "{{count}} sovellusta käytössä",
+ "Private_Apps_Count_Enabled_one": "{{count}} yksityistä sovellusta käytössä",
+ "Private_Apps_Count_Enabled_other": "{{count}} yksityistä sovellusta käytössä",
"Apps_Count_Enabled_tooltip": "Yhteisöversion työtiloissa voi ottaa käyttöön enintään {{number}} {{context}}sovellusta",
"Apps_disabled_when_Premium_trial_ended_description": "Yhteisöversion työtiloissa voi olla käytössä enintään 5 markkinapaikkasovellusta ja 3 yksityistä sovellusta. Pyydä työtilan järjestelmänvalvojaa ottamaan sovelluksia käyttöön uudelleen.",
"Apps_disabled_when_Premium_trial_ended_description_admin": "Yhteisöversion työtiloissa voi olla käytössä enintään 5 markkinapaikkasovellusta ja 3 yksityistä sovellusta. Ota tarvitsemasi sovellukset käyttöön uudelleen.",
@@ -817,9 +817,9 @@
"Call_Center_Description": "Määritä Rocket.Chatin äänikanavat",
"Call_ended": "Puhelu päättyi",
"Calls": "Puhelut",
- "Calls_in_queue": "{{calls}} puhelu jonossa",
- "Calls_in_queue_plural": "{{calls}} puhelua jonossa",
- "Calls_in_queue_empty": "Jono on tyhjä",
+ "Calls_in_queue_zero": "Jono on tyhjä",
+ "Calls_in_queue_one": "{{count}} puhelu jonossa",
+ "Calls_in_queue_other": "{{count}} puhelua jonossa",
"Call_declined": "Puhelu hylätty!",
"Call_history_provides_a_record_of_when_calls_took_place_and_who_joined": "Puheluhistoriassa näkyvät puhelujen ajat ja osallistujat.",
"Call_Information": "Puhelutiedot",
@@ -3245,8 +3245,8 @@
"Message_Characther_Limit": "Viestin merkkirajoitus",
"Message_Code_highlight": "Koodin korostuskielten luettelo",
"Message_Code_highlight_Description": "Pilkulla erotettu luettelo kielistä (kaikki tuetut kielet osoitteessa [highlight.js](https://github.com/highlightjs/highlight.js/tree/11.6.0#supported-languages)), joita käytetään koodilohkojen korostamiseen",
- "message_counter": "{{counter}} viesti",
- "message_counter_plural": "{{counter}} viestit",
+ "message_counter_one": "{{count}} viesti",
+ "message_counter_other": "{{count}} viestit",
"Message_DateFormat": "Päivämäärän muoto",
"Message_DateFormat_Description": "Katso myös: [Moment.js](http://momentjs.com/docs/#/displaying/format/)",
"Message_deleting_blocked": "Tätä viestiä ei voi enää poistaa",
@@ -3352,8 +3352,8 @@
"meteor_status_connecting": "Yhdistetään...",
"meteor_status_failed": "Yhteys palvelimeen epäonnistui",
"meteor_status_offline": "Offline-tila.",
- "meteor_status_reconnect_in": "yrittää uudelleen sekunnin kuluttua...",
- "meteor_status_reconnect_in_plural": "yritän uudelleen {{count}} sekunnin kuluttua...",
+ "meteor_status_reconnect_in_one": "yrittää uudelleen sekunnin kuluttua...",
+ "meteor_status_reconnect_in_other": "yritän uudelleen {{count}} sekunnin kuluttua...",
"meteor_status_try_now_offline": "Yhdistä uudelleen",
"meteor_status_try_now_waiting": "Kokeile nyt",
"meteor_status_waiting": "Odottaa palvelinyhteyttä,",
@@ -4005,8 +4005,6 @@
"Replied_on": "Vastattu",
"Replies": "Vastauksia",
"Reply": "Vastaa",
- "reply_counter": "{{counter}} vastaus",
- "reply_counter_plural": "{{counter}} vastausta",
"Reply_in_direct_message": "Vastaa yksityisviestissä",
"Reply_in_thread": "Vastaa viestiketjuun",
"Reply_via_Email": "Vastaa sähköpostitse",
diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/fr.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/fr.i18n.json
index f239fcc0fc74..78f23de220d9 100644
--- a/apps/meteor/packages/rocketchat-i18n/i18n/fr.i18n.json
+++ b/apps/meteor/packages/rocketchat-i18n/i18n/fr.i18n.json
@@ -708,9 +708,10 @@
"Call_Center": "Centre d'appel",
"Call_ended": "Appel terminé",
"Calls": "Appels",
- "Calls_in_queue": "{{calls}} appel en file d'attente",
- "Calls_in_queue_plural": "{{calls}} appels en file d'attente",
- "Calls_in_queue_empty": "La file d'attente est vide",
+ "Calls_in_queue_zero": "La file d'attente est vide",
+ "Calls_in_queue_one": "{{count}} appel en file d'attente",
+ "Calls_in_queue_many": "{{count}} appels en file d'attente",
+ "Calls_in_queue_other": "{{count}} appels en file d'attente",
"Call_declined": "Appel refusé !",
"Call_Information": "Informations sur l'appel",
"Call_provider": "Fournisseur d'appels",
@@ -2840,8 +2841,9 @@
"Message_Characther_Limit": "Limite de caractères des messages",
"Message_Code_highlight": "Liste des langues de mise en surbrillance du code",
"Message_Code_highlight_Description": "Liste de langues séparées par des virgules (toutes les langues prises en charge sont répertoriées sur [highlight.js](https://github.com/highlightjs/highlight.js/tree/11.6.0#supported-languages)) qui seront utilisées pour mettre en surbrillance des blocs de code",
- "message_counter": "{{counter}} message",
- "message_counter_plural": "{{counter}} messages",
+ "message_counter_one": "{{count}} message",
+ "message_counter_many": "{{count}} messages",
+ "message_counter_other": "{{count}} messages",
"Message_DateFormat": "Format de date",
"Message_DateFormat_Description": "Voir aussi : [Moment.js](http://momentjs.com/docs/#/displaying/format/)",
"Message_deleting_blocked": "Ce message ne peut plus être supprimé",
@@ -2933,8 +2935,9 @@
"meteor_status_connecting": "Connexion...",
"meteor_status_failed": "La connexion au serveur a échoué",
"meteor_status_offline": "Mode hors ligne.",
- "meteor_status_reconnect_in": "nouvelle tentative dans une seconde...",
- "meteor_status_reconnect_in_plural": "nouvelle tentative dans {{count}} secondes...",
+ "meteor_status_reconnect_in_one": "nouvelle tentative dans une seconde...",
+ "meteor_status_reconnect_in_many": "nouvelle tentative dans {{count}} secondes...",
+ "meteor_status_reconnect_in_other": "nouvelle tentative dans {{count}} secondes...",
"meteor_status_try_now_offline": "Reconnexion",
"meteor_status_try_now_waiting": "Essayer maintenant",
"meteor_status_waiting": "En attente de connexion au serveur,",
@@ -3488,8 +3491,6 @@
"Replied_on": "A répondu le",
"Replies": "Réponses",
"Reply": "Répondre",
- "reply_counter": "{{counter}} réponse",
- "reply_counter_plural": "{{counter}} réponses",
"Reply_in_direct_message": "Répondre dans un message direct",
"Reply_in_thread": "Répondre dans un fil de discussion",
"Reply_via_Email": "Répondre par e-mail",
@@ -4886,4 +4887,4 @@
"Enterprise": "Entreprise",
"UpgradeToGetMore_engagement-dashboard_Title": "Analyses",
"UpgradeToGetMore_auditing_Title": "Audit des messages"
-}
\ No newline at end of file
+}
diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/hu.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/hu.i18n.json
index 311cfd71ed69..140aa4e4eb4a 100644
--- a/apps/meteor/packages/rocketchat-i18n/i18n/hu.i18n.json
+++ b/apps/meteor/packages/rocketchat-i18n/i18n/hu.i18n.json
@@ -2,10 +2,10 @@
"500": "Belső kiszolgálóhiba",
"__count__empty_rooms_will_be_removed_automatically": "{{count}} üres szoba automatikusan eltávolításra kerül.",
"__count__empty_rooms_will_be_removed_automatically__rooms__": "{{count}} üres szoba automatikusan eltávolításra kerül:
{{rooms}}.",
- "__count__message_pruned": "{{counter}} üzenet törölve",
- "__count__message_pruned_plural": "{{counter}} üzenet törölve",
- "__usersCount__member_joined": "+{{usersCount}} tag csatlakozott",
- "__usersCount__member_joined_plural": "+{{usersCount}} tag csatlakozott",
+ "__count__message_pruned_one": "{{count}} üzenet törölve",
+ "__count__message_pruned_other": "{{count}} üzenet törölve",
+ "__usersCount__member_joined_one": "+ {{count}} tag csatlakozott",
+ "__usersCount__member_joined_other": "+ {{count}} tag csatlakozott",
"__usersCount__people_will_be_invited": "{{usersCount}} személy lesz meghívva",
"__username__is_no_longer__role__defined_by__user_by_": "{{username}} többé már nem {{role}} {{user_by}} által",
"__username__was_set__role__by__user_by_": "{{username}} most már {{role}} {{user_by}} által",
@@ -784,9 +784,9 @@
"Call_Center_Description": "A Rocket.Chat hangcsatornáinak beállítása",
"Call_ended": "Hívás befejezve",
"Calls": "Hívások",
- "Calls_in_queue": "{{calls}} hívás a várólistán",
- "Calls_in_queue_plural": "{{calls}} hívás a várólistán",
- "Calls_in_queue_empty": "A várólista üres",
+ "Calls_in_queue_zero": "A várólista üres",
+ "Calls_in_queue_one": "{{count}} hívás a várólistán",
+ "Calls_in_queue_other": "{{count}} hívás a várólistán",
"Call_declined": "Hívás elutasítva!",
"Call_history_provides_a_record_of_when_calls_took_place_and_who_joined": "A hívás előzményei feljegyzést biztosítanak, hogy a hívások mikor történtek és ki csatlakozott hozzájuk.",
"Call_Information": "Hívásinformációk",
@@ -3125,8 +3125,8 @@
"Message_Characther_Limit": "Üzenet karakterkorlátja",
"Message_Code_highlight": "Kódkiemelési nyelvek listája",
"Message_Code_highlight_Description": "A nyelvek vesszővel elválasztott listája, amelyek a kódblokkok kiemeléséhez lesznek használva (az összes támogatott nyelv megtalálható itt: [highlight.js](https://github.com/highlightjs/highlight.js/tree/11.6.0#supported-languages))",
- "message_counter": "{{counter}} üzenet",
- "message_counter_plural": "{{counter}} üzenet",
+ "message_counter_one": "{{count}} üzenet",
+ "message_counter_other": "{{count}} üzenet",
"Message_DateFormat": "Dátumformátum",
"Message_DateFormat_Description": "Lásd még: [Moment.js](http://momentjs.com/docs/#/displaying/format/)",
"Message_deleting_blocked": "Ez az üzenet többé már nem törölhető",
@@ -3228,8 +3228,8 @@
"meteor_status_connecting": "Kapcsolódás…",
"meteor_status_failed": "A kiszolgálóhoz való kapcsolódás sikertelen",
"meteor_status_offline": "Kapcsolat nélküli mód.",
- "meteor_status_reconnect_in": "újrapróbálás egy másodperc múlva…",
- "meteor_status_reconnect_in_plural": "újrapróbálás {{count}} másodperc múlva…",
+ "meteor_status_reconnect_in_one": "újrapróbálás egy másodperc múlva…",
+ "meteor_status_reconnect_in_other": "újrapróbálás {{count}} másodperc múlva…",
"meteor_status_try_now_offline": "Kapcsolódás újra",
"meteor_status_try_now_waiting": "Próbálja most",
"meteor_status_waiting": "Várakozás a kiszolgálóhoz való kapcsolódásra,",
@@ -3857,8 +3857,6 @@
"Replied_on": "Megválaszolva ezen",
"Replies": "Válaszok",
"Reply": "Válasz",
- "reply_counter": "{{counter}} válasz",
- "reply_counter_plural": "{{counter}} válasz",
"Reply_in_direct_message": "Válasz közvetlen üzenetben",
"Reply_in_thread": "Válasz szálban",
"Reply_via_Email": "Válasz e-mailben",
diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/id.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/id.i18n.json
index 563d67a3fb7f..541cfa361fe6 100644
--- a/apps/meteor/packages/rocketchat-i18n/i18n/id.i18n.json
+++ b/apps/meteor/packages/rocketchat-i18n/i18n/id.i18n.json
@@ -1718,8 +1718,7 @@
"meteor_status_connecting": "Menghubungkan...",
"meteor_status_failed": "Koneksi server gagal",
"meteor_status_offline": "Mode luar jaringan.",
- "meteor_status_reconnect_in": "mencoba lagi dalam waktu satu detik...",
- "meteor_status_reconnect_in_plural": "mencoba lagi dalam waktu {{count}} detik...",
+ "meteor_status_reconnect_in_other": "mencoba lagi dalam waktu {{count}} detik...",
"meteor_status_try_now_offline": "Hubungkan lagi",
"meteor_status_try_now_waiting": "Coba sekarang",
"meteor_status_waiting": "Menunggu koneksi server,",
@@ -2769,4 +2768,4 @@
"registration.component.form.sendConfirmationEmail": "Kirim email konfirmasi",
"Enterprise": "Perusahaan",
"UpgradeToGetMore_engagement-dashboard_Title": "Analytics"
-}
\ No newline at end of file
+}
diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/it.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/it.i18n.json
index c92d081c6779..89e55e3062f6 100644
--- a/apps/meteor/packages/rocketchat-i18n/i18n/it.i18n.json
+++ b/apps/meteor/packages/rocketchat-i18n/i18n/it.i18n.json
@@ -2,9 +2,12 @@
"500": "Errore interno del server",
"__count__empty_rooms_will_be_removed_automatically": "{{count}} stanze vuote verranno automaticamente rimosse.",
"__count__empty_rooms_will_be_removed_automatically__rooms__": "{{count}} stanze vuote saranno rimosse automaticamente:
{{rooms}}.",
- "__count__message_pruned": "{{counter}} messaggio eliminato",
- "__count__message_pruned_plural": "{{counter}} messaggi eliminati",
- "__usersCount__member_joined_plural": "+ {{counter}} membri si sono uniti",
+ "__count__message_pruned_one": "{{count}} messaggio eliminato",
+ "__count__message_pruned_many": "{{count}} messaggi eliminati",
+ "__count__message_pruned_other": "{{count}} messaggi eliminati",
+ "__usersCount__member_joined_one": "+ {{count}} membro si è unito",
+ "__usersCount__member_joined_many": "+ {{count}} membri si sono uniti",
+ "__usersCount__member_joined_other": "+ {{count}} membri si sono uniti",
"__usersCount__people_will_be_invited": "{{usersCount}} persone saranno invitate",
"__username__is_no_longer__role__defined_by__user_by_": "{{username}} non è più {{role}}, da {{user_by}}",
"__username__was_set__role__by__user_by_": "A {{username}} è stato assegnato il ruolo di {{role}} da {{user_by}}",
@@ -1771,8 +1774,9 @@
"meteor_status_connecting": "Connessione in corso...",
"meteor_status_failed": "Impossibile connettersi al server",
"meteor_status_offline": "Modalità non in linea.",
- "meteor_status_reconnect_in": "riprovo tra pochi secondi...",
- "meteor_status_reconnect_in_plural": "riprovo tra {{count}} secondi...",
+ "meteor_status_reconnect_in_one": "riprovo tra pochi secondi...",
+ "meteor_status_reconnect_in_many": "riprovo tra {{count}} secondi...",
+ "meteor_status_reconnect_in_other": "riprovo tra {{count}} secondi...",
"meteor_status_try_now_offline": "Riprova",
"meteor_status_try_now_waiting": "Connetti ora",
"meteor_status_waiting": "Server non disponibile,",
@@ -2110,7 +2114,6 @@
"Removed_User": "Utente rimosso",
"Replies": "Risposte",
"Reply": "Rispondi",
- "reply_counter_plural": "{{counter}} risposte",
"Reply_in_direct_message": "Rispondi via messaggio privato",
"Reply_in_thread": "Rispondi in un thread",
"ReplyTo": "Rispondi a",
diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/ja.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/ja.i18n.json
index 9487983bf9f7..a87173721599 100644
--- a/apps/meteor/packages/rocketchat-i18n/i18n/ja.i18n.json
+++ b/apps/meteor/packages/rocketchat-i18n/i18n/ja.i18n.json
@@ -701,7 +701,7 @@
"Call": "通話",
"Calling": "通話中",
"Call_Center": "コールセンター",
- "Calls_in_queue": "キュー内の{{calls}}通話",
+ "Calls_in_queue": "キュー内の{{count}}通話",
"Call_declined": "通話が拒否されました!",
"Call_Information": "通話情報",
"Call_provider": "通話プロバイダー",
@@ -2817,8 +2817,7 @@
"Message_Characther_Limit": "メッセージ文字制限",
"Message_Code_highlight": "言語の一覧を強調表示するコード",
"Message_Code_highlight_Description": "コードブロックの強調表示に使用される言語(https://github.com/highlightjs/highlight.js/tree/9.18.5#supported-languagesでサポートされるすべての言語)のコンマ区切り一覧",
- "message_counter": "{{counter}}件のメッセージ",
- "message_counter_plural": "{{counter}}件のメッセージ",
+ "message_counter_other": "{{count}}件のメッセージ",
"Message_DateFormat": "日付形式",
"Message_DateFormat_Description": "参照先:[Moment.js](http://momentjs.com/docs/#/displaying/format/)",
"Message_deleting_blocked": "このメッセージを削除することはできません",
@@ -2910,8 +2909,7 @@
"meteor_status_connecting": "接続中...",
"meteor_status_failed": "サーバー接続が失敗しました",
"meteor_status_offline": "オフラインモード。",
- "meteor_status_reconnect_in": "1秒後に再試行します...",
- "meteor_status_reconnect_in_plural": "{{count}}秒後に再試行します...",
+ "meteor_status_reconnect_in_other": "{{count}}秒後に再試行します...",
"meteor_status_try_now_offline": "再接続",
"meteor_status_try_now_waiting": "今すぐ再試行",
"meteor_status_waiting": "サーバー接続を待機しています。",
@@ -3458,8 +3456,6 @@
"Replied_on": "返信日",
"Replies": "返信",
"Reply": "返信",
- "reply_counter": "{{counter}}件の返信",
- "reply_counter_plural": "{{counter}}件の返信",
"Reply_in_direct_message": "ダイレクトメッセージで返信",
"Reply_in_thread": "スレッドで返信",
"Reply_via_Email": "メールで返信",
@@ -4836,4 +4832,4 @@
"Enterprise": "エンタープライズ",
"UpgradeToGetMore_engagement-dashboard_Title": "分析",
"UpgradeToGetMore_auditing_Title": "メッセージ監査"
-}
\ No newline at end of file
+}
diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/ka-GE.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/ka-GE.i18n.json
index 8e673e5346cc..4bfadce34e0b 100644
--- a/apps/meteor/packages/rocketchat-i18n/i18n/ka-GE.i18n.json
+++ b/apps/meteor/packages/rocketchat-i18n/i18n/ka-GE.i18n.json
@@ -2257,8 +2257,8 @@
"Message_auditing_log": "შეტყობინებების შემოწმების ჟურნალი",
"Message_BadWordsFilterList": "დაამატეთ უხამსი სიტყვები შავ სიაში",
"Message_BadWordsFilterListDescription": "დაამატეთ მძიმით გამოყოფილი უხამსი სიტყვების სია ფილტრს",
- "message_counter": "{{counter}} შეტყობინება",
- "message_counter_plural": "{{counter}} შეტყობინებები",
+ "message_counter_one": "{{count}} შეტყობინება",
+ "message_counter_other": "{{count}} შეტყობინებები",
"Message_DateFormat": "თარიღის ფორმატი",
"Message_DateFormat_Description": "აგრეთვე იხილეთ: [ Moment.js ](http://momentjs.com/docs/#/displaying/format/)",
"Message_deleting_blocked": "ეს შეტყობინება აღარ შეიძლება წაიშალოს",
@@ -2329,8 +2329,8 @@
"meteor_status_connecting": "დაკავშირება ...",
"meteor_status_failed": "სერვერთან დაკავშირება ვერ მოხერხდა",
"meteor_status_offline": "ოფლაინ რეჟიმი",
- "meteor_status_reconnect_in": "კიდევ სცადე 1 წამის შემდეგ...",
- "meteor_status_reconnect_in_plural": "კიდვ სცადე {{count}} წამში...",
+ "meteor_status_reconnect_in_one": "კიდევ სცადე 1 წამის შემდეგ...",
+ "meteor_status_reconnect_in_other": "კიდვ სცადე {{count}} წამში...",
"meteor_status_try_now_offline": "ისევ დაკავშირება",
"meteor_status_try_now_waiting": "სცადე ახლა",
"meteor_status_waiting": "სერვერთან კავშირის მოლოდინი",
@@ -2742,8 +2742,6 @@
"Replay": "გამეორება",
"Replies": "პასუხობს",
"Reply": "პასუხი",
- "reply_counter": "{{counter}} პასუხი",
- "reply_counter_plural": "{{counter}} პასუხობს",
"Reply_in_direct_message": "პასუხი პირდაპირ შეტყობინებებში",
"Reply_in_thread": "პასუხი თრედში",
"ReplyTo": "უპასუხეთ __-ს",
@@ -3671,4 +3669,4 @@
"onboarding.form.registerOfflineForm.title": "ხელით დარეგისტრირება",
"UpgradeToGetMore_engagement-dashboard_Title": "ანალიტიკა",
"UpgradeToGetMore_auditing_Title": "შეტყობინებების შემოწმება"
-}
\ No newline at end of file
+}
diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/ko.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/ko.i18n.json
index 0341f6388348..cf50f3b8e706 100644
--- a/apps/meteor/packages/rocketchat-i18n/i18n/ko.i18n.json
+++ b/apps/meteor/packages/rocketchat-i18n/i18n/ko.i18n.json
@@ -2450,8 +2450,7 @@
"Message_BadWordsFilterList": "블랙리스트에 비속어 추가",
"Message_BadWordsFilterListDescription": "쉼표로 구분된 비속어 목록으로 추가",
"Message_Characther_Limit": "메시지 문자 제한",
- "message_counter": "{{counter}} 메시지",
- "message_counter_plural": "{{counter}} 메시지",
+ "message_counter_other": "{{count}} 메시지",
"Message_DateFormat": "날짜 형식",
"Message_DateFormat_Description": "참조: [Moment.js](http://momentjs.com/docs/#/displaying/format/)",
"Message_deleting_blocked": "이 메시지는 이제 삭제할 수 없습니다",
@@ -2524,8 +2523,7 @@
"meteor_status_connecting": "연결중...",
"meteor_status_failed": "서버 연결에 실패했습니다.",
"meteor_status_offline": "오프라인 모드.",
- "meteor_status_reconnect_in": "1 초 후에 다시 시도합니다 ...",
- "meteor_status_reconnect_in_plural": "{{count}} 초 후에 다시 시도합니다 ...",
+ "meteor_status_reconnect_in_other": "{{count}} 초 후에 다시 시도합니다 ...",
"meteor_status_try_now_offline": "다시 접속하기",
"meteor_status_try_now_waiting": "지금 시도",
"meteor_status_waiting": "서버 연결을 기다리는 중...",
@@ -2985,8 +2983,6 @@
"Replied_on": "답장함",
"Replies": "답장",
"Reply": "답장하기",
- "reply_counter": "{{counter}} 답장",
- "reply_counter_plural": "{{counter}} 답장",
"Reply_in_direct_message": "1:1 메시지로 응답",
"Reply_in_thread": "스레드에서 답장",
"ReplyTo": "답장하기",
@@ -4029,4 +4025,4 @@
"Enterprise": "기업",
"UpgradeToGetMore_engagement-dashboard_Title": "분석(에널리틱스)",
"UpgradeToGetMore_auditing_Title": "메시지 감사"
-}
\ No newline at end of file
+}
diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/ms-MY.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/ms-MY.i18n.json
index 8d2cb17ea0d2..8b20b0968e7e 100644
--- a/apps/meteor/packages/rocketchat-i18n/i18n/ms-MY.i18n.json
+++ b/apps/meteor/packages/rocketchat-i18n/i18n/ms-MY.i18n.json
@@ -1717,8 +1717,7 @@
"meteor_status_connecting": "Menyambung...",
"meteor_status_failed": "Sambungan pelayan gagal",
"meteor_status_offline": "Mod LuarTalian.",
- "meteor_status_reconnect_in": "cuba lagi dalam masa satu saat...",
- "meteor_status_reconnect_in_plural": "cuba lagi dalam masa {{count}} saat...",
+ "meteor_status_reconnect_in_other": "cuba lagi dalam masa {{count}} saat...",
"meteor_status_try_now_offline": "Sambung semula",
"meteor_status_try_now_waiting": "Cuba sekarang",
"meteor_status_waiting": "Menunggu sambungan pelayan,",
@@ -2765,4 +2764,4 @@
"registration.component.form.sendConfirmationEmail": "Hantar e-mel pengesahan",
"Enterprise": "Enterprise",
"UpgradeToGetMore_engagement-dashboard_Title": "Analisis"
-}
\ No newline at end of file
+}
diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/nl.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/nl.i18n.json
index 23e356f28eee..2fea30c7c8ca 100644
--- a/apps/meteor/packages/rocketchat-i18n/i18n/nl.i18n.json
+++ b/apps/meteor/packages/rocketchat-i18n/i18n/nl.i18n.json
@@ -705,9 +705,9 @@
"Call": "Bel",
"Calling": "Bellen",
"Call_Center": "Callcenter",
- "Calls_in_queue": "{{calls}} oproep in de wachtrij",
- "Calls_in_queue_plural": "{{calls}} oproepen in de wachtrij",
- "Calls_in_queue_empty": "Wachtrij is leeg",
+ "Calls_in_queue_zero": "Wachtrij is leeg",
+ "Calls_in_queue_one": "{{count}} oproep in de wachtrij",
+ "Calls_in_queue_other": "{{count}} oproepen in de wachtrij",
"Call_declined": "Oproep geweigerd!",
"Call_Information": "Oproepinformatie",
"Call_provider": "Oproepprovider",
@@ -2834,8 +2834,8 @@
"Message_Characther_Limit": "Limiet berichttekens",
"Message_Code_highlight": "Lijst met talen voor codemarkering",
"Message_Code_highlight_Description": "Door komma's gescheiden lijst van talen (alle ondersteunende talen op [highlight.js](https://github.com/highlightjs/highlight.js/tree/11.6.0#supported-languages)) die zal worden gebruikt om codeblokken te markeren",
- "message_counter": "{{counter}} bericht",
- "message_counter_plural": "{{counter}} berichten",
+ "message_counter_one": "{{count}} bericht",
+ "message_counter_other": "{{count}} berichten",
"Message_DateFormat": "Datumnotatie",
"Message_DateFormat_Description": "Zie ook: [Moment.js](http://momentjs.com/docs/#/displaying/format/)",
"Message_deleting_blocked": "Dit bericht kan niet meer worden verwijderd",
@@ -2927,8 +2927,8 @@
"meteor_status_connecting": "Verbinden...",
"meteor_status_failed": "Verbinding met de server is mislukt",
"meteor_status_offline": "Offline modus.",
- "meteor_status_reconnect_in": "probeer het over een seconde opnieuw...",
- "meteor_status_reconnect_in_plural": "probeer het over {{count}} seconden opnieuw...",
+ "meteor_status_reconnect_in_one": "probeer het over een seconde opnieuw...",
+ "meteor_status_reconnect_in_other": "probeer het over {{count}} seconden opnieuw...",
"meteor_status_try_now_offline": "Opnieuw verbinden",
"meteor_status_try_now_waiting": "Probeer nu",
"meteor_status_waiting": "Wachten op serververbinding,",
@@ -3481,8 +3481,6 @@
"Replied_on": "Beantwoord op",
"Replies": "Antwoorden",
"Reply": "Antwoord",
- "reply_counter": "{{counter}} antwoord",
- "reply_counter_plural": "{{counter}} antwoorden",
"Reply_in_direct_message": "Reageer in privébericht",
"Reply_in_thread": "Reageer in draad",
"Reply_via_Email": "Reageer via e-mail",
@@ -4874,4 +4872,4 @@
"Enterprise": "Onderneming",
"UpgradeToGetMore_engagement-dashboard_Title": "Analytics",
"UpgradeToGetMore_auditing_Title": "Bericht auditing"
-}
\ No newline at end of file
+}
diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/no.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/no.i18n.json
index f1d3862c76d6..523be5e4b593 100644
--- a/apps/meteor/packages/rocketchat-i18n/i18n/no.i18n.json
+++ b/apps/meteor/packages/rocketchat-i18n/i18n/no.i18n.json
@@ -6,8 +6,8 @@
"__count__conversations__period__": "{{count}} samtaler, {{period}}",
"__count__tags__and__count__conversations__period__": "{{count}}-tagger og {{conversations}}-samtaler, {{period}}",
"__departments__departments_and__count__conversations__period__": "{{departments}} avdelinger og {{count}} samtaler, {{period}}",
- "__usersCount__member_joined": "+ {{usersCount}} medlem ble med",
- "__usersCount__member_joined_plural": "+ {{usersCount}} medlemmer ble med",
+ "__usersCount__member_joined_one": "+ {{count}} medlem ble med",
+ "__usersCount__member_joined_other": "+ {{count}} medlemmer ble med",
"__usersCount__people_will_be_invited": "{{usersCount}} personer blir invitert",
"__username__is_no_longer__role__defined_by__user_by_": "{{username}} er ikke lenger {{role}} av {{user_by}}",
"__username__was_set__role__by__user_by_": "{{username}} ble satt {{role}} av {{user_by}}",
@@ -490,10 +490,10 @@
"Apps_context_requested": "Forespurt",
"Apps_context_private": "Private apper",
"Apps_context_premium": "Premium",
- "Apps_Count_Enabled": "{{count}} app aktivert",
- "Apps_Count_Enabled_plural": "{{count}} apper aktivert",
- "Private_Apps_Count_Enabled": "{{count}} privat app aktivert",
- "Private_Apps_Count_Enabled_plural": "{{count}} private apper aktivert",
+ "Apps_Count_Enabled_one": "{{count}} app aktivert",
+ "Apps_Count_Enabled_other": "{{count}} apper aktivert",
+ "Private_Apps_Count_Enabled_one": "{{count}} privat app aktivert",
+ "Private_Apps_Count_Enabled_other": "{{count}} private apper aktivert",
"Apps_Engine_Version": "Versjon av Apps Engine",
"Apps_Game_Center": "Spillsenter",
"Apps_Game_Center_Back": "Tilbake til spillsenteret",
@@ -2977,4 +2977,4 @@
"registration.component.form.sendConfirmationEmail": "Send bekreftelses-e-post",
"Enterprise": "Bedriften",
"UpgradeToGetMore_engagement-dashboard_Title": "Analytics"
-}
\ No newline at end of file
+}
diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/pl.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/pl.i18n.json
index 6a4265cc7397..c7226284de8f 100644
--- a/apps/meteor/packages/rocketchat-i18n/i18n/pl.i18n.json
+++ b/apps/meteor/packages/rocketchat-i18n/i18n/pl.i18n.json
@@ -2,10 +2,14 @@
"500": "Wewnętrzny błąd serwera",
"__count__empty_rooms_will_be_removed_automatically": "Liczba pokojów do automatycznego usunięcia: {{count}}.",
"__count__empty_rooms_will_be_removed_automatically__rooms__": "Puste pokoje ({{count}}) zostaną automatycznie usunięte:
{{rooms}}.",
- "__count__message_pruned": "{{counter}} wiadomość(i) usuniętych",
- "__count__message_pruned_plural": "{{counter}} wiadomość(i) usuniętych",
- "__usersCount__member_joined": "+ {{counter}} członek dołączył",
- "__usersCount__member_joined_plural": "+ {{counter}} członków dołączyło",
+ "__count__message_pruned_one": "{{count}} wiadomość(i) usuniętych",
+ "__count__message_pruned_few": "{{count}} wiadomość(i) usuniętych",
+ "__count__message_pruned_many": "{{count}} wiadomość(i) usuniętych",
+ "__count__message_pruned_other": "{{count}} wiadomość(i) usuniętych",
+ "__usersCount__member_joined_one": "+ {{count}} członek dołączył",
+ "__usersCount__member_joined_few": "+ {{count}} członków dołączyło",
+ "__usersCount__member_joined_many": "+ {{count}} członków dołączyło",
+ "__usersCount__member_joined_other": "+ {{count}} członków dołączyło",
"__usersCount__people_will_be_invited": "{{usersCount}} ludzi zostanie zostanie zaproszonych",
"__username__is_no_longer__role__defined_by__user_by_": "Użytkownik {{username}} nie ma już roli {{role}}; zmienił to użytkownik {{user_by}}",
"__username__was_set__role__by__user_by_": "Użytkownik {{username}} otrzymał rolę {{role}} od użytkownika {{user_by}}",
@@ -769,9 +773,11 @@
"Call_Center_Description": "Konfiguracja Rocket.Chat call center.",
"Call_ended": "Połączenie zakończone",
"Calls": "Połączenia",
- "Calls_in_queue": "Połączeń w kolejce: {{calls}}",
- "Calls_in_queue_plural": "{{calls}} połączeń w kolejce",
- "Calls_in_queue_empty": "Kolejka jest pusta",
+ "Calls_in_queue_zero": "Kolejka jest pusta",
+ "Calls_in_queue_one": "Połączeń w kolejce: {{count}}",
+ "Calls_in_queue_few": "{{count}} połączeń w kolejce",
+ "Calls_in_queue_many": "{{count}} połączeń w kolejce",
+ "Calls_in_queue_other": "{{count}} połączeń w kolejce",
"Call_declined": "Połączenie odrzucone!",
"Call_Information": "Informacje o połączeniu",
"Call_provider": "Dostawca połączenia",
@@ -3067,8 +3073,10 @@
"Message_Characther_Limit": "Limit znaków wiadomości",
"Message_Code_highlight": "Lista języków podświetlania kodu",
"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_counter": "{{counter}} wiadomość",
- "message_counter_plural": "{{counter}} wiadomości",
+ "message_counter_one": "{{count}} wiadomość",
+ "message_counter_few": "{{count}} wiadomości",
+ "message_counter_many": "{{count}} wiadomości",
+ "message_counter_other": "{{count}} wiadomości",
"Message_DateFormat": "Format daty",
"Message_DateFormat_Description": "Zobacz także: [Moment.js](http://momentjs.com/docs/#/displaying/format/)",
"Message_deleting_blocked": "Ta wiadomość nie może być już usunięta",
@@ -3168,8 +3176,10 @@
"meteor_status_connecting": "Łączenie...",
"meteor_status_failed": "Serwer nie mógł się połączyć",
"meteor_status_offline": "Tryb offline.",
- "meteor_status_reconnect_in": "spróbuj jeszcze raz za chwilę...",
- "meteor_status_reconnect_in_plural": "spróbuj jeszcze raz za {{count}} sekund...",
+ "meteor_status_reconnect_in_one": "spróbuj jeszcze raz za chwilę...",
+ "meteor_status_reconnect_in_few": "spróbuj jeszcze raz za {{count}} sekund...",
+ "meteor_status_reconnect_in_many": "spróbuj jeszcze raz za {{count}} sekund...",
+ "meteor_status_reconnect_in_other": "spróbuj jeszcze raz za {{count}} sekund...",
"meteor_status_try_now_offline": "Połącz ponownie",
"meteor_status_try_now_waiting": "Spróbuj teraz",
"meteor_status_waiting": "Poczekaj na połączenie serwera",
@@ -3789,8 +3799,6 @@
"Replied_on": "Odpowiedzi udzielono na",
"Replies": "Odpowiedzi",
"Reply": "Odpowiedź",
- "reply_counter": "{{counter}} odpowiedź",
- "reply_counter_plural": "{{counter}} odpowiedzi",
"Reply_in_direct_message": "Odpowiedz w bezpośredniej wiadomości",
"Reply_in_thread": "Odpowiedz w wątku",
"Reply_via_Email": "Odpowiedz przez e-mail",
diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/pt-BR.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/pt-BR.i18n.json
index 64e6cb127e94..0c8f5e4b5166 100644
--- a/apps/meteor/packages/rocketchat-i18n/i18n/pt-BR.i18n.json
+++ b/apps/meteor/packages/rocketchat-i18n/i18n/pt-BR.i18n.json
@@ -3,12 +3,15 @@
"__agents__agents_and__count__conversations__period__": "{{agents}} agentes e {{count}} conversas, {{period}}",
"__count__empty_rooms_will_be_removed_automatically": "{{count}} salas vazias serão removidas automaticamente.",
"__count__empty_rooms_will_be_removed_automatically__rooms__": "{{count}} salas vazias serão removidas automaticamente:
{{rooms}}.",
- "__count__message_pruned": "{{counter}} mensagem apagada",
- "__count__message_pruned_plural": "{{counter}} mensagens apagadas",
+ "__count__message_pruned_one": "{{count}} mensagem apagada",
+ "__count__message_pruned_many": "{{count}} mensagens apagadas",
+ "__count__message_pruned_other": "{{count}} mensagens apagadas",
"__count__conversations__period__": "{{count}} conversas, {{period}}",
"__count__tags__and__count__conversations__period__": "{{count}} tags e {{conversations}} conversas, {{period}}",
"__departments__departments_and__count__conversations__period__": "{{departments}} departmentos e {{count}} conversas, {{period}}",
- "__usersCount__member_joined_plural": "+ {{counter}} membros entraram",
+ "__usersCount__member_joined_one": "+ um membro entrou",
+ "__usersCount__member_joined_many": "+ {{count}} membros entraram",
+ "__usersCount__member_joined_other": "+ {{count}} membros entraram",
"__usersCount__people_will_be_invited": "{{usersCount}} usuários vão ser convidados",
"__username__is_no_longer__role__defined_by__user_by_": "{{username}} não pertence mais a {{role}}, por {{user_by}}",
"__username__was_set__role__by__user_by_": "{{username}} foi definido como {{role}} por {{user_by}}",
@@ -747,9 +750,10 @@
"Calling": "Chamando",
"Call_Center": "Canal de Voz",
"Call_Center_Description": "Configure o canal de voz no Rocket.Chat",
- "Calls_in_queue": "{{calls}} chamadas na fila",
- "Calls_in_queue_plural": "{{calls}} Chamadas na Fila",
- "Calls_in_queue_empty": "A fila está Vazia",
+ "Calls_in_queue_zero": "A fila está Vazia",
+ "Calls_in_queue_one": "{{count}} chamadas na fila",
+ "Calls_in_queue_many": "{{count}} chamadas na fila",
+ "Calls_in_queue_other": "{{count}} chamadas na fila",
"Call_declined": "Chamada recusada!",
"Call_Information": "Informação da chamada",
"Call_provider": "Provedor de chamada",
@@ -2896,8 +2900,9 @@
"Message_Characther_Limit": "Limite de caracteres da mensagem",
"Message_Code_highlight": "Lista de idiomas com destaque de código",
"Message_Code_highlight_Description": "Lista de idiomas separados por vírgulas (todos os idiomas suportados em [highlight.js](https://github.com/highlightjs/highlight.js/tree/11.6.0#supported-languages)), que serão usados para destacar os blocos de código",
- "message_counter": "{{counter}} mensagem",
- "message_counter_plural": "{{counter}} mensagens",
+ "message_counter_one": "{{count}} mensagem",
+ "message_counter_many": "{{count}} mensagens",
+ "message_counter_other": "{{count}} mensagens",
"Message_DateFormat": "Formato de data",
"Message_DateFormat_Description": "Veja também: [Moment.js](http://momentjs.com/docs/#/displaying/format/)",
"Message_deleting_blocked": "Esta mensagem não pode ser mais apagada",
@@ -2989,8 +2994,9 @@
"meteor_status_connecting": "Conectando...",
"meteor_status_failed": "A conexão com o servidor falhou",
"meteor_status_offline": "Modo offline.",
- "meteor_status_reconnect_in": "tentando novamente em um segundo...",
- "meteor_status_reconnect_in_plural": "tentando novamente em {{count}} segundos...",
+ "meteor_status_reconnect_in_one": "tentando novamente em um segundo...",
+ "meteor_status_reconnect_in_many": "tentando novamente em {{count}} segundos...",
+ "meteor_status_reconnect_in_other": "tentando novamente em {{count}} segundos...",
"meteor_status_try_now_offline": "Conectar novamente",
"meteor_status_try_now_waiting": "Tentar agora",
"meteor_status_waiting": "Aguardando pela conexão com o servidor,",
@@ -3552,8 +3558,6 @@
"Replied_on": "Respondido em",
"Replies": "Respostas",
"Reply": "Responder",
- "reply_counter": "{{counter}} resposta",
- "reply_counter_plural": "{{counter}} respostas",
"Reply_in_direct_message": "Responder por mensagem direta",
"Reply_in_thread": "Responder na conversa",
"Reply_via_Email": "Responder por e-mail",
@@ -4980,4 +4984,4 @@
"Enterprise": "Enterprise",
"UpgradeToGetMore_engagement-dashboard_Title": "Analytics",
"UpgradeToGetMore_auditing_Title": "Auditoria de mensagem"
-}
\ No newline at end of file
+}
diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/ru.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/ru.i18n.json
index 6f96e4abd83c..db172eadb8c1 100644
--- a/apps/meteor/packages/rocketchat-i18n/i18n/ru.i18n.json
+++ b/apps/meteor/packages/rocketchat-i18n/i18n/ru.i18n.json
@@ -2,10 +2,14 @@
"500": "Внутренняя ошибка сервера",
"__count__empty_rooms_will_be_removed_automatically": "{{count}}пустые комнаты будут удалены автоматически.",
"__count__empty_rooms_will_be_removed_automatically__rooms__": "{{count}} пустых чатов будет удалено автоматически:
{{rooms}}.",
- "__count__message_pruned": "{{counter}} сообщение удалено",
- "__count__message_pruned_plural": "{{counter}} сообщений удалено",
- "__usersCount__member_joined": "+ {{counter}} участников присоединилось",
- "__usersCount__member_joined_plural": "+ {{counter}} участников присоединилось",
+ "__count__message_pruned_one": "{{count}} сообщение удалено",
+ "__count__message_pruned_few": "{{count}} сообщений удалено",
+ "__count__message_pruned_many": "{{count}} сообщений удалено",
+ "__count__message_pruned_other": "{{count}} сообщений удалено",
+ "__usersCount__member_joined_one": "+ {{count}} участников присоединилось",
+ "__usersCount__member_joined_few": "+ {{count}} участников присоединилось",
+ "__usersCount__member_joined_many": "+ {{count}} участников присоединилось",
+ "__usersCount__member_joined_other": "+ {{count}} участников присоединилось",
"__usersCount__people_will_be_invited": "{{usersCount}} человек будет приглашено",
"__username__is_no_longer__role__defined_by__user_by_": "{{username}} больше не {{role}} по решению {{user_by}}",
"__username__was_set__role__by__user_by_": "{{username}} был установлен {{role}} по решению {{user_by}}",
@@ -502,10 +506,14 @@
"Apps_context_installed": "Установлен",
"Apps_context_requested": "Запрошено",
"Apps_context_private": "Приватные приложения",
- "Apps_Count_Enabled": "{{counter}} приложение включено",
- "Apps_Count_Enabled_plural": "{{counter}} приложений(-я) включено",
- "Private_Apps_Count_Enabled": "{{counter}} приватное приложение включено",
- "Private_Apps_Count_Enabled_plural": "{{counter}} приватных приложений включено",
+ "Apps_Count_Enabled_one": "{{count}} приложение включено",
+ "Apps_Count_Enabled_few": "{{count}} приложений(-я) включено",
+ "Apps_Count_Enabled_many": "{{count}} приложений(-я) включено",
+ "Apps_Count_Enabled_other": "{{count}} приложений(-я) включено",
+ "Private_Apps_Count_Enabled_one": "{{count}} приватное приложение включено",
+ "Private_Apps_Count_Enabled_few": "{{count}} приватных приложений включено",
+ "Private_Apps_Count_Enabled_many": "{{count}} приватных приложений включено",
+ "Private_Apps_Count_Enabled_other": "{{count}} приватных приложений включено",
"Apps_Count_Enabled_tooltip": "В рабочих пространствах Community Edition можно использовать до {{number}} {{context}} приложений",
"Apps_Engine_Version": "Версия движка приложений",
"Apps_Essential_Alert": "Это приложение необходимо для следующих событий:",
@@ -796,9 +804,11 @@
"Call_Center_Description": "Настройка кол-центра Rocket.Chat",
"Call_ended": "Звонок завершен",
"Calls": "Звонки",
- "Calls_in_queue": "Вызовов в очереди: {{calls}}",
- "Calls_in_queue_plural": "{{calls}} Звонков в очереди",
- "Calls_in_queue_empty": "Очередь пуста",
+ "Calls_in_queue_zero": "Очередь пуста",
+ "Calls_in_queue_one": "Вызовов в очереди: {{count}}",
+ "Calls_in_queue_few": "{{count}} Звонков в очереди",
+ "Calls_in_queue_many": "{{count}} Звонков в очереди",
+ "Calls_in_queue_other": "{{count}} Звонков в очереди",
"Call_declined": "Вызов отклонен!",
"Call_Information": "Информация о вызове",
"Call_provider": "Поставщик вызовов",
@@ -2985,8 +2995,10 @@
"Message_Characther_Limit": "Максимальный размер сообщения",
"Message_Code_highlight": "Список языков, используемых для выделения кода",
"Message_Code_highlight_Description": "Список языков с запятыми-разделителями (все поддерживаемые языки представлены на странице [highlight.js](https://github.com/highlightjs/highlight.js/tree/11.6.0#supported-languages)), которые будут использоваться для выделения блоков кода",
- "message_counter": "{{counter}} сообщение",
- "message_counter_plural": "{{counter}} сообщения",
+ "message_counter_one": "{{count}} сообщение",
+ "message_counter_few": "{{count}} сообщения",
+ "message_counter_many": "{{count}} сообщения",
+ "message_counter_other": "{{count}} сообщения",
"Message_DateFormat": "Формат даты",
"Message_DateFormat_Description": "Смотрите также: [Moment.js](http://momentjs.com/docs/#/displaying/format/)",
"Message_deleting_blocked": "Это сообщение уже не может быть удалено",
@@ -3079,8 +3091,10 @@
"meteor_status_connecting": "Подключение ...",
"meteor_status_failed": "Соединение с сервером не удалось",
"meteor_status_offline": "Автономный режим.",
- "meteor_status_reconnect_in": "пытается снова в одну секунду ...",
- "meteor_status_reconnect_in_plural": "пытается снова через {{count}} секунд ...",
+ "meteor_status_reconnect_in_one": "пытается снова в одну секунду ...",
+ "meteor_status_reconnect_in_few": "пытается снова через {{count}} секунд ...",
+ "meteor_status_reconnect_in_many": "пытается снова через {{count}} секунд ...",
+ "meteor_status_reconnect_in_other": "пытается снова через {{count}} секунд ...",
"meteor_status_try_now_offline": "Подключите снова",
"meteor_status_try_now_waiting": "Попробуйте сейчас",
"meteor_status_waiting": "В ожидании соединения с сервером",
@@ -3640,8 +3654,6 @@
"Replied_on": "Ответил на",
"Replies": "Ответы",
"Reply": "Ответить",
- "reply_counter": "{{counter}} ответ",
- "reply_counter_plural": "{{counter}} ответы",
"Reply_in_direct_message": "Ответить личным сообщением",
"Reply_in_thread": "Ответить в треде",
"Reply_via_Email": "Ответить по электронной почте",
diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/sv.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/sv.i18n.json
index 4c33e371214d..3bc6f5ec7fd6 100644
--- a/apps/meteor/packages/rocketchat-i18n/i18n/sv.i18n.json
+++ b/apps/meteor/packages/rocketchat-i18n/i18n/sv.i18n.json
@@ -3,10 +3,10 @@
"__agents__agents_and__count__conversations__period__": "{{agents}} agenter och {{count}} konversationer, {{period}}",
"__count__empty_rooms_will_be_removed_automatically": "{{count}} tomma rum tas bort automatiskt.",
"__count__empty_rooms_will_be_removed_automatically__rooms__": "{{count}} tomma rum tas bort automatiskt:
{{rooms}}.",
- "__count__message_pruned": "{{counter}} meddelande rensat",
- "__count__message_pruned_plural": "{{counter}} meddelanden rensade",
- "__usersCount__member_joined": "+ {{counter}} medlem har anslutit",
- "__usersCount__member_joined_plural": "+ {{counter}} medlemmar har anslutit",
+ "__count__message_pruned_one": "{{count}} meddelande rensat",
+ "__count__message_pruned_other": "{{count}} meddelanden rensade",
+ "__usersCount__member_joined_one": "+ {{count}} medlem har anslutit",
+ "__usersCount__member_joined_other": "+ {{count}} medlemmar har anslutit",
"__usersCount__people_will_be_invited": "{{usersCount}} personer bjuds in",
"__username__is_no_longer__role__defined_by__user_by_": "{{username}} är inte längre {{role}}, av {{user_by}}",
"__username__was_set__role__by__user_by_": "{{username}} sattes {{role}} av {{user_by}}",
@@ -504,10 +504,10 @@
"Apps_context_installed": "Installerad",
"Apps_context_requested": "Förfrågningar",
"Apps_context_private": "Privata appar",
- "Apps_Count_Enabled": "{{counter}} app aktiverad",
- "Apps_Count_Enabled_plural": "{{counter}} appar aktiverade",
- "Private_Apps_Count_Enabled": "{{counter}} privat app aktiverad",
- "Private_Apps_Count_Enabled_plural": "{{counter}} privata appar aktiverade",
+ "Apps_Count_Enabled_one": "{{count}} app aktiverad",
+ "Apps_Count_Enabled_other": "{{count}} appar aktiverade",
+ "Private_Apps_Count_Enabled_one": "{{count}} privat app aktiverad",
+ "Private_Apps_Count_Enabled_other": "{{count}} privata appar aktiverade",
"Apps_Count_Enabled_tooltip": "Arbetsytorna i Community Edition kan aktivera upp till {{number}} {{context}} appar",
"Apps_disabled_when_Premium_trial_ended_description": "Arbetsytorna i Community Edition kan ha upp till 5 marknadsplatsappar och 3 privata appar aktiverade. Be din arbetsrumsadministratör att återaktivera appar.",
"Apps_disabled_when_Premium_trial_ended_description_admin": "Arbetsytorna i Community Edition kan ha upp till 5 marknadsplatsappar och 3 privata appar aktiverade. Återaktivera de appar du behöver.",
@@ -814,9 +814,9 @@
"Call_Center_Description": "Konfigurera röstkanalerna i Rocket.Chat",
"Call_ended": "Samtalet avslutades",
"Calls": "Samtal",
- "Calls_in_queue": "{{calls}} samtal i kö",
- "Calls_in_queue_plural": "{{calls}} samtal i kö",
- "Calls_in_queue_empty": "Kön är tom",
+ "Calls_in_queue_zero": "Kön är tom",
+ "Calls_in_queue_one": "{{count}} samtal i kö",
+ "Calls_in_queue_other": "{{count}} samtal i kö",
"Call_declined": "Samtalet avvisades.",
"Call_history_provides_a_record_of_when_calls_took_place_and_who_joined": "I samtalshistoriken samlas information om när samtal ägt rum och vilka som deltog.",
"Call_Information": "Samtalsinformation",
@@ -3246,8 +3246,8 @@
"Message_Code_highlight_Description": "Kommaavgränsad lista med språk (alla språk som stöds på [highlight.js](https://github.com/highlightjs/highlight.js/tree/11.6.0#supported-languages)) som används för att markera kodblock",
"Message_CustomDomain_AutoLink": "Anpassad vitlista för domäner - Automatiska Länkar",
"Message_CustomDomain_AutoLink_Description": "Om du vill autolänka interna länkar som t.ex. `https://internt-verktyg.intranet` eller `internt-vertyg.intranet`, behöver du alltid lägga till `intranet` i slutet. Flera domäner separeras med ett komma (,).",
- "message_counter": "{{counter}} meddelande",
- "message_counter_plural": "{{counter}} meddelanden",
+ "message_counter_one": "{{count}} meddelande",
+ "message_counter_other": "{{count}} meddelanden",
"Message_DateFormat": "Datumformat",
"Message_DateFormat_Description": "Se även: [Moment.js](http://momentjs.com/docs/#/displaying/format/)",
"Message_deleting_blocked": "Detta meddelande kan inte tas bort längre",
@@ -3353,8 +3353,8 @@
"meteor_status_connecting": "Ansluter...",
"meteor_status_failed": "Det gick inte att ansluta till servern",
"meteor_status_offline": "Offlineläge.",
- "meteor_status_reconnect_in": "försöker igen om en sekund...",
- "meteor_status_reconnect_in_plural": "försöker igen om {{count}} sekunder...",
+ "meteor_status_reconnect_in_one": "försöker igen om en sekund...",
+ "meteor_status_reconnect_in_other": "försöker igen om {{count}} sekunder...",
"meteor_status_try_now_offline": "Anslut igen",
"meteor_status_try_now_waiting": "Försök nu",
"meteor_status_waiting": "Väntar på anslutning till servern",
@@ -4010,8 +4010,6 @@
"Replied_on": "Svarade",
"Replies": "Svar",
"Reply": "Svara",
- "reply_counter": "{{counter}} svar",
- "reply_counter_plural": "{{counter}} svar",
"Reply_in_direct_message": "Svara i ett direktmeddelande",
"Reply_in_thread": "Svara i tråd",
"Reply_via_Email": "Svara via e-post",
diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/tr.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/tr.i18n.json
index 9f969914d5d0..f63f6d8d73e3 100644
--- a/apps/meteor/packages/rocketchat-i18n/i18n/tr.i18n.json
+++ b/apps/meteor/packages/rocketchat-i18n/i18n/tr.i18n.json
@@ -1990,8 +1990,8 @@
"Message_AudioRecorderEnabled_Description": "'Dosya Yükleme' ayarlarında kabul edilen bir medya türü olması için 'ses / mp3' dosyalarını gerektirir.",
"Message_BadWordsFilterList": "kara listeye kötü kelime ekleme",
"Message_BadWordsFilterListDescription": "filtrelemek için kötü kelimelerin virgülle ayrılmış liste listesi ekle",
- "message_counter": "{{counter}} ileti",
- "message_counter_plural": "{{counter}} ileti",
+ "message_counter_one": "{{count}} ileti",
+ "message_counter_other": "{{count}} ileti",
"Message_DateFormat": "Tarih formatı",
"Message_DateFormat_Description": "Ayrıca bkz: [Moment.js](http://momentjs.com/docs/#/displaying/format/)",
"Message_deleting_blocked": "Bu ileti artık silinemez",
@@ -2048,8 +2048,8 @@
"meteor_status_connecting": "Bağlanıyor...",
"meteor_status_failed": "Sunucu ile bağlantı başarısız",
"meteor_status_offline": "Çevrimdışı mod.",
- "meteor_status_reconnect_in": "tekrar deneniyor...",
- "meteor_status_reconnect_in_plural": "{{count}} saniye içinde tekrar denenecek...",
+ "meteor_status_reconnect_in_one": "tekrar deneniyor...",
+ "meteor_status_reconnect_in_other": "{{count}} saniye içinde tekrar denenecek...",
"meteor_status_try_now_offline": "Tekrar bağlan!",
"meteor_status_try_now_waiting": "Şimdi tekrar dene!",
"meteor_status_waiting": "Sunucu bağlantısı bekleniyor,",
@@ -2427,8 +2427,6 @@
"Replied_on": "Yanıt tarihi",
"Replies": "Yanıtlar",
"Reply": "Yanıtla",
- "reply_counter": "{{counter}} yanıt",
- "reply_counter_plural": "{{counter}} yanıt",
"Reply_in_direct_message": "Doğrudan İletiyle Yanıtla",
"Reply_in_thread": "Konu açarak Yanıtla",
"ReplyTo": "Yanıt Adresi",
@@ -3266,4 +3264,4 @@
"RegisterWorkspace_Features_Omnichannel_Title": "Çoklu Kanal",
"Enterprise": "Kuruluş",
"UpgradeToGetMore_engagement-dashboard_Title": "Mantıksal Analiz"
-}
\ No newline at end of file
+}
diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/uk.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/uk.i18n.json
index bc31ae328e6a..f3b973df28c9 100644
--- a/apps/meteor/packages/rocketchat-i18n/i18n/uk.i18n.json
+++ b/apps/meteor/packages/rocketchat-i18n/i18n/uk.i18n.json
@@ -2163,8 +2163,10 @@
"Message_auditing_log": "Журнал аудиту повідомлень",
"Message_BadWordsFilterList": "Додати погані слова в чорний список",
"Message_BadWordsFilterListDescription": "Додати список розділених комами список поганих слів, щоб фільтрувати",
- "message_counter": "{{counter}} повідомлення",
- "message_counter_plural": "{{counter}} повідомлень",
+ "message_counter_one": "{{count}} повідомлення",
+ "message_counter_few": "{{count}} повідомлень",
+ "message_counter_many": "{{count}} повідомлень",
+ "message_counter_other": "{{count}} повідомлень",
"Message_DateFormat": "Формат дати",
"Message_DateFormat_Description": "Дивіться також: [Moment.js](http://momentjs.com/docs/#/displaying/format/)",
"Message_deleting_blocked": "Це повідомлення не може бути видалено більше",
@@ -2567,7 +2569,6 @@
"Removed": "вилучені",
"Removed_User": "Видалений користувач",
"Reply": "Відповідь",
- "reply_counter": "{{counter}} відповідь",
"Reply_in_direct_message": "Відповісти в особистому повідомленні",
"Reply_in_thread": "Відповісти у темі",
"ReplyTo": "Відповідати на",
@@ -3352,4 +3353,4 @@
"Enterprise": "Підприємство",
"UpgradeToGetMore_engagement-dashboard_Title": "Аналітика",
"UpgradeToGetMore_auditing_Title": "Аудит повідомлень"
-}
\ No newline at end of file
+}
diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/vi-VN.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/vi-VN.i18n.json
index 88bcf754c10d..db223f0ba6b6 100644
--- a/apps/meteor/packages/rocketchat-i18n/i18n/vi-VN.i18n.json
+++ b/apps/meteor/packages/rocketchat-i18n/i18n/vi-VN.i18n.json
@@ -1810,8 +1810,7 @@
"meteor_status_connecting": "Đang kết nối...",
"meteor_status_failed": "Kết nối tới máy chủ thất bại",
"meteor_status_offline": "Chế độ ngoại tuyến.",
- "meteor_status_reconnect_in": "Thử kết nối lại trong một giây...",
- "meteor_status_reconnect_in_plural": "Thử kết nối lại trong {{count}} giây...",
+ "meteor_status_reconnect_in_other": "Thử kết nối lại trong {{count}} giây...",
"meteor_status_try_now_offline": "Kết nối lại lần nữa",
"meteor_status_try_now_waiting": "Thử ngay bây giờ",
"meteor_status_waiting": "Đang đợi kết nối tới máy chủ,",
@@ -2853,4 +2852,4 @@
"registration.component.form.sendConfirmationEmail": "Gửi email xác nhận",
"Enterprise": "Doanh nghiệp",
"UpgradeToGetMore_engagement-dashboard_Title": "phân tích"
-}
\ No newline at end of file
+}
diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/zh-TW.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/zh-TW.i18n.json
index 8bbb614c560b..99e0337f5063 100644
--- a/apps/meteor/packages/rocketchat-i18n/i18n/zh-TW.i18n.json
+++ b/apps/meteor/packages/rocketchat-i18n/i18n/zh-TW.i18n.json
@@ -700,7 +700,7 @@
"Call": "呼叫",
"Calling": "正在通話",
"Call_Center": "通話中心",
- "Calls_in_queue": "{{calls}} 個通話在佇列中",
+ "Calls_in_queue": "{{count}} 個通話在佇列中",
"Call_declined": "通話已拒絕!",
"Call_Information": "通話資訊",
"Call_provider": "通話提供者",
@@ -2769,8 +2769,7 @@
"Message_Characther_Limit": "訊息字元限制",
"Message_Code_highlight": "代碼醒目語言列表",
"Message_Code_highlight_Description": "逗號分隔的語言列表 (所有支援的語言在 [highlight.js](https://github.com/highlightjs/highlight.js/tree/11.6.0#supported-languages)),用於醒目顯示代碼區塊",
- "message_counter": "{{counter}} 訊息",
- "message_counter_plural": "{{counter}} 訊息",
+ "message_counter_other": "{{count}} 訊息",
"Message_DateFormat": "日期格式",
"Message_DateFormat_Description": "參考: [Moment.js](http://momentjs.com/docs/#/displaying/format/)",
"Message_deleting_blocked": "該訊息不能再刪除",
@@ -2859,8 +2858,7 @@
"meteor_status_connecting": "連線中...",
"meteor_status_failed": "無法與伺服器連線",
"meteor_status_offline": "離線模式。",
- "meteor_status_reconnect_in": "一秒鐘後再嘗試...",
- "meteor_status_reconnect_in_plural": "在{{count}}秒鍾後再嘗試...",
+ "meteor_status_reconnect_in_other": "在{{count}}秒鍾後再嘗試...",
"meteor_status_try_now_offline": "重新連線",
"meteor_status_try_now_waiting": "現在再試",
"meteor_status_waiting": "等待與伺服器連線,",
@@ -3377,8 +3375,6 @@
"Replied_on": "回覆在",
"Replies": "回覆",
"Reply": "回覆",
- "reply_counter": "{{counter}} 回覆",
- "reply_counter_plural": "{{counter}} 回覆",
"Reply_in_direct_message": "回覆到私訊",
"Reply_in_thread": "回覆討論",
"ReplyTo": "回覆",
@@ -4590,4 +4586,4 @@
"Enterprise": "企業",
"UpgradeToGetMore_engagement-dashboard_Title": "分析",
"UpgradeToGetMore_auditing_Title": "訊息稽核"
-}
\ No newline at end of file
+}
diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/zh.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/zh.i18n.json
index 7d4a50c8e362..c320d19bdba7 100644
--- a/apps/meteor/packages/rocketchat-i18n/i18n/zh.i18n.json
+++ b/apps/meteor/packages/rocketchat-i18n/i18n/zh.i18n.json
@@ -2496,8 +2496,7 @@
"Message_BadWordsWhitelist": "将黑名单中移除词语",
"Message_BadWordsWhitelistDescription": "添加逗号分隔的列表从过滤器中移除词语",
"Message_Characther_Limit": "消息字符数限制",
- "message_counter": "{{counter}} 消息",
- "message_counter_plural": "{{counter}} 消息",
+ "message_counter_other": "{{count}} 消息",
"Message_DateFormat": "日期格式",
"Message_DateFormat_Description": "参见:[Moment.js](http://momentjs.com/docs/#/displaying/format/)",
"Message_deleting_blocked": "已不能删除该消息",
@@ -2573,8 +2572,7 @@
"meteor_status_connecting": "连接中...",
"meteor_status_failed": "服务器连接失败",
"meteor_status_offline": "离线模式。",
- "meteor_status_reconnect_in": "一分钟后重试...",
- "meteor_status_reconnect_in_plural": "在 {{count}} 秒钟后重试...",
+ "meteor_status_reconnect_in_other": "在 {{count}} 秒钟后重试...",
"meteor_status_try_now_offline": "重新连接",
"meteor_status_try_now_waiting": "立即尝试",
"meteor_status_waiting": "等待服务器连接,",
@@ -3052,8 +3050,6 @@
"Replied_on": "回复于",
"Replies": "回复",
"Reply": "回复",
- "reply_counter": "{{counter}} 回复",
- "reply_counter_plural": "{{counter}} 回复",
"Reply_in_direct_message": "在私聊中回复",
"Reply_in_thread": "在讨论串中回复",
"Reply_via_Email": "通过电子邮件回复",
@@ -4137,4 +4133,4 @@
"Enterprise": "企业",
"UpgradeToGetMore_engagement-dashboard_Title": "分析",
"UpgradeToGetMore_auditing_Title": "消息审计"
-}
\ No newline at end of file
+}
diff --git a/packages/ui-contexts/src/TranslationContext.ts b/packages/ui-contexts/src/TranslationContext.ts
index d8fa4423cc27..b68a34aaa0b9 100644
--- a/packages/ui-contexts/src/TranslationContext.ts
+++ b/packages/ui-contexts/src/TranslationContext.ts
@@ -8,7 +8,13 @@ export type TranslationLanguage = {
key: string;
};
-export type TranslationKey = RocketchatI18nKeys | `app-${string}.${string}`;
+type KeysWithoutSuffix = {
+ [K in RocketchatI18nKeys as K extends `${infer T extends string}_${'one' | 'other' | 'zero' | 'few' | 'many' | 'two' | 'three' | 'four'}`
+ ? T
+ : K]: never;
+};
+
+export type TranslationKey = keyof KeysWithoutSuffix | `app-${string}.${string}`;
export type TranslationContextValue = {
languages: TranslationLanguage[];