diff options
Diffstat (limited to 'lib/utils/i18n.js')
-rw-r--r-- | lib/utils/i18n.js | 76 |
1 files changed, 38 insertions, 38 deletions
diff --git a/lib/utils/i18n.js b/lib/utils/i18n.js index d7560bd..449fccb 100644 --- a/lib/utils/i18n.js +++ b/lib/utils/i18n.js @@ -5,14 +5,14 @@ var fs = require("fs"); var I18N_PATH = path.resolve(__dirname, "../../theme/i18n/") var getLocales = _.memoize(function() { - var locales = fs.readdirSync(I18N_PATH); - return _.chain(locales) + var locales = fs.readdirSync(I18N_PATH); + return _.chain(locales) .map(function(local) { local = path.basename(local, ".json"); return [local, _.extend({ - direction: "ltr" + direction: "ltr" }, require(path.join(I18N_PATH, local)), { - id: local + id: local })]; }) .object() @@ -20,53 +20,53 @@ var getLocales = _.memoize(function() { }); var getLanguages = function() { - return _.keys(getLocales()); + return _.keys(getLocales()); }; var getByLanguage = function(lang) { - lang = normalizeLanguage(lang); - var locales = getLocales(); - return locales[lang]; + lang = normalizeLanguage(lang); + var locales = getLocales(); + return locales[lang]; }; var compareLocales = function(lang, locale) { - var langMain = _.first(lang.split("-")); - var langSecond = _.last(lang.split("-")); + var langMain = _.first(lang.split("-")); + var langSecond = _.last(lang.split("-")); - var localeMain = _.first(locale.split("-")); - var localeSecond = _.last(locale.split("-")); + var localeMain = _.first(locale.split("-")); + var localeSecond = _.last(locale.split("-")); - if (locale == lang) return 100; - if (localeMain == langMain) return 50; - if (localeSecond == langSecond) return 20; - return 0; + if (locale == lang) return 100; + if (localeMain == langMain) return 50; + if (localeSecond == langSecond) return 20; + return 0; }; var normalizeLanguage = _.memoize(function(lang) { - var locales = getLocales(); - var language = _.chain(locales) - .values() - .map(function(locale) { - locale = locale.id; + var locales = getLocales(); + var language = _.chain(locales) + .values() + .map(function(locale) { + locale = locale.id; - return { - locale: locale, - score: compareLocales(lang, locale) - } - }) - .filter(function(lang) { - return lang.score > 0; - }) - .sortBy("score") - .pluck("locale") - .last() - .value(); - return language || lang; + return { + locale: locale, + score: compareLocales(lang, locale) + } + }) + .filter(function(lang) { + return lang.score > 0; + }) + .sortBy("score") + .pluck("locale") + .last() + .value(); + return language || lang; }); module.exports = { - getLocales: getLocales, - getLanguages: getLanguages, - getByLanguage: getByLanguage, - normalizeLanguage: normalizeLanguage + getLocales: getLocales, + getLanguages: getLanguages, + getByLanguage: getByLanguage, + normalizeLanguage: normalizeLanguage }; |