Добавлена генерация index.json файла с информацией о доступных локалях

This commit is contained in:
ErickSkrauch
2017-05-19 01:33:13 +03:00
parent d8e7ec8294
commit 9445ed4505
4 changed files with 69 additions and 24 deletions

View File

@@ -7,18 +7,7 @@ import { FormattedMessage as Message } from 'react-intl';
import styles from './langMenu.scss';
import messages from './langMenu.intl.json';
const LANGS = {
be: 'Беларуская',
en: 'English',
id: 'Bahasa Indonesia',
pl: 'Polski',
ro: 'Română',
ru: 'Русский',
sl: 'Slovenščina',
pt: 'Português (Br)',
uk: 'Українська',
vi: 'Tiếng Việt',
};
import LANGS from 'i18n/index.json';
class LangMenu extends Component {
static displayName = 'LangMenu';
@@ -59,12 +48,12 @@ class LangMenu extends Component {
<ul className={classNames(styles.menu, {
[styles.menuActive]: isActive
})}>
{Object.keys(LANGS).map((lang) => (
{Object.keys(LANGS).map((locale) => (
<li className={classNames(styles.menuItem, {
[styles.activeMenuItem]: lang === userLang
})} onClick={this.onChangeLang(lang)} key={lang}
[styles.activeMenuItem]: locale === userLang
})} onClick={this.onChangeLang(locale)} key={locale}
>
{this.renderLangLabel(lang)}
{this.renderLangLabel(locale)}
</li>
))}
<li className={styles.improveTranslatesLink}>
@@ -93,12 +82,12 @@ class LangMenu extends Component {
);
}
renderLangLabel(lang) {
const langLabel = LANGS[lang];
renderLangLabel(locale) {
const langLabel = LANGS[locale].name;
return (
<span>
<span className={styles[`lang${lang[0].toUpperCase() + lang.slice(1)}`]} />
<span className={styles[`lang${locale[0].toUpperCase() + locale.slice(1)}`]} />
{langLabel}
</span>
);

42
src/i18n/index.json Normal file
View File

@@ -0,0 +1,42 @@
{
"be": {
"name": "Беларуская",
"progress": 100
},
"en": {
"name": "English",
"progress": 100
},
"id": {
"name": "Bahasa Indonesia",
"progress": 99.5
},
"pl": {
"name": "Polski",
"progress": 100
},
"pt": {
"name": "Português",
"progress": 100
},
"ro": {
"name": "Română",
"progress": 95.4
},
"ru": {
"name": "Русский",
"progress": 100
},
"sl": {
"name": "Slovenščina",
"progress": 100
},
"uk": {
"name": "Українська",
"progress": 100
},
"vi": {
"name": "Tiếng Việt",
"progress": 100
}
}

View File

@@ -1,3 +1,5 @@
import locales from 'i18n/index.json';
import { addLocaleData } from 'react-intl';
import beLocaleData from 'react-intl/locale-data/be';
import enLocaleData from 'react-intl/locale-data/en';
@@ -22,7 +24,7 @@ addLocaleData(ptLocaleData);
addLocaleData(ukLocaleData);
addLocaleData(viLocaleData);
const SUPPORTED_LANGUAGES = ['be', 'en', 'id', 'pl', 'ro', 'ru', 'sl', 'pt', 'uk', 'vi'];
const SUPPORTED_LANGUAGES = Object.keys(locales);
const DEFAULT_LANGUAGE = 'en';
const needPolyfill = !window.Intl;