MCPcopy Index your code
hub / github.com/darkreader/darkreader / translateNewEnMessages

Function translateNewEnMessages

tasks/translate.js:66–102  ·  view source on GitHub ↗

* Translates new `en` locale lines for all locales

()

Source from the content-addressed store, hash-verified

64 * Translates new `en` locale lines for all locales
65 */
66async function translateNewEnMessages() {
67 log('Translating new lines');
68
69 const supportedLocales = await getSupportedLocales();
70 const enFiles = await getLocaleFiles('en');
71
72 for (const enFile of enFiles) {
73 const enContent = await readFile(enFile);
74 const enMessages = parseLocale(enContent);
75
76 for (const locale of supportedLocales) {
77 if (locale === 'en') {
78 continue;
79 }
80
81 /** @type {Map<string, string>} */
82 let locMessages = new Map();
83 const locFile = `${enFile.slice(0, enFile.lastIndexOf('en.config'))}${locale}.config`;
84 if (await fileExists(locFile)) {
85 const locContent = await readFile(locFile);
86 locMessages = parseLocale(locContent);
87 }
88
89 for (const messageId of enMessages.keys()) {
90 const enMessage = /** @type {string} */(enMessages.get(messageId));
91 const translated = await translate(enMessage, locale);
92 locMessages.set(messageId, translated);
93 log(`${locale}: ${translated}`);
94 }
95
96 const output = stringifyLocale(locMessages);
97 await writeFile(locFile, output);
98 }
99 }
100
101 log.ok('Translation done');
102}
103
104/**
105 * @param {string} content

Callers 1

translate.jsFile · 0.85

Calls 10

readFileFunction · 0.90
fileExistsFunction · 0.90
writeFileFunction · 0.90
getSupportedLocalesFunction · 0.85
getLocaleFilesFunction · 0.85
parseLocaleFunction · 0.85
translateFunction · 0.85
stringifyLocaleFunction · 0.85
getMethod · 0.65
setMethod · 0.65

Tested by

no test coverage detected