Skip to content
This repository was archived by the owner on Sep 11, 2024. It is now read-only.

Commit fdb619c

Browse files
authored
Merge pull request #989 from coletivoEITA/add-language-picker-labels
add labels to language picker
2 parents 98c4252 + b8e26dd commit fdb619c

File tree

2 files changed

+15
-13
lines changed

2 files changed

+15
-13
lines changed

src/components/views/elements/LanguageDropdown.js

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,7 @@ export default class LanguageDropdown extends React.Component {
4040
}
4141

4242
componentWillMount() {
43-
languageHandler.getAllLanguageKeysFromJson().then((langKeys) => {
44-
const langs = [];
45-
langKeys.forEach((languageKey) => {
46-
langs.push({
47-
value: languageKey,
48-
label: _t(languageKey)
49-
});
50-
});
43+
languageHandler.getAllLanguagesFromJson().then((langs) => {
5144
langs.sort(function(a, b){
5245
if(a.label < b.label) return -1;
5346
if(a.label > b.label) return 1;

src/languageHandler.js

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ export function setLanguage(preferredLangs) {
133133
throw new Error("Unable to find an appropriate language");
134134
}
135135

136-
return getLanguage(i18nFolder + availLangs[langToUse]);
136+
return getLanguage(i18nFolder + availLangs[langToUse].fileName);
137137
}).then((langData) => {
138138
counterpart.registerTranslations(langToUse, langData);
139139
counterpart.setLocale(langToUse);
@@ -142,16 +142,25 @@ export function setLanguage(preferredLangs) {
142142

143143
// Set 'en' as fallback language:
144144
if (langToUse != "en") {
145-
return getLanguage(i18nFolder + availLangs['en']);
145+
return getLanguage(i18nFolder + availLangs['en'].fileName);
146146
}
147147
}).then((langData) => {
148148
if (langData) counterpart.registerTranslations('en', langData);
149149
});
150150
};
151151

152-
export function getAllLanguageKeysFromJson() {
153-
return getLangsJson().then((langs) => {
154-
return Object.keys(langs);
152+
export function getAllLanguagesFromJson() {
153+
return getLangsJson().then((langsObject) => {
154+
var langs = [];
155+
for (var langKey in langsObject) {
156+
if (langsObject.hasOwnProperty(langKey)) {
157+
langs.push({
158+
'value': langKey,
159+
'label': langsObject[langKey].label
160+
});
161+
}
162+
}
163+
return langs;
155164
});
156165
}
157166

0 commit comments

Comments
 (0)