@nice2dev/i18n 1.0.30 → 1.1.5

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.d.ts CHANGED
@@ -13,7 +13,7 @@
13
13
  */
14
14
 
15
15
  import { default as default_2 } from 'react';
16
- import { JSX as JSX_2 } from 'react';
16
+ import { JSX } from 'react';
17
17
  import { ReactNode } from 'react';
18
18
 
19
19
  /**
@@ -227,7 +227,7 @@ export declare interface DynamicI18nContextValue {
227
227
  /**
228
228
  * Provider for dynamic i18n loading in React apps.
229
229
  */
230
- export declare function DynamicI18nProvider({ children, loader, initialLanguage, namespace, }: DynamicI18nProviderProps): JSX_2.Element;
230
+ export declare function DynamicI18nProvider({ children, loader, initialLanguage, namespace, }: DynamicI18nProviderProps): JSX.Element;
231
231
 
232
232
  export declare interface DynamicI18nProviderProps {
233
233
  children: ReactNode;
@@ -794,7 +794,7 @@ export declare interface PseudoLocalizationOptions {
794
794
  * Provider for pseudo-localization in React apps.
795
795
  * Useful for development/testing.
796
796
  */
797
- export declare function PseudoLocalizationProvider({ children, initialEnabled, initialMode, }: PseudoLocalizationProviderProps): JSX_2.Element;
797
+ export declare function PseudoLocalizationProvider({ children, initialEnabled, initialMode, }: PseudoLocalizationProviderProps): JSX.Element;
798
798
 
799
799
  export declare interface PseudoLocalizationProviderProps {
800
800
  children: ReactNode;
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { jsx as O } from "react/jsx-runtime";
2
- import { useMemo as f, useContext as B, createContext as I, useEffect as L, useState as x, useCallback as ee } from "react";
2
+ import { useMemo as v, useContext as B, createContext as I, useEffect as L, useState as x, useCallback as ee } from "react";
3
3
  const T = [
4
4
  "en",
5
5
  "pl",
@@ -41,6 +41,10 @@ const T = [
41
41
  "ms"
42
42
  // Malay
43
43
  ], ke = {
44
+ "daterange.endBeforeStart": "End date must be on or after the start date",
45
+ "daterange.endAfterStart": "End date must be after the start date",
46
+ "daterange.startInPast": "Start date cannot be in the past",
47
+ "daterange.startAfterToday": "Start date must be after today",
44
48
  "signature.placeholder": "Sign here",
45
49
  "controls.now": "Now",
46
50
  "controls.clear": "Clear",
@@ -1275,6 +1279,10 @@ const T = [
1275
1279
  "vectorEditor.layers.lock": "Lock",
1276
1280
  "vectorEditor.layers.unlock": "Unlock"
1277
1281
  }, ye = {
1282
+ "daterange.endBeforeStart": "Data końcowa musi być taka sama lub późniejsza niż początkowa",
1283
+ "daterange.endAfterStart": "Data końcowa musi być późniejsza niż początkowa",
1284
+ "daterange.startInPast": "Data początkowa nie może być w przeszłości",
1285
+ "daterange.startAfterToday": "Data początkowa musi być późniejsza niż dziś",
1278
1286
  "signature.placeholder": "Podpisz tutaj",
1279
1287
  "controls.now": "Teraz",
1280
1288
  "controls.clear": "Wyczyść",
@@ -2470,6 +2478,10 @@ const T = [
2470
2478
  "vectorEditor.layers.lock": "Zablokuj",
2471
2479
  "vectorEditor.layers.unlock": "Odblokuj"
2472
2480
  }, ze = {
2481
+ "daterange.endBeforeStart": "Das Enddatum muss am oder nach dem Startdatum liegen",
2482
+ "daterange.endAfterStart": "Das Enddatum muss nach dem Startdatum liegen",
2483
+ "daterange.startInPast": "Das Startdatum darf nicht in der Vergangenheit liegen",
2484
+ "daterange.startAfterToday": "Das Startdatum muss nach heute liegen",
2473
2485
  "signature.placeholder": "Hier unterschreiben",
2474
2486
  "controls.now": "Jetzt",
2475
2487
  "controls.clear": "Löschen",
@@ -3659,6 +3671,10 @@ const T = [
3659
3671
  "tutorial.dmxEditor.intro.content": "Wählen Sie das FTDI-Gerät und den Port und stellen Sie dann den Wert jedes DMX-Kanals mit den Reglern ein, um Ihre Lichtgeräte live zu steuern.",
3660
3672
  "sidebar.prefs.order.visibilityHint": "Die Reihenfolge gilt für die obersten Einträge innerhalb jeder Quellgruppe. Klappen Sie einen Quell-Header zu, um beim Überprüfen der Änderung nur die obersten Einträge zu sehen."
3661
3673
  }, Se = {
3674
+ "daterange.endBeforeStart": "La date de fin doit être identique ou postérieure à la date de début",
3675
+ "daterange.endAfterStart": "La date de fin doit être postérieure à la date de début",
3676
+ "daterange.startInPast": "La date de début ne peut pas être dans le passé",
3677
+ "daterange.startAfterToday": "La date de début doit être postérieure à la date du jour",
3662
3678
  "signature.placeholder": "Signez ici",
3663
3679
  "controls.now": "Maintenant",
3664
3680
  "controls.clear": "Effacer",
@@ -4848,6 +4864,10 @@ const T = [
4848
4864
  "tutorial.dmxEditor.intro.content": "Choisissez le périphérique FTDI et le port, puis réglez la valeur de chaque canal DMX avec les curseurs pour piloter vos projecteurs en direct.",
4849
4865
  "sidebar.prefs.order.visibilityHint": "L’ordre s’applique aux éléments de premier niveau dans chaque groupe de source. Repliez un en-tête de source pour ne voir que les entrées de premier niveau lors de la vérification."
4850
4866
  }, Ce = {
4867
+ "daterange.endBeforeStart": "La fecha de fin debe ser igual o posterior a la de inicio",
4868
+ "daterange.endAfterStart": "La fecha de fin debe ser posterior a la de inicio",
4869
+ "daterange.startInPast": "La fecha de inicio no puede estar en el pasado",
4870
+ "daterange.startAfterToday": "La fecha de inicio debe ser posterior a hoy",
4851
4871
  "signature.placeholder": "Firme aquí",
4852
4872
  "controls.now": "Ahora",
4853
4873
  "controls.clear": "Borrar",
@@ -6035,6 +6055,10 @@ const T = [
6035
6055
  "vectorEditor.layers.lock": "Bloquear",
6036
6056
  "vectorEditor.layers.unlock": "Desbloquear"
6037
6057
  }, De = {
6058
+ "daterange.endBeforeStart": "End date must be on or after the start date",
6059
+ "daterange.endAfterStart": "End date must be after the start date",
6060
+ "daterange.startInPast": "Start date cannot be in the past",
6061
+ "daterange.startAfterToday": "Start date must be after today",
6038
6062
  "controls.now": "Adesso",
6039
6063
  "controls.clear": "Cancella",
6040
6064
  "controls.today": "Oggi",
@@ -6324,6 +6348,10 @@ const T = [
6324
6348
  "tutorial.dmxEditor.intro.title": "Editor DMX",
6325
6349
  "tutorial.dmxEditor.intro.content": "Scegli il dispositivo FTDI e la porta, poi imposta il valore di ogni canale DMX con i cursori per controllare dal vivo i tuoi fari."
6326
6350
  }, je = {
6351
+ "daterange.endBeforeStart": "End date must be on or after the start date",
6352
+ "daterange.endAfterStart": "End date must be after the start date",
6353
+ "daterange.startInPast": "Start date cannot be in the past",
6354
+ "daterange.startAfterToday": "Start date must be after today",
6327
6355
  "controls.now": "Agora",
6328
6356
  "controls.clear": "Limpar",
6329
6357
  "controls.today": "Hoje",
@@ -6691,6 +6719,10 @@ const T = [
6691
6719
  "wm.newWindow": "Nova janela",
6692
6720
  "wm.moveToFront": "Trazer para frente"
6693
6721
  }, Ae = {
6722
+ "daterange.endBeforeStart": "End date must be on or after the start date",
6723
+ "daterange.endAfterStart": "End date must be after the start date",
6724
+ "daterange.startInPast": "Start date cannot be in the past",
6725
+ "daterange.startAfterToday": "Start date must be after today",
6694
6726
  "controls.now": "Nu",
6695
6727
  "controls.clear": "Wissen",
6696
6728
  "controls.today": "Vandaag",
@@ -6780,6 +6812,10 @@ const T = [
6780
6812
  "lang.zh": "Chinees",
6781
6813
  "lang.ar": "Arabisch"
6782
6814
  }, Pe = {
6815
+ "daterange.endBeforeStart": "End date must be on or after the start date",
6816
+ "daterange.endAfterStart": "End date must be after the start date",
6817
+ "daterange.startInPast": "Start date cannot be in the past",
6818
+ "daterange.startAfterToday": "Start date must be after today",
6783
6819
  "controls.now": "Nu",
6784
6820
  "controls.clear": "Rensa",
6785
6821
  "controls.today": "Idag",
@@ -6854,6 +6890,10 @@ const T = [
6854
6890
  "lang.zh": "Kinesiska",
6855
6891
  "lang.ar": "Arabiska"
6856
6892
  }, xe = {
6893
+ "daterange.endBeforeStart": "End date must be on or after the start date",
6894
+ "daterange.endAfterStart": "End date must be after the start date",
6895
+ "daterange.startInPast": "Start date cannot be in the past",
6896
+ "daterange.startAfterToday": "Start date must be after today",
6857
6897
  "controls.now": "Nå",
6858
6898
  "controls.clear": "Tøm",
6859
6899
  "controls.today": "I dag",
@@ -6921,6 +6961,10 @@ const T = [
6921
6961
  "lang.zh": "Kinesisk",
6922
6962
  "lang.ar": "Arabisk"
6923
6963
  }, Te = {
6964
+ "daterange.endBeforeStart": "End date must be on or after the start date",
6965
+ "daterange.endAfterStart": "End date must be after the start date",
6966
+ "daterange.startInPast": "Start date cannot be in the past",
6967
+ "daterange.startAfterToday": "Start date must be after today",
6924
6968
  "controls.now": "Nu",
6925
6969
  "controls.clear": "Ryd",
6926
6970
  "controls.today": "I dag",
@@ -6988,6 +7032,10 @@ const T = [
6988
7032
  "lang.zh": "Kinesisk",
6989
7033
  "lang.ar": "Arabisk"
6990
7034
  }, Be = {
7035
+ "daterange.endBeforeStart": "End date must be on or after the start date",
7036
+ "daterange.endAfterStart": "End date must be after the start date",
7037
+ "daterange.startInPast": "Start date cannot be in the past",
7038
+ "daterange.startAfterToday": "Start date must be after today",
6991
7039
  "controls.now": "Nyt",
6992
7040
  "controls.clear": "Tyhjennä",
6993
7041
  "controls.today": "Tänään",
@@ -7055,6 +7103,10 @@ const T = [
7055
7103
  "lang.zh": "Kiina",
7056
7104
  "lang.ar": "Arabia"
7057
7105
  }, Ne = {
7106
+ "daterange.endBeforeStart": "End date must be on or after the start date",
7107
+ "daterange.endAfterStart": "End date must be after the start date",
7108
+ "daterange.startInPast": "Start date cannot be in the past",
7109
+ "daterange.startAfterToday": "Start date must be after today",
7058
7110
  "controls.now": "Nyní",
7059
7111
  "controls.clear": "Vymazat",
7060
7112
  "controls.today": "Dnes",
@@ -7422,6 +7474,10 @@ const T = [
7422
7474
  "wm.newWindow": "Nové okno",
7423
7475
  "wm.moveToFront": "Přenést dopředu"
7424
7476
  }, Me = {
7477
+ "daterange.endBeforeStart": "End date must be on or after the start date",
7478
+ "daterange.endAfterStart": "End date must be after the start date",
7479
+ "daterange.startInPast": "Start date cannot be in the past",
7480
+ "daterange.startAfterToday": "Start date must be after today",
7425
7481
  "controls.now": "Teraz",
7426
7482
  "controls.clear": "Vymazať",
7427
7483
  "controls.today": "Dnes",
@@ -7489,6 +7545,10 @@ const T = [
7489
7545
  "lang.zh": "Čínština",
7490
7546
  "lang.ar": "Arabčina"
7491
7547
  }, Fe = {
7548
+ "daterange.endBeforeStart": "End date must be on or after the start date",
7549
+ "daterange.endAfterStart": "End date must be after the start date",
7550
+ "daterange.startInPast": "Start date cannot be in the past",
7551
+ "daterange.startAfterToday": "Start date must be after today",
7492
7552
  "controls.now": "Most",
7493
7553
  "controls.clear": "Törlés",
7494
7554
  "controls.today": "Ma",
@@ -7556,6 +7616,10 @@ const T = [
7556
7616
  "lang.zh": "Kínai",
7557
7617
  "lang.ar": "Arab"
7558
7618
  }, Re = {
7619
+ "daterange.endBeforeStart": "End date must be on or after the start date",
7620
+ "daterange.endAfterStart": "End date must be after the start date",
7621
+ "daterange.startInPast": "Start date cannot be in the past",
7622
+ "daterange.startAfterToday": "Start date must be after today",
7559
7623
  "controls.now": "Acum",
7560
7624
  "controls.clear": "Șterge",
7561
7625
  "controls.today": "Astăzi",
@@ -7615,6 +7679,10 @@ const T = [
7615
7679
  "lang.zh": "Chineză",
7616
7680
  "lang.ar": "Arabă"
7617
7681
  }, Le = {
7682
+ "daterange.endBeforeStart": "End date must be on or after the start date",
7683
+ "daterange.endAfterStart": "End date must be after the start date",
7684
+ "daterange.startInPast": "Start date cannot be in the past",
7685
+ "daterange.startAfterToday": "Start date must be after today",
7618
7686
  "controls.now": "Сега",
7619
7687
  "controls.clear": "Изчисти",
7620
7688
  "controls.today": "Днес",
@@ -7674,6 +7742,10 @@ const T = [
7674
7742
  "lang.zh": "Китайски",
7675
7743
  "lang.ar": "Арабски"
7676
7744
  }, Oe = {
7745
+ "daterange.endBeforeStart": "Кінцева дата має бути такою ж або пізнішою за початкову",
7746
+ "daterange.endAfterStart": "Кінцева дата має бути пізнішою за початкову",
7747
+ "daterange.startInPast": "Початкова дата не може бути в минулому",
7748
+ "daterange.startAfterToday": "Початкова дата має бути пізнішою за сьогодні",
7677
7749
  "signature.placeholder": "Підпишіть тут",
7678
7750
  "controls.now": "Зараз",
7679
7751
  "controls.clear": "Очистити",
@@ -8861,6 +8933,10 @@ const T = [
8861
8933
  "vectorEditor.layers.lock": "Заблокувати",
8862
8934
  "vectorEditor.layers.unlock": "Розблокувати"
8863
8935
  }, Ie = {
8936
+ "daterange.endBeforeStart": "End date must be on or after the start date",
8937
+ "daterange.endAfterStart": "End date must be after the start date",
8938
+ "daterange.startInPast": "Start date cannot be in the past",
8939
+ "daterange.startAfterToday": "Start date must be after today",
8864
8940
  "controls.now": "現在",
8865
8941
  "controls.clear": "クリア",
8866
8942
  "controls.today": "今日",
@@ -9228,6 +9304,10 @@ const T = [
9228
9304
  "wm.newWindow": "新しいウィンドウ",
9229
9305
  "wm.moveToFront": "最前面に移動"
9230
9306
  }, He = {
9307
+ "daterange.endBeforeStart": "End date must be on or after the start date",
9308
+ "daterange.endAfterStart": "End date must be after the start date",
9309
+ "daterange.startInPast": "Start date cannot be in the past",
9310
+ "daterange.startAfterToday": "Start date must be after today",
9231
9311
  "controls.now": "지금",
9232
9312
  "controls.clear": "지우기",
9233
9313
  "controls.today": "오늘",
@@ -9595,6 +9675,10 @@ const T = [
9595
9675
  "wm.newWindow": "새 창",
9596
9676
  "wm.moveToFront": "맨 앞으로"
9597
9677
  }, Ve = {
9678
+ "daterange.endBeforeStart": "End date must be on or after the start date",
9679
+ "daterange.endAfterStart": "End date must be after the start date",
9680
+ "daterange.startInPast": "Start date cannot be in the past",
9681
+ "daterange.startAfterToday": "Start date must be after today",
9598
9682
  "controls.now": "现在",
9599
9683
  "controls.clear": "清除",
9600
9684
  "controls.today": "今天",
@@ -9962,6 +10046,10 @@ const T = [
9962
10046
  "wm.newWindow": "新建窗口",
9963
10047
  "wm.moveToFront": "置于最前"
9964
10048
  }, qe = {
10049
+ "daterange.endBeforeStart": "End date must be on or after the start date",
10050
+ "daterange.endAfterStart": "End date must be after the start date",
10051
+ "daterange.startInPast": "Start date cannot be in the past",
10052
+ "daterange.startAfterToday": "Start date must be after today",
9965
10053
  "controls.now": "الآن",
9966
10054
  "controls.clear": "مسح",
9967
10055
  "controls.today": "اليوم",
@@ -10329,6 +10417,10 @@ const T = [
10329
10417
  "wm.newWindow": "نافذة جديدة",
10330
10418
  "wm.moveToFront": "نقل إلى الأمام"
10331
10419
  }, We = {
10420
+ "daterange.endBeforeStart": "End date must be on or after the start date",
10421
+ "daterange.endAfterStart": "End date must be after the start date",
10422
+ "daterange.startInPast": "Start date cannot be in the past",
10423
+ "daterange.startAfterToday": "Start date must be after today",
10332
10424
  "controls.now": "अभी",
10333
10425
  "controls.clear": "साफ़ करें",
10334
10426
  "controls.today": "आज",
@@ -10344,6 +10436,10 @@ const T = [
10344
10436
  success: "सफलता",
10345
10437
  search: "खोजें"
10346
10438
  }, Ke = {
10439
+ "daterange.endBeforeStart": "End date must be on or after the start date",
10440
+ "daterange.endAfterStart": "End date must be after the start date",
10441
+ "daterange.startInPast": "Start date cannot be in the past",
10442
+ "daterange.startAfterToday": "Start date must be after today",
10347
10443
  "controls.now": "এখন",
10348
10444
  "controls.clear": "সাফ করুন",
10349
10445
  "controls.today": "আজ",
@@ -10359,6 +10455,10 @@ const T = [
10359
10455
  success: "সফল",
10360
10456
  search: "অনুসন্ধান"
10361
10457
  }, Ue = {
10458
+ "daterange.endBeforeStart": "End date must be on or after the start date",
10459
+ "daterange.endAfterStart": "End date must be after the start date",
10460
+ "daterange.startInPast": "Start date cannot be in the past",
10461
+ "daterange.startAfterToday": "Start date must be after today",
10362
10462
  "controls.now": "ตอนนี้",
10363
10463
  "controls.clear": "ล้าง",
10364
10464
  "controls.today": "วันนี้",
@@ -10374,6 +10474,10 @@ const T = [
10374
10474
  success: "สำเร็จ",
10375
10475
  search: "ค้นหา"
10376
10476
  }, Ze = {
10477
+ "daterange.endBeforeStart": "End date must be on or after the start date",
10478
+ "daterange.endAfterStart": "End date must be after the start date",
10479
+ "daterange.startInPast": "Start date cannot be in the past",
10480
+ "daterange.startAfterToday": "Start date must be after today",
10377
10481
  "controls.now": "Bây giờ",
10378
10482
  "controls.clear": "Xóa",
10379
10483
  "controls.today": "Hôm nay",
@@ -10389,6 +10493,10 @@ const T = [
10389
10493
  success: "Thành công",
10390
10494
  search: "Tìm kiếm"
10391
10495
  }, Ge = {
10496
+ "daterange.endBeforeStart": "End date must be on or after the start date",
10497
+ "daterange.endAfterStart": "End date must be after the start date",
10498
+ "daterange.startInPast": "Start date cannot be in the past",
10499
+ "daterange.startAfterToday": "Start date must be after today",
10392
10500
  "controls.now": "Sekarang",
10393
10501
  "controls.clear": "Hapus",
10394
10502
  "controls.today": "Hari ini",
@@ -10404,6 +10512,10 @@ const T = [
10404
10512
  success: "Berhasil",
10405
10513
  search: "Cari"
10406
10514
  }, Je = {
10515
+ "daterange.endBeforeStart": "End date must be on or after the start date",
10516
+ "daterange.endAfterStart": "End date must be after the start date",
10517
+ "daterange.startInPast": "Start date cannot be in the past",
10518
+ "daterange.startAfterToday": "Start date must be after today",
10407
10519
  "controls.now": "Sasa",
10408
10520
  "controls.clear": "Futa",
10409
10521
  "controls.today": "Leo",
@@ -10434,6 +10546,10 @@ const T = [
10434
10546
  success: "Tagumpay",
10435
10547
  search: "Maghanap"
10436
10548
  }, Ye = {
10549
+ "daterange.endBeforeStart": "End date must be on or after the start date",
10550
+ "daterange.endAfterStart": "End date must be after the start date",
10551
+ "daterange.startInPast": "Start date cannot be in the past",
10552
+ "daterange.startAfterToday": "Start date must be after today",
10437
10553
  "controls.now": "Sekarang",
10438
10554
  "controls.clear": "Kosongkan",
10439
10555
  "controls.today": "Hari ini",
@@ -10541,7 +10657,7 @@ const Qe = (e, t) => t, te = I(Qe), Zt = ({
10541
10657
  overrides: i,
10542
10658
  children: o
10543
10659
  }) => {
10544
- const r = f(() => {
10660
+ const r = v(() => {
10545
10661
  if (e)
10546
10662
  return e;
10547
10663
  const a = E[t] ?? E.en, n = i ? { ...a, ...i } : a;
@@ -10901,7 +11017,7 @@ const Z = I({
10901
11017
  L(() => {
10902
11018
  t && st(e);
10903
11019
  }, [e, t]);
10904
- const a = f(
11020
+ const a = v(
10905
11021
  () => ({
10906
11022
  dir: r,
10907
11023
  isRTL: o,
@@ -11064,7 +11180,7 @@ function ht(e, t = "medium") {
11064
11180
  };
11065
11181
  }
11066
11182
  function po(e, t = "medium") {
11067
- return f(() => ht(e, t), [e, t]);
11183
+ return v(() => ht(e, t), [e, t]);
11068
11184
  }
11069
11185
  function wt(e, t = "short") {
11070
11186
  const i = D(e), o = new Intl.DateTimeFormat(i, { timeStyle: t });
@@ -11073,9 +11189,9 @@ function wt(e, t = "short") {
11073
11189
  };
11074
11190
  }
11075
11191
  function mo(e, t = "short") {
11076
- return f(() => wt(e, t), [e, t]);
11192
+ return v(() => wt(e, t), [e, t]);
11077
11193
  }
11078
- function vt(e) {
11194
+ function ft(e) {
11079
11195
  const t = D(e);
11080
11196
  return {
11081
11197
  format: (i) => new Intl.NumberFormat(t).format(i),
@@ -11084,16 +11200,16 @@ function vt(e) {
11084
11200
  };
11085
11201
  }
11086
11202
  function go(e) {
11087
- return f(() => vt(e), [e]);
11203
+ return v(() => ft(e), [e]);
11088
11204
  }
11089
- function ft(e, t = "USD") {
11205
+ function vt(e, t = "USD") {
11090
11206
  const i = D(e), o = new Intl.NumberFormat(i, { style: "currency", currency: t });
11091
11207
  return {
11092
11208
  format: (r) => o.format(r)
11093
11209
  };
11094
11210
  }
11095
11211
  function ho(e, t = "USD") {
11096
- return f(() => ft(e, t), [e, t]);
11212
+ return v(() => vt(e, t), [e, t]);
11097
11213
  }
11098
11214
  function Et(e, t) {
11099
11215
  const i = Date.now(), o = e.getTime() - i, r = Math.abs(o), a = new Intl.RelativeTimeFormat(t, { numeric: "auto" });
@@ -11267,13 +11383,13 @@ function wo(e, t, i = 0.8) {
11267
11383
  }
11268
11384
  return n;
11269
11385
  }
11270
- function vo(e) {
11386
+ function fo(e) {
11271
11387
  return ae.filter((t) => t.translations[e] != null).map((t) => ({
11272
11388
  en: t.en,
11273
11389
  translation: t.translations[e]
11274
11390
  }));
11275
11391
  }
11276
- function fo(e) {
11392
+ function vo(e) {
11277
11393
  const t = E[e], i = E.en, o = [];
11278
11394
  for (const [r, a] of Object.entries(i)) {
11279
11395
  const n = bt(a, e), s = t[r];
@@ -11381,7 +11497,7 @@ function N(e, t = "en", i = /* @__PURE__ */ new Date()) {
11381
11497
  }), a = new Intl.DateTimeFormat(o, {
11382
11498
  timeZone: e,
11383
11499
  timeZoneName: "short"
11384
- }), n = r.formatToParts(i), s = a.formatToParts(i), l = ((b = n.find((A) => A.type === "timeZoneName")) == null ? void 0 : b.value) || e, d = ((M = s.find((A) => A.type === "timeZoneName")) == null ? void 0 : M.value) || e, u = new Date(i.toLocaleString("en-US", { timeZone: "UTC" })), w = new Date(i.toLocaleString("en-US", { timeZone: e })), p = Math.round((w.getTime() - u.getTime()) / 6e4), m = new Date(i.getFullYear(), 0, 1), v = new Date(i.getFullYear(), 6, 1), g = K(e, m), y = K(e, v), z = K(e, i), k = Math.min(g, y), j = z !== k && g !== y;
11500
+ }), n = r.formatToParts(i), s = a.formatToParts(i), l = ((b = n.find((A) => A.type === "timeZoneName")) == null ? void 0 : b.value) || e, d = ((M = s.find((A) => A.type === "timeZoneName")) == null ? void 0 : M.value) || e, u = new Date(i.toLocaleString("en-US", { timeZone: "UTC" })), w = new Date(i.toLocaleString("en-US", { timeZone: e })), p = Math.round((w.getTime() - u.getTime()) / 6e4), m = new Date(i.getFullYear(), 0, 1), f = new Date(i.getFullYear(), 6, 1), g = K(e, m), y = K(e, f), z = K(e, i), k = Math.min(g, y), j = z !== k && g !== y;
11385
11501
  return {
11386
11502
  id: e,
11387
11503
  displayName: l,
@@ -11456,7 +11572,7 @@ function yo(e, t = /* @__PURE__ */ new Date()) {
11456
11572
  return null;
11457
11573
  }
11458
11574
  function zo(e, t, i) {
11459
- const [o] = x(() => G()), r = t || o, a = f(() => St(e, r, i), [e, r, i]), n = f(() => N(r, e), [r, e]);
11575
+ const [o] = x(() => G()), r = t || o, a = v(() => St(e, r, i), [e, r, i]), n = v(() => N(r, e), [r, e]);
11460
11576
  return {
11461
11577
  timezone: r,
11462
11578
  info: n,
@@ -11660,16 +11776,16 @@ function de(e, t = "gregory", i = {}) {
11660
11776
  formatWithEra: (m) => u.format(m),
11661
11777
  getMonthName: (m) => w.format(m),
11662
11778
  getMonthNames: () => {
11663
- const m = [], v = new Date(2024, 0, 15);
11779
+ const m = [], f = new Date(2024, 0, 15);
11664
11780
  for (let g = 0; g < 12; g++)
11665
- v.setMonth(g), m.push(w.format(v));
11781
+ f.setMonth(g), m.push(w.format(f));
11666
11782
  return m;
11667
11783
  },
11668
11784
  getWeekdayName: (m) => p.format(m),
11669
11785
  getWeekdayNames: () => {
11670
- const m = [], v = new Date(2024, 0, 7);
11786
+ const m = [], f = new Date(2024, 0, 7);
11671
11787
  for (let g = 0; g < 7; g++)
11672
- v.setDate(7 + g), m.push(p.format(v));
11788
+ f.setDate(7 + g), m.push(p.format(f));
11673
11789
  return m;
11674
11790
  },
11675
11791
  parseParts: (m) => {
@@ -11823,10 +11939,10 @@ function No(e) {
11823
11939
  return xt[(e - 4) % 10];
11824
11940
  }
11825
11941
  function Mo(e, t, i) {
11826
- const o = t || le[e], r = f(
11942
+ const o = t || le[e], r = v(
11827
11943
  () => de(e, o, i),
11828
11944
  [e, o, i]
11829
- ), a = f(() => H[o], [o]), n = f(() => Dt(o, e), [o, e]);
11945
+ ), a = v(() => H[o], [o]), n = v(() => Dt(o, e), [o, e]);
11830
11946
  return {
11831
11947
  calendar: o,
11832
11948
  info: a,
@@ -11967,15 +12083,15 @@ function ue(e, t = {}) {
11967
12083
  suffix: u = "]"
11968
12084
  } = t, w = /* @__PURE__ */ new Map();
11969
12085
  let p = e, m = 0;
11970
- s && (p = p.replace(/\{[^}]+\}/g, (v) => {
12086
+ s && (p = p.replace(/\{[^}]+\}/g, (f) => {
11971
12087
  const g = `__PH${m++}__`;
11972
- return w.set(g, v), g;
11973
- })), l && (p = p.replace(/<[^>]+>/g, (v) => {
12088
+ return w.set(g, f), g;
12089
+ })), l && (p = p.replace(/<[^>]+>/g, (f) => {
11974
12090
  const g = `__PH${m++}__`;
11975
- return w.set(g, v), g;
12091
+ return w.set(g, f), g;
11976
12092
  })), r && (p = Ot(p, w)), o > 0 && (p = Ft(p, o, n)), a && (p = Lt(p)), i && (p = `${d}${p}${u}`);
11977
- for (const [v, g] of w.entries())
11978
- p = p.replace(v, g);
12093
+ for (const [f, g] of w.entries())
12094
+ p = p.replace(f, g);
11979
12095
  return p;
11980
12096
  }
11981
12097
  function Ot(e, t) {
@@ -12071,7 +12187,7 @@ function qo({
12071
12187
  initialEnabled: t = !1,
12072
12188
  initialMode: i = "full"
12073
12189
  }) {
12074
- const [o, r] = x(t), [a, n] = x(i), s = f(() => P(a), [a]), l = f(() => (u) => o ? ue(u, s) : u, [o, s]), d = f(
12190
+ const [o, r] = x(t), [a, n] = x(i), s = v(() => P(a), [a]), l = v(() => (u) => o ? ue(u, s) : u, [o, s]), d = v(
12075
12191
  () => ({
12076
12192
  enabled: o,
12077
12193
  mode: a,
@@ -12170,10 +12286,10 @@ function me(e) {
12170
12286
  onLoadError: d
12171
12287
  } = e, u = new Vt(o), w = /* @__PURE__ */ new Set(), p = /* @__PURE__ */ new Map();
12172
12288
  let m = i;
12173
- const v = /* @__PURE__ */ new Set();
12289
+ const f = /* @__PURE__ */ new Set();
12174
12290
  function g() {
12175
12291
  const c = z();
12176
- v.forEach((h) => h(c));
12292
+ f.forEach((h) => h(c));
12177
12293
  }
12178
12294
  function y(c, h) {
12179
12295
  return h ? `${c}:${h}` : c;
@@ -12237,17 +12353,17 @@ function me(e) {
12237
12353
  function we() {
12238
12354
  return u.getStats().languages;
12239
12355
  }
12240
- function ve(c) {
12356
+ function fe(c) {
12241
12357
  c ? u.delete(c) : u.clear(), g();
12242
12358
  }
12243
- async function fe(c) {
12359
+ async function ve(c) {
12244
12360
  A(c) || await k(c), m = c, g();
12245
12361
  }
12246
12362
  function Ee() {
12247
12363
  return m;
12248
12364
  }
12249
12365
  function be(c) {
12250
- return v.add(c), () => v.delete(c);
12366
+ return f.add(c), () => f.delete(c);
12251
12367
  }
12252
12368
  return {
12253
12369
  loadLanguage: k,
@@ -12257,9 +12373,9 @@ function me(e) {
12257
12373
  isLoaded: A,
12258
12374
  isLoading: he,
12259
12375
  getLoadedLanguages: we,
12260
- clearCache: ve,
12376
+ clearCache: fe,
12261
12377
  getState: z,
12262
- setLanguage: fe,
12378
+ setLanguage: ve,
12263
12379
  getCurrentLanguage: Ee,
12264
12380
  subscribe: be
12265
12381
  };
@@ -12292,7 +12408,7 @@ function Go({
12292
12408
  L(() => t.subscribe(a), [t]), L(() => {
12293
12409
  i && !t.isLoaded(i, o) && t.loadLanguage(i, o).catch(s);
12294
12410
  }, [t, i, o]);
12295
- const l = f(() => t.getTranslations(r.currentLanguage, o) || {}, [t, r.currentLanguage, o]), d = ee(
12411
+ const l = v(() => t.getTranslations(r.currentLanguage, o) || {}, [t, r.currentLanguage, o]), d = ee(
12296
12412
  async (w) => {
12297
12413
  s(null);
12298
12414
  try {
@@ -12302,7 +12418,7 @@ function Go({
12302
12418
  }
12303
12419
  },
12304
12420
  [t]
12305
- ), u = f(
12421
+ ), u = v(
12306
12422
  () => ({
12307
12423
  loader: t,
12308
12424
  translations: l,
@@ -12406,13 +12522,13 @@ export {
12406
12522
  It as containsNonAscii,
12407
12523
  se as convertTimezone,
12408
12524
  de as createCalendarFormatter,
12409
- ft as createCurrencyFormatter,
12525
+ vt as createCurrencyFormatter,
12410
12526
  ht as createDateFormatter,
12411
12527
  me as createDynamicLoader,
12412
12528
  Uo as createFetchLoader,
12413
12529
  $t as createICUTranslator,
12414
12530
  Zo as createImportLoader,
12415
- vt as createNumberFormatter,
12531
+ ft as createNumberFormatter,
12416
12532
  wt as createTimeFormatter,
12417
12533
  St as createTimezoneFormatter,
12418
12534
  Jt as createTranslator,
@@ -12437,7 +12553,7 @@ export {
12437
12553
  Bo as getChineseZodiac,
12438
12554
  Dt as getCurrentCalendarDate,
12439
12555
  to as getDocumentDirection,
12440
- vo as getGlossaryForLanguage,
12556
+ fo as getGlossaryForLanguage,
12441
12557
  Co as getHijriMonthDays,
12442
12558
  At as getJapaneseEra,
12443
12559
  Po as getJapaneseYear,
@@ -12486,5 +12602,5 @@ export {
12486
12602
  Wo as usePseudoLocalization,
12487
12603
  ro as useRTL,
12488
12604
  zo as useTimezone,
12489
- fo as validateAgainstGlossary
12605
+ vo as validateAgainstGlossary
12490
12606
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nice2dev/i18n",
3
- "version": "1.0.30",
3
+ "version": "1.1.5",
4
4
  "description": "Shared internationalization infrastructure for Nice2Dev UI libraries",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -32,18 +32,18 @@
32
32
  "react": ">=17.0.0"
33
33
  },
34
34
  "devDependencies": {
35
- "@testing-library/react": "^14.0.0",
36
- "@types/react": "^18.2.0",
37
- "@vitejs/plugin-react": "^4.3.0",
38
- "jsdom": "^26.0.0",
39
- "react": "^18.2.0",
40
- "react-dom": "^18.2.0",
41
- "rimraf": "^6.0.0",
42
- "tsx": "^4.7.0",
43
- "typescript": "^5.8.0",
44
- "vite": "^6.4.0",
45
- "vite-plugin-dts": "^4.0.0",
46
- "vitest": "^4.1.0"
35
+ "@testing-library/react": "^16.3.3",
36
+ "@types/react": "^19.2.18",
37
+ "@vitejs/plugin-react": "^4.7.0",
38
+ "jsdom": "^29.0.0",
39
+ "react": "^19.2.8",
40
+ "react-dom": "^19.2.8",
41
+ "rimraf": "^6.1.3",
42
+ "tsx": "^4.23.13",
43
+ "typescript": "^5.9.3",
44
+ "vite": "^6.4.1",
45
+ "vite-plugin-dts": "^4.5.4",
46
+ "vitest": "^4.1.11"
47
47
  },
48
48
  "keywords": [
49
49
  "i18n",