add labels to language picker
This commit is contained in:
parent
98c4252840
commit
b8e26ddf3d
2 changed files with 15 additions and 13 deletions
|
@ -40,14 +40,7 @@ export default class LanguageDropdown extends React.Component {
|
||||||
}
|
}
|
||||||
|
|
||||||
componentWillMount() {
|
componentWillMount() {
|
||||||
languageHandler.getAllLanguageKeysFromJson().then((langKeys) => {
|
languageHandler.getAllLanguagesFromJson().then((langs) => {
|
||||||
const langs = [];
|
|
||||||
langKeys.forEach((languageKey) => {
|
|
||||||
langs.push({
|
|
||||||
value: languageKey,
|
|
||||||
label: _t(languageKey)
|
|
||||||
});
|
|
||||||
});
|
|
||||||
langs.sort(function(a, b){
|
langs.sort(function(a, b){
|
||||||
if(a.label < b.label) return -1;
|
if(a.label < b.label) return -1;
|
||||||
if(a.label > b.label) return 1;
|
if(a.label > b.label) return 1;
|
||||||
|
|
|
@ -133,7 +133,7 @@ export function setLanguage(preferredLangs) {
|
||||||
throw new Error("Unable to find an appropriate language");
|
throw new Error("Unable to find an appropriate language");
|
||||||
}
|
}
|
||||||
|
|
||||||
return getLanguage(i18nFolder + availLangs[langToUse]);
|
return getLanguage(i18nFolder + availLangs[langToUse].fileName);
|
||||||
}).then((langData) => {
|
}).then((langData) => {
|
||||||
counterpart.registerTranslations(langToUse, langData);
|
counterpart.registerTranslations(langToUse, langData);
|
||||||
counterpart.setLocale(langToUse);
|
counterpart.setLocale(langToUse);
|
||||||
|
@ -142,16 +142,25 @@ export function setLanguage(preferredLangs) {
|
||||||
|
|
||||||
// Set 'en' as fallback language:
|
// Set 'en' as fallback language:
|
||||||
if (langToUse != "en") {
|
if (langToUse != "en") {
|
||||||
return getLanguage(i18nFolder + availLangs['en']);
|
return getLanguage(i18nFolder + availLangs['en'].fileName);
|
||||||
}
|
}
|
||||||
}).then((langData) => {
|
}).then((langData) => {
|
||||||
if (langData) counterpart.registerTranslations('en', langData);
|
if (langData) counterpart.registerTranslations('en', langData);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
export function getAllLanguageKeysFromJson() {
|
export function getAllLanguagesFromJson() {
|
||||||
return getLangsJson().then((langs) => {
|
return getLangsJson().then((langsObject) => {
|
||||||
return Object.keys(langs);
|
var langs = [];
|
||||||
|
for (var langKey in langsObject) {
|
||||||
|
if (langsObject.hasOwnProperty(langKey)) {
|
||||||
|
langs.push({
|
||||||
|
'value': langKey,
|
||||||
|
'label': langsObject[langKey].label
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return langs;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue