piral-translate 1.5.6 → 1.6.0-beta.7144
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/esm/create.d.ts +1 -4
- package/esm/create.js.map +1 -1
- package/esm/localize.d.ts +2 -4
- package/esm/localize.js +1 -1
- package/esm/localize.js.map +1 -1
- package/esm/types.d.ts +3 -0
- package/lib/create.d.ts +1 -4
- package/lib/create.js.map +1 -1
- package/lib/localize.d.ts +2 -4
- package/lib/localize.js +1 -1
- package/lib/localize.js.map +1 -1
- package/lib/types.d.ts +3 -0
- package/package.json +3 -3
- package/piral-translate.min.js +1 -1
- package/src/create.ts +1 -4
- package/src/localize.ts +3 -3
- package/src/types.ts +4 -0
package/esm/create.d.ts
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import type { PiralPlugin } from 'piral-core';
|
|
2
|
-
import type { PiletLocaleApi, Localizable, AnyLocalizationMessages } from './types';
|
|
3
|
-
export interface TranslationFallback {
|
|
4
|
-
(key: string, language: string): string;
|
|
5
|
-
}
|
|
2
|
+
import type { PiletLocaleApi, Localizable, AnyLocalizationMessages, TranslationFallback } from './types';
|
|
6
3
|
export interface RetrieveCurrentLanguage {
|
|
7
4
|
/**
|
|
8
5
|
* A function to identify the current language.
|
package/esm/create.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,WAAW,CAAC;AAGvC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"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"}
|
package/esm/localize.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { LocalizationMessages, Localizable, NestedLocalizationMessages } from './types';
|
|
2
|
-
declare function defaultFallback(key: string, language: string): string;
|
|
1
|
+
import { LocalizationMessages, Localizable, NestedLocalizationMessages, TranslationFallback } from './types';
|
|
3
2
|
export declare class Localizer implements Localizable {
|
|
4
3
|
language: string;
|
|
5
4
|
languages: Array<string>;
|
|
@@ -8,7 +7,7 @@ export declare class Localizer implements Localizable {
|
|
|
8
7
|
/**
|
|
9
8
|
* Creates a new instance of a localizer.
|
|
10
9
|
*/
|
|
11
|
-
constructor(messages: LocalizationMessages | NestedLocalizationMessages, language: string, languages: Array<string>, fallback?:
|
|
10
|
+
constructor(messages: LocalizationMessages | NestedLocalizationMessages, language: string, languages: Array<string>, fallback?: TranslationFallback);
|
|
12
11
|
/**
|
|
13
12
|
* Localizes the given key via the global translations.
|
|
14
13
|
* @param key The key of the translation snippet.
|
|
@@ -26,4 +25,3 @@ export declare class Localizer implements Localizable {
|
|
|
26
25
|
private localizeBase;
|
|
27
26
|
private translateMessage;
|
|
28
27
|
}
|
|
29
|
-
export {};
|
package/esm/localize.js
CHANGED
|
@@ -53,7 +53,7 @@ export class Localizer {
|
|
|
53
53
|
localizeBase(key, variables) {
|
|
54
54
|
const message = this.translateMessage(this.messages, key, variables);
|
|
55
55
|
if (message === undefined) {
|
|
56
|
-
return this.fallback(key, this.language);
|
|
56
|
+
return this.fallback(key, this.language, this.messages, variables);
|
|
57
57
|
}
|
|
58
58
|
return message;
|
|
59
59
|
}
|
package/esm/localize.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localize.js","sourceRoot":"","sources":["../src/localize.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,SAAS,eAAe,CAAC,GAAW,EAAE,QAAgB;IACpD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;QACzC,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9B;SAAM;QACL,IAAI,QAAQ,EAAE;YACZ,OAAO,CAAC,IAAI,CAAC,2BAA2B,GAAG,kBAAkB,QAAQ,IAAI,CAAC,CAAC;YAC3E,OAAO,KAAK,QAAQ,IAAI,GAAG,IAAI,CAAC;SACjC;aAAM;YACL,OAAO,EAAE,CAAC;SACX;KACF;AACH,CAAC;AAED,SAAS,aAAa,CAAmB,OAAe,EAAE,SAAY;IACpE,OAAO,OAAO,CAAC,OAAO,CAAC,6BAA6B,EAAE,CAAC,MAAc,EAAE,EAAU,EAAE,EAAE;QACnF,OAAO,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,OAAO,SAAS;IAGpB;;OAEG;IACH,YACE,QAA2D,EACpD,QAAgB,EAChB,SAAwB,EACvB,
|
|
1
|
+
{"version":3,"file":"localize.js","sourceRoot":"","sources":["../src/localize.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,SAAS,eAAe,CAAC,GAAW,EAAE,QAAgB;IACpD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;QACzC,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9B;SAAM;QACL,IAAI,QAAQ,EAAE;YACZ,OAAO,CAAC,IAAI,CAAC,2BAA2B,GAAG,kBAAkB,QAAQ,IAAI,CAAC,CAAC;YAC3E,OAAO,KAAK,QAAQ,IAAI,GAAG,IAAI,CAAC;SACjC;aAAM;YACL,OAAO,EAAE,CAAC;SACX;KACF;AACH,CAAC;AAED,SAAS,aAAa,CAAmB,OAAe,EAAE,SAAY;IACpE,OAAO,OAAO,CAAC,OAAO,CAAC,6BAA6B,EAAE,CAAC,MAAc,EAAE,EAAU,EAAE,EAAE;QACnF,OAAO,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,OAAO,SAAS;IAGpB;;OAEG;IACH,YACE,QAA2D,EACpD,QAAgB,EAChB,SAAwB,EACvB,WAAgC,eAAe;QAFhD,aAAQ,GAAR,QAAQ,CAAQ;QAChB,cAAS,GAAT,SAAS,CAAe;QACvB,aAAQ,GAAR,QAAQ,CAAuC;QAEvD,IAAI,CAAC,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACI,cAAc,CAAmB,GAAW,EAAE,SAAa;QAChE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;OAMG;IACI,aAAa,CAAmB,aAAmC,EAAE,GAAW,EAAE,SAAa;QACpG,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAErE,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;SAC1C;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,YAAY,CAAmB,GAAW,EAAE,SAAa;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAErE,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;SACpE;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,gBAAgB,CAAmB,QAA8B,EAAE,GAAW,EAAE,SAAa;QACnG,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,MAAM,YAAY,GAAG,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,WAAW,GAAG,YAAY,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;QACtD,OAAO,WAAW,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAC1F,CAAC;CACF"}
|
package/esm/types.d.ts
CHANGED
|
@@ -58,6 +58,9 @@ declare module 'piral-core/lib/types/custom' {
|
|
|
58
58
|
LanguagesPicker: ComponentType<LanguagesPickerProps>;
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
|
+
export interface TranslationFallback {
|
|
62
|
+
(key: string, language: string, messages: LocalizationMessages, variables: any): string;
|
|
63
|
+
}
|
|
61
64
|
export interface PiralSelectLanguageEvent {
|
|
62
65
|
/**
|
|
63
66
|
* Gets the previously selected language.
|
package/lib/create.d.ts
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import type { PiralPlugin } from 'piral-core';
|
|
2
|
-
import type { PiletLocaleApi, Localizable, AnyLocalizationMessages } from './types';
|
|
3
|
-
export interface TranslationFallback {
|
|
4
|
-
(key: string, language: string): string;
|
|
5
|
-
}
|
|
2
|
+
import type { PiletLocaleApi, Localizable, AnyLocalizationMessages, TranslationFallback } from './types';
|
|
6
3
|
export interface RetrieveCurrentLanguage {
|
|
7
4
|
/**
|
|
8
5
|
* A function to identify the current language.
|
package/lib/create.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":";;;AAAA,uCAAuC;AAGvC,uCAA0C;AAC1C,yCAAuC;AACvC,uCAA0C;AAC1C,iEAA6D;
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"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"}
|
package/lib/localize.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { LocalizationMessages, Localizable, NestedLocalizationMessages } from './types';
|
|
2
|
-
declare function defaultFallback(key: string, language: string): string;
|
|
1
|
+
import { LocalizationMessages, Localizable, NestedLocalizationMessages, TranslationFallback } from './types';
|
|
3
2
|
export declare class Localizer implements Localizable {
|
|
4
3
|
language: string;
|
|
5
4
|
languages: Array<string>;
|
|
@@ -8,7 +7,7 @@ export declare class Localizer implements Localizable {
|
|
|
8
7
|
/**
|
|
9
8
|
* Creates a new instance of a localizer.
|
|
10
9
|
*/
|
|
11
|
-
constructor(messages: LocalizationMessages | NestedLocalizationMessages, language: string, languages: Array<string>, fallback?:
|
|
10
|
+
constructor(messages: LocalizationMessages | NestedLocalizationMessages, language: string, languages: Array<string>, fallback?: TranslationFallback);
|
|
12
11
|
/**
|
|
13
12
|
* Localizes the given key via the global translations.
|
|
14
13
|
* @param key The key of the translation snippet.
|
|
@@ -26,4 +25,3 @@ export declare class Localizer implements Localizable {
|
|
|
26
25
|
private localizeBase;
|
|
27
26
|
private translateMessage;
|
|
28
27
|
}
|
|
29
|
-
export {};
|
package/lib/localize.js
CHANGED
|
@@ -56,7 +56,7 @@ class Localizer {
|
|
|
56
56
|
localizeBase(key, variables) {
|
|
57
57
|
const message = this.translateMessage(this.messages, key, variables);
|
|
58
58
|
if (message === undefined) {
|
|
59
|
-
return this.fallback(key, this.language);
|
|
59
|
+
return this.fallback(key, this.language, this.messages, variables);
|
|
60
60
|
}
|
|
61
61
|
return message;
|
|
62
62
|
}
|
package/lib/localize.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localize.js","sourceRoot":"","sources":["../src/localize.ts"],"names":[],"mappings":";;;AACA,iEAA6D;AAE7D,SAAS,eAAe,CAAC,GAAW,EAAE,QAAgB;IACpD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;QACzC,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9B;SAAM;QACL,IAAI,QAAQ,EAAE;YACZ,OAAO,CAAC,IAAI,CAAC,2BAA2B,GAAG,kBAAkB,QAAQ,IAAI,CAAC,CAAC;YAC3E,OAAO,KAAK,QAAQ,IAAI,GAAG,IAAI,CAAC;SACjC;aAAM;YACL,OAAO,EAAE,CAAC;SACX;KACF;AACH,CAAC;AAED,SAAS,aAAa,CAAmB,OAAe,EAAE,SAAY;IACpE,OAAO,OAAO,CAAC,OAAO,CAAC,6BAA6B,EAAE,CAAC,MAAc,EAAE,EAAU,EAAE,EAAE;QACnF,OAAO,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAa,SAAS;IAGpB;;OAEG;IACH,YACE,QAA2D,EACpD,QAAgB,EAChB,SAAwB,EACvB,
|
|
1
|
+
{"version":3,"file":"localize.js","sourceRoot":"","sources":["../src/localize.ts"],"names":[],"mappings":";;;AACA,iEAA6D;AAE7D,SAAS,eAAe,CAAC,GAAW,EAAE,QAAgB;IACpD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;QACzC,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9B;SAAM;QACL,IAAI,QAAQ,EAAE;YACZ,OAAO,CAAC,IAAI,CAAC,2BAA2B,GAAG,kBAAkB,QAAQ,IAAI,CAAC,CAAC;YAC3E,OAAO,KAAK,QAAQ,IAAI,GAAG,IAAI,CAAC;SACjC;aAAM;YACL,OAAO,EAAE,CAAC;SACX;KACF;AACH,CAAC;AAED,SAAS,aAAa,CAAmB,OAAe,EAAE,SAAY;IACpE,OAAO,OAAO,CAAC,OAAO,CAAC,6BAA6B,EAAE,CAAC,MAAc,EAAE,EAAU,EAAE,EAAE;QACnF,OAAO,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAa,SAAS;IAGpB;;OAEG;IACH,YACE,QAA2D,EACpD,QAAgB,EAChB,SAAwB,EACvB,WAAgC,eAAe;QAFhD,aAAQ,GAAR,QAAQ,CAAQ;QAChB,cAAS,GAAT,SAAS,CAAe;QACvB,aAAQ,GAAR,QAAQ,CAAuC;QAEvD,IAAI,CAAC,QAAQ,GAAG,IAAA,0CAAmB,EAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACI,cAAc,CAAmB,GAAW,EAAE,SAAa;QAChE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;OAMG;IACI,aAAa,CAAmB,aAAmC,EAAE,GAAW,EAAE,SAAa;QACpG,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAErE,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;SAC1C;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,YAAY,CAAmB,GAAW,EAAE,SAAa;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAErE,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;SACpE;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,gBAAgB,CAAmB,QAA8B,EAAE,GAAW,EAAE,SAAa;QACnG,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,MAAM,YAAY,GAAG,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,WAAW,GAAG,YAAY,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;QACtD,OAAO,WAAW,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAC1F,CAAC;CACF;AAzDD,8BAyDC"}
|
package/lib/types.d.ts
CHANGED
|
@@ -58,6 +58,9 @@ declare module 'piral-core/lib/types/custom' {
|
|
|
58
58
|
LanguagesPicker: ComponentType<LanguagesPickerProps>;
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
|
+
export interface TranslationFallback {
|
|
62
|
+
(key: string, language: string, messages: LocalizationMessages, variables: any): string;
|
|
63
|
+
}
|
|
61
64
|
export interface PiralSelectLanguageEvent {
|
|
62
65
|
/**
|
|
63
66
|
* Gets the previously selected language.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "piral-translate",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0-beta.7144",
|
|
4
4
|
"description": "Plugin for providing translated messages in Piral.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"piral",
|
|
@@ -68,8 +68,8 @@
|
|
|
68
68
|
"devDependencies": {
|
|
69
69
|
"@types/deepmerge": "^2.2.0",
|
|
70
70
|
"@types/react": "^18.0.0",
|
|
71
|
-
"piral-core": "
|
|
71
|
+
"piral-core": "1.6.0-beta.7144",
|
|
72
72
|
"react": "^18.0.0"
|
|
73
73
|
},
|
|
74
|
-
"gitHead": "
|
|
74
|
+
"gitHead": "c9046054bf0fda74a52e433d8ec72a3bbc5cbde8"
|
|
75
75
|
}
|
package/piral-translate.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var piralTranslate=(()=>{var R=Object.create;var
|
|
1
|
+
var piralTranslate=(()=>{var R=Object.create;var m=Object.defineProperty;var F=Object.getOwnPropertyDescriptor;var G=Object.getOwnPropertyNames;var N=Object.getPrototypeOf,$=Object.prototype.hasOwnProperty;var j=e=>m(e,"__esModule",{value:!0});var c=(e=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(e,{get:(t,r)=>(typeof require!="undefined"?require:t)[r]}):e)(function(e){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var I=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),U=(e,t)=>{j(e);for(var r in t)m(e,r,{get:t[r],enumerable:!0})},D=(e,t,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of G(t))!$.call(e,a)&&a!=="default"&&m(e,a,{get:()=>t[a],enumerable:!(r=F(t,a))||r.enumerable});return e},l=e=>D(j(m(e!=null?R(N(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var z=I((pe,h)=>{"use strict";var B=function(t){return V(t)&&!K(t)};function V(e){return!!e&&typeof e=="object"}function K(e){var t=Object.prototype.toString.call(e);return t==="[object RegExp]"||t==="[object Date]"||q(e)}var Y=typeof Symbol=="function"&&Symbol.for,Z=Y?Symbol.for("react.element"):60103;function q(e){return e.$$typeof===Z}function H(e){return Array.isArray(e)?[]:{}}function u(e,t){return t.clone!==!1&&t.isMergeableObject(e)?g(H(e),e,t):e}function J(e,t,r){return e.concat(t).map(function(a){return u(a,r)})}function Q(e,t){if(!t.customMerge)return g;var r=t.customMerge(e);return typeof r=="function"?r:g}function W(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[]}function x(e){return Object.keys(e).concat(W(e))}function A(e,t){try{return t in e}catch{return!1}}function X(e,t){return A(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))}function ee(e,t,r){var a={};return r.isMergeableObject(e)&&x(e).forEach(function(n){a[n]=u(e[n],r)}),x(t).forEach(function(n){X(e,n)||(A(e,n)&&r.isMergeableObject(t[n])?a[n]=Q(n,r)(e[n],t[n],r):a[n]=u(t[n],r))}),a}function g(e,t,r){r=r||{},r.arrayMerge=r.arrayMerge||J,r.isMergeableObject=r.isMergeableObject||B,r.cloneUnlessOtherwiseSpecified=u;var a=Array.isArray(t),n=Array.isArray(e),s=a===n;return s?a?r.arrayMerge(e,t,r):ee(e,t,r):u(t,r)}g.all=function(t,r){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce(function(a,n){return g(a,n,r)},{})};var te=g;h.exports=te});var ue={};U(ue,{Languages:()=>ge,PiralLanguagesPicker:()=>M,createLocaleApi:()=>se,getUserLocale:()=>ie,setupLocalizer:()=>k,useDynamicLanguage:()=>le,useTranslate:()=>ce});var O=l(c("piral-core")),M=(0,O.getPiralComponent)("LanguagesPicker");var C=l(z());function P(e){return{selectLanguage(t,r){t.dispatch(a=>{e.language=r;let n=a.language.selected,s=r;return setTimeout(()=>{t.emit("select-language",{previousLanguage:n,currentLanguage:s})},0),{...a,language:{...a.language,loading:r===void 0,selected:r}}})},translate(t,r,a){return e&&e.localizeGlobal(r,a)},setTranslations(t,r,a){e.messages[r]=a.global;for(let n of a.locals){let s=t.apis[n.name];if(s){let o=s.getTranslations();o[r]=n.value,s.setTranslations(o)}}},getTranslations(t,r){return{global:e.messages[r],locals:Object.keys(t.apis).map(a=>({name:a,value:t.apis[a].getTranslations()[r]}))}}}}function re(e){let t={};return S(e,t),t}function S(e,t,r=""){if(typeof e=="string"){t[r]=e;return}if(typeof e=="object"&&e!==null){Object.keys(e).forEach(a=>{S(e[a],t,r?`${r}.${a}`:a)});return}}function p(e){return Object.fromEntries(Object.entries(e).map(([t,r])=>[t,re(r)]))}function ae(e,t){return t?"...":""}function ne(e,t){return e.replace(/{{\s*([A-Za-z0-9_.]+)\s*}}/g,(r,a)=>a in t?t[a]??"":`{{${a}}}`)}var T=class{constructor(t,r,a,n=ae){this.language=r;this.languages=a;this.fallback=n;this.messages=p(t)}localizeGlobal(t,r){return this.localizeBase(t,r)}localizeLocal(t,r,a){let n=this.translateMessage(t,r,a);return n===void 0?this.localizeBase(r,a):n}localizeBase(t,r){let a=this.translateMessage(this.messages,t,r);return a===void 0?this.fallback(t,this.language,this.messages,r):a}translateMessage(t,r,a){let n=this.language,s=n&&t[n],o=s&&s[r];return o&&(a?ne(o,a):o)}};var E=l(c("piral-core")),v=e=>(0,E.defaultRender)(void 0);function k(e={}){let t=e.messages||{},r=Object.keys(t),a=r[0]||"en",n=e.language,o=(typeof n=="function"?n(r,a,"en"):n)||a;return new T(t,o,r.length?r:[o],e.fallback)}function se(e=k()){return t=>(t.defineActions(P(e)),t.dispatch(r=>({...r,components:{LanguagesPicker:v,...r.components},language:{loading:!1,available:e.languages,selected:e.language}})),r=>{let a={},n=s=>{a=p(s)};return{addTranslations(s,o=!0){let i=e.messages;n(C.all(o?[i,...s]:[...s,i]))},getCurrentLanguage(s){let o=t.readState(i=>i.language.selected);if(s){s(o);let i=L=>{s(L.currentLanguage)};return r.on("select-language",i),()=>r.off("select-language",i)}return o},setTranslations:n,getTranslations(){return a},translate(s,o){return e.localizeLocal(a,s,o)}}})}var b=l(c("piral-core"));function oe(e,t){let r=b.cookie.getItem("_culture")||b.storage.getItem("locale");return r||(t?t.toLowerCase().substring(0,2):navigator.language?navigator.language.substring(0,2):e)}function ie(e,t,r){let a=oe(t,r||"");return e.indexOf(a)!==-1?a:t}var d=l(c("react")),f=l(c("piral-core"));function le(e,t){let[r,a]=(0,d.useState)(e),{selectLanguage:n,setTranslations:s,getTranslations:o}=(0,f.useActions)();return(0,d.useEffect)(()=>{let i=!0,L=o(r);return n(void 0),t(r,L).then(y=>{i&&(s(r,y),n(r))},y=>console.error(y)),()=>{i=!1}},[r]),[r,a]}function ce(){let{translate:e}=(0,f.useActions)();return(0,f.useGlobalState)(t=>t.language.selected),e}var _=l(c("react")),w=l(c("piral-core"));var ge=()=>{let{available:e,selected:t}=(0,w.useGlobalState)(r=>r.language);return _.createElement(M,{selected:t,available:e})};return ue;})();
|
package/src/create.ts
CHANGED
|
@@ -11,12 +11,9 @@ import type {
|
|
|
11
11
|
Localizable,
|
|
12
12
|
PiralSelectLanguageEvent,
|
|
13
13
|
AnyLocalizationMessages,
|
|
14
|
+
TranslationFallback,
|
|
14
15
|
} from './types';
|
|
15
16
|
|
|
16
|
-
export interface TranslationFallback {
|
|
17
|
-
(key: string, language: string): string;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
17
|
export interface RetrieveCurrentLanguage {
|
|
21
18
|
/**
|
|
22
19
|
* A function to identify the current language.
|
package/src/localize.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { LocalizationMessages, Localizable, NestedLocalizationMessages } from './types';
|
|
1
|
+
import { LocalizationMessages, Localizable, NestedLocalizationMessages, TranslationFallback } from './types';
|
|
2
2
|
import { flattenTranslations } from './flatten-translations';
|
|
3
3
|
|
|
4
4
|
function defaultFallback(key: string, language: string): string {
|
|
@@ -30,7 +30,7 @@ export class Localizer implements Localizable {
|
|
|
30
30
|
messages: LocalizationMessages | NestedLocalizationMessages,
|
|
31
31
|
public language: string,
|
|
32
32
|
public languages: Array<string>,
|
|
33
|
-
private fallback = defaultFallback,
|
|
33
|
+
private fallback: TranslationFallback = defaultFallback,
|
|
34
34
|
) {
|
|
35
35
|
this.messages = flattenTranslations(messages);
|
|
36
36
|
}
|
|
@@ -65,7 +65,7 @@ export class Localizer implements Localizable {
|
|
|
65
65
|
const message = this.translateMessage(this.messages, key, variables);
|
|
66
66
|
|
|
67
67
|
if (message === undefined) {
|
|
68
|
-
return this.fallback(key, this.language);
|
|
68
|
+
return this.fallback(key, this.language, this.messages, variables);
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
return message;
|
package/src/types.ts
CHANGED
|
@@ -63,6 +63,10 @@ declare module 'piral-core/lib/types/custom' {
|
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
+
export interface TranslationFallback {
|
|
67
|
+
(key: string, language: string, messages: LocalizationMessages, variables: any): string;
|
|
68
|
+
}
|
|
69
|
+
|
|
66
70
|
export interface PiralSelectLanguageEvent {
|
|
67
71
|
/**
|
|
68
72
|
* Gets the previously selected language.
|