Skip to content

Commit 1c6ee55

Browse files
chore: add capitalization formatter function to i18n (RocketChat#36800)
1 parent 4775ad1 commit 1c6ee55

2 files changed

Lines changed: 14 additions & 2 deletions

File tree

apps/meteor/client/providers/TranslationProvider.tsx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {
99
} from '@rocket.chat/i18n';
1010
import languages from '@rocket.chat/i18n/dist/languages';
1111
import en from '@rocket.chat/i18n/dist/resources/en.i18n.json';
12+
import { capitalize } from '@rocket.chat/string-helpers';
1213
import { normalizeLanguage } from '@rocket.chat/tools';
1314
import type { TranslationContextValue } from '@rocket.chat/ui-contexts';
1415
import { useMethod, useSetting, TranslationContext } from '@rocket.chat/ui-contexts';
@@ -111,6 +112,17 @@ const useI18next = (lng: string): typeof i18next => {
111112
escapeValue: false,
112113
},
113114
});
115+
116+
// In some cases, the language will require a word to be in a different position than the default
117+
// This enables the capitalization of words that are moved to the start of the sentence directly in the translation file
118+
i18n.on('initialized', () => {
119+
i18n.services.formatter?.add('capitalize', (value) => {
120+
if (typeof value !== 'string') {
121+
return value;
122+
}
123+
return capitalize(value);
124+
});
125+
});
114126
}
115127

116128
useEffect(() => {

packages/i18n/src/locales/pt-BR.i18n.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1893,7 +1893,7 @@
18931893
"Enabled": "Ativado",
18941894
"Enabled_E2E_Encryption_for_this_room": "Encriptação E2E habilitada para essa sala",
18951895
"Encrypted": "Criptografado",
1896-
"Encrypted_RoomType": " {{roomType}} criptografado",
1896+
"Encrypted_RoomType": "{{roomType, capitalize}} criptografado ",
18971897
"Encrypted_channel_Description": "Canal criptografado de ponta a ponta. A pesquisa não funcionará com canais criptografados e as notificações podem não mostrar o conteúdo das mensagens.",
18981898
"Encrypted_content_cannot_be_searched": "O conteúdo criptografado não pode ser pesquisado.",
18991899
"Encrypted_content_cannot_be_searched_and_audited": "O conteúdo criptografado não pode ser pesquisado e auditado",
@@ -1903,7 +1903,7 @@
19031903
"Encrypted_file_not_allowed": "Arquivo criptografado não permitido",
19041904
"Encrypted_message": "Mensagem criptografada",
19051905
"Encrypted_message_preview_unavailable": "Mensagem criptografada, visualização indisponível",
1906-
"Encrypted_messages": "Criptografado de ponta a ponta {{roomType}}. A pesquisa não funcionará com {{roomType}} criptografado e as notificações podem não mostrar o conteúdo das mensagens.",
1906+
"Encrypted_messages": "{{roomType, capitalize}} criptografado de ponta a ponta. A pesquisa não funcionará com {{roomType}} criptografado e as notificações podem não mostrar o conteúdo das mensagens.",
19071907
"Encrypted_messages_false": "As mensagens não são criptografadas",
19081908
"Encrypted_not_available": "Indisponível para {{roomType}} públicos",
19091909
"Encrypted_setting_changed_successfully": "Configuração de criptografia alterada com sucesso",

0 commit comments

Comments
 (0)