[Tool] Add script to generate i18n resource array

This commit is contained in:
schroda
2024-04-24 23:56:41 +02:00
parent 082f923e10
commit bbb655c448
2 changed files with 29 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
/*
* Copyright (C) Contributors to the Suwayomi project
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
import path from 'path';
import fs from 'fs';
const outputFilePath = path.join(__dirname, '../../src/i18n/index.ts');
const resourcesDirPath = path.join(__dirname, '../../public/locales');
const resourceFileNames = fs.readdirSync(resourcesDirPath);
const resourceNames = resourceFileNames.map((resourceFileName) =>
path.basename(resourceFileName, path.extname(resourceFileName)),
);
const outputFileContent = fs.readFileSync(outputFilePath, 'utf-8');
const updatedFileContent = outputFileContent.replace(
/(export const i18nResources = \[)[\s\S]*?(])/g,
`$1'${resourceNames.join("', '")}'$2`,
);
fs.writeFileSync(outputFilePath, updatedFileContent);