Merge pull request #989 from coletivoEITA/add-language-picker-labels

add labels to language picker
pull/21833/head
Matthew Hodgson 2017-06-01 14:38:48 +01:00 committed by GitHub
commit fdb619cb40
2 changed files with 15 additions and 13 deletions

View File

@ -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;

View File

@ -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;
}); });
} }