From d2dd116c7eba4800290315c1af910ce379c32a87 Mon Sep 17 00:00:00 2001 From: yash-rajpal Date: Mon, 16 Oct 2023 23:29:18 +0530 Subject: [PATCH 01/11] chore: apply plural translations --- .../components/connectionStatus/ConnectionStatusBar.tsx | 7 ++++++- .../components/message/content/DiscussionMetrics.tsx | 2 +- .../views/marketplace/components/EnabledAppsCount.tsx | 6 ++++-- .../contextualBar/PruneMessages/PruneMessagesWithData.tsx | 5 ++++- .../VideoConference/VideoConfList/VideoConfListItem.tsx | 7 ++++++- 5 files changed, 21 insertions(+), 6 deletions(-) diff --git a/apps/meteor/client/components/connectionStatus/ConnectionStatusBar.tsx b/apps/meteor/client/components/connectionStatus/ConnectionStatusBar.tsx index 2737a6fc4d4a..22f7bace7f05 100644 --- a/apps/meteor/client/components/connectionStatus/ConnectionStatusBar.tsx +++ b/apps/meteor/client/components/connectionStatus/ConnectionStatusBar.tsx @@ -65,7 +65,12 @@ const ConnectionStatusBar: FC = function ConnectionStatusBar() { {t('meteor_status' as Parameters[0], { context: status })} - {status === 'waiting' && <> {t('meteor_status_reconnect_in', { count: reconnectCountdown })}} + {status === 'waiting' && ( + <> + {' '} + {t(reconnectCountdown === 1 ? 'meteor_status_reconnect_in' : 'meteor_status_reconnect_in_plural', { count: reconnectCountdown })} + + )} {['waiting', 'offline'].includes(status) && ( <> diff --git a/apps/meteor/client/components/message/content/DiscussionMetrics.tsx b/apps/meteor/client/components/message/content/DiscussionMetrics.tsx index 5589d1278905..02c1b49f5908 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(count === 1 ? 'message_counter' : 'message_counter_plural', { counter: count }) : t('Reply')} diff --git a/apps/meteor/client/views/marketplace/components/EnabledAppsCount.tsx b/apps/meteor/client/views/marketplace/components/EnabledAppsCount.tsx index da135cbdedfc..a228f9522247 100644 --- a/apps/meteor/client/views/marketplace/components/EnabledAppsCount.tsx +++ b/apps/meteor/client/views/marketplace/components/EnabledAppsCount.tsx @@ -19,8 +19,10 @@ const EnabledAppsCount = ({ }): ReactElement | null => { const t = useTranslation(); - const privateAppsCountText: string = t('Private_Apps_Count_Enabled', { count: enabled }); - const marketplaceAppsCountText: string = t('Apps_Count_Enabled', { count: enabled }); + const privateAppsCountText: string = + enabled === 1 ? t('Private_Apps_Count_Enabled', { count: enabled }) : t('Private_Apps_Count_Enabled_plural', { count: enabled }); + const marketplaceAppsCountText: string = + enabled === 1 ? t('Apps_Count_Enabled', { count: enabled }) : t('Apps_Count_Enabled_plural', { count: enabled }); return ( { throw new Error(t('No_messages_found_to_prune')); } - dispatchToastMessage({ type: 'success', message: t('__count__message_pruned', { count }) }); + dispatchToastMessage({ + type: 'success', + message: t(count === 1 ? '__count__message_pruned' : '__count__message_pruned_plural', { 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 e63e47c402e6..55960d1a532e 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,12 @@ const VideoConfListItem = ({ {joinedUsers.length > VIDEOCONF_STACK_MAX_USERS - ? t('__usersCount__member_joined', { usersCount: joinedUsers.length - VIDEOCONF_STACK_MAX_USERS }) + ? t( + joinedUsers.length - VIDEOCONF_STACK_MAX_USERS === 1 + ? '__usersCount__member_joined' + : '__usersCount__member_joined_plural', + { usersCount: joinedUsers.length - VIDEOCONF_STACK_MAX_USERS }, + ) : t('joined')} From 19e15b8d77615fd7230242eef859ea603aefa612 Mon Sep 17 00:00:00 2001 From: yash-rajpal Date: Mon, 16 Oct 2023 23:30:09 +0530 Subject: [PATCH 02/11] add changeset --- .changeset/grumpy-trainers-hope.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/grumpy-trainers-hope.md diff --git a/.changeset/grumpy-trainers-hope.md b/.changeset/grumpy-trainers-hope.md new file mode 100644 index 000000000000..842ae8306e1d --- /dev/null +++ b/.changeset/grumpy-trainers-hope.md @@ -0,0 +1,5 @@ +--- +'@rocket.chat/meteor': patch +--- + +Apply plural translations at a few places. From bd52b2eda6bab9fcc5e2e8feb24df2c4a96ca8e8 Mon Sep 17 00:00:00 2001 From: yash-rajpal Date: Tue, 17 Oct 2023 11:24:24 +0530 Subject: [PATCH 03/11] Revert "chore: apply plural translations" This reverts commit d2dd116c7eba4800290315c1af910ce379c32a87. --- .../components/connectionStatus/ConnectionStatusBar.tsx | 7 +------ .../components/message/content/DiscussionMetrics.tsx | 2 +- .../views/marketplace/components/EnabledAppsCount.tsx | 6 ++---- .../contextualBar/PruneMessages/PruneMessagesWithData.tsx | 5 +---- .../VideoConference/VideoConfList/VideoConfListItem.tsx | 7 +------ 5 files changed, 6 insertions(+), 21 deletions(-) diff --git a/apps/meteor/client/components/connectionStatus/ConnectionStatusBar.tsx b/apps/meteor/client/components/connectionStatus/ConnectionStatusBar.tsx index 22f7bace7f05..2737a6fc4d4a 100644 --- a/apps/meteor/client/components/connectionStatus/ConnectionStatusBar.tsx +++ b/apps/meteor/client/components/connectionStatus/ConnectionStatusBar.tsx @@ -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) && ( <> diff --git a/apps/meteor/client/components/message/content/DiscussionMetrics.tsx b/apps/meteor/client/components/message/content/DiscussionMetrics.tsx index 02c1b49f5908..5589d1278905 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(count === 1 ? 'message_counter' : 'message_counter_plural', { counter: count }) : t('Reply')} + {count ? t('message_counter', { counter: count, count }) : t('Reply')} diff --git a/apps/meteor/client/views/marketplace/components/EnabledAppsCount.tsx b/apps/meteor/client/views/marketplace/components/EnabledAppsCount.tsx index a228f9522247..da135cbdedfc 100644 --- a/apps/meteor/client/views/marketplace/components/EnabledAppsCount.tsx +++ b/apps/meteor/client/views/marketplace/components/EnabledAppsCount.tsx @@ -19,10 +19,8 @@ const EnabledAppsCount = ({ }): ReactElement | null => { const t = useTranslation(); - const privateAppsCountText: string = - enabled === 1 ? t('Private_Apps_Count_Enabled', { count: enabled }) : t('Private_Apps_Count_Enabled_plural', { count: enabled }); - const marketplaceAppsCountText: string = - enabled === 1 ? t('Apps_Count_Enabled', { count: enabled }) : t('Apps_Count_Enabled_plural', { count: enabled }); + const privateAppsCountText: string = t('Private_Apps_Count_Enabled', { count: enabled }); + const marketplaceAppsCountText: string = t('Apps_Count_Enabled', { count: enabled }); return ( { throw new Error(t('No_messages_found_to_prune')); } - dispatchToastMessage({ - type: 'success', - message: t(count === 1 ? '__count__message_pruned' : '__count__message_pruned_plural', { 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 55960d1a532e..e63e47c402e6 100644 --- a/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfList/VideoConfListItem.tsx +++ b/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfList/VideoConfListItem.tsx @@ -94,12 +94,7 @@ const VideoConfListItem = ({ {joinedUsers.length > VIDEOCONF_STACK_MAX_USERS - ? t( - joinedUsers.length - VIDEOCONF_STACK_MAX_USERS === 1 - ? '__usersCount__member_joined' - : '__usersCount__member_joined_plural', - { usersCount: joinedUsers.length - VIDEOCONF_STACK_MAX_USERS }, - ) + ? t('__usersCount__member_joined', { usersCount: joinedUsers.length - VIDEOCONF_STACK_MAX_USERS }) : t('joined')} From 57b251e78fab847254336d89b56424f9bdde92a4 Mon Sep 17 00:00:00 2001 From: yash-rajpal Date: Tue, 17 Oct 2023 11:30:25 +0530 Subject: [PATCH 04/11] handle plural translations --- apps/meteor/app/utils/lib/i18n.ts | 26 +++++++++++++++++-- .../client/providers/TranslationProvider.tsx | 2 +- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/apps/meteor/app/utils/lib/i18n.ts b/apps/meteor/app/utils/lib/i18n.ts index 13d5c667709d..ed9953bb70a9 100644 --- a/apps/meteor/app/utils/lib/i18n.ts +++ b/apps/meteor/app/utils/lib/i18n.ts @@ -5,9 +5,31 @@ import { isObject } from '../../../lib/utils/isObject'; export const i18n = i18next.use(sprintf); -export const addSprinfToI18n = function (t: (typeof i18n)['t']) { +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) { return function (key: string, ...replaces: any): string { - if (replaces[0] === undefined || isObject(replaces[0])) { + if (replaces[0] === undefined) { + return t(key, ...replaces); + } + + if (isObject(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/providers/TranslationProvider.tsx b/apps/meteor/client/providers/TranslationProvider.tsx index 2cf47066c4e4..2601e789c972 100644 --- a/apps/meteor/client/providers/TranslationProvider.tsx +++ b/apps/meteor/client/providers/TranslationProvider.tsx @@ -293,7 +293,7 @@ const TranslationProviderInner = ({ loadLanguage: async (language: string): Promise => { i18n.changeLanguage(language).then(() => applyCustomTranslations()); }, - translate: Object.assign(addSprinfToI18n(t), { + translate: Object.assign(addSprinfToI18n(t, i18n), { has: ((key, options) => key && i18n.exists(key, options)) as TranslationContextValue['translate']['has'], }), }), From 8055fc9b95cc26d40827d63d796f43391a3b29ca Mon Sep 17 00:00:00 2001 From: yash-rajpal Date: Tue, 17 Oct 2023 11:38:30 +0530 Subject: [PATCH 05/11] use counter prop in plural translations --- .../connectionStatus/ConnectionStatusBar.tsx | 2 +- .../components/EnabledAppsCount.tsx | 4 ++-- .../PruneMessages/PruneMessagesWithData.tsx | 2 +- .../VideoConfList/VideoConfListItem.tsx | 2 +- .../rocketchat-i18n/i18n/en.i18n.json | 20 +++++++++---------- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/apps/meteor/client/components/connectionStatus/ConnectionStatusBar.tsx b/apps/meteor/client/components/connectionStatus/ConnectionStatusBar.tsx index 2737a6fc4d4a..a67372be9a95 100644 --- a/apps/meteor/client/components/connectionStatus/ConnectionStatusBar.tsx +++ b/apps/meteor/client/components/connectionStatus/ConnectionStatusBar.tsx @@ -65,7 +65,7 @@ const ConnectionStatusBar: FC = function ConnectionStatusBar() { {t('meteor_status' as Parameters[0], { context: status })} - {status === 'waiting' && <> {t('meteor_status_reconnect_in', { count: reconnectCountdown })}} + {status === 'waiting' && <> {t('meteor_status_reconnect_in', { counter: reconnectCountdown })}} {['waiting', 'offline'].includes(status) && ( <> diff --git a/apps/meteor/client/views/marketplace/components/EnabledAppsCount.tsx b/apps/meteor/client/views/marketplace/components/EnabledAppsCount.tsx index da135cbdedfc..cd3e482b977b 100644 --- a/apps/meteor/client/views/marketplace/components/EnabledAppsCount.tsx +++ b/apps/meteor/client/views/marketplace/components/EnabledAppsCount.tsx @@ -19,8 +19,8 @@ const EnabledAppsCount = ({ }): ReactElement | null => { const t = useTranslation(); - const privateAppsCountText: string = t('Private_Apps_Count_Enabled', { count: enabled }); - const marketplaceAppsCountText: string = t('Apps_Count_Enabled', { count: enabled }); + 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', { count }) }); + dispatchToastMessage({ type: 'success', message: t('__count__message_pruned', { counter: 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 e63e47c402e6..8b9f073e4925 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', { usersCount: joinedUsers.length - VIDEOCONF_STACK_MAX_USERS }) + ? t('__usersCount__member_joined', { counter: joinedUsers.length - VIDEOCONF_STACK_MAX_USERS }) : t('joined')} diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/en.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/en.i18n.json index 80ad18ad6743..e88a0051d9a3 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": "{{count}} message pruned", - "__count__message_pruned_plural": "{{count}} messages pruned", + "__count__message_pruned": "{{counter}} message pruned", + "__count__message_pruned_plural": "{{counter}} 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": "+ {{usersCount}} member joined", - "__usersCount__member_joined_plural": "+ {{usersCount}} members joined", + "__usersCount__member_joined": "+ {{counter}} member joined", + "__usersCount__member_joined_plural": "+ {{counter}} 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}}", @@ -532,10 +532,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": "{{counter}} app enabled", + "Apps_Count_Enabled_plural": "{{counter}} apps enabled", + "Private_Apps_Count_Enabled": "{{counter}} private app enabled", + "Private_Apps_Count_Enabled_plural": "{{counter}} private apps enabled", "Apps_Count_Enabled_tooltip": "Community Edition workspaces can enable up to {{number}} {{context}} apps", "Apps_disabled_when_Enterprise_trial_ended": "Apps disabled when Enterprise trial ended", "Apps_disabled_when_Enterprise_trial_ended_description": "Workspaces on Community Edition can have up to 5 marketplace apps and 3 private apps enabled. Ask your workspace admin to reenable apps.", @@ -3516,7 +3516,7 @@ "meteor_status_failed": "The server connection failed", "meteor_status_offline": "Offline mode.", "meteor_status_reconnect_in": "trying again in one second...", - "meteor_status_reconnect_in_plural": "trying again in {{count}} seconds...", + "meteor_status_reconnect_in_plural": "trying again in {{counter}} seconds...", "meteor_status_try_now_offline": "Connect again", "meteor_status_try_now_waiting": "Try now", "meteor_status_waiting": "Waiting for server connection,", @@ -6088,4 +6088,4 @@ "Theme_Appearence": "Theme Appearence", "Premium": "Premium", "Premium_capability": "Premium capability" -} \ No newline at end of file +} From 44a915923eba782fc0568886f55abcc943842690 Mon Sep 17 00:00:00 2001 From: yash-rajpal Date: Wed, 18 Oct 2023 08:37:17 +0530 Subject: [PATCH 06/11] adjust mentions translations --- .../RoomList/SideBarItemTemplateWithData.tsx | 8 ++++---- .../packages/rocketchat-i18n/i18n/en.i18n.json | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/apps/meteor/client/sidebar/RoomList/SideBarItemTemplateWithData.tsx b/apps/meteor/client/sidebar/RoomList/SideBarItemTemplateWithData.tsx index f275ff2800d8..d0e9a56b9777 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', { count: userMentions })); + title.push(t('mentions_counter', { counter: userMentions })); } if (threadUnread) { - title.push(t('threads_counter', { count: threadUnread })); + title.push(t('threads_counter', { counter: threadUnread })); } if (groupMentions) { - title.push(t('group_mentions_counter', { count: groupMentions })); + title.push(t('group_mentions_counter', { counter: groupMentions })); } const count = unread - userMentions - groupMentions; if (count > 0) { - title.push(t('unread_messages_counter', { count })); + title.push(t('unread_messages_counter', { counter: count })); } return title.join(', '); }; diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/en.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/en.i18n.json index d515499a97c2..61eb74673bde 100644 --- a/apps/meteor/packages/rocketchat-i18n/i18n/en.i18n.json +++ b/apps/meteor/packages/rocketchat-i18n/i18n/en.i18n.json @@ -6086,14 +6086,14 @@ "Filter_by_room": "Filter by room type", "Filter_by_visibility": "Filter by visibility", "Theme_Appearence": "Theme Appearence", - "mentions_counter": "{{count}} mention", - "mentions_counter_plural": "{{count}} mentions", - "threads_counter": "{{count}} unread threaded message", - "threads_counter_plural": "{{count}} unread threaded messages", - "group_mentions_counter": "{{count}} group mention", - "group_mentions_counter_plural": "{{count}} group mentions", - "unread_messages_counter": "{{count}} unread message", - "unread_messages_counter_plural": "{{count}} unread messages", + "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", "Premium": "Premium", "Premium_capability": "Premium capability" } From f438459cd14394232f52eca271debf0b99d83bd7 Mon Sep 17 00:00:00 2001 From: yash-rajpal Date: Wed, 18 Oct 2023 08:53:33 +0530 Subject: [PATCH 07/11] replace and use counter in all translation files --- .../packages/rocketchat-i18n/i18n/de.i18n.json | 10 +++++----- .../packages/rocketchat-i18n/i18n/fi.i18n.json | 18 +++++++++--------- .../packages/rocketchat-i18n/i18n/hu.i18n.json | 6 +++--- .../packages/rocketchat-i18n/i18n/it.i18n.json | 8 ++++---- .../packages/rocketchat-i18n/i18n/pl.i18n.json | 10 +++++----- .../rocketchat-i18n/i18n/pt-BR.i18n.json | 8 ++++---- .../packages/rocketchat-i18n/i18n/ru.i18n.json | 18 +++++++++--------- .../packages/rocketchat-i18n/i18n/sv.i18n.json | 18 +++++++++--------- 8 files changed, 48 insertions(+), 48 deletions(-) diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/de.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/de.i18n.json index 52054a3ebdad..16ab6691e653 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": "{{count}} Nachricht gelöscht", - "__count__message_pruned_plural": "{{count}} Nachrichten gelöscht", - "__usersCount__member_joined": "+ {{usersCount}} Mitglied(er) beigetreten", - "__usersCount__member_joined_plural": "+ {{usersCount}} Mitglieder beigetreten", + "__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": "+ {{counter}} 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}}", @@ -5522,4 +5522,4 @@ "RegisterWorkspace_Connection_Error": "Beim Verbinden ist ein Fehler aufgetreten", "cloud.RegisterWorkspace_Setup_Terms_Privacy": "Ich bin mit den Nutzungsvereinbarung und den Datenschutzbestimmungen einverstanden", "Uninstall_grandfathered_app": "{{appName}} deinstallieren?" -} \ 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 79a27d83cbe6..9511b880d9d7 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": "{{count}} viesti karsittu", - "__count__message_pruned_plural": "{{count}} viestiä karsittu", - "__usersCount__member_joined": "+ {{usersCount}} jäsen liittyi", - "__usersCount__member_joined_plural": "+ {{usersCount}} jäsentä liittynyt", + "__count__message_pruned": "{{counter}} viesti karsittu", + "__count__message_pruned_plural": "{{counter}} viestiä karsittu", + "__usersCount__member_joined": "+ {{counter}} jäsen liittyi", + "__usersCount__member_joined": "+ {{counter}} 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}} ", @@ -502,10 +502,10 @@ "Apps_context_installed": "Asennettu", "Apps_context_requested": "Pyydetty", "Apps_context_private": "Yksityiset sovellukset", - "Apps_Count_Enabled": "{{count}} sovellus käytössä", - "Apps_Count_Enabled_plural": "{{count}} sovellusta käytössä", - "Private_Apps_Count_Enabled": "{{count}} yksityistä sovellusta käytössä", - "Private_Apps_Count_Enabled_plural": "{{count}} yksityistä sovellusta käytössä", + "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_tooltip": "Yhteisöversion työtiloissa voi ottaa käyttöön enintään {{number}} {{context}}sovellusta", "Apps_disabled_when_Enterprise_trial_ended": "Sovellukset poistuivat käytöstä, kun yritysversion kokeilujakso päättyi", "Apps_disabled_when_Enterprise_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.", @@ -5749,4 +5749,4 @@ "Uninstall_grandfathered_app": "Poistetaanko {{appName}}?", "App_will_lose_grandfathered_status": "**Tämä {{context}}sovellus menettää aikaisemmin käytetössä olleen sovelluksen tilansa.** \n \nYhteisöversion työtiloissa voi olla käytössä enintään {{limit}} {{context}} sovellusta. aikaisemmin Aikaisemmin käytössä olleet sovellukset lasketaan mukaan rajoitukseen, mutta rajoitusta ei sovelleta niihin.", "Theme_Appearence": "Teeman ulkoasu" -} \ 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 1177a356dc71..8fed8002a5db 100644 --- a/apps/meteor/packages/rocketchat-i18n/i18n/hu.i18n.json +++ b/apps/meteor/packages/rocketchat-i18n/i18n/hu.i18n.json @@ -2,8 +2,8 @@ "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": "{{count}} üzenet törölve", - "__count__message_pruned_plural": "{{count}} üzenet törölve", + "__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", "__usersCount__people_will_be_invited": "{{usersCount}} személy lesz meghívva", @@ -5430,4 +5430,4 @@ "Join_your_team": "Csatlakozás csapathoz", "Create_an_account": "Fiók létrehozása", "RegisterWorkspace_Features_Marketplace_Title": "Piactér" -} \ 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 498c3ea4b5fc..7e0f98516001 100644 --- a/apps/meteor/packages/rocketchat-i18n/i18n/it.i18n.json +++ b/apps/meteor/packages/rocketchat-i18n/i18n/it.i18n.json @@ -2,9 +2,9 @@ "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": "{{count}} messaggio eliminato", - "__count__message_pruned_plural": "{{count}} messaggi eliminati", - "__usersCount__member_joined_plural": "+ {{usersCount}} membri si sono uniti", + "__count__message_pruned": "{{counter}} messaggio eliminato", + "__count__message_pruned_plural": "{{counter}} messaggi eliminati", + "__usersCount__member_joined": "+ {{counter}} 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}}", @@ -2861,4 +2861,4 @@ "registration.component.form.invalidConfirmPass": "La password di conferma non corrisponde con la password", "registration.component.form.confirmPassword": "Conferma la tua password", "registration.component.form.sendConfirmationEmail": "Invia email di conferma" -} \ 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 80ab48d383c0..cd86baf2ee86 100644 --- a/apps/meteor/packages/rocketchat-i18n/i18n/pl.i18n.json +++ b/apps/meteor/packages/rocketchat-i18n/i18n/pl.i18n.json @@ -2,10 +2,10 @@ "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": "{{count}} wiadomość(i) usuniętych", - "__count__message_pruned_plural": "{{count}} wiadomość(i) usuniętych", - "__usersCount__member_joined": "+ {{usersCount}} członek dołączył", - "__usersCount__member_joined_plural": "+ {{usersCount}} członków dołączyło", + "__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": "+ {{counter}} 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}}", @@ -5350,4 +5350,4 @@ "RegisterWorkspace_Setup_Label": "E-mail konta w chmurze", "RegisterWorkspace_Syncing_Complete": "Synchronizacja zakończona", "cloud.RegisterWorkspace_Setup_Terms_Privacy": "Zgadzam się z <1>zasadami i warunkami i <3>Polityką prywatności." -} \ No newline at end of file +} 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 7dd1b47f335e..bd1b0304f3f3 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,12 @@ "__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": "{{count}} mensagem apagada", - "__count__message_pruned_plural": "{{count}} mensagens apagadas", + "__count__message_pruned": "{{counter}} mensagem apagada", + "__count__message_pruned_plural": "{{counter}} 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": "+ {{usersCount}} membros entraram", + "__usersCount__member_joined": "+ {{counter}} 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}}", @@ -4970,4 +4970,4 @@ "RegisterWorkspace_Features_Omnichannel_Title": "Omnichannel", "RegisterWorkspace_Setup_Label": "E-mail da conta da nuvem", "cloud.RegisterWorkspace_Setup_Terms_Privacy": "Eu concordo com os <1>Termos e condições e a <3>Política de privacidade" -} \ 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 48557a3a146e..9ce7e02fc007 100644 --- a/apps/meteor/packages/rocketchat-i18n/i18n/ru.i18n.json +++ b/apps/meteor/packages/rocketchat-i18n/i18n/ru.i18n.json @@ -2,10 +2,10 @@ "500": "Внутренняя ошибка сервера", "__count__empty_rooms_will_be_removed_automatically": "{{count}}пустые комнаты будут удалены автоматически.", "__count__empty_rooms_will_be_removed_automatically__rooms__": "{{count}} пустых чатов будет удалено автоматически:
{{rooms}}.", - "__count__message_pruned": "{{count}} сообщение удалено", - "__count__message_pruned_plural": "{{count}} сообщений удалено", - "__usersCount__member_joined": "+ {{usersCount}} участников присоединилось", - "__usersCount__member_joined_plural": "+ {{usersCount}} участников присоединилось", + "__count__message_pruned": "{{counter}} сообщение удалено", + "__count__message_pruned_plural": "{{counter}} сообщений удалено", + "__usersCount__member_joined": "+ {{counter}} участников присоединилось", + "__usersCount__member_joined": "+ {{counter}} участников присоединилось", "__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}}", @@ -501,10 +501,10 @@ "Apps_context_installed": "Установлен", "Apps_context_requested": "Запрошено", "Apps_context_private": "Приватные приложения", - "Apps_Count_Enabled": "{{count}} приложение включено", - "Apps_Count_Enabled_plural": "{{count}} приложений(-я) включено", - "Private_Apps_Count_Enabled": "{{count}} приватное приложение включено", - "Private_Apps_Count_Enabled_plural": "{{count}} приватных приложений включено", + "Apps_Count_Enabled": "{{counter}} приложение включено", + "Apps_Count_Enabled_plural": "{{counter}} приложений(-я) включено", + "Private_Apps_Count_Enabled": "{{counter}} приватное приложение включено", + "Private_Apps_Count_Enabled_plural": "{{counter}} приватных приложений включено", "Apps_Count_Enabled_tooltip": "В рабочих пространствах Community Edition можно использовать до {{number}} {{context}} приложений", "Apps_disabled_when_Enterprise_trial_ended": "Приложения отключены по окончании пробной версии Enterprise", "Apps_Engine_Version": "Версия движка приложений", @@ -5093,4 +5093,4 @@ "RegisterWorkspace_Setup_Label": "Адрес электронной почты учетной записи в облаке", "cloud.RegisterWorkspace_Setup_Terms_Privacy": "Я принимаю <1>Положения и условия и <3>Политику конфиденциальности", "Theme_Appearence": "Внешний вид" -} \ No newline at end of file +} diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/sv.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/sv.i18n.json index 5cf724dd49c1..a6fb2d76b1bf 100644 --- a/apps/meteor/packages/rocketchat-i18n/i18n/sv.i18n.json +++ b/apps/meteor/packages/rocketchat-i18n/i18n/sv.i18n.json @@ -2,10 +2,10 @@ "500": "Internt serverfel", "__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": "{{count}} meddelande rensat", - "__count__message_pruned_plural": "{{count}} meddelanden rensade", - "__usersCount__member_joined": "+ {{usersCount}} medlem har anslutit", - "__usersCount__member_joined_plural": "+ {{usersCount}} medlemmar har anslutit", + "__count__message_pruned": "{{counter}} meddelande rensat", + "__count__message_pruned_plural": "{{counter}} meddelanden rensade", + "__usersCount__member_joined": "+ {{counter}} medlem har anslutit", + "__usersCount__member_joined": "+ {{counter}} 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}}", @@ -502,10 +502,10 @@ "Apps_context_installed": "Installerad", "Apps_context_requested": "Begärt", "Apps_context_private": "Privata appar", - "Apps_Count_Enabled": "{{count}} app aktiverad", - "Apps_Count_Enabled_plural": "{{count}} appar aktiverade", - "Private_Apps_Count_Enabled": "{{count}} privat app aktiverad", - "Private_Apps_Count_Enabled_plural": "{{count}} privata appar aktiverade", + "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_tooltip": "Arbetsytorna i Community Edition kan aktivera upp till {{number}} {{context}} appar", "Apps_disabled_when_Enterprise_trial_ended": "Appar inaktiverade när Enterprise trial avslutades", "Apps_disabled_when_Enterprise_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.", @@ -5754,4 +5754,4 @@ "Uninstall_grandfathered_app": "Avinstallera {{appName}}?", "App_will_lose_grandfathered_status": "**Denna {{context}}-app kommer att förlora sin status som gammal app.** \n \nArbetsytorna i Community Edition kan ha upp till {{limit}} __kontext__-appar aktiverade. Gamla appar inkluderas i gränsen, men gränsen tillämpas inte på dem.", "Theme_Appearence": "Utseende för tema" -} \ No newline at end of file +} From 6f478208682e539c910479e4803a19725431ada1 Mon Sep 17 00:00:00 2001 From: yash-rajpal Date: Wed, 18 Oct 2023 22:40:35 +0530 Subject: [PATCH 08/11] fix some translations --- apps/meteor/packages/rocketchat-i18n/i18n/de.i18n.json | 2 +- apps/meteor/packages/rocketchat-i18n/i18n/fi.i18n.json | 2 +- apps/meteor/packages/rocketchat-i18n/i18n/it.i18n.json | 2 +- apps/meteor/packages/rocketchat-i18n/i18n/pl.i18n.json | 2 +- apps/meteor/packages/rocketchat-i18n/i18n/pt-BR.i18n.json | 2 +- apps/meteor/packages/rocketchat-i18n/i18n/ru.i18n.json | 2 +- apps/meteor/packages/rocketchat-i18n/i18n/sv.i18n.json | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/de.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/de.i18n.json index 16ab6691e653..ce6dd453b8c7 100644 --- a/apps/meteor/packages/rocketchat-i18n/i18n/de.i18n.json +++ b/apps/meteor/packages/rocketchat-i18n/i18n/de.i18n.json @@ -5,7 +5,7 @@ "__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": "+ {{counter}} Mitglieder beigetreten", + "__usersCount__member_joined_plural": "+ {{counter}} 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}}", diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/fi.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/fi.i18n.json index 9511b880d9d7..dc30394b18ae 100644 --- a/apps/meteor/packages/rocketchat-i18n/i18n/fi.i18n.json +++ b/apps/meteor/packages/rocketchat-i18n/i18n/fi.i18n.json @@ -5,7 +5,7 @@ "__count__message_pruned": "{{counter}} viesti karsittu", "__count__message_pruned_plural": "{{counter}} viestiä karsittu", "__usersCount__member_joined": "+ {{counter}} jäsen liittyi", - "__usersCount__member_joined": "+ {{counter}} jäsentä liittynyt", + "__usersCount__member_joined_plural": "+ {{counter}} 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}} ", diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/it.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/it.i18n.json index 7e0f98516001..efa53dff16be 100644 --- a/apps/meteor/packages/rocketchat-i18n/i18n/it.i18n.json +++ b/apps/meteor/packages/rocketchat-i18n/i18n/it.i18n.json @@ -4,7 +4,7 @@ "__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": "+ {{counter}} membri si sono uniti", + "__usersCount__member_joined_plural": "+ {{counter}} 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}}", diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/pl.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/pl.i18n.json index cd86baf2ee86..e2651bfa08fc 100644 --- a/apps/meteor/packages/rocketchat-i18n/i18n/pl.i18n.json +++ b/apps/meteor/packages/rocketchat-i18n/i18n/pl.i18n.json @@ -5,7 +5,7 @@ "__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": "+ {{counter}} członków dołączyło", + "__usersCount__member_joined_plural": "+ {{counter}} 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}}", 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 bd1b0304f3f3..550d20cc65c7 100644 --- a/apps/meteor/packages/rocketchat-i18n/i18n/pt-BR.i18n.json +++ b/apps/meteor/packages/rocketchat-i18n/i18n/pt-BR.i18n.json @@ -8,7 +8,7 @@ "__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": "+ {{counter}} membros entraram", + "__usersCount__member_joined_plural": "+ {{counter}} 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}}", diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/ru.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/ru.i18n.json index 9ce7e02fc007..4870bd05c337 100644 --- a/apps/meteor/packages/rocketchat-i18n/i18n/ru.i18n.json +++ b/apps/meteor/packages/rocketchat-i18n/i18n/ru.i18n.json @@ -5,7 +5,7 @@ "__count__message_pruned": "{{counter}} сообщение удалено", "__count__message_pruned_plural": "{{counter}} сообщений удалено", "__usersCount__member_joined": "+ {{counter}} участников присоединилось", - "__usersCount__member_joined": "+ {{counter}} участников присоединилось", + "__usersCount__member_joined_plural": "+ {{counter}} участников присоединилось", "__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}}", diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/sv.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/sv.i18n.json index a6fb2d76b1bf..51fb0ab8fc02 100644 --- a/apps/meteor/packages/rocketchat-i18n/i18n/sv.i18n.json +++ b/apps/meteor/packages/rocketchat-i18n/i18n/sv.i18n.json @@ -5,7 +5,7 @@ "__count__message_pruned": "{{counter}} meddelande rensat", "__count__message_pruned_plural": "{{counter}} meddelanden rensade", "__usersCount__member_joined": "+ {{counter}} medlem har anslutit", - "__usersCount__member_joined": "+ {{counter}} medlemmar har anslutit", + "__usersCount__member_joined_plural": "+ {{counter}} 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}}", From 34fa96065a6eb79f41fdaa9aed904263aa98572e Mon Sep 17 00:00:00 2001 From: yash-rajpal Date: Wed, 18 Oct 2023 22:47:40 +0530 Subject: [PATCH 09/11] fix meteor connection pluralization --- .../components/connectionStatus/ConnectionStatusBar.tsx | 2 +- apps/meteor/packages/rocketchat-i18n/i18n/en.i18n.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/meteor/client/components/connectionStatus/ConnectionStatusBar.tsx b/apps/meteor/client/components/connectionStatus/ConnectionStatusBar.tsx index a67372be9a95..000da7819145 100644 --- a/apps/meteor/client/components/connectionStatus/ConnectionStatusBar.tsx +++ b/apps/meteor/client/components/connectionStatus/ConnectionStatusBar.tsx @@ -65,7 +65,7 @@ const ConnectionStatusBar: FC = function ConnectionStatusBar() { {t('meteor_status' as Parameters[0], { context: status })} - {status === 'waiting' && <> {t('meteor_status_reconnect_in', { counter: reconnectCountdown })}} + {status === 'waiting' && <> {t(reconnectCountdown === 1 ? 'meteor_status_reconnect_in' : 'meteor_status_reconnect_in_plural', { count: reconnectCountdown })}} {['waiting', 'offline'].includes(status) && ( <> diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/en.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/en.i18n.json index 61eb74673bde..c0cfb36769b5 100644 --- a/apps/meteor/packages/rocketchat-i18n/i18n/en.i18n.json +++ b/apps/meteor/packages/rocketchat-i18n/i18n/en.i18n.json @@ -3515,8 +3515,8 @@ "meteor_status_connecting": "Connecting...", "meteor_status_failed": "The server connection failed", "meteor_status_offline": "Offline mode.", - "meteor_status_reconnect_in": "trying again in one second...", - "meteor_status_reconnect_in_plural": "trying again in {{counter}} seconds...", + "meteor_status_reconnect_in": "trying again in 1 second...", + "meteor_status_reconnect_in_plural": "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,", From bbd946e3937449e7bee7ddaca418d7ce0f092f0e Mon Sep 17 00:00:00 2001 From: yash-rajpal Date: Wed, 18 Oct 2023 23:25:47 +0530 Subject: [PATCH 10/11] fix lint --- .../components/connectionStatus/ConnectionStatusBar.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/meteor/client/components/connectionStatus/ConnectionStatusBar.tsx b/apps/meteor/client/components/connectionStatus/ConnectionStatusBar.tsx index 000da7819145..22f7bace7f05 100644 --- a/apps/meteor/client/components/connectionStatus/ConnectionStatusBar.tsx +++ b/apps/meteor/client/components/connectionStatus/ConnectionStatusBar.tsx @@ -65,7 +65,12 @@ 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(reconnectCountdown === 1 ? 'meteor_status_reconnect_in' : 'meteor_status_reconnect_in_plural', { count: reconnectCountdown })} + + )} {['waiting', 'offline'].includes(status) && ( <> From be1718b2f8ffae3cbe6f636b5321d261467bc82a Mon Sep 17 00:00:00 2001 From: Tasso Evangelista Date: Thu, 11 Jan 2024 17:41:45 -0300 Subject: [PATCH 11/11] Use i18next plurals --- apps/meteor/.scripts/translation-check.ts | 2 +- apps/meteor/app/utils/lib/i18n.ts | 20 +------ .../connectionStatus/ConnectionStatusBar.tsx | 13 ++--- .../message/content/DiscussionMetrics.tsx | 2 +- .../client/providers/TranslationProvider.tsx | 2 +- .../RoomList/SideBarItemTemplateWithData.tsx | 8 +-- .../client/sidebar/footer/voip/index.tsx | 16 +----- .../moderation/ModerationConsoleTable.tsx | 7 +-- .../moderation/hooks/useDismissUserAction.tsx | 7 +-- .../inputs/ActionSettingInput.stories.tsx | 9 ++-- .../MultiSelectSettingInput.stories.tsx | 8 +-- .../inputs/SelectSettingInput.stories.tsx | 26 +++++----- .../components/EnabledAppsCount.tsx | 5 +- .../PruneMessages/PruneMessagesWithData.tsx | 2 +- .../VideoConfList/VideoConfListItem.tsx | 2 +- .../rocketchat-i18n/i18n/ar.i18n.json | 29 +++++++---- .../rocketchat-i18n/i18n/ca.i18n.json | 18 +++---- .../rocketchat-i18n/i18n/cs.i18n.json | 16 +++--- .../rocketchat-i18n/i18n/da.i18n.json | 12 ++--- .../rocketchat-i18n/i18n/de-IN.i18n.json | 4 +- .../rocketchat-i18n/i18n/de.i18n.json | 24 ++++----- .../rocketchat-i18n/i18n/en.i18n.json | 52 +++++++++---------- .../rocketchat-i18n/i18n/es.i18n.json | 41 ++++++++------- .../rocketchat-i18n/i18n/et.i18n.json | 6 +-- .../rocketchat-i18n/i18n/fi.i18n.json | 32 ++++++------ .../rocketchat-i18n/i18n/fr.i18n.json | 21 ++++---- .../rocketchat-i18n/i18n/hu.i18n.json | 24 ++++----- .../rocketchat-i18n/i18n/id.i18n.json | 5 +- .../rocketchat-i18n/i18n/it.i18n.json | 15 +++--- .../rocketchat-i18n/i18n/ja.i18n.json | 12 ++--- .../rocketchat-i18n/i18n/ka-GE.i18n.json | 12 ++--- .../rocketchat-i18n/i18n/ko.i18n.json | 10 ++-- .../rocketchat-i18n/i18n/ms-MY.i18n.json | 5 +- .../rocketchat-i18n/i18n/nl.i18n.json | 18 +++---- .../rocketchat-i18n/i18n/no.i18n.json | 14 ++--- .../rocketchat-i18n/i18n/pl.i18n.json | 34 +++++++----- .../rocketchat-i18n/i18n/pt-BR.i18n.json | 30 ++++++----- .../rocketchat-i18n/i18n/ru.i18n.json | 46 ++++++++++------ .../rocketchat-i18n/i18n/sv.i18n.json | 32 ++++++------ .../rocketchat-i18n/i18n/tr.i18n.json | 12 ++--- .../rocketchat-i18n/i18n/uk.i18n.json | 9 ++-- .../rocketchat-i18n/i18n/vi-VN.i18n.json | 5 +- .../rocketchat-i18n/i18n/zh-TW.i18n.json | 12 ++--- .../rocketchat-i18n/i18n/zh.i18n.json | 10 ++-- .../ui-contexts/src/TranslationContext.ts | 8 ++- 45 files changed, 335 insertions(+), 362 deletions(-) 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 condiciones y la <3>política de privacidad", "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[];