@sveltia/i18n 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.svelte.js +12 -7
- package/package.json +2 -2
package/dist/index.svelte.js
CHANGED
|
@@ -242,6 +242,12 @@ const negotiateLocale = (requested, available) => {
|
|
|
242
242
|
}
|
|
243
243
|
};
|
|
244
244
|
|
|
245
|
+
let fallbackLocale = '';
|
|
246
|
+
/** @type {MissingKeyHandler | undefined} */
|
|
247
|
+
let missingMessageHandler;
|
|
248
|
+
/** @type {Formats} */
|
|
249
|
+
let customFormats = {};
|
|
250
|
+
|
|
245
251
|
/**
|
|
246
252
|
* Current locale.
|
|
247
253
|
*/
|
|
@@ -260,7 +266,12 @@ const locale = {
|
|
|
260
266
|
* @returns {Promise<void>}
|
|
261
267
|
*/
|
|
262
268
|
set(value) {
|
|
263
|
-
|
|
269
|
+
let resolved = locales.length ? negotiateLocale(value, locales) : value;
|
|
270
|
+
|
|
271
|
+
// If no registered locale matched, fall back to fallbackLocale.
|
|
272
|
+
if (value && locales.length && !locales.includes(resolved) && fallbackLocale) {
|
|
273
|
+
resolved = negotiateLocale(fallbackLocale, locales);
|
|
274
|
+
}
|
|
264
275
|
|
|
265
276
|
_locale = resolved;
|
|
266
277
|
|
|
@@ -337,12 +348,6 @@ const getLocaleFromHash = (hashKey) => {
|
|
|
337
348
|
|
|
338
349
|
// --- Configuration ---
|
|
339
350
|
|
|
340
|
-
let fallbackLocale = '';
|
|
341
|
-
/** @type {MissingKeyHandler | undefined} */
|
|
342
|
-
let missingMessageHandler;
|
|
343
|
-
/** @type {Formats} */
|
|
344
|
-
let customFormats = {};
|
|
345
|
-
|
|
346
351
|
/**
|
|
347
352
|
* Initialize the locales.
|
|
348
353
|
* @param {object} args Arguments.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sveltia/i18n",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "An internationalization (i18n) library for Svelte applications that uses Unicode MessageFormat 2 (MF2) to format messages.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"svelte",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"@sveltejs/package": "^2.5.7",
|
|
49
49
|
"@sveltejs/vite-plugin-svelte": "^7.0.0",
|
|
50
50
|
"@vitest/coverage-v8": "^4.1.2",
|
|
51
|
-
"cspell": "^9.
|
|
51
|
+
"cspell": "^9.8.0",
|
|
52
52
|
"eslint": "^9.39.4",
|
|
53
53
|
"eslint-config-airbnb-extended": "^3.0.1",
|
|
54
54
|
"eslint-config-prettier": "^10.1.8",
|