diff options
| author | Adrien Hopkins <[email protected]> | 2022-07-29 15:27:20 -0500 |
|---|---|---|
| committer | Adrien Hopkins <[email protected]> | 2022-07-29 15:27:20 -0500 |
| commit | 3d5a88da069757e6587dc497a0cb3261a80723f9 (patch) | |
| tree | 713946e3dd949f1e0023bfcbf5e54ad7d9bd6277 /src/lib | |
| parent | 54b3769eb2fe0359eda73e76aa0dae38092732c4 (diff) | |
| download | coinos-ui-3d5a88da069757e6587dc497a0cb3261a80723f9.tar.gz coinos-ui-3d5a88da069757e6587dc497a0cb3261a80723f9.zip | |
Documented locale code
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/i18n.js | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/src/lib/i18n.js b/src/lib/i18n.js index d3db2454..2d39e292 100644 --- a/src/lib/i18n.js +++ b/src/lib/i18n.js @@ -1,14 +1,25 @@ import { register, init, getLocaleFromNavigator } from 'svelte-i18n'; -// list of locales to load +/** The list of locales to look for */ const localeCodes = ['en', 'fr']; -// load locales +/** The directory where locale files are stored */ +const localeDirectory = "../locales"; + +/** + * Adds a new locale from the appropriate JSON file + * @param {string} localeCode - the code of the locale to add + */ function addLocale(localeCode) { - register(localeCode, () => import(`../locales/${localeCode}.json`)); + register(localeCode, () => import(`${localeDirectory}/${localeCode}.json`)); } -// determine locale +/** + * Determines the default locale. + * @param {string} navigatorLocale - the locale given by the navigator + * @param {array<string>} avalableLocales - a list of the available locales + * @returns {string} chosen default locale + */ function pickLocale(navigatorLocale, availableLocales) { // determine langugage part of locale // (e.g. if navigatorLocale is 'en-US', languageCode is 'en') @@ -30,7 +41,9 @@ function pickLocale(navigatorLocale, availableLocales) { } } -// setup internationalization +/** + * Loads all of the locales, picks a default locale, and sets up internationalization in that locale. + */ export function setupI18n() { localeCodes.forEach(addLocale); let initialLocale = pickLocale(getLocaleFromNavigator(), localeCodes); |
