[i18n] Integrate 8.16.0 Translations (#199145)

Integrating latest translations extracted from main branch.
Skipping backports from main to target branches since the `i18n_check`
might trim unused translations that are still used in different
branches. Integration script is ran against each target branch
separately.
This commit is contained in:
Ahmad Bamieh 2024-11-07 18:40:59 +03:00 committed by GitHub
parent bcc5b36cc3
commit 56537029c2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 12261 additions and 3988 deletions

View file

@ -110,7 +110,7 @@ run(
},
{
title: 'Checking Untracked i18n Messages outside defined namespaces',
enabled: (_) => !ignoreUntracked || !!(filterNamespaces && filterNamespaces.length),
enabled: (_) => !ignoreUntracked && !!(filterNamespaces && filterNamespaces.length),
task: (context, task) => checkUntrackedNamespacesTask(context, task, { rootPaths }),
},
{

View file

@ -67,26 +67,31 @@ const removeOutdatedMessages = (
'outdatedMessages' | 'updatedMessages',
Array<[string, string | { message: string }]>
> => {
const outdatedMessages: Array<[string, string | { message: string }]> = [];
let updatedMessages = translationMessages;
return translationMessages.reduce(
(acc, [translatedId, translatedMessage]) => {
const messageDescriptor = extractedMessages.find(({ id }) => id === translatedId);
// removed from codebase
if (!messageDescriptor) {
acc.outdatedMessages.push([translatedId, translatedMessage]);
return acc;
}
updatedMessages = translationMessages.filter(([translatedId, translatedMessage]) => {
const messageDescriptor = extractedMessages.find(({ id }) => id === translatedId);
if (!messageDescriptor?.hasValuesObject) {
return true;
}
try {
verifyMessageDescriptor(
typeof translatedMessage === 'string' ? translatedMessage : translatedMessage.message,
messageDescriptor
);
return true;
} catch (err) {
outdatedMessages.push([translatedId, translatedMessage]);
// failed to verify message against latest descriptor. remove from file.
return false;
}
});
try {
verifyMessageDescriptor(
typeof translatedMessage === 'string' ? translatedMessage : translatedMessage.message,
messageDescriptor
);
acc.updatedMessages.push([translatedId, translatedMessage]);
} catch (err) {
// failed to verify message against latest descriptor. remove from file.
acc.outdatedMessages.push([translatedId, translatedMessage]);
}
return { updatedMessages, outdatedMessages };
return acc;
},
{ updatedMessages: [], outdatedMessages: [] } as Record<
'outdatedMessages' | 'updatedMessages',
Array<[string, string | { message: string }]>
>
);
};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff