piral-translate 1.5.6-beta.7114 → 1.6.0-beta.7142

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 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;AAoC7D;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,SAAuB,EAAE;IACtD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IACnC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IACzC,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC;IACpC,MAAM,QAAQ,GAAG,OAAO,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IAC7G,MAAM,QAAQ,GAAG,QAAQ,IAAI,WAAW,CAAC;IACzC,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;AACnG,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,YAAyB,cAAc,EAAE;IACvE,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;QAEhD,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC3B,GAAG,KAAK;YACR,UAAU,EAAE;gBACV,eAAe,EAAE,aAAa;gBAC9B,GAAG,KAAK,CAAC,UAAU;aACpB;YACD,QAAQ,EAAE;gBACR,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,SAAS,CAAC,SAAS;gBAC9B,QAAQ,EAAE,SAAS,CAAC,QAAQ;aAC7B;SACF,CAAC,CAAC,CAAC;QAEJ,OAAO,CAAC,GAAG,EAAE,EAAE;YACb,IAAI,iBAAiB,GAAyB,EAAE,CAAC;YAEjD,MAAM,eAAe,GAAG,CAAC,QAAiC,EAAE,EAAE;gBAC5D,iBAAiB,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YACpD,CAAC,CAAC;YAEF,OAAO;gBACL,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;oBAC3C,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC;oBACnC,eAAe,CACb,SAAS,CAAC,GAAG,CAA0B,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,CACvG,CAAC;gBACJ,CAAC;gBACD,kBAAkB,CAAC,EAAwB;oBACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAE/D,IAAI,EAAE,EAAE;wBACN,EAAE,CAAC,QAAQ,CAAC,CAAC;wBACb,MAAM,OAAO,GAAG,CAAC,EAA4B,EAAE,EAAE;4BAC/C,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;wBACzB,CAAC,CAAC;wBACF,GAAG,CAAC,EAAE,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;wBACnC,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;qBAClD;oBAED,OAAO,QAAQ,CAAC;gBAClB,CAAC;gBACD,eAAe;gBACf,eAAe;oBACb,OAAO,iBAAiB,CAAC;gBAC3B,CAAC;gBACD,SAAS,CAAC,GAAG,EAAE,SAAS;oBACtB,OAAO,SAAS,CAAC,aAAa,CAAC,iBAAiB,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;gBACpE,CAAC;aACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,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?: typeof defaultFallback);
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
  }
@@ -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,WAAW,eAAe;QAF3B,aAAQ,GAAR,QAAQ,CAAQ;QAChB,cAAS,GAAT,SAAS,CAAe;QACvB,aAAQ,GAAR,QAAQ,CAAkB;QAElC,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,CAAC,CAAC;SAC1C;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"}
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;AAoC7D;;;GAGG;AACH,SAAgB,cAAc,CAAC,SAAuB,EAAE;IACtD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IACnC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IACzC,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC;IACpC,MAAM,QAAQ,GAAG,OAAO,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IAC7G,MAAM,QAAQ,GAAG,QAAQ,IAAI,WAAW,CAAC;IACzC,OAAO,IAAI,oBAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;AACnG,CAAC;AARD,wCAQC;AAED;;;GAGG;AACH,SAAgB,eAAe,CAAC,YAAyB,cAAc,EAAE;IACvE,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,OAAO,CAAC,aAAa,CAAC,IAAA,uBAAa,EAAC,SAAS,CAAC,CAAC,CAAC;QAEhD,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC3B,GAAG,KAAK;YACR,UAAU,EAAE;gBACV,eAAe,EAAE,uBAAa;gBAC9B,GAAG,KAAK,CAAC,UAAU;aACpB;YACD,QAAQ,EAAE;gBACR,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,SAAS,CAAC,SAAS;gBAC9B,QAAQ,EAAE,SAAS,CAAC,QAAQ;aAC7B;SACF,CAAC,CAAC,CAAC;QAEJ,OAAO,CAAC,GAAG,EAAE,EAAE;YACb,IAAI,iBAAiB,GAAyB,EAAE,CAAC;YAEjD,MAAM,eAAe,GAAG,CAAC,QAAiC,EAAE,EAAE;gBAC5D,iBAAiB,GAAG,IAAA,0CAAmB,EAAC,QAAQ,CAAC,CAAC;YACpD,CAAC,CAAC;YAEF,OAAO;gBACL,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;oBAC3C,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC;oBACnC,eAAe,CACb,SAAS,CAAC,GAAG,CAA0B,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,CACvG,CAAC;gBACJ,CAAC;gBACD,kBAAkB,CAAC,EAAwB;oBACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAE/D,IAAI,EAAE,EAAE;wBACN,EAAE,CAAC,QAAQ,CAAC,CAAC;wBACb,MAAM,OAAO,GAAG,CAAC,EAA4B,EAAE,EAAE;4BAC/C,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;wBACzB,CAAC,CAAC;wBACF,GAAG,CAAC,EAAE,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;wBACnC,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;qBAClD;oBAED,OAAO,QAAQ,CAAC;gBAClB,CAAC;gBACD,eAAe;gBACf,eAAe;oBACb,OAAO,iBAAiB,CAAC;gBAC3B,CAAC;gBACD,SAAS,CAAC,GAAG,EAAE,SAAS;oBACtB,OAAO,SAAS,CAAC,aAAa,CAAC,iBAAiB,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;gBACpE,CAAC;aACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAvDD,0CAuDC"}
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?: typeof defaultFallback);
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
  }
@@ -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,WAAW,eAAe;QAF3B,aAAQ,GAAR,QAAQ,CAAQ;QAChB,cAAS,GAAT,SAAS,CAAe;QACvB,aAAQ,GAAR,QAAQ,CAAkB;QAElC,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,CAAC,CAAC;SAC1C;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"}
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.5.6-beta.7114",
3
+ "version": "1.6.0-beta.7142",
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": "1.5.6-beta.7114",
71
+ "piral-core": "1.6.0-beta.7142",
72
72
  "react": "^18.0.0"
73
73
  },
74
- "gitHead": "aa8dcfe0f2f197ced33f525ee86bbf041f5e280f"
74
+ "gitHead": "525efcc3dee8b4c649872008987efe9443c713bb"
75
75
  }
@@ -1 +1 @@
1
- var piralTranslate=(()=>{var R=Object.create;var p=Object.defineProperty;var G=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var $=Object.getPrototypeOf,I=Object.prototype.hasOwnProperty;var j=e=>p(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 F=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),U=(e,t)=>{j(e);for(var r in t)p(e,r,{get:t[r],enumerable:!0})},D=(e,t,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of N(t))!I.call(e,n)&&n!=="default"&&p(e,n,{get:()=>t[n],enumerable:!(r=G(t,n))||r.enumerable});return e},l=e=>D(j(p(e!=null?R($(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var h=F((me,z)=>{"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(n){return u(n,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 n={};return r.isMergeableObject(e)&&x(e).forEach(function(a){n[a]=u(e[a],r)}),x(t).forEach(function(a){X(e,a)||(A(e,a)&&r.isMergeableObject(t[a])?n[a]=Q(a,r)(e[a],t[a],r):n[a]=u(t[a],r))}),n}function g(e,t,r){r=r||{},r.arrayMerge=r.arrayMerge||J,r.isMergeableObject=r.isMergeableObject||B,r.cloneUnlessOtherwiseSpecified=u;var n=Array.isArray(t),a=Array.isArray(e),s=n===a;return s?n?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(n,a){return g(n,a,r)},{})};var te=g;z.exports=te});var ue={};U(ue,{Languages:()=>ge,PiralLanguagesPicker:()=>M,createLocaleApi:()=>se,getUserLocale:()=>ie,setupLocalizer:()=>_,useDynamicLanguage:()=>le,useTranslate:()=>ce});var O=l(c("piral-core")),M=(0,O.getPiralComponent)("LanguagesPicker");var C=l(h());function P(e){return{selectLanguage(t,r){t.dispatch(n=>{e.language=r;let a=n.language.selected,s=r;return setTimeout(()=>{t.emit("select-language",{previousLanguage:a,currentLanguage:s})},0),{...n,language:{...n.language,loading:r===void 0,selected:r}}})},translate(t,r,n){return e&&e.localizeGlobal(r,n)},setTranslations(t,r,n){e.messages[r]=n.global;for(let a of n.locals){let s=t.apis[a.name];if(s){let o=s.getTranslations();o[r]=a.value,s.setTranslations(o)}}},getTranslations(t,r){return{global:e.messages[r],locals:Object.keys(t.apis).map(n=>({name:n,value:t.apis[n].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(n=>{S(e[n],t,r?`${r}.${n}`:n)});return}}function m(e){return Object.fromEntries(Object.entries(e).map(([t,r])=>[t,re(r)]))}function ne(e,t){return t?"...":""}function ae(e,t){return e.replace(/{{\s*([A-Za-z0-9_.]+)\s*}}/g,(r,n)=>n in t?t[n]??"":`{{${n}}}`)}var T=class{constructor(t,r,n,a=ne){this.language=r;this.languages=n;this.fallback=a;this.messages=m(t)}localizeGlobal(t,r){return this.localizeBase(t,r)}localizeLocal(t,r,n){let a=this.translateMessage(t,r,n);return a===void 0?this.localizeBase(r,n):a}localizeBase(t,r){let n=this.translateMessage(this.messages,t,r);return n===void 0?this.fallback(t,this.language):n}translateMessage(t,r,n){let a=this.language,s=a&&t[a],o=s&&s[r];return o&&(n?ae(o,n):o)}};var v=l(c("piral-core")),E=e=>(0,v.defaultRender)(void 0);function _(e={}){let t=e.messages||{},r=Object.keys(t),n=r[0]||"en",a=e.language,o=(typeof a=="function"?a(r,n,"en"):a)||n;return new T(t,o,r.length?r:[o],e.fallback)}function se(e=_()){return t=>(t.defineActions(P(e)),t.dispatch(r=>({...r,components:{LanguagesPicker:E,...r.components},language:{loading:!1,available:e.languages,selected:e.language}})),r=>{let n={},a=s=>{n=m(s)};return{addTranslations(s,o=!0){let i=e.messages;a(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:a,getTranslations(){return n},translate(s,o){return e.localizeLocal(n,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 n=oe(t,r||"");return e.indexOf(n)!==-1?n:t}var d=l(c("react")),f=l(c("piral-core"));function le(e,t){let[r,n]=(0,d.useState)(e),{selectLanguage:a,setTranslations:s,getTranslations:o}=(0,f.useActions)();return(0,d.useEffect)(()=>{let i=!0,L=o(r);return a(void 0),t(r,L).then(y=>{i&&(s(r,y),a(r))},y=>console.error(y)),()=>{i=!1}},[r]),[r,n]}function ce(){let{translate:e}=(0,f.useActions)();return(0,f.useGlobalState)(t=>t.language.selected),e}var k=l(c("react")),w=l(c("piral-core"));var ge=()=>{let{available:e,selected:t}=(0,w.useGlobalState)(r=>r.language);return k.createElement(M,{selected:t,available:e})};return ue;})();
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.