don't shorten locale

This commit is contained in:
antelle 2017-02-02 21:49:27 +01:00
parent cd037f8e86
commit da1c4fd4f3
13 changed files with 25 additions and 26 deletions

View File

@ -63,7 +63,10 @@ const SettingsManager = {
getBrowserLocale: function() { getBrowserLocale: function() {
const language = navigator.languages && navigator.languages[0] || navigator.language; const language = navigator.languages && navigator.languages[0] || navigator.language;
return language ? language.substr(0, 2).toLowerCase() : null; if (language && language.lastIndexOf('en', 0) === 0) {
return 'en';
}
return language;
} }
}; };

View File

View File

0
app/scripts/locales/pl.json Executable file → Normal file
View File

View File

View File

@ -60,9 +60,6 @@ const AppSettingsModel = Backbone.Model.extend({
if (data.rememberKeyFiles === true) { if (data.rememberKeyFiles === true) {
data.rememberKeyFiles = 'data'; data.rememberKeyFiles = 'data';
} }
if (data.locale && data.locale.length > 2) {
data.locale = data.locale.substr(0, 2);
}
}, },
save: function() { save: function() {

View File

@ -58,16 +58,16 @@ const SettingsGeneralView = Backbone.View.extend({
}, },
allLocales: { allLocales: {
en: 'English', 'en': 'English',
de: 'Deutsch', 'de-DE': 'Deutsch',
es: 'Español', 'es-ES': 'Español',
fr: 'Français', 'fr-FR': 'Français',
it: 'Italiano', 'it-IT': 'Italiano',
nl: 'Nederlands', 'nl-NL': 'Nederlands',
pl: 'Polski', 'pl': 'Polski',
pt: 'Português', 'pt-PT': 'Português',
ru: 'Русский', 'ru-RU': 'Русский',
zh: '汉语' 'zh-CN': '汉语'
}, },
initialize: function() { initialize: function() {

View File

@ -30,29 +30,28 @@ https.get(url, res => {
return; return;
} }
console.log('Response received, reading...'); console.log('Response received, reading...');
let data = []; const data = [];
res.on('data', chunk => data.push(chunk)); res.on('data', chunk => data.push(chunk));
res.on('end', () => { res.on('end', () => {
console.log('Data received, parsing...'); console.log('Data received, parsing...');
let json = Buffer.concat(data).toString('utf8'); const json = Buffer.concat(data).toString('utf8');
let languages = JSON.parse(json); const languages = JSON.parse(json);
let langCount = 0; let langCount = 0;
let skipCount = 0; let skipCount = 0;
let totalPhraseCount = Object.keys(languages['en-US'].translation).length; const totalPhraseCount = Object.keys(languages['en-US'].translation).length;
Object.keys(languages).forEach(lang => { Object.keys(languages).forEach(lang => {
let languageTranslations = languages[lang].translation; const languageTranslations = languages[lang].translation;
lang = lang.substr(0, 2); if (lang === 'en-US' || !languageTranslations) {
if (lang === 'en' || !languageTranslations) {
return; return;
} }
let langPhraseCount = Object.keys(languageTranslations).length; const langPhraseCount = Object.keys(languageTranslations).length;
let percentage = Math.round(langPhraseCount / totalPhraseCount * 100); const percentage = Math.round(langPhraseCount / totalPhraseCount * 100);
let included = percentage >= PHRASE_COUNT_THRESHOLD_PERCENT; const included = percentage >= PHRASE_COUNT_THRESHOLD_PERCENT;
let action = included ? 'OK' : 'SKIP'; const action = included ? 'OK' : 'SKIP';
console.log(`${lang}: ${langPhraseCount} / ${totalPhraseCount} (${percentage}%) -> ${action}`); console.log(`${lang}: ${langPhraseCount} / ${totalPhraseCount} (${percentage}%) -> ${action}`);
if (included) { if (included) {
langCount++; langCount++;
let languageJson = JSON.stringify(languageTranslations, null, 4); const languageJson = JSON.stringify(languageTranslations, null, 4);
fs.writeFileSync(`app/scripts/locales/${lang}.json`, languageJson); fs.writeFileSync(`app/scripts/locales/${lang}.json`, languageJson);
} else { } else {
skipCount++; skipCount++;