esa-cli
Version:
A CLI for operating Alibaba Cloud ESA Functions and Pages.
31 lines (30 loc) • 1.02 kB
JavaScript
import { resolve } from 'path';
import logger from '../libs/logger.js';
import { getDirName } from '../utils/fileUtils/base.js';
import { getCliConfig } from '../utils/fileUtils/index.js';
import { readJson } from '../utils/readJson.js';
const localesJson = readJson(resolve(getDirName(import.meta.url), './locales.json'));
const t = (key, variables) => {
var _a;
const locales = localesJson;
const lang = ((_a = getCliConfig()) === null || _a === void 0 ? void 0 : _a.lang) || 'en';
let translation = '';
if (locales[key] && locales[key][lang]) {
translation = locales[key][lang];
}
else {
logger.verbose('Not find key: ' + key);
translation = locales[key].en;
}
if (variables) {
for (const variable in variables) {
translation = translation.replace(`\${${variable}}`, variables[variable]);
}
}
return {
d: (defaultText) => {
return translation || defaultText;
}
};
};
export default t;