Merge locale-provided strings into english for failover support
FREEBIE
This commit is contained in:
parent
270f626cd7
commit
5099ca0ccd
2 changed files with 9 additions and 1 deletions
|
@ -1,6 +1,7 @@
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const app = require('electron').app;
|
const app = require('electron').app;
|
||||||
|
const _ = require('lodash');
|
||||||
|
|
||||||
function normalizeLocaleName(locale) {
|
function normalizeLocaleName(locale) {
|
||||||
if (/^en-/.test(locale)) {
|
if (/^en-/.test(locale)) {
|
||||||
|
@ -25,6 +26,8 @@ function getLocaleMessages(locale) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function load() {
|
function load() {
|
||||||
|
var english = getLocaleMessages('en');
|
||||||
|
|
||||||
// Load locale - if we can't load messages for the current locale, we
|
// Load locale - if we can't load messages for the current locale, we
|
||||||
// default to 'en'
|
// default to 'en'
|
||||||
//
|
//
|
||||||
|
@ -35,12 +38,15 @@ function load() {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
messages = getLocaleMessages(localeName);
|
messages = getLocaleMessages(localeName);
|
||||||
|
|
||||||
|
// We start with english, then overwrite that with anything present in locale
|
||||||
|
messages = _.merge(english, messages);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log('Problem loading messages for locale ', localeName, e.stack);
|
console.log('Problem loading messages for locale ', localeName, e.stack);
|
||||||
console.log('Falling back to en locale');
|
console.log('Falling back to en locale');
|
||||||
|
|
||||||
localeName = 'en';
|
localeName = 'en';
|
||||||
messages = getLocaleMessages(localeName);
|
messages = english;
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|
|
@ -57,6 +57,8 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// We load locale this way and not via app.getLocale() because this call returns
|
||||||
|
// 'es_ES' and not just 'es.' And hunspell requires the fully-qualified locale.
|
||||||
var locale = osLocale.sync().replace('-', '_');
|
var locale = osLocale.sync().replace('-', '_');
|
||||||
|
|
||||||
// The LANG environment variable is how node spellchecker finds its default language:
|
// The LANG environment variable is how node spellchecker finds its default language:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue