2017-12-31 01:14:32 +05:30
|
|
|
|
// @flow
|
|
|
|
|
import supportedLocales from 'i18n/index.json';
|
|
|
|
|
|
|
|
|
|
const localeToCountryCode = {
|
|
|
|
|
en: 'gb',
|
|
|
|
|
be: 'by',
|
|
|
|
|
pt: 'br',
|
|
|
|
|
uk: 'ua',
|
|
|
|
|
vi: 'vn',
|
|
|
|
|
sl: 'si',
|
2018-10-26 19:07:54 +05:30
|
|
|
|
sr: 'rs',
|
2018-01-06 21:37:50 +05:30
|
|
|
|
zh: 'cn',
|
2017-12-31 01:14:32 +05:30
|
|
|
|
};
|
|
|
|
|
const SUPPORTED_LANGUAGES: Array<string> = Object.keys(supportedLocales);
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
getCountryList(): Array<string> {
|
|
|
|
|
return SUPPORTED_LANGUAGES.map((locale) => localeToCountryCode[locale] || locale);
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Возвращает для указанной локали её флаг с учётом всех нюансов загрузки флага
|
|
|
|
|
* и подбора соответствующего локали флага.
|
|
|
|
|
*
|
|
|
|
|
* @param {string} locale
|
|
|
|
|
*
|
|
|
|
|
* @return {string}
|
|
|
|
|
*/
|
|
|
|
|
getIconUrl(locale: string): string {
|
|
|
|
|
return require(`flag-icon-css/flags/4x3/${localeToCountryCode[locale] || locale}.svg`);
|
2018-01-06 21:37:50 +05:30
|
|
|
|
},
|
2017-12-31 01:14:32 +05:30
|
|
|
|
};
|