1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-25 20:02:58 +01:00
metamask-extension/development/lib/locales.js
Erik Marks 76a2a9bb8b
@metamask/eslint config@5.0.0 (#10358)
* @metamask/eslint-config@5.0.0
* Update eslintrc and prettierrc
* yarn lint:fix
2021-02-04 10:15:23 -08:00

55 lines
1.3 KiB
JavaScript

const path = require('path');
const fs = require('fs');
const { promisify } = require('util');
const log = require('loglevel');
const readFile = promisify(fs.readFile);
function getLocalePath(code) {
return path.resolve(
__dirname,
'..',
'..',
'app',
'_locales',
code,
'messages.json',
);
}
async function getLocale(code) {
try {
const localeFilePath = getLocalePath(code);
const fileContents = await readFile(localeFilePath, 'utf8');
return JSON.parse(fileContents);
} catch (e) {
if (e.code === 'ENOENT') {
log.error('Locale file not found');
} else {
log.error(`Error opening your locale ("${code}") file: `, e);
}
process.exit(1);
}
}
function compareLocalesForMissingItems({ base, subject }) {
return Object.keys(base).filter((key) => !subject[key]);
}
function compareLocalesForMissingDescriptions({ englishLocale, targetLocale }) {
return Object.keys(englishLocale).filter(
(key) =>
targetLocale[key] !== undefined &&
englishLocale[key].description !== undefined &&
englishLocale[key].description !== targetLocale[key].description,
);
}
module.exports = {
compareLocalesForMissingDescriptions,
compareLocalesForMissingItems,
getLocale,
getLocalePath,
};