feat: add --removeUnused flag to extract translations

This commit is contained in:
Nybkox
2025-02-20 15:09:12 +01:00
parent e9779a3d2f
commit ea5e2f660b
4 changed files with 53 additions and 25 deletions

View File

@@ -1,6 +1,7 @@
//@ts-check
const path = require('path');
const fs = require('fs');
const { defaultLanguage } = require('./constants');
/**
* @param {string} file
@@ -122,8 +123,6 @@ const getTranslationChanges = (existingTranslations, newTranslations) => {
return { added, removed, updated };
};
const defaultLanguage = 'en-US';
function getDefaultTranslations() {
return getLanguageTranslations(defaultLanguage);
}
@@ -149,6 +148,17 @@ function setLanguageTranslations(language, translations) {
fs.writeFileSync(file, JSON.stringify(translations, null, 2));
}
/**
* @param {string} language
* @param {Record<string, string>} newTranslations
*/
function updateLanguageTranslations(language, newTranslations) {
const translations = getLanguageTranslations(language);
const updatedTranslations = { ...translations, ...newTranslations };
setLanguageTranslations(language, updatedTranslations);
}
function getAllLanguages() {
const dir = resolveFile('translations');
@@ -174,6 +184,7 @@ module.exports = {
getDefaultTranslations,
getLanguageTranslations,
setLanguageTranslations,
updateLanguageTranslations,
getAllLanguages,
getAllNonDefaultLanguages,
};