mirror of
https://github.com/elyby/accounts-frontend.git
synced 2025-05-31 14:11:58 +05:30
Добавлена генерация index.json файла с информацией о доступных локалях
This commit is contained in:
@@ -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
42
src/i18n/index.json
Normal 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
|
||||
}
|
||||
}
|
@@ -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;
|
||||
|
Reference in New Issue
Block a user