MyCrypto/common/translations/index.js

59 lines
1.3 KiB
JavaScript
Raw Normal View History

2017-05-24 17:06:30 -07:00
// @flow
2017-05-25 15:05:11 -07:00
import { markupToReact } from './markup';
2017-05-24 17:06:30 -07:00
let activeLanguage = 'en';
let fallbackLanguage = 'en';
let repository = {};
const languages = [
require('./de'),
require('./el'),
require('./en'),
require('./es'),
require('./fi'),
require('./fr'),
require('./hu'),
require('./id'),
require('./it'),
require('./ja'),
require('./nl'),
require('./no'),
require('./pl'),
require('./pt'),
require('./ru') /*sk, sl, sv */,
2017-05-25 11:29:55 -07:00
require('./ko'),
2017-05-24 17:06:30 -07:00
require('./tr'),
require('./vi'),
require('./zhcn'),
require('./zhtw')
];
languages.forEach(l => {
repository[l.code] = l.data;
});
export function setLanguage(code: string) {
activeLanguage = code;
}
export default function translate(key: string) {
2017-05-25 15:05:11 -07:00
return markupToReact(
repository[activeLanguage][key] || repository[fallbackLanguage][key] || key
);
2017-05-24 17:06:30 -07:00
}
2017-06-01 13:45:00 -07:00
export function getTranslators() {
return [
'TranslatorName_1',
'TranslatorName_2',
'TranslatorName_3',
'TranslatorName_4',
'TranslatorName_5'
].filter(x => {
const translated = translate(x);
if (typeof translated === 'string') {
return !!translated.trim();
}
return !!translated;
});
}