Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 100x 5x 2x 2x 2x 5x 2x 2x 5x 6x 6x 2x 2x 2x 2x 2x 1x 1x 1x 1x 5x 1x 1x 1x 5x 5x | import { app } from "electron"; import settings from "electron-settings"; import fs from "fs"; import glob from "glob"; import Path from "path"; import en from "lang/en.json"; import { LOCALE_SETTING_KEY, localesRoot } from "consts"; import { L10NLookup, setL10NData } from "shared/lib/lang/l10n"; import { getGlobalPluginsPath } from "lib/pluginManager/globalPlugins"; import mapValues from "lodash/mapValues"; const localesPath = `${localesRoot}/*.json`; export const locales = glob .sync(localesPath) .map((path) => Path.basename(path, ".json")); export const getAppLocale = () => { const settingsLocale = app && settings.get(LOCALE_SETTING_KEY); const systemLocale = app ? app.getLocale() : "en"; return String(settingsLocale || systemLocale); }; const initElectronL10N = () => { const appLocale = getAppLocale(); loadLanguage(appLocale); }; export const loadLanguage = (locale: string) => { // Reset back to en defaults before loading setL10NData(en); if (locale && locale !== "en") { try { const isPlugin = Path.basename(locale) === "lang.json"; const globalPluginsPath = getGlobalPluginsPath(); Iif (isPlugin) { const translation = JSON.parse( fs.readFileSync(`${globalPluginsPath}/${locale}`, "utf-8") ) as L10NLookup; // If localisation has debug flag set all missing values will // use translation keys rather than fallback to English Iif (translation.debug) { const debugLang = mapValues(en, (_value, key) => key); setL10NData(debugLang); } setL10NData(translation); return translation; } else { const translation = JSON.parse( fs.readFileSync(`${localesRoot}/${locale}.json`, "utf-8") ) as L10NLookup; setL10NData(translation); return translation; } } catch (e) { console.warn("No language pack for user setting, falling back to en"); console.warn( `Add a language pack by making the file src/lang/${locale}.json` ); } } if (typeof locale === "string" && locale.length === 0) { console.warn("Locale is set but doesn't have a value."); console.warn("Have you used l10n from electron before app is ready?"); console.trace(); } return {}; }; export default initElectronL10N; |