@nice2dev/i18n 1.0.20 → 1.0.21

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.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { jsx as B } from "react/jsx-runtime";
2
- import { useMemo as k, useContext as N, createContext as I, useEffect as L, useState as P, useCallback as ee } from "react";
2
+ import { useMemo as b, useContext as N, createContext as I, useEffect as L, useState as P, useCallback as ee } from "react";
3
3
  const j = [
4
4
  "en",
5
5
  "pl",
@@ -178,6 +178,7 @@ const j = [
178
178
  "sidebar.prefs.order.title": "Order items",
179
179
  "sidebar.prefs.order.desc": "Drag items to reorder how they appear in the selected mode.",
180
180
  "sidebar.prefs.order.pickMode": "Mode",
181
+ "sidebar.prefs.order.visibilityHint": "Order applies to top-level items inside each source group. Collapse a source header to see only top-level entries when verifying the change.",
181
182
  "sidebar.prefs.order.empty": "No reorderable items in this mode.",
182
183
  "sidebar.prefs.order.resetMode": "Reset to default order",
183
184
  "sidebar.prefs.hidden.title": "Hidden items",
@@ -784,7 +785,7 @@ const j = [
784
785
  "vectorEditor.layers.hide": "Hide",
785
786
  "vectorEditor.layers.lock": "Lock",
786
787
  "vectorEditor.layers.unlock": "Unlock"
787
- }, Ce = {
788
+ }, Ee = {
788
789
  ok: "OK",
789
790
  cancel: "Anuluj",
790
791
  save: "Zapisz",
@@ -920,6 +921,7 @@ const j = [
920
921
  "sidebar.prefs.order.title": "Kolejność elementów",
921
922
  "sidebar.prefs.order.desc": "Przeciągnij pozycje, żeby zmienić ich kolejność w wybranym trybie.",
922
923
  "sidebar.prefs.order.pickMode": "Tryb",
924
+ "sidebar.prefs.order.visibilityHint": "Kolejność dotyczy elementów top-level wewnątrz każdej grupy źródła. Zwiń nagłówek źródła, aby zobaczyć tylko elementy top-level i sprawdzić efekt zmiany.",
923
925
  "sidebar.prefs.order.empty": "Brak elementów do uporządkowania w tym trybie.",
924
926
  "sidebar.prefs.order.resetMode": "Przywróć domyślną kolejność",
925
927
  "sidebar.prefs.hidden.title": "Ukryte elementy",
@@ -1489,7 +1491,7 @@ const j = [
1489
1491
  "vectorEditor.layers.hide": "Ukryj",
1490
1492
  "vectorEditor.layers.lock": "Zablokuj",
1491
1493
  "vectorEditor.layers.unlock": "Odblokuj"
1492
- }, Ee = {
1494
+ }, Ce = {
1493
1495
  ok: "OK",
1494
1496
  cancel: "Abbrechen",
1495
1497
  save: "Speichern",
@@ -2010,8 +2012,189 @@ const j = [
2010
2012
  "noCode.codePreview.language": "Sprache",
2011
2013
  "noCode.codePreview.format": "Code formatieren",
2012
2014
  "noCode.codePreview.linesChanged": "Geänderte Zeilen",
2013
- "noCode.codePreview.noChanges": "Keine Änderungen"
2014
- }, ze = {
2015
+ "noCode.codePreview.noChanges": "Keine Änderungen",
2016
+ // ── Navigation / Help / Home / Sidebar / Vector Editor (P2.5 backfill) ──
2017
+ "nav.help": "Hilfe",
2018
+ "navShell.home.title": "Start",
2019
+ "navShell.help.next": "Weiter",
2020
+ "navShell.help.back": "Zurück",
2021
+ "navShell.help.finish": "Fertig",
2022
+ "navShell.help.skip": "Überspringen",
2023
+ "navShell.help.stepOf": "von",
2024
+ "navShell.help.topNav.title": "Obere Navigation",
2025
+ "navShell.help.topNav.body": "Über die obere Leiste wechseln Sie Arbeitsbereiche, suchen, ändern Theme oder Sprache und öffnen Benachrichtigungen.",
2026
+ "navShell.help.sidebar.title": "Seitenleiste",
2027
+ "navShell.help.sidebar.body": "Durchsuchen Sie verfügbare Ansichten gruppiert nach Bereich. Wählen Sie eine Ansicht, um sie in einem neuen Tab zu öffnen.",
2028
+ "navShell.help.tabs.title": "Tabs",
2029
+ "navShell.help.tabs.body": "Jede geöffnete Ansicht lebt in einem eigenen Tab. Häufig genutzte anheften und mit Rechtsklick weitere Aktionen aufrufen.",
2030
+ "navShell.help.content.title": "Arbeitsbereich",
2031
+ "navShell.help.content.body": "Im Hauptbereich wird die aktive Ansicht angezeigt. Wechsel von Tabs oder Seitenleisten-Einträgen tauscht den Inhalt hier.",
2032
+ "navShell.home.subtitle": "Machen Sie dort weiter, wo Sie aufgehört haben.",
2033
+ "navShell.home.empty": "Öffnen Sie eine Ansicht aus der Seitenleiste oder den Tabs oben, um Ihren Arbeitsbereich zu füllen.",
2034
+ "navShell.home.greeting.morning": "Guten Morgen",
2035
+ "navShell.home.greeting.afternoon": "Guten Tag",
2036
+ "navShell.home.greeting.evening": "Guten Abend",
2037
+ "navShell.home.greeting.night": "Hallo",
2038
+ "navShell.home.sections.openTabs": "Jetzt geöffnet",
2039
+ "navShell.home.sections.shortcuts": "Ihre Verknüpfungen",
2040
+ "navShell.home.sections.allViews": "Alle Ansichten",
2041
+ "sidebar.menu.open": "Öffnen",
2042
+ "sidebar.menu.openNewTab": "In neuem Tab öffnen",
2043
+ "sidebar.menu.openBrowserTab": "In neuem Browser-Tab öffnen",
2044
+ "sidebar.menu.pinFavorite": "Zu Favoriten hinzufügen",
2045
+ "sidebar.menu.unpinFavorite": "Aus Favoriten entfernen",
2046
+ "sidebar.menu.hide": "Ausblenden",
2047
+ "sidebar.menu.copyLink": "Link kopieren",
2048
+ "sidebar.menu.pinSource": "Quelle anheften",
2049
+ "sidebar.menu.unpinSource": "Quelle lösen",
2050
+ "sidebar.menu.hideSource": "Quelle ausblenden",
2051
+ "sidebar.prefs.general": "Allgemein",
2052
+ "sidebar.prefs.display": "Anzeige",
2053
+ "sidebar.prefs.order": "Reihenfolge",
2054
+ "sidebar.prefs.hidden": "Ausgeblendete Elemente",
2055
+ "sidebar.prefs.reset": "Zurücksetzen",
2056
+ "sidebar.prefs.general.title": "Allgemein",
2057
+ "sidebar.prefs.general.desc": "Verhalten des Seitenleisten-Baums und Aktion bei Linksklick.",
2058
+ "sidebar.prefs.general.autoExpand": "Alle Zweige automatisch erweitern",
2059
+ "sidebar.prefs.general.autoExpandHint": "Wenn deaktiviert, starten Zweige eingeklappt und merken sich den letzten Zustand pro Sitzung.",
2060
+ "sidebar.prefs.general.leftClickBehavior": "Verhalten beim Linksklick",
2061
+ "sidebar.prefs.general.focusExisting": "Vorhandenen Tab fokussieren",
2062
+ "sidebar.prefs.general.openNew": "Immer in neuem Tab öffnen",
2063
+ "sidebar.prefs.general.leftClickHint": "Rechtsklick → „In neuem Tab öffnen“ ist unabhängig von dieser Einstellung immer verfügbar.",
2064
+ "sidebar.prefs.display.title": "Anzeige",
2065
+ "sidebar.prefs.display.desc": "Welche Modi in der Leiste erscheinen und wie tief der Baum pro Modus reicht.",
2066
+ "sidebar.prefs.display.enableModeIcons": "Modus-Umschalter-Symbole anzeigen",
2067
+ "sidebar.prefs.display.enabledModes": "Sichtbare Modi",
2068
+ "sidebar.prefs.display.preferencesAlwaysOn": "Einstellungen werden immer angezeigt.",
2069
+ "sidebar.prefs.display.maxDepth": "Baumtiefe pro Modus",
2070
+ "sidebar.prefs.order.title": "Elemente sortieren",
2071
+ "sidebar.prefs.order.desc": "Ziehen Sie Elemente, um deren Reihenfolge im gewählten Modus zu ändern.",
2072
+ "sidebar.prefs.order.pickMode": "Modus",
2073
+ "sidebar.prefs.order.empty": "Keine sortierbaren Elemente in diesem Modus.",
2074
+ "sidebar.prefs.order.resetMode": "Auf Standardreihenfolge zurücksetzen",
2075
+ "sidebar.prefs.hidden.title": "Ausgeblendete Elemente",
2076
+ "sidebar.prefs.hidden.desc": "Aus dem Baum ausgeblendete Elemente. Stellen Sie sie wieder her, um sie zurückzubringen.",
2077
+ "sidebar.prefs.hidden.empty": "Nichts ausgeblendet.",
2078
+ "sidebar.prefs.hidden.restore": "Wiederherstellen",
2079
+ "sidebar.prefs.reset.title": "Zurücksetzen",
2080
+ "sidebar.prefs.reset.desc": "Alle Anpassungen löschen und das ursprüngliche Seitenleisten-Layout wiederherstellen.",
2081
+ "sidebar.prefs.reset.button": "Alle Einstellungen zurücksetzen",
2082
+ "sidebar.prefs.reset.confirm": "Dies löscht Ihre Favoriten, ausgeblendete Elemente, eigene Reihenfolge und alle weiteren Seitenleisten-Einstellungen. Dieser Vorgang kann nicht rückgängig gemacht werden.",
2083
+ "sidebar.prefs.reset.confirmYes": "Ja, alles zurücksetzen",
2084
+ "sidebar.prefs.reset.cancel": "Abbrechen",
2085
+ "vectorEditor.menu.file": "Datei",
2086
+ "vectorEditor.menu.edit": "Bearbeiten",
2087
+ "vectorEditor.menu.object": "Objekt",
2088
+ "vectorEditor.menu.path": "Pfad",
2089
+ "vectorEditor.menu.view": "Ansicht",
2090
+ "vectorEditor.menu.newCanvas": "Neue Leinwand",
2091
+ "vectorEditor.menu.openSvg": "SVG öffnen…",
2092
+ "vectorEditor.menu.pasteSvg": "SVG einfügen…",
2093
+ "vectorEditor.menu.exportSvg": "SVG exportieren",
2094
+ "vectorEditor.menu.exportPng": "PNG exportieren",
2095
+ "vectorEditor.menu.exportJpg": "JPG exportieren",
2096
+ "vectorEditor.menu.exportWebp": "WebP exportieren",
2097
+ "vectorEditor.menu.exportBmp": "BMP exportieren",
2098
+ "vectorEditor.menu.saveToLibrary": "📦 In Bibliothek speichern",
2099
+ "vectorEditor.menu.exportIconSnippet": "📋 Icon-Snippet exportieren",
2100
+ "vectorEditor.menu.exportIcon": "📋 Icon exportieren",
2101
+ "vectorEditor.menu.undo": "Rückgängig (Strg+Z)",
2102
+ "vectorEditor.menu.redo": "Wiederherstellen (Strg+Y)",
2103
+ "vectorEditor.menu.copy": "Kopieren (Strg+C)",
2104
+ "vectorEditor.menu.paste": "Einfügen (Strg+V)",
2105
+ "vectorEditor.menu.duplicate": "Duplizieren (Strg+D)",
2106
+ "vectorEditor.menu.delete": "Löschen (Entf)",
2107
+ "vectorEditor.menu.bringToFront": "In den Vordergrund",
2108
+ "vectorEditor.menu.sendToBack": "In den Hintergrund",
2109
+ "vectorEditor.menu.flipH": "Horizontal spiegeln",
2110
+ "vectorEditor.menu.flipV": "Vertikal spiegeln",
2111
+ "vectorEditor.menu.alignLeft": "Links ausrichten",
2112
+ "vectorEditor.menu.alignCenter": "Zentriert ausrichten",
2113
+ "vectorEditor.menu.alignRight": "Rechts ausrichten",
2114
+ "vectorEditor.menu.union": "Vereinigung (∪)",
2115
+ "vectorEditor.menu.subtract": "Subtraktion (−)",
2116
+ "vectorEditor.menu.intersect": "Schnittmenge (∩)",
2117
+ "vectorEditor.menu.exclude": "Ausschluss (⊕)",
2118
+ "vectorEditor.menu.outlineStroke": "Kontur in Pfad umwandeln",
2119
+ "vectorEditor.menu.snapToGrid": "Am Raster ausrichten",
2120
+ "vectorEditor.menu.snap": "Raster",
2121
+ "vectorEditor.menu.secondShape": "2. Form",
2122
+ "vectorEditor.tabs.properties": "Eigenschaften",
2123
+ "vectorEditor.tabs.layers": "Ebenen",
2124
+ "vectorEditor.tabs.library": "Bibliothek",
2125
+ "vectorEditor.tabs.timeline": "Zeitleiste",
2126
+ "vectorEditor.timeline.preset": "Vorlage",
2127
+ "vectorEditor.timeline.duration": "Dauer (ms)",
2128
+ "vectorEditor.timeline.repeat": "Wiederholen",
2129
+ "vectorEditor.timeline.direction": "Richtung",
2130
+ "vectorEditor.timeline.remove": "Animation entfernen",
2131
+ "vectorEditor.timeline.play": "Abspielen",
2132
+ "vectorEditor.timeline.pause": "Pause",
2133
+ "vectorEditor.timeline.stop": "Stopp",
2134
+ "vectorEditor.timeline.copyCss": "CSS kopieren",
2135
+ "vectorEditor.timeline.keyframes": "Keyframes",
2136
+ "vectorEditor.timeline.addKeyframe": "+ Keyframe hinzufügen",
2137
+ "vectorEditor.timeline.noSelection": "Form auswählen, um sie zu animieren.",
2138
+ "vectorEditor.timeline.animationTitle": "Animation",
2139
+ "vectorEditor.timeline.playbackTitle": "Wiedergabe",
2140
+ "vectorEditor.timeline.attachHint": "Form auswählen, um eine Animation hinzuzufügen.",
2141
+ "vectorEditor.timeline.playLabel": "▶ Abspielen",
2142
+ "vectorEditor.timeline.pauseLabel": "⏸ Pause",
2143
+ "vectorEditor.timeline.stopLabel": "⏹ Stopp",
2144
+ "vectorEditor.timeline.copyCssKeyframes": "📋 CSS-Keyframes kopieren",
2145
+ "vectorEditor.timeline.tLabel": "t",
2146
+ "vectorEditor.layers.empty": "Noch keine Ebenen. Verwenden Sie die Werkzeuge zum Zeichnen oder fügen Sie aus der Bibliothek ein.",
2147
+ "vectorEditor.layers.moveUp": "Nach oben",
2148
+ "vectorEditor.layers.moveDown": "Nach unten",
2149
+ "vectorEditor.library.passProp": "Übergeben Sie eine library-Property an NiceVectorEditor, um diesen Tab mit einfügbaren Icons zu füllen.",
2150
+ "vectorEditor.statusBar.zoom": "Zoom",
2151
+ "vectorEditor.statusBar.shapes": "Form(en)",
2152
+ "vectorEditor.statusBar.selected": "Ausgewählt",
2153
+ "vectorEditor.statusBar.snap": "Raster",
2154
+ "vectorEditor.library.empty": "Keine Icons in der Bibliothek.",
2155
+ "vectorEditor.snippet.title": "✅ Icon-Snippet in die Zwischenablage kopiert",
2156
+ "vectorEditor.snippet.pasteHint": "Einfügen in",
2157
+ "vectorEditor.snippet.copyAgain": "Erneut kopieren",
2158
+ "vectorEditor.snippet.close": "Schließen",
2159
+ "vectorEditor.properties.appearance": "Erscheinungsbild",
2160
+ "vectorEditor.properties.fill": "Füllung",
2161
+ "vectorEditor.properties.solid": "Einfarbig",
2162
+ "vectorEditor.properties.gradient": "Verlauf",
2163
+ "vectorEditor.properties.hideEditor": "▼ Editor ausblenden",
2164
+ "vectorEditor.properties.editGradient": "► Verlauf bearbeiten",
2165
+ "vectorEditor.properties.type": "Typ",
2166
+ "vectorEditor.properties.linear": "Linear",
2167
+ "vectorEditor.properties.radial": "Radial",
2168
+ "vectorEditor.properties.angle": "Winkel",
2169
+ "vectorEditor.properties.cx": "CX",
2170
+ "vectorEditor.properties.cy": "CY",
2171
+ "vectorEditor.properties.r": "R",
2172
+ "vectorEditor.properties.colorStops": "Farbstopps:",
2173
+ "vectorEditor.properties.addStop": "+ Stopp hinzufügen",
2174
+ "vectorEditor.properties.removeStop": "- Entfernen",
2175
+ "vectorEditor.properties.stroke": "Kontur",
2176
+ "vectorEditor.properties.width": "Breite",
2177
+ "vectorEditor.properties.opacity": "Deckkraft",
2178
+ "vectorEditor.properties.rotation": "Drehung",
2179
+ "vectorEditor.properties.toolOptions": "Werkzeug-Optionen",
2180
+ "vectorEditor.properties.radius": "Radius",
2181
+ "vectorEditor.properties.sides": "Seiten",
2182
+ "vectorEditor.properties.points": "Punkte",
2183
+ "vectorEditor.properties.innerR": "Innerer R",
2184
+ "vectorEditor.properties.size": "Größe",
2185
+ "vectorEditor.properties.font": "Schrift",
2186
+ "vectorEditor.properties.grid": "Raster",
2187
+ "vectorEditor.properties.transform": "Transformation",
2188
+ "vectorEditor.properties.x": "X",
2189
+ "vectorEditor.properties.y": "Y",
2190
+ "vectorEditor.properties.w": "B",
2191
+ "vectorEditor.properties.h": "H",
2192
+ "vectorEditor.layers.title": "Ebenen",
2193
+ "vectorEditor.layers.show": "Einblenden",
2194
+ "vectorEditor.layers.hide": "Ausblenden",
2195
+ "vectorEditor.layers.lock": "Sperren",
2196
+ "vectorEditor.layers.unlock": "Entsperren"
2197
+ }, Se = {
2015
2198
  ok: "OK",
2016
2199
  cancel: "Annuler",
2017
2200
  save: "Enregistrer",
@@ -2532,8 +2715,189 @@ const j = [
2532
2715
  "noCode.codePreview.language": "Langage",
2533
2716
  "noCode.codePreview.format": "Formater le code",
2534
2717
  "noCode.codePreview.linesChanged": "Lignes modifiées",
2535
- "noCode.codePreview.noChanges": "Aucune modification"
2536
- }, Se = {
2718
+ "noCode.codePreview.noChanges": "Aucune modification",
2719
+ // ── Navigation / Help / Home / Sidebar / Vector Editor (P2.5 backfill) ──
2720
+ "nav.help": "Aide",
2721
+ "navShell.home.title": "Accueil",
2722
+ "navShell.help.next": "Suivant",
2723
+ "navShell.help.back": "Retour",
2724
+ "navShell.help.finish": "Terminer",
2725
+ "navShell.help.skip": "Passer",
2726
+ "navShell.help.stepOf": "sur",
2727
+ "navShell.help.topNav.title": "Navigation supérieure",
2728
+ "navShell.help.topNav.body": "Utilisez la barre supérieure pour changer d'espace de travail, rechercher, modifier le thème ou la langue, et ouvrir les notifications.",
2729
+ "navShell.help.sidebar.title": "Barre latérale",
2730
+ "navShell.help.sidebar.body": "Parcourez les vues disponibles regroupées par section. Choisissez une vue pour l’ouvrir dans un nouvel onglet.",
2731
+ "navShell.help.tabs.title": "Onglets",
2732
+ "navShell.help.tabs.body": "Chaque vue ouverte vit dans son propre onglet. Épinglez celles que vous utilisez souvent et faites un clic droit pour plus d'actions.",
2733
+ "navShell.help.content.title": "Espace de travail",
2734
+ "navShell.help.content.body": "La zone principale affiche la vue active. Changer d’onglet ou d’entrée latérale échange le contenu ici.",
2735
+ "navShell.home.subtitle": "Reprenez là où vous en étiez.",
2736
+ "navShell.home.empty": "Ouvrez une vue depuis la barre latérale ou les onglets ci-dessus pour remplir votre espace de travail.",
2737
+ "navShell.home.greeting.morning": "Bonjour",
2738
+ "navShell.home.greeting.afternoon": "Bon après-midi",
2739
+ "navShell.home.greeting.evening": "Bonsoir",
2740
+ "navShell.home.greeting.night": "Bonjour",
2741
+ "navShell.home.sections.openTabs": "Ouverts maintenant",
2742
+ "navShell.home.sections.shortcuts": "Vos raccourcis",
2743
+ "navShell.home.sections.allViews": "Toutes les vues",
2744
+ "sidebar.menu.open": "Ouvrir",
2745
+ "sidebar.menu.openNewTab": "Ouvrir dans un nouvel onglet",
2746
+ "sidebar.menu.openBrowserTab": "Ouvrir dans un nouvel onglet du navigateur",
2747
+ "sidebar.menu.pinFavorite": "Ajouter aux favoris",
2748
+ "sidebar.menu.unpinFavorite": "Retirer des favoris",
2749
+ "sidebar.menu.hide": "Masquer",
2750
+ "sidebar.menu.copyLink": "Copier le lien",
2751
+ "sidebar.menu.pinSource": "Épingler la source",
2752
+ "sidebar.menu.unpinSource": "Détacher la source",
2753
+ "sidebar.menu.hideSource": "Masquer la source",
2754
+ "sidebar.prefs.general": "Général",
2755
+ "sidebar.prefs.display": "Affichage",
2756
+ "sidebar.prefs.order": "Ordre",
2757
+ "sidebar.prefs.hidden": "Éléments masqués",
2758
+ "sidebar.prefs.reset": "Réinitialiser",
2759
+ "sidebar.prefs.general.title": "Général",
2760
+ "sidebar.prefs.general.desc": "Comportement de l'arborescence latérale et action du clic gauche.",
2761
+ "sidebar.prefs.general.autoExpand": "Développer automatiquement toutes les branches",
2762
+ "sidebar.prefs.general.autoExpandHint": "Lorsque désactivé, les branches démarrent repliées et conservent leur dernier état par session.",
2763
+ "sidebar.prefs.general.leftClickBehavior": "Comportement du clic gauche",
2764
+ "sidebar.prefs.general.focusExisting": "Focaliser l’onglet existant",
2765
+ "sidebar.prefs.general.openNew": "Toujours ouvrir dans un nouvel onglet",
2766
+ "sidebar.prefs.general.leftClickHint": "Le clic droit → « Ouvrir dans un nouvel onglet » est toujours disponible quel que soit ce paramètre.",
2767
+ "sidebar.prefs.display.title": "Affichage",
2768
+ "sidebar.prefs.display.desc": "Quels modes apparaissent dans la barre et la profondeur de l'arbre par mode.",
2769
+ "sidebar.prefs.display.enableModeIcons": "Afficher les icônes du sélecteur de mode",
2770
+ "sidebar.prefs.display.enabledModes": "Modes visibles",
2771
+ "sidebar.prefs.display.preferencesAlwaysOn": "Les préférences sont toujours affichées.",
2772
+ "sidebar.prefs.display.maxDepth": "Profondeur d’arbre par mode",
2773
+ "sidebar.prefs.order.title": "Ordonner les éléments",
2774
+ "sidebar.prefs.order.desc": "Faites glisser les éléments pour réorganiser leur affichage dans le mode sélectionné.",
2775
+ "sidebar.prefs.order.pickMode": "Mode",
2776
+ "sidebar.prefs.order.empty": "Aucun élément réorganisable dans ce mode.",
2777
+ "sidebar.prefs.order.resetMode": "Rétablir l’ordre par défaut",
2778
+ "sidebar.prefs.hidden.title": "Éléments masqués",
2779
+ "sidebar.prefs.hidden.desc": "Éléments que vous avez masqués de l'arborescence. Restaurez-les pour les ramener.",
2780
+ "sidebar.prefs.hidden.empty": "Rien de masqué pour l’instant.",
2781
+ "sidebar.prefs.hidden.restore": "Restaurer",
2782
+ "sidebar.prefs.reset.title": "Réinitialiser",
2783
+ "sidebar.prefs.reset.desc": "Effacer toutes les personnalisations et restaurer la disposition d'origine de la barre latérale.",
2784
+ "sidebar.prefs.reset.button": "Réinitialiser toutes les préférences",
2785
+ "sidebar.prefs.reset.confirm": "Cela effacera vos favoris, éléments masqués, ordre personnalisé et toutes les autres préférences de la barre latérale. Cette action est irréversible.",
2786
+ "sidebar.prefs.reset.confirmYes": "Oui, tout réinitialiser",
2787
+ "sidebar.prefs.reset.cancel": "Annuler",
2788
+ "vectorEditor.menu.file": "Fichier",
2789
+ "vectorEditor.menu.edit": "Édition",
2790
+ "vectorEditor.menu.object": "Objet",
2791
+ "vectorEditor.menu.path": "Chemin",
2792
+ "vectorEditor.menu.view": "Affichage",
2793
+ "vectorEditor.menu.newCanvas": "Nouveau canevas",
2794
+ "vectorEditor.menu.openSvg": "Ouvrir un SVG…",
2795
+ "vectorEditor.menu.pasteSvg": "Coller un SVG…",
2796
+ "vectorEditor.menu.exportSvg": "Exporter en SVG",
2797
+ "vectorEditor.menu.exportPng": "Exporter en PNG",
2798
+ "vectorEditor.menu.exportJpg": "Exporter en JPG",
2799
+ "vectorEditor.menu.exportWebp": "Exporter en WebP",
2800
+ "vectorEditor.menu.exportBmp": "Exporter en BMP",
2801
+ "vectorEditor.menu.saveToLibrary": "📦 Enregistrer dans la bibliothèque",
2802
+ "vectorEditor.menu.exportIconSnippet": "📋 Exporter l’extrait d’icône",
2803
+ "vectorEditor.menu.exportIcon": "📋 Exporter l’icône",
2804
+ "vectorEditor.menu.undo": "Annuler (Ctrl+Z)",
2805
+ "vectorEditor.menu.redo": "Rétablir (Ctrl+Y)",
2806
+ "vectorEditor.menu.copy": "Copier (Ctrl+C)",
2807
+ "vectorEditor.menu.paste": "Coller (Ctrl+V)",
2808
+ "vectorEditor.menu.duplicate": "Dupliquer (Ctrl+D)",
2809
+ "vectorEditor.menu.delete": "Supprimer (Suppr)",
2810
+ "vectorEditor.menu.bringToFront": "Mettre au premier plan",
2811
+ "vectorEditor.menu.sendToBack": "Mettre à l’arrière-plan",
2812
+ "vectorEditor.menu.flipH": "Retourner horizontalement",
2813
+ "vectorEditor.menu.flipV": "Retourner verticalement",
2814
+ "vectorEditor.menu.alignLeft": "Aligner à gauche",
2815
+ "vectorEditor.menu.alignCenter": "Centrer",
2816
+ "vectorEditor.menu.alignRight": "Aligner à droite",
2817
+ "vectorEditor.menu.union": "Union (∪)",
2818
+ "vectorEditor.menu.subtract": "Soustraire (−)",
2819
+ "vectorEditor.menu.intersect": "Intersection (∩)",
2820
+ "vectorEditor.menu.exclude": "Exclusion (⊕)",
2821
+ "vectorEditor.menu.outlineStroke": "Vectoriser le contour",
2822
+ "vectorEditor.menu.snapToGrid": "Aligner sur la grille",
2823
+ "vectorEditor.menu.snap": "Grille",
2824
+ "vectorEditor.menu.secondShape": "2e forme",
2825
+ "vectorEditor.tabs.properties": "Propriétés",
2826
+ "vectorEditor.tabs.layers": "Calques",
2827
+ "vectorEditor.tabs.library": "Bibliothèque",
2828
+ "vectorEditor.tabs.timeline": "Chronologie",
2829
+ "vectorEditor.timeline.preset": "Préréglage",
2830
+ "vectorEditor.timeline.duration": "Durée (ms)",
2831
+ "vectorEditor.timeline.repeat": "Répétitions",
2832
+ "vectorEditor.timeline.direction": "Direction",
2833
+ "vectorEditor.timeline.remove": "Supprimer l’animation",
2834
+ "vectorEditor.timeline.play": "Lecture",
2835
+ "vectorEditor.timeline.pause": "Pause",
2836
+ "vectorEditor.timeline.stop": "Arrêt",
2837
+ "vectorEditor.timeline.copyCss": "Copier le CSS",
2838
+ "vectorEditor.timeline.keyframes": "Images clés",
2839
+ "vectorEditor.timeline.addKeyframe": "+ Ajouter une image clé",
2840
+ "vectorEditor.timeline.noSelection": "Sélectionnez une forme à animer.",
2841
+ "vectorEditor.timeline.animationTitle": "Animation",
2842
+ "vectorEditor.timeline.playbackTitle": "Lecture",
2843
+ "vectorEditor.timeline.attachHint": "Sélectionnez une forme pour y attacher une animation.",
2844
+ "vectorEditor.timeline.playLabel": "▶ Lecture",
2845
+ "vectorEditor.timeline.pauseLabel": "⏸ Pause",
2846
+ "vectorEditor.timeline.stopLabel": "⏹ Arrêt",
2847
+ "vectorEditor.timeline.copyCssKeyframes": "📋 Copier les images clés CSS",
2848
+ "vectorEditor.timeline.tLabel": "t",
2849
+ "vectorEditor.layers.empty": "Aucun calque pour l’instant. Utilisez les outils pour dessiner ou insérez depuis l’onglet Bibliothèque.",
2850
+ "vectorEditor.layers.moveUp": "Monter",
2851
+ "vectorEditor.layers.moveDown": "Descendre",
2852
+ "vectorEditor.library.passProp": "Passez une prop library à NiceVectorEditor pour remplir cet onglet avec des icônes insérables.",
2853
+ "vectorEditor.statusBar.zoom": "Zoom",
2854
+ "vectorEditor.statusBar.shapes": "forme(s)",
2855
+ "vectorEditor.statusBar.selected": "Sélectionné",
2856
+ "vectorEditor.statusBar.snap": "Grille",
2857
+ "vectorEditor.library.empty": "Aucune icône dans la bibliothèque.",
2858
+ "vectorEditor.snippet.title": "✅ Extrait d’icône copié dans le presse-papiers",
2859
+ "vectorEditor.snippet.pasteHint": "Coller dans",
2860
+ "vectorEditor.snippet.copyAgain": "Copier à nouveau",
2861
+ "vectorEditor.snippet.close": "Fermer",
2862
+ "vectorEditor.properties.appearance": "Apparence",
2863
+ "vectorEditor.properties.fill": "Remplissage",
2864
+ "vectorEditor.properties.solid": "Uni",
2865
+ "vectorEditor.properties.gradient": "Dégradé",
2866
+ "vectorEditor.properties.hideEditor": "▼ Masquer l’éditeur",
2867
+ "vectorEditor.properties.editGradient": "► Modifier le dégradé",
2868
+ "vectorEditor.properties.type": "Type",
2869
+ "vectorEditor.properties.linear": "Linéaire",
2870
+ "vectorEditor.properties.radial": "Radial",
2871
+ "vectorEditor.properties.angle": "Angle",
2872
+ "vectorEditor.properties.cx": "CX",
2873
+ "vectorEditor.properties.cy": "CY",
2874
+ "vectorEditor.properties.r": "R",
2875
+ "vectorEditor.properties.colorStops": "Étapes de couleur :",
2876
+ "vectorEditor.properties.addStop": "+ Ajouter une étape",
2877
+ "vectorEditor.properties.removeStop": "- Supprimer",
2878
+ "vectorEditor.properties.stroke": "Contour",
2879
+ "vectorEditor.properties.width": "Largeur",
2880
+ "vectorEditor.properties.opacity": "Opacité",
2881
+ "vectorEditor.properties.rotation": "Rotation",
2882
+ "vectorEditor.properties.toolOptions": "Options de l’outil",
2883
+ "vectorEditor.properties.radius": "Rayon",
2884
+ "vectorEditor.properties.sides": "Côtés",
2885
+ "vectorEditor.properties.points": "Points",
2886
+ "vectorEditor.properties.innerR": "R intérieur",
2887
+ "vectorEditor.properties.size": "Taille",
2888
+ "vectorEditor.properties.font": "Police",
2889
+ "vectorEditor.properties.grid": "Grille",
2890
+ "vectorEditor.properties.transform": "Transformation",
2891
+ "vectorEditor.properties.x": "X",
2892
+ "vectorEditor.properties.y": "Y",
2893
+ "vectorEditor.properties.w": "L",
2894
+ "vectorEditor.properties.h": "H",
2895
+ "vectorEditor.layers.title": "Calques",
2896
+ "vectorEditor.layers.show": "Afficher",
2897
+ "vectorEditor.layers.hide": "Masquer",
2898
+ "vectorEditor.layers.lock": "Verrouiller",
2899
+ "vectorEditor.layers.unlock": "Déverrouiller"
2900
+ }, ze = {
2537
2901
  ok: "OK",
2538
2902
  cancel: "Cancelar",
2539
2903
  save: "Guardar",
@@ -5042,7 +5406,7 @@ const j = [
5042
5406
  "wm.minimizeAll": "すべて最小化",
5043
5407
  "wm.newWindow": "新しいウィンドウ",
5044
5408
  "wm.moveToFront": "最前面に移動"
5045
- }, Ue = {
5409
+ }, We = {
5046
5410
  ok: "확인",
5047
5411
  cancel: "취소",
5048
5412
  save: "저장",
@@ -5405,7 +5769,7 @@ const j = [
5405
5769
  "wm.minimizeAll": "모두 최소화",
5406
5770
  "wm.newWindow": "새 창",
5407
5771
  "wm.moveToFront": "맨 앞으로"
5408
- }, We = {
5772
+ }, Ve = {
5409
5773
  ok: "确定",
5410
5774
  cancel: "取消",
5411
5775
  save: "保存",
@@ -5768,7 +6132,7 @@ const j = [
5768
6132
  "wm.minimizeAll": "最小化全部",
5769
6133
  "wm.newWindow": "新建窗口",
5770
6134
  "wm.moveToFront": "置于最前"
5771
- }, He = {
6135
+ }, Ue = {
5772
6136
  ok: "حسناً",
5773
6137
  cancel: "إلغاء",
5774
6138
  save: "حفظ",
@@ -6131,7 +6495,7 @@ const j = [
6131
6495
  "wm.minimizeAll": "تصغير الكل",
6132
6496
  "wm.newWindow": "نافذة جديدة",
6133
6497
  "wm.moveToFront": "نقل إلى الأمام"
6134
- }, Ke = {
6498
+ }, He = {
6135
6499
  ok: "ठीक है",
6136
6500
  cancel: "रद्द करें",
6137
6501
  save: "सहेजें",
@@ -6142,7 +6506,7 @@ const j = [
6142
6506
  error: "त्रुटि",
6143
6507
  success: "सफलता",
6144
6508
  search: "खोजें"
6145
- }, Ve = {
6509
+ }, Ke = {
6146
6510
  ok: "ঠিক আছে",
6147
6511
  cancel: "বাতিল",
6148
6512
  save: "সংরক্ষণ",
@@ -6186,7 +6550,7 @@ const j = [
6186
6550
  error: "Kesalahan",
6187
6551
  success: "Berhasil",
6188
6552
  search: "Cari"
6189
- }, $e = {
6553
+ }, Je = {
6190
6554
  ok: "Sawa",
6191
6555
  cancel: "Ghairi",
6192
6556
  save: "Hifadhi",
@@ -6197,7 +6561,7 @@ const j = [
6197
6561
  error: "Hitilafu",
6198
6562
  success: "Imefanikiwa",
6199
6563
  search: "Tafuta"
6200
- }, Je = {
6564
+ }, Ye = {
6201
6565
  ok: "OK",
6202
6566
  cancel: "Kanselahin",
6203
6567
  save: "I-save",
@@ -6208,7 +6572,7 @@ const j = [
6208
6572
  error: "Error",
6209
6573
  success: "Tagumpay",
6210
6574
  search: "Maghanap"
6211
- }, Ye = {
6575
+ }, $e = {
6212
6576
  ok: "OK",
6213
6577
  cancel: "Batal",
6214
6578
  save: "Simpan",
@@ -6219,12 +6583,12 @@ const j = [
6219
6583
  error: "Ralat",
6220
6584
  success: "Berjaya",
6221
6585
  search: "Cari"
6222
- }, w = {
6586
+ }, k = {
6223
6587
  en: ye,
6224
- pl: Ce,
6225
- de: Ee,
6226
- fr: ze,
6227
- es: Se,
6588
+ pl: Ee,
6589
+ de: Ce,
6590
+ fr: Se,
6591
+ es: ze,
6228
6592
  it: De,
6229
6593
  pt: Ae,
6230
6594
  nl: xe,
@@ -6239,18 +6603,18 @@ const j = [
6239
6603
  bg: Le,
6240
6604
  uk: Be,
6241
6605
  ja: Ie,
6242
- ko: Ue,
6243
- zh: We,
6244
- ar: He,
6245
- hi: Ke,
6246
- bn: Ve,
6606
+ ko: We,
6607
+ zh: Ve,
6608
+ ar: Ue,
6609
+ hi: He,
6610
+ bn: Ke,
6247
6611
  th: Ze,
6248
6612
  vi: qe,
6249
6613
  id: Ge,
6250
- sw: $e,
6251
- fil: Je,
6252
- ms: Ye
6253
- }, J = {
6614
+ sw: Je,
6615
+ fil: Ye,
6616
+ ms: $e
6617
+ }, Y = {
6254
6618
  save: "Zapisz",
6255
6619
  cancel: "Anuluj",
6256
6620
  ok: "OK",
@@ -6274,7 +6638,7 @@ const j = [
6274
6638
  "form.invalidValue": "Proszę podać prawidłową wartość.",
6275
6639
  "auth.signIn": "Proszę się zalogować",
6276
6640
  "auth.signOut": "Proszę się wylogować"
6277
- }, Y = {
6641
+ }, $ = {
6278
6642
  save: "Zapisz",
6279
6643
  cancel: "Anuluj",
6280
6644
  ok: "OK",
@@ -6299,46 +6663,46 @@ const j = [
6299
6663
  "auth.signIn": "Zaloguj się",
6300
6664
  "auth.signOut": "Wyloguj się"
6301
6665
  }, _e = {
6302
- "pl-PL": { formal: J, informal: Y },
6303
- pl: { formal: J, informal: Y }
6666
+ "pl-PL": { formal: Y, informal: $ },
6667
+ pl: { formal: Y, informal: $ }
6304
6668
  };
6305
6669
  function qo(e) {
6306
6670
  var o;
6307
- return { ...w.pl, ...((o = _e.pl) == null ? void 0 : o[e]) ?? {} };
6671
+ return { ...k.pl, ...((o = _e.pl) == null ? void 0 : o[e]) ?? {} };
6308
6672
  }
6309
6673
  const Qe = (e, o) => o, oe = I(Qe), Go = ({
6310
6674
  t: e,
6311
6675
  lang: o = "en",
6312
- overrides: a,
6676
+ overrides: r,
6313
6677
  children: t
6314
6678
  }) => {
6315
- const r = k(() => {
6679
+ const a = b(() => {
6316
6680
  if (e)
6317
6681
  return e;
6318
- const n = w[o] ?? w.en, i = a ? { ...n, ...a } : n;
6682
+ const n = k[o] ?? k.en, i = r ? { ...n, ...r } : n;
6319
6683
  return (s, d) => i[s] ?? d;
6320
- }, [e, o, a]);
6321
- return /* @__PURE__ */ B(oe.Provider, { value: r, children: t });
6684
+ }, [e, o, r]);
6685
+ return /* @__PURE__ */ B(oe.Provider, { value: a, children: t });
6322
6686
  };
6323
- function $o() {
6687
+ function Jo() {
6324
6688
  return { t: N(oe) };
6325
6689
  }
6326
- function Jo(e = "en", o) {
6327
- const a = w[e] ?? w.en, t = o ? { ...a, ...o } : a;
6328
- return (r, n) => t[r] ?? n;
6690
+ function Yo(e = "en", o) {
6691
+ const r = k[e] ?? k.en, t = o ? { ...r, ...o } : r;
6692
+ return (a, n) => t[a] ?? n;
6329
6693
  }
6330
- function Yo(e, o = {}) {
6331
- let a = e.replace(/\{(\w+)\}/g, (t, r) => {
6332
- const n = o[r];
6694
+ function $o(e, o = {}) {
6695
+ let r = e.replace(/\{(\w+)\}/g, (t, a) => {
6696
+ const n = o[a];
6333
6697
  return n !== void 0 ? String(n) : t;
6334
6698
  });
6335
- return a = a.replace(
6699
+ return r = r.replace(
6336
6700
  /\{(\w+),\s*plural,\s*one\{([^}]+)\}\s*other\{([^}]+)\}\}/g,
6337
- (t, r, n, i) => {
6338
- const s = o[r];
6701
+ (t, a, n, i) => {
6702
+ const s = o[a];
6339
6703
  return typeof s != "number" ? t : (s === 1 ? n : i).replace(/#/g, String(s));
6340
6704
  }
6341
- ), a;
6705
+ ), r;
6342
6706
  }
6343
6707
  function Xe(e) {
6344
6708
  return j.includes(e);
@@ -6352,8 +6716,8 @@ function _o() {
6352
6716
  }
6353
6717
  function te(e, o) {
6354
6718
  var n;
6355
- const a = Math.abs(e), t = Math.floor(a), r = e.toString().includes(".") && ((n = e.toString().split(".")[1]) == null ? void 0 : n.length) || 0;
6356
- switch (r > 0 && parseInt(e.toString().split(".")[1] || "0", 10), o) {
6719
+ const r = Math.abs(e), t = Math.floor(r), a = e.toString().includes(".") && ((n = e.toString().split(".")[1]) == null ? void 0 : n.length) || 0;
6720
+ switch (a > 0 && parseInt(e.toString().split(".")[1] || "0", 10), o) {
6357
6721
  // ── English-like (one/other) ───────────────────────────
6358
6722
  case "en":
6359
6723
  case "de":
@@ -6365,29 +6729,29 @@ function te(e, o) {
6365
6729
  case "it":
6366
6730
  case "es":
6367
6731
  case "pt":
6368
- return t === 1 && r === 0 ? "one" : "other";
6732
+ return t === 1 && a === 0 ? "one" : "other";
6369
6733
  // ── French (one/many/other) ────────────────────────────
6370
6734
  case "fr":
6371
- return t === 0 || t === 1 ? "one" : a >= 1e6 ? "many" : "other";
6735
+ return t === 0 || t === 1 ? "one" : r >= 1e6 ? "many" : "other";
6372
6736
  // ── Polish (Slavic: one/few/many/other) ────────────────
6373
6737
  case "pl":
6374
- return t === 1 && r === 0 ? "one" : r === 0 && t % 10 >= 2 && t % 10 <= 4 && !(t % 100 >= 12 && t % 100 <= 14) ? "few" : r === 0 && t !== 1 && (t % 10 === 0 || t % 10 === 1) || r === 0 && t % 10 >= 5 && t % 10 <= 9 || r === 0 && t % 100 >= 12 && t % 100 <= 14 ? "many" : "other";
6738
+ return t === 1 && a === 0 ? "one" : a === 0 && t % 10 >= 2 && t % 10 <= 4 && !(t % 100 >= 12 && t % 100 <= 14) ? "few" : a === 0 && t !== 1 && (t % 10 === 0 || t % 10 === 1) || a === 0 && t % 10 >= 5 && t % 10 <= 9 || a === 0 && t % 100 >= 12 && t % 100 <= 14 ? "many" : "other";
6375
6739
  // ── Ukrainian (Slavic: one/few/many/other) ─────────────
6376
6740
  case "uk":
6377
- return r === 0 && t % 10 === 1 && t % 100 !== 11 ? "one" : r === 0 && t % 10 >= 2 && t % 10 <= 4 && !(t % 100 >= 12 && t % 100 <= 14) ? "few" : r === 0 && t % 10 === 0 || r === 0 && t % 10 >= 5 && t % 10 <= 9 || r === 0 && t % 100 >= 11 && t % 100 <= 14 ? "many" : "other";
6741
+ return a === 0 && t % 10 === 1 && t % 100 !== 11 ? "one" : a === 0 && t % 10 >= 2 && t % 10 <= 4 && !(t % 100 >= 12 && t % 100 <= 14) ? "few" : a === 0 && t % 10 === 0 || a === 0 && t % 10 >= 5 && t % 10 <= 9 || a === 0 && t % 100 >= 11 && t % 100 <= 14 ? "many" : "other";
6378
6742
  // ── Bulgarian (one/other) ──────────────────────────────
6379
6743
  case "bg":
6380
6744
  return e === 1 ? "one" : "other";
6381
6745
  // ── Czech/Slovak (Slavic: one/few/many/other) ──────────
6382
6746
  case "cs":
6383
6747
  case "sk":
6384
- return t === 1 && r === 0 ? "one" : t >= 2 && t <= 4 && r === 0 ? "few" : r !== 0 ? "many" : "other";
6748
+ return t === 1 && a === 0 ? "one" : t >= 2 && t <= 4 && a === 0 ? "few" : a !== 0 ? "many" : "other";
6385
6749
  // ── Hungarian (one/other) ──────────────────────────────
6386
6750
  case "hu":
6387
6751
  return e === 1 ? "one" : "other";
6388
6752
  // ── Romanian (one/few/other) ───────────────────────────
6389
6753
  case "ro":
6390
- return t === 1 && r === 0 ? "one" : r !== 0 || e === 0 || e % 100 >= 2 && e % 100 <= 19 ? "few" : "other";
6754
+ return t === 1 && a === 0 ? "one" : a !== 0 || e === 0 || e % 100 >= 2 && e % 100 <= 19 ? "few" : "other";
6391
6755
  // ── Japanese/Korean/Chinese (other only) ─────────────────
6392
6756
  case "ja":
6393
6757
  case "ko":
@@ -6410,10 +6774,10 @@ function te(e, o) {
6410
6774
  return new Intl.PluralRules(o).select(e);
6411
6775
  } catch {
6412
6776
  }
6413
- return t === 1 && r === 0 ? "one" : "other";
6777
+ return t === 1 && a === 0 ? "one" : "other";
6414
6778
  }
6415
6779
  }
6416
- function ae(e, o) {
6780
+ function re(e, o) {
6417
6781
  switch (o) {
6418
6782
  // ── English ────────────────────────────────────────────
6419
6783
  case "en":
@@ -6448,28 +6812,28 @@ function ae(e, o) {
6448
6812
  }
6449
6813
  }
6450
6814
  function eo(e) {
6451
- var r;
6815
+ var a;
6452
6816
  if (e = e.trim(), !e.includes(","))
6453
6817
  return { type: "simple", name: e };
6454
- const o = e.split(",").map((n) => n.trim()), a = o[0], t = (r = o[1]) == null ? void 0 : r.toLowerCase();
6455
- if (!t || !a)
6818
+ const o = e.split(",").map((n) => n.trim()), r = o[0], t = (a = o[1]) == null ? void 0 : a.toLowerCase();
6819
+ if (!t || !r)
6456
6820
  return null;
6457
6821
  if (t === "number")
6458
- return { type: "number", name: a, style: o[2] };
6822
+ return { type: "number", name: r, style: o[2] };
6459
6823
  if (t === "date" || t === "time")
6460
- return { type: t, name: a, style: o[2] || "medium" };
6824
+ return { type: t, name: r, style: o[2] || "medium" };
6461
6825
  if (t === "plural" || t === "select" || t === "selectordinal") {
6462
6826
  const n = o.slice(2).join(",").trim(), i = {}, s = /(=?\w+)\s*\{([^{}]*(?:\{[^{}]*\}[^{}]*)*)\}/g;
6463
6827
  let d;
6464
6828
  for (; (d = s.exec(n)) !== null; )
6465
6829
  i[d[1]] = d[2];
6466
- return { type: t, name: a, options: i };
6830
+ return { type: t, name: r, options: i };
6467
6831
  }
6468
- return { type: "simple", name: a };
6832
+ return { type: "simple", name: r };
6469
6833
  }
6470
- function oo(e, o, a) {
6834
+ function oo(e, o, r) {
6471
6835
  const t = {};
6472
- switch (a) {
6836
+ switch (r) {
6473
6837
  case "currency":
6474
6838
  t.style = "currency", t.currency = "USD";
6475
6839
  break;
@@ -6482,51 +6846,51 @@ function oo(e, o, a) {
6482
6846
  }
6483
6847
  return new Intl.NumberFormat(o, t).format(e);
6484
6848
  }
6485
- function to(e, o, a) {
6849
+ function to(e, o, r) {
6486
6850
  const t = e instanceof Date ? e : new Date(e);
6487
- let r;
6488
- switch (a) {
6851
+ let a;
6852
+ switch (r) {
6489
6853
  case "short":
6490
- r = { dateStyle: "short" };
6854
+ a = { dateStyle: "short" };
6491
6855
  break;
6492
6856
  case "long":
6493
- r = { dateStyle: "long" };
6857
+ a = { dateStyle: "long" };
6494
6858
  break;
6495
6859
  case "full":
6496
- r = { dateStyle: "full" };
6860
+ a = { dateStyle: "full" };
6497
6861
  break;
6498
6862
  case "medium":
6499
6863
  default:
6500
- r = { dateStyle: "medium" };
6864
+ a = { dateStyle: "medium" };
6501
6865
  break;
6502
6866
  }
6503
- return new Intl.DateTimeFormat(o, r).format(t);
6867
+ return new Intl.DateTimeFormat(o, a).format(t);
6504
6868
  }
6505
- function ao(e, o, a) {
6869
+ function ro(e, o, r) {
6506
6870
  const t = e instanceof Date ? e : new Date(e);
6507
- let r;
6508
- switch (a) {
6871
+ let a;
6872
+ switch (r) {
6509
6873
  case "short":
6510
- r = { timeStyle: "short" };
6874
+ a = { timeStyle: "short" };
6511
6875
  break;
6512
6876
  case "long":
6513
- r = { timeStyle: "long" };
6877
+ a = { timeStyle: "long" };
6514
6878
  break;
6515
6879
  case "full":
6516
- r = { timeStyle: "full" };
6880
+ a = { timeStyle: "full" };
6517
6881
  break;
6518
6882
  case "medium":
6519
6883
  default:
6520
- r = { timeStyle: "medium" };
6884
+ a = { timeStyle: "medium" };
6521
6885
  break;
6522
6886
  }
6523
- return new Intl.DateTimeFormat(o, r).format(t);
6887
+ return new Intl.DateTimeFormat(o, a).format(t);
6524
6888
  }
6525
- function W(e, o, a) {
6526
- return e.replace(/#/g, String(a));
6889
+ function V(e, o, r) {
6890
+ return e.replace(/#/g, String(r));
6527
6891
  }
6528
- function ro(e, o = {}, a = {}) {
6529
- const t = a.lang || "en", r = a.locale || t, n = /\{([^{}]*(?:\{[^{}]*\}[^{}]*)*)\}/g;
6892
+ function ao(e, o = {}, r = {}) {
6893
+ const t = r.lang || "en", a = r.locale || t, n = /\{([^{}]*(?:\{[^{}]*\}[^{}]*)*)\}/g;
6530
6894
  return e.replace(n, (i, s) => {
6531
6895
  const d = eo(s);
6532
6896
  if (!d)
@@ -6538,28 +6902,28 @@ function ro(e, o = {}, a = {}) {
6538
6902
  case "simple":
6539
6903
  return String(l);
6540
6904
  case "number":
6541
- return typeof l != "number" ? i : oo(l, r, d.style);
6905
+ return typeof l != "number" ? i : oo(l, a, d.style);
6542
6906
  case "date":
6543
- return to(l, r, d.style);
6907
+ return to(l, a, d.style);
6544
6908
  case "time":
6545
- return ao(l, r, d.style);
6909
+ return ro(l, a, d.style);
6546
6910
  case "plural": {
6547
6911
  if (typeof l != "number" || !d.options)
6548
6912
  return i;
6549
- const m = te(l, t), f = `=${l}`, p = d.options[f] ?? d.options[m] ?? d.options.other ?? "";
6550
- return W(p, d.name, l);
6913
+ const p = te(l, t), f = `=${l}`, u = d.options[f] ?? d.options[p] ?? d.options.other ?? "";
6914
+ return V(u, d.name, l);
6551
6915
  }
6552
6916
  case "selectordinal": {
6553
6917
  if (typeof l != "number" || !d.options)
6554
6918
  return i;
6555
- const m = ae(l, t), f = d.options[m] ?? d.options.other ?? "";
6556
- return W(f, d.name, l);
6919
+ const p = re(l, t), f = d.options[p] ?? d.options.other ?? "";
6920
+ return V(f, d.name, l);
6557
6921
  }
6558
6922
  case "select": {
6559
6923
  if (!d.options)
6560
6924
  return i;
6561
- const m = d.options[String(l)] ?? d.options.other ?? "";
6562
- return W(m, d.name, l);
6925
+ const p = d.options[String(l)] ?? d.options.other ?? "";
6926
+ return V(p, d.name, l);
6563
6927
  }
6564
6928
  default:
6565
6929
  return i;
@@ -6567,17 +6931,17 @@ function ro(e, o = {}, a = {}) {
6567
6931
  });
6568
6932
  }
6569
6933
  function Qo(e, o = "en") {
6570
- return function(t, r, n) {
6571
- const i = e[t] ?? r;
6572
- return n ? ro(i, n, { lang: o }) : i;
6934
+ return function(t, a, n) {
6935
+ const i = e[t] ?? a;
6936
+ return n ? ao(i, n, { lang: o }) : i;
6573
6937
  };
6574
6938
  }
6575
- function Xo(e, o, a = "en") {
6576
- const t = te(e, a);
6939
+ function Xo(e, o, r = "en") {
6940
+ const t = te(e, r);
6577
6941
  return (o[t] ?? o.other).replace(/#/g, String(e));
6578
6942
  }
6579
- function et(e, o, a = "en") {
6580
- const t = ae(e, a);
6943
+ function et(e, o, r = "en") {
6944
+ const t = re(e, r);
6581
6945
  return (o[t] ?? o.other).replace(/#/g, String(e));
6582
6946
  }
6583
6947
  function ot(e, o) {
@@ -6597,11 +6961,11 @@ const no = [
6597
6961
  "ps"
6598
6962
  // Pashto
6599
6963
  ];
6600
- function re(e) {
6964
+ function ae(e) {
6601
6965
  return no.includes(e);
6602
6966
  }
6603
6967
  function io(e) {
6604
- return re(e) ? "rtl" : "ltr";
6968
+ return ae(e) ? "rtl" : "ltr";
6605
6969
  }
6606
6970
  function so(e) {
6607
6971
  if (typeof document > "u")
@@ -6615,7 +6979,7 @@ function tt() {
6615
6979
  function lo(e, o) {
6616
6980
  return o ? e.rtl : e.ltr;
6617
6981
  }
6618
- function at(e) {
6982
+ function rt(e) {
6619
6983
  return e === "left" ? "right" : "left";
6620
6984
  }
6621
6985
  function co(e, o) {
@@ -6628,7 +6992,7 @@ function co(e, o) {
6628
6992
  "flex-end": "flex-start"
6629
6993
  }[e] || e;
6630
6994
  }
6631
- function mo(e) {
6995
+ function po(e) {
6632
6996
  return {
6633
6997
  // Margins
6634
6998
  "margin-left": "margin-inline-start",
@@ -6663,25 +7027,25 @@ const q = I({
6663
7027
  isRTL: !1,
6664
7028
  flip: (e) => e,
6665
7029
  value: (e) => e.ltr
6666
- }), rt = ({
7030
+ }), at = ({
6667
7031
  lang: e,
6668
7032
  autoSetDocument: o = !0,
6669
- children: a
7033
+ children: r
6670
7034
  }) => {
6671
- const t = re(e), r = t ? "rtl" : "ltr";
7035
+ const t = ae(e), a = t ? "rtl" : "ltr";
6672
7036
  L(() => {
6673
7037
  o && so(e);
6674
7038
  }, [e, o]);
6675
- const n = k(
7039
+ const n = b(
6676
7040
  () => ({
6677
- dir: r,
7041
+ dir: a,
6678
7042
  isRTL: t,
6679
7043
  flip: (i) => co(i, t),
6680
7044
  value: (i) => lo(i, t)
6681
7045
  }),
6682
- [r, t]
7046
+ [a, t]
6683
7047
  );
6684
- return /* @__PURE__ */ B(q.Provider, { value: n, children: a });
7048
+ return /* @__PURE__ */ B(q.Provider, { value: n, children: r });
6685
7049
  };
6686
7050
  function nt() {
6687
7051
  return N(q);
@@ -6690,7 +7054,7 @@ function it() {
6690
7054
  return N(q).isRTL;
6691
7055
  }
6692
7056
  function st(e) {
6693
- const o = [], a = [
7057
+ const o = [], r = [
6694
7058
  "left",
6695
7059
  "right",
6696
7060
  "margin-left",
@@ -6700,11 +7064,11 @@ function st(e) {
6700
7064
  "border-left",
6701
7065
  "border-right"
6702
7066
  ];
6703
- for (const [t, r] of Object.entries(e))
6704
- a.includes(t) && o.push(`Use logical property instead of '${t}' → '${mo(t)}'`), t === "text-align" && (r === "left" || r === "right") && o.push(`Use 'text-align: start/end' instead of 'text-align: ${r}'`), t === "float" && (r === "left" || r === "right") && o.push(`Use flexbox or grid instead of 'float: ${r}' for RTL support`);
7067
+ for (const [t, a] of Object.entries(e))
7068
+ r.includes(t) && o.push(`Use logical property instead of '${t}' → '${po(t)}'`), t === "text-align" && (a === "left" || a === "right") && o.push(`Use 'text-align: start/end' instead of 'text-align: ${a}'`), t === "float" && (a === "left" || a === "right") && o.push(`Use flexbox or grid instead of 'float: ${a}' for RTL support`);
6705
7069
  return o;
6706
7070
  }
6707
- const H = {
7071
+ const U = {
6708
7072
  // Direction multiplier: 1 for LTR, -1 for RTL
6709
7073
  dirMultiplier: "--nice-dir-multiplier",
6710
7074
  // Inline start (left in LTR, right in RTL)
@@ -6714,48 +7078,48 @@ const H = {
6714
7078
  };
6715
7079
  function dt(e) {
6716
7080
  return {
6717
- [H.dirMultiplier]: e ? "-1" : "1",
6718
- [H.inlineStart]: e ? "right" : "left",
6719
- [H.inlineEnd]: e ? "left" : "right"
7081
+ [U.dirMultiplier]: e ? "-1" : "1",
7082
+ [U.inlineStart]: e ? "right" : "left",
7083
+ [U.inlineEnd]: e ? "left" : "right"
6720
7084
  };
6721
7085
  }
6722
7086
  function lt() {
6723
- return Object.keys(w.en);
7087
+ return Object.keys(k.en);
6724
7088
  }
6725
- function po(e) {
7089
+ function uo(e) {
6726
7090
  if (e === "en")
6727
7091
  return [];
6728
- const o = w.en, a = w[e], t = [];
6729
- for (const [r, n] of Object.entries(o))
6730
- a[r] || t.push({ key: r, englishValue: n });
7092
+ const o = k.en, r = k[e], t = [];
7093
+ for (const [a, n] of Object.entries(o))
7094
+ r[a] || t.push({ key: a, englishValue: n });
6731
7095
  return t;
6732
7096
  }
6733
- function uo(e) {
6734
- const o = Object.keys(w.en).length, a = Object.keys(w[e]).length, t = o - a, r = Math.round(a / o * 100);
7097
+ function mo(e) {
7098
+ const o = Object.keys(k.en).length, r = Object.keys(k[e]).length, t = o - r, a = Math.round(r / o * 100);
6735
7099
  return {
6736
7100
  lang: e,
6737
7101
  totalKeys: o,
6738
- translatedKeys: a,
7102
+ translatedKeys: r,
6739
7103
  missingKeys: t,
6740
- coverage: r
7104
+ coverage: a
6741
7105
  };
6742
7106
  }
6743
7107
  function go() {
6744
- return j.map((e) => uo(e));
7108
+ return j.map((e) => mo(e));
6745
7109
  }
6746
7110
  function ct(e, o) {
6747
- const a = o.map((t) => {
6748
- const r = t.translated.replace(/'/g, "\\'");
6749
- return ` '${t.key}': '${r}',`;
7111
+ const r = o.map((t) => {
7112
+ const a = t.translated.replace(/'/g, "\\'");
7113
+ return ` '${t.key}': '${a}',`;
6750
7114
  });
6751
7115
  return `// Auto-translated additions for ${e} (review before merging)
6752
7116
  // Generated on ${(/* @__PURE__ */ new Date()).toISOString()}
6753
7117
  {
6754
- ${a.join(`
7118
+ ${r.join(`
6755
7119
  `)}
6756
7120
  }`;
6757
7121
  }
6758
- function mt() {
7122
+ function pt() {
6759
7123
  const e = go();
6760
7124
  let o = `# Translation Coverage Report
6761
7125
 
@@ -6766,23 +7130,23 @@ Generated: ${(/* @__PURE__ */ new Date()).toISOString()}
6766
7130
  | Language | Translated | Missing | Coverage |
6767
7131
  |----------|------------|---------|----------|
6768
7132
  `;
6769
- for (const a of e) {
6770
- const t = "█".repeat(Math.floor(a.coverage / 10)) + "░".repeat(10 - Math.floor(a.coverage / 10));
6771
- o += `| ${a.lang} | ${a.translatedKeys} | ${a.missingKeys} | ${t} ${a.coverage}% |
7133
+ for (const r of e) {
7134
+ const t = "█".repeat(Math.floor(r.coverage / 10)) + "░".repeat(10 - Math.floor(r.coverage / 10));
7135
+ o += `| ${r.lang} | ${r.translatedKeys} | ${r.missingKeys} | ${t} ${r.coverage}% |
6772
7136
  `;
6773
7137
  }
6774
7138
  o += `
6775
7139
  ## Languages with Missing Translations
6776
7140
 
6777
7141
  `;
6778
- for (const a of e.filter((t) => t.missingKeys > 0)) {
6779
- o += `### ${a.lang.toUpperCase()} (${a.coverage}% complete)
7142
+ for (const r of e.filter((t) => t.missingKeys > 0)) {
7143
+ o += `### ${r.lang.toUpperCase()} (${r.coverage}% complete)
6780
7144
 
6781
7145
  `;
6782
- const t = po(a.lang);
7146
+ const t = uo(r.lang);
6783
7147
  o += `Missing ${t.length} keys:
6784
7148
 
6785
- `, o += "```\n", o += t.slice(0, 10).map((r) => r.key).join(`
7149
+ `, o += "```\n", o += t.slice(0, 10).map((a) => a.key).join(`
6786
7150
  `), t.length > 10 && (o += `
6787
7151
  ... and ${t.length - 10} more`), o += "\n```\n\n";
6788
7152
  }
@@ -6824,51 +7188,51 @@ function D(e) {
6824
7188
  return ho[e] ?? "en-US";
6825
7189
  }
6826
7190
  function fo(e, o = "medium") {
6827
- const a = D(e), t = new Intl.DateTimeFormat(a, { dateStyle: o });
7191
+ const r = D(e), t = new Intl.DateTimeFormat(r, { dateStyle: o });
6828
7192
  return {
6829
- format: (r) => t.format(r instanceof Date ? r : new Date(r)),
6830
- formatRange: (r, n) => {
6831
- const i = r instanceof Date ? r : new Date(r), s = n instanceof Date ? n : new Date(n);
7193
+ format: (a) => t.format(a instanceof Date ? a : new Date(a)),
7194
+ formatRange: (a, n) => {
7195
+ const i = a instanceof Date ? a : new Date(a), s = n instanceof Date ? n : new Date(n);
6832
7196
  return t.formatRange(i, s);
6833
7197
  },
6834
- formatRelative: (r) => bo(r instanceof Date ? r : new Date(r), a)
7198
+ formatRelative: (a) => wo(a instanceof Date ? a : new Date(a), r)
6835
7199
  };
6836
7200
  }
6837
- function pt(e, o = "medium") {
6838
- return k(() => fo(e, o), [e, o]);
7201
+ function ut(e, o = "medium") {
7202
+ return b(() => fo(e, o), [e, o]);
6839
7203
  }
6840
7204
  function vo(e, o = "short") {
6841
- const a = D(e), t = new Intl.DateTimeFormat(a, { timeStyle: o });
7205
+ const r = D(e), t = new Intl.DateTimeFormat(r, { timeStyle: o });
6842
7206
  return {
6843
- format: (r) => t.format(r instanceof Date ? r : new Date(r))
7207
+ format: (a) => t.format(a instanceof Date ? a : new Date(a))
6844
7208
  };
6845
7209
  }
6846
- function ut(e, o = "short") {
6847
- return k(() => vo(e, o), [e, o]);
7210
+ function mt(e, o = "short") {
7211
+ return b(() => vo(e, o), [e, o]);
6848
7212
  }
6849
- function ko(e) {
7213
+ function bo(e) {
6850
7214
  const o = D(e);
6851
7215
  return {
6852
- format: (a) => new Intl.NumberFormat(o).format(a),
6853
- formatCompact: (a) => new Intl.NumberFormat(o, { notation: "compact" }).format(a),
6854
- formatPercent: (a) => new Intl.NumberFormat(o, { style: "percent", maximumFractionDigits: 1 }).format(a)
7216
+ format: (r) => new Intl.NumberFormat(o).format(r),
7217
+ formatCompact: (r) => new Intl.NumberFormat(o, { notation: "compact" }).format(r),
7218
+ formatPercent: (r) => new Intl.NumberFormat(o, { style: "percent", maximumFractionDigits: 1 }).format(r)
6855
7219
  };
6856
7220
  }
6857
7221
  function gt(e) {
6858
- return k(() => ko(e), [e]);
7222
+ return b(() => bo(e), [e]);
6859
7223
  }
6860
- function wo(e, o = "USD") {
6861
- const a = D(e), t = new Intl.NumberFormat(a, { style: "currency", currency: o });
7224
+ function ko(e, o = "USD") {
7225
+ const r = D(e), t = new Intl.NumberFormat(r, { style: "currency", currency: o });
6862
7226
  return {
6863
- format: (r) => t.format(r)
7227
+ format: (a) => t.format(a)
6864
7228
  };
6865
7229
  }
6866
7230
  function ht(e, o = "USD") {
6867
- return k(() => wo(e, o), [e, o]);
7231
+ return b(() => ko(e, o), [e, o]);
6868
7232
  }
6869
- function bo(e, o) {
6870
- const a = Date.now(), t = e.getTime() - a, r = Math.abs(t), n = new Intl.RelativeTimeFormat(o, { numeric: "auto" });
6871
- return r < 6e4 ? n.format(Math.round(t / 1e3), "second") : r < 36e5 ? n.format(Math.round(t / 6e4), "minute") : r < 864e5 ? n.format(Math.round(t / 36e5), "hour") : r < 2592e6 ? n.format(Math.round(t / 864e5), "day") : r < 31536e6 ? n.format(Math.round(t / 2592e6), "month") : n.format(Math.round(t / 31536e6), "year");
7233
+ function wo(e, o) {
7234
+ const r = Date.now(), t = e.getTime() - r, a = Math.abs(t), n = new Intl.RelativeTimeFormat(o, { numeric: "auto" });
7235
+ return a < 6e4 ? n.format(Math.round(t / 1e3), "second") : a < 36e5 ? n.format(Math.round(t / 6e4), "minute") : a < 864e5 ? n.format(Math.round(t / 36e5), "hour") : a < 2592e6 ? n.format(Math.round(t / 864e5), "day") : a < 31536e6 ? n.format(Math.round(t / 2592e6), "month") : n.format(Math.round(t / 31536e6), "year");
6872
7236
  }
6873
7237
  const ne = [
6874
7238
  {
@@ -7023,18 +7387,18 @@ const ne = [
7023
7387
  }
7024
7388
  ];
7025
7389
  function yo(e, o) {
7026
- const a = ne.find((t) => t.en.toLowerCase() === e.toLowerCase());
7027
- return a == null ? void 0 : a.translations[o];
7390
+ const r = ne.find((t) => t.en.toLowerCase() === e.toLowerCase());
7391
+ return r == null ? void 0 : r.translations[o];
7028
7392
  }
7029
- function ft(e, o, a = 0.8) {
7030
- const t = w.en, r = w[o], n = e.toLowerCase().trim();
7393
+ function ft(e, o, r = 0.8) {
7394
+ const t = k.en, a = k[o], n = e.toLowerCase().trim();
7031
7395
  let i;
7032
7396
  for (const [s, d] of Object.entries(t)) {
7033
- const l = r[s];
7397
+ const l = a[s];
7034
7398
  if (!l)
7035
7399
  continue;
7036
- const m = Co(n, d.toLowerCase().trim());
7037
- m >= a && (!i || m > i.similarity) && (i = { key: s, english: d, translated: l, similarity: m });
7400
+ const p = Eo(n, d.toLowerCase().trim());
7401
+ p >= r && (!i || p > i.similarity) && (i = { key: s, english: d, translated: l, similarity: p });
7038
7402
  }
7039
7403
  return i;
7040
7404
  }
@@ -7044,30 +7408,30 @@ function vt(e) {
7044
7408
  translation: o.translations[e]
7045
7409
  }));
7046
7410
  }
7047
- function kt(e) {
7048
- const o = w[e], a = w.en, t = [];
7049
- for (const [r, n] of Object.entries(a)) {
7050
- const i = yo(n, e), s = o[r];
7051
- i && s && s !== i && t.push({ key: r, currentTranslation: s, glossaryTranslation: i });
7411
+ function bt(e) {
7412
+ const o = k[e], r = k.en, t = [];
7413
+ for (const [a, n] of Object.entries(r)) {
7414
+ const i = yo(n, e), s = o[a];
7415
+ i && s && s !== i && t.push({ key: a, currentTranslation: s, glossaryTranslation: i });
7052
7416
  }
7053
7417
  return t;
7054
7418
  }
7055
7419
  function _(e) {
7056
7420
  const o = /* @__PURE__ */ new Set();
7057
- for (let a = 0; a < e.length - 1; a++)
7058
- o.add(e.substring(a, a + 2));
7421
+ for (let r = 0; r < e.length - 1; r++)
7422
+ o.add(e.substring(r, r + 2));
7059
7423
  return o;
7060
7424
  }
7061
- function Co(e, o) {
7425
+ function Eo(e, o) {
7062
7426
  if (e === o)
7063
7427
  return 1;
7064
7428
  if (e.length < 2 || o.length < 2)
7065
7429
  return 0;
7066
- const a = _(e), t = _(o);
7067
- let r = 0;
7068
- for (const n of a)
7069
- t.has(n) && r++;
7070
- return 2 * r / (a.size + t.size);
7430
+ const r = _(e), t = _(o);
7431
+ let a = 0;
7432
+ for (const n of r)
7433
+ t.has(n) && a++;
7434
+ return 2 * a / (r.size + t.size);
7071
7435
  }
7072
7436
  const ie = {
7073
7437
  UTC: ["UTC", "Etc/UTC", "Etc/GMT"],
@@ -7137,60 +7501,60 @@ function G() {
7137
7501
  return "UTC";
7138
7502
  }
7139
7503
  }
7140
- function wt(e) {
7504
+ function kt(e) {
7141
7505
  try {
7142
7506
  return new Intl.DateTimeFormat("en", { timeZone: e }), !0;
7143
7507
  } catch {
7144
7508
  return !1;
7145
7509
  }
7146
7510
  }
7147
- function F(e, o = "en", a = /* @__PURE__ */ new Date()) {
7148
- var b, M;
7149
- const t = D(o), r = new Intl.DateTimeFormat(t, {
7511
+ function F(e, o = "en", r = /* @__PURE__ */ new Date()) {
7512
+ var w, M;
7513
+ const t = D(o), a = new Intl.DateTimeFormat(t, {
7150
7514
  timeZone: e,
7151
7515
  timeZoneName: "long"
7152
7516
  }), n = new Intl.DateTimeFormat(t, {
7153
7517
  timeZone: e,
7154
7518
  timeZoneName: "short"
7155
- }), i = r.formatToParts(a), s = n.formatToParts(a), d = ((b = i.find((x) => x.type === "timeZoneName")) == null ? void 0 : b.value) || e, l = ((M = s.find((x) => x.type === "timeZoneName")) == null ? void 0 : M.value) || e, m = new Date(a.toLocaleString("en-US", { timeZone: "UTC" })), f = new Date(a.toLocaleString("en-US", { timeZone: e })), p = Math.round((f.getTime() - m.getTime()) / 6e4), u = new Date(a.getFullYear(), 0, 1), v = new Date(a.getFullYear(), 6, 1), g = V(e, u), C = V(e, v), E = V(e, a), y = Math.min(g, C), A = E !== y && g !== C;
7519
+ }), i = a.formatToParts(r), s = n.formatToParts(r), d = ((w = i.find((x) => x.type === "timeZoneName")) == null ? void 0 : w.value) || e, l = ((M = s.find((x) => x.type === "timeZoneName")) == null ? void 0 : M.value) || e, p = new Date(r.toLocaleString("en-US", { timeZone: "UTC" })), f = new Date(r.toLocaleString("en-US", { timeZone: e })), u = Math.round((f.getTime() - p.getTime()) / 6e4), m = new Date(r.getFullYear(), 0, 1), v = new Date(r.getFullYear(), 6, 1), g = K(e, m), E = K(e, v), C = K(e, r), y = Math.min(g, E), A = C !== y && g !== E;
7156
7520
  return {
7157
7521
  id: e,
7158
7522
  displayName: d,
7159
7523
  shortName: l,
7160
- offsetMinutes: p,
7161
- offsetString: Do(p),
7524
+ offsetMinutes: u,
7525
+ offsetString: Do(u),
7162
7526
  isDST: A
7163
7527
  };
7164
7528
  }
7165
- function bt(e = "en", o = /* @__PURE__ */ new Date()) {
7529
+ function wt(e = "en", o = /* @__PURE__ */ new Date()) {
7166
7530
  return Object.values(ie).flat().map((t) => F(t, e, o));
7167
7531
  }
7168
7532
  function yt(e = "en", o = /* @__PURE__ */ new Date()) {
7169
- const a = {};
7170
- for (const [t, r] of Object.entries(ie))
7171
- a[t] = r.map((n) => F(n, e, o));
7172
- return a;
7533
+ const r = {};
7534
+ for (const [t, a] of Object.entries(ie))
7535
+ r[t] = a.map((n) => F(n, e, o));
7536
+ return r;
7173
7537
  }
7174
- function se(e, o, a) {
7175
- const t = e.toLocaleString("en-US", { timeZone: o }), r = new Date(t), n = e.toLocaleString("en-US", { timeZone: a }), i = new Date(n), s = r.getTime() - i.getTime();
7538
+ function se(e, o, r) {
7539
+ const t = e.toLocaleString("en-US", { timeZone: o }), a = new Date(t), n = e.toLocaleString("en-US", { timeZone: r }), i = new Date(n), s = a.getTime() - i.getTime();
7176
7540
  return new Date(e.getTime() + s);
7177
7541
  }
7178
- function Eo(e, o) {
7179
- const a = o || G();
7180
- return se(e, a, "UTC");
7542
+ function Co(e, o) {
7543
+ const r = o || G();
7544
+ return se(e, r, "UTC");
7181
7545
  }
7182
- function zo(e, o) {
7183
- const a = o || G();
7184
- return se(e, "UTC", a);
7546
+ function So(e, o) {
7547
+ const r = o || G();
7548
+ return se(e, "UTC", r);
7185
7549
  }
7186
- function So(e, o, a = {}) {
7187
- const t = D(e), { dateStyle: r = "medium", timeStyle: n = "short", nameStyle: i = "short" } = a, s = new Intl.DateTimeFormat(t, {
7550
+ function zo(e, o, r = {}) {
7551
+ const t = D(e), { dateStyle: a = "medium", timeStyle: n = "short", nameStyle: i = "short" } = r, s = new Intl.DateTimeFormat(t, {
7188
7552
  timeZone: o,
7189
- dateStyle: r,
7553
+ dateStyle: a,
7190
7554
  timeStyle: n
7191
7555
  }), d = new Intl.DateTimeFormat(t, {
7192
7556
  timeZone: o,
7193
- dateStyle: r,
7557
+ dateStyle: a,
7194
7558
  timeStyle: n,
7195
7559
  timeZoneName: i
7196
7560
  }), l = new Intl.DateTimeFormat(t, {
@@ -7198,56 +7562,56 @@ function So(e, o, a = {}) {
7198
7562
  timeZoneName: "short"
7199
7563
  });
7200
7564
  return {
7201
- format: (m) => s.format(m),
7202
- formatWithZone: (m) => d.format(m),
7203
- getOffset: (m) => F(o, e, m).offsetString,
7204
- getAbbreviation: (m) => {
7205
- var p;
7206
- return ((p = l.formatToParts(m).find((u) => u.type === "timeZoneName")) == null ? void 0 : p.value) || "";
7565
+ format: (p) => s.format(p),
7566
+ formatWithZone: (p) => d.format(p),
7567
+ getOffset: (p) => F(o, e, p).offsetString,
7568
+ getAbbreviation: (p) => {
7569
+ var u;
7570
+ return ((u = l.formatToParts(p).find((m) => m.type === "timeZoneName")) == null ? void 0 : u.value) || "";
7207
7571
  }
7208
7572
  };
7209
7573
  }
7210
- function K(e, o = /* @__PURE__ */ new Date()) {
7574
+ function H(e, o = /* @__PURE__ */ new Date()) {
7211
7575
  return F(e, "en", o).isDST;
7212
7576
  }
7213
- function Ct(e, o = /* @__PURE__ */ new Date()) {
7214
- const a = K(e, o), t = new Date(o), r = new Date(o);
7215
- for (r.setFullYear(r.getFullYear() + 1); t < r; )
7216
- if (t.setDate(t.getDate() + 1), K(e, t) !== a) {
7577
+ function Et(e, o = /* @__PURE__ */ new Date()) {
7578
+ const r = H(e, o), t = new Date(o), a = new Date(o);
7579
+ for (a.setFullYear(a.getFullYear() + 1); t < a; )
7580
+ if (t.setDate(t.getDate() + 1), H(e, t) !== r) {
7217
7581
  t.setDate(t.getDate() - 1);
7218
7582
  const n = new Date(t);
7219
7583
  n.setHours(0, 0, 0, 0);
7220
7584
  const i = new Date(t);
7221
7585
  for (i.setDate(i.getDate() + 2); i.getTime() - n.getTime() > 6e4; ) {
7222
7586
  const s = new Date((n.getTime() + i.getTime()) / 2);
7223
- K(e, s) === a ? n.setTime(s.getTime()) : i.setTime(s.getTime());
7587
+ H(e, s) === r ? n.setTime(s.getTime()) : i.setTime(s.getTime());
7224
7588
  }
7225
7589
  return i;
7226
7590
  }
7227
7591
  return null;
7228
7592
  }
7229
- function Et(e, o, a) {
7230
- const [t] = P(() => G()), r = o || t, n = k(() => So(e, r, a), [e, r, a]), i = k(() => F(r, e), [r, e]);
7593
+ function Ct(e, o, r) {
7594
+ const [t] = P(() => G()), a = o || t, n = b(() => zo(e, a, r), [e, a, r]), i = b(() => F(a, e), [a, e]);
7231
7595
  return {
7232
- timezone: r,
7596
+ timezone: a,
7233
7597
  info: i,
7234
7598
  format: n.format,
7235
7599
  formatWithZone: n.formatWithZone,
7236
7600
  getOffset: n.getOffset,
7237
7601
  getAbbreviation: n.getAbbreviation,
7238
- toUTC: (s) => Eo(s, r),
7239
- fromUTC: (s) => zo(s, r)
7602
+ toUTC: (s) => Co(s, a),
7603
+ fromUTC: (s) => So(s, a)
7240
7604
  };
7241
7605
  }
7242
- function V(e, o) {
7243
- const a = o.toLocaleString("en-US", { timeZone: "UTC" }), t = o.toLocaleString("en-US", { timeZone: e }), r = new Date(a), n = new Date(t);
7244
- return Math.round((n.getTime() - r.getTime()) / 6e4);
7606
+ function K(e, o) {
7607
+ const r = o.toLocaleString("en-US", { timeZone: "UTC" }), t = o.toLocaleString("en-US", { timeZone: e }), a = new Date(r), n = new Date(t);
7608
+ return Math.round((n.getTime() - a.getTime()) / 6e4);
7245
7609
  }
7246
7610
  function Do(e) {
7247
- const o = e >= 0 ? "+" : "-", a = Math.abs(e), t = Math.floor(a / 60), r = a % 60;
7248
- return `${o}${t.toString().padStart(2, "0")}:${r.toString().padStart(2, "0")}`;
7611
+ const o = e >= 0 ? "+" : "-", r = Math.abs(e), t = Math.floor(r / 60), a = r % 60;
7612
+ return `${o}${t.toString().padStart(2, "0")}:${a.toString().padStart(2, "0")}`;
7249
7613
  }
7250
- const U = {
7614
+ const W = {
7251
7615
  gregory: {
7252
7616
  id: "gregory",
7253
7617
  displayName: "Gregorian",
@@ -7413,10 +7777,10 @@ const U = {
7413
7777
  fil: "gregory",
7414
7778
  ms: "gregory"
7415
7779
  };
7416
- function le(e, o = "gregory", a = {}) {
7417
- const t = D(e), { dateStyle: r = "medium", showEra: n = !1, showWeekday: i = !1 } = a, s = {
7780
+ function le(e, o = "gregory", r = {}) {
7781
+ const t = D(e), { dateStyle: a = "medium", showEra: n = !1, showWeekday: i = !1 } = r, s = {
7418
7782
  calendar: o,
7419
- dateStyle: r
7783
+ dateStyle: a
7420
7784
  };
7421
7785
  i && (delete s.dateStyle, s.weekday = "long", s.year = "numeric", s.month = "long", s.day = "numeric");
7422
7786
  const d = new Intl.DateTimeFormat(t, s), l = {
@@ -7425,58 +7789,58 @@ function le(e, o = "gregory", a = {}) {
7425
7789
  month: "long",
7426
7790
  day: "numeric",
7427
7791
  era: "long"
7428
- }, m = new Intl.DateTimeFormat(t, l), f = new Intl.DateTimeFormat(t, { calendar: o, month: "long" }), p = new Intl.DateTimeFormat(t, { calendar: o, weekday: "long" });
7792
+ }, p = new Intl.DateTimeFormat(t, l), f = new Intl.DateTimeFormat(t, { calendar: o, month: "long" }), u = new Intl.DateTimeFormat(t, { calendar: o, weekday: "long" });
7429
7793
  return {
7430
- format: (u) => d.format(u),
7431
- formatWithEra: (u) => m.format(u),
7432
- getMonthName: (u) => f.format(u),
7794
+ format: (m) => d.format(m),
7795
+ formatWithEra: (m) => p.format(m),
7796
+ getMonthName: (m) => f.format(m),
7433
7797
  getMonthNames: () => {
7434
- const u = [], v = new Date(2024, 0, 15);
7798
+ const m = [], v = new Date(2024, 0, 15);
7435
7799
  for (let g = 0; g < 12; g++)
7436
- v.setMonth(g), u.push(f.format(v));
7437
- return u;
7800
+ v.setMonth(g), m.push(f.format(v));
7801
+ return m;
7438
7802
  },
7439
- getWeekdayName: (u) => p.format(u),
7803
+ getWeekdayName: (m) => u.format(m),
7440
7804
  getWeekdayNames: () => {
7441
- const u = [], v = new Date(2024, 0, 7);
7805
+ const m = [], v = new Date(2024, 0, 7);
7442
7806
  for (let g = 0; g < 7; g++)
7443
- v.setDate(7 + g), u.push(p.format(v));
7444
- return u;
7807
+ v.setDate(7 + g), m.push(u.format(v));
7808
+ return m;
7445
7809
  },
7446
- parseParts: (u) => {
7447
- var C, E, y, A;
7810
+ parseParts: (m) => {
7811
+ var E, C, y, A;
7448
7812
  const g = new Intl.DateTimeFormat(t, {
7449
7813
  calendar: o,
7450
7814
  year: "numeric",
7451
7815
  month: "numeric",
7452
7816
  day: "numeric",
7453
7817
  era: "short"
7454
- }).formatToParts(u);
7818
+ }).formatToParts(m);
7455
7819
  return {
7456
7820
  calendar: o,
7457
- year: parseInt(((C = g.find((b) => b.type === "year")) == null ? void 0 : C.value) || "0", 10),
7458
- month: parseInt(((E = g.find((b) => b.type === "month")) == null ? void 0 : E.value) || "0", 10),
7459
- day: parseInt(((y = g.find((b) => b.type === "day")) == null ? void 0 : y.value) || "0", 10),
7460
- era: (A = g.find((b) => b.type === "era")) == null ? void 0 : A.value,
7461
- gregorianDate: u
7821
+ year: parseInt(((E = g.find((w) => w.type === "year")) == null ? void 0 : E.value) || "0", 10),
7822
+ month: parseInt(((C = g.find((w) => w.type === "month")) == null ? void 0 : C.value) || "0", 10),
7823
+ day: parseInt(((y = g.find((w) => w.type === "day")) == null ? void 0 : y.value) || "0", 10),
7824
+ era: (A = g.find((w) => w.type === "era")) == null ? void 0 : A.value,
7825
+ gregorianDate: m
7462
7826
  };
7463
7827
  },
7464
- getEraName: (u) => {
7465
- var C;
7466
- return (C = new Intl.DateTimeFormat(t, {
7828
+ getEraName: (m) => {
7829
+ var E;
7830
+ return (E = new Intl.DateTimeFormat(t, {
7467
7831
  calendar: o,
7468
7832
  era: "long"
7469
- }).formatToParts(u).find((E) => E.type === "era")) == null ? void 0 : C.value;
7833
+ }).formatToParts(m).find((C) => C.type === "era")) == null ? void 0 : E.value;
7470
7834
  }
7471
7835
  };
7472
7836
  }
7473
- function ce(e, o, a = "en") {
7474
- return le(a, o).parseParts(e);
7837
+ function ce(e, o, r = "en") {
7838
+ return le(r, o).parseParts(e);
7475
7839
  }
7476
7840
  function Ao(e, o = "en") {
7477
7841
  return ce(/* @__PURE__ */ new Date(), e, o);
7478
7842
  }
7479
- const zt = [
7843
+ const St = [
7480
7844
  "Muharram",
7481
7845
  "Safar",
7482
7846
  "Rabi' al-Awwal",
@@ -7493,7 +7857,7 @@ const zt = [
7493
7857
  function xo(e) {
7494
7858
  return (11 * e + 14) % 30 < 11;
7495
7859
  }
7496
- function St(e, o) {
7860
+ function zt(e, o) {
7497
7861
  return o === 12 ? xo(e) ? 30 : 29 : o % 2 === 1 ? 30 : 29;
7498
7862
  }
7499
7863
  const Dt = [
@@ -7593,45 +7957,45 @@ const jo = [
7593
7957
  function Ft(e) {
7594
7958
  return jo[(e - 4) % 10];
7595
7959
  }
7596
- function Mt(e, o, a) {
7597
- const t = o || de[e], r = k(
7598
- () => le(e, t, a),
7599
- [e, t, a]
7600
- ), n = k(() => U[t], [t]), i = k(() => Ao(t, e), [t, e]);
7960
+ function Mt(e, o, r) {
7961
+ const t = o || de[e], a = b(
7962
+ () => le(e, t, r),
7963
+ [e, t, r]
7964
+ ), n = b(() => W[t], [t]), i = b(() => Ao(t, e), [t, e]);
7601
7965
  return {
7602
7966
  calendar: t,
7603
7967
  info: n,
7604
7968
  current: i,
7605
- format: r.format,
7606
- formatWithEra: r.formatWithEra,
7607
- getMonthName: r.getMonthName,
7608
- getMonthNames: r.getMonthNames,
7609
- getWeekdayName: r.getWeekdayName,
7610
- getWeekdayNames: r.getWeekdayNames,
7611
- parseParts: r.parseParts,
7612
- getEraName: r.getEraName,
7969
+ format: a.format,
7970
+ formatWithEra: a.formatWithEra,
7971
+ getMonthName: a.getMonthName,
7972
+ getMonthNames: a.getMonthNames,
7973
+ getWeekdayName: a.getWeekdayName,
7974
+ getWeekdayNames: a.getWeekdayNames,
7975
+ parseParts: a.parseParts,
7976
+ getEraName: a.getEraName,
7613
7977
  toCalendar: (s) => ce(s, t, e)
7614
7978
  };
7615
7979
  }
7616
7980
  function Ot() {
7617
- return Object.keys(U);
7981
+ return Object.keys(W);
7618
7982
  }
7619
7983
  function Rt(e, o = "en") {
7620
- const a = { ...U[e] };
7984
+ const r = { ...W[e] };
7621
7985
  try {
7622
7986
  const t = D(o), n = new Intl.DisplayNames([t], { type: "calendar" }).of(e);
7623
- n && (a.displayName = n);
7987
+ n && (r.displayName = n);
7624
7988
  } catch {
7625
7989
  }
7626
- return a;
7990
+ return r;
7627
7991
  }
7628
7992
  function Lt(e) {
7629
- const o = de[e], a = /* @__PURE__ */ new Set([o]);
7630
- for (const [t, r] of Object.entries(U))
7631
- r.associatedLanguages.includes(e) && a.add(t);
7632
- return a.add("gregory"), Array.from(a);
7993
+ const o = de[e], r = /* @__PURE__ */ new Set([o]);
7994
+ for (const [t, a] of Object.entries(W))
7995
+ a.associatedLanguages.includes(e) && r.add(t);
7996
+ return r.add("gregory"), Array.from(r);
7633
7997
  }
7634
- const $ = {
7998
+ const J = {
7635
7999
  // Lowercase
7636
8000
  a: "ą",
7637
8001
  b: "ɓ",
@@ -7687,7 +8051,7 @@ const $ = {
7687
8051
  Y: "Ÿ",
7688
8052
  Z: "Ž"
7689
8053
  }, No = {
7690
- ...$,
8054
+ ...J,
7691
8055
  // Additional mappings
7692
8056
  a: "ặ",
7693
8057
  e: "ệ",
@@ -7703,59 +8067,59 @@ const $ = {
7703
8067
  Y: "Ỵ"
7704
8068
  }, Fo = "‪", Mo = "‫", Q = "‬", Oo = "~∼~≈";
7705
8069
  function Bt(e, o = !1) {
7706
- const a = o ? No : $;
7707
- return e.split("").map((t) => a[t] || t).join("");
8070
+ const r = o ? No : J;
8071
+ return e.split("").map((t) => r[t] || t).join("");
7708
8072
  }
7709
- function It(e, o = "[", a = "]") {
7710
- return `${o}${e}${a}`;
8073
+ function It(e, o = "[", r = "]") {
8074
+ return `${o}${e}${r}`;
7711
8075
  }
7712
- function Ro(e, o = 0.3, a = !1) {
7713
- if (a)
8076
+ function Ro(e, o = 0.3, r = !1) {
8077
+ if (r)
7714
8078
  return Lo(e);
7715
- const r = Math.ceil(e.length * (1 + o)) - e.length;
7716
- if (r <= 0)
8079
+ const a = Math.ceil(e.length * (1 + o)) - e.length;
8080
+ if (a <= 0)
7717
8081
  return e;
7718
- const n = Oo[0].repeat(r);
8082
+ const n = Oo[0].repeat(a);
7719
8083
  return e + n;
7720
8084
  }
7721
8085
  function Lo(e) {
7722
8086
  const o = /* @__PURE__ */ new Set(["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"]);
7723
- return e.split("").map((a) => o.has(a) ? a + a : a).join("");
8087
+ return e.split("").map((r) => o.has(r) ? r + r : r).join("");
7724
8088
  }
7725
8089
  function Bo(e, o = !1) {
7726
8090
  return o ? `${Mo}${e}${Q}` : `${Fo}${e}${Q}`;
7727
8091
  }
7728
- function me(e, o = {}) {
8092
+ function pe(e, o = {}) {
7729
8093
  const {
7730
- addBrackets: a = !0,
8094
+ addBrackets: r = !0,
7731
8095
  expansionFactor: t = 0.3,
7732
- addAccents: r = !0,
8096
+ addAccents: a = !0,
7733
8097
  addBidiMarkers: n = !1,
7734
8098
  useVowelDoubling: i = !1,
7735
8099
  preservePlaceholders: s = !0,
7736
8100
  preserveHtml: d = !0,
7737
8101
  prefix: l = "[",
7738
- suffix: m = "]"
8102
+ suffix: p = "]"
7739
8103
  } = o, f = /* @__PURE__ */ new Map();
7740
- let p = e, u = 0;
7741
- s && (p = p.replace(/\{[^}]+\}/g, (v) => {
7742
- const g = `__PH${u++}__`;
8104
+ let u = e, m = 0;
8105
+ s && (u = u.replace(/\{[^}]+\}/g, (v) => {
8106
+ const g = `__PH${m++}__`;
7743
8107
  return f.set(g, v), g;
7744
- })), d && (p = p.replace(/<[^>]+>/g, (v) => {
7745
- const g = `__PH${u++}__`;
8108
+ })), d && (u = u.replace(/<[^>]+>/g, (v) => {
8109
+ const g = `__PH${m++}__`;
7746
8110
  return f.set(g, v), g;
7747
- })), r && (p = Io(p, f)), t > 0 && (p = Ro(p, t, i)), n && (p = Bo(p)), a && (p = `${l}${p}${m}`);
8111
+ })), a && (u = Io(u, f)), t > 0 && (u = Ro(u, t, i)), n && (u = Bo(u)), r && (u = `${l}${u}${p}`);
7748
8112
  for (const [v, g] of f.entries())
7749
- p = p.replace(v, g);
7750
- return p;
8113
+ u = u.replace(v, g);
8114
+ return u;
7751
8115
  }
7752
8116
  function Io(e, o) {
7753
- const a = new Set(o.keys());
8117
+ const r = new Set(o.keys());
7754
8118
  return e.split("").map((t) => {
7755
- for (const r of a)
7756
- if (e.includes(r) && r.includes(t))
8119
+ for (const a of r)
8120
+ if (e.includes(a) && a.includes(t))
7757
8121
  return t;
7758
- return $[t] || t;
8122
+ return J[t] || t;
7759
8123
  }).join("");
7760
8124
  }
7761
8125
  function T(e) {
@@ -7792,71 +8156,71 @@ function T(e) {
7792
8156
  };
7793
8157
  }
7794
8158
  }
7795
- function Ut(e, o) {
7796
- const a = {};
7797
- for (const [t, r] of Object.entries(e))
7798
- a[t] = me(r, o);
7799
- return a;
8159
+ function Wt(e, o) {
8160
+ const r = {};
8161
+ for (const [t, a] of Object.entries(e))
8162
+ r[t] = pe(a, o);
8163
+ return r;
7800
8164
  }
7801
- function Uo(e) {
8165
+ function Wo(e) {
7802
8166
  return /[^\x00-\x7F]/.test(e);
7803
8167
  }
7804
- function Wo(e) {
8168
+ function Vo(e) {
7805
8169
  if (!e || /^[\d.,-]+$/.test(e) || e.startsWith("["))
7806
8170
  return !1;
7807
- const o = /[a-zA-Z]{2,}/.test(e), a = Uo(e);
7808
- return o && !a;
8171
+ const o = /[a-zA-Z]{2,}/.test(e), r = Wo(e);
8172
+ return o && !r;
7809
8173
  }
7810
- function Wt(e, o) {
7811
- const a = {
8174
+ function Vt(e, o) {
8175
+ const r = {
7812
8176
  totalKeys: Object.keys(e).length,
7813
8177
  hardcodedStrings: [],
7814
8178
  emptyValues: [],
7815
8179
  placeholderMismatches: [],
7816
8180
  potentialIssues: 0
7817
8181
  };
7818
- for (const [t, r] of Object.entries(e)) {
7819
- if (!r || r.trim() === "") {
7820
- a.emptyValues.push(t), a.potentialIssues++;
8182
+ for (const [t, a] of Object.entries(e)) {
8183
+ if (!a || a.trim() === "") {
8184
+ r.emptyValues.push(t), r.potentialIssues++;
7821
8185
  continue;
7822
8186
  }
7823
- if (Wo(r) && a.hardcodedStrings.push(t), o && o[t]) {
7824
- const n = X(r), i = X(o[t]), s = n.filter((l) => !i.includes(l)), d = i.filter((l) => !n.includes(l));
7825
- (s.length > 0 || d.length > 0) && (a.placeholderMismatches.push({
8187
+ if (Vo(a) && r.hardcodedStrings.push(t), o && o[t]) {
8188
+ const n = X(a), i = X(o[t]), s = n.filter((l) => !i.includes(l)), d = i.filter((l) => !n.includes(l));
8189
+ (s.length > 0 || d.length > 0) && (r.placeholderMismatches.push({
7826
8190
  key: t,
7827
8191
  placeholders: [
7828
8192
  ...s.map((l) => `-${l}`),
7829
8193
  ...d.map((l) => `+${l}`)
7830
8194
  ]
7831
- }), a.potentialIssues++);
8195
+ }), r.potentialIssues++);
7832
8196
  }
7833
8197
  }
7834
- return a;
8198
+ return r;
7835
8199
  }
7836
8200
  function X(e) {
7837
- return (e.match(/\{([^}]+)\}/g) || []).map((a) => a.replace(/[{}]/g, "").split(",")[0].trim());
8201
+ return (e.match(/\{([^}]+)\}/g) || []).map((r) => r.replace(/[{}]/g, "").split(",")[0].trim());
7838
8202
  }
7839
- const pe = I(null);
7840
- function Ht({
8203
+ const ue = I(null);
8204
+ function Ut({
7841
8205
  children: e,
7842
8206
  initialEnabled: o = !1,
7843
- initialMode: a = "full"
8207
+ initialMode: r = "full"
7844
8208
  }) {
7845
- const [t, r] = P(o), [n, i] = P(a), s = k(() => T(n), [n]), d = k(() => (m) => t ? me(m, s) : m, [t, s]), l = k(
8209
+ const [t, a] = P(o), [n, i] = P(r), s = b(() => T(n), [n]), d = b(() => (p) => t ? pe(p, s) : p, [t, s]), l = b(
7846
8210
  () => ({
7847
8211
  enabled: t,
7848
8212
  mode: n,
7849
8213
  options: s,
7850
- toggle: () => r((m) => !m),
8214
+ toggle: () => a((p) => !p),
7851
8215
  setMode: i,
7852
8216
  transform: d
7853
8217
  }),
7854
8218
  [t, n, s, d]
7855
8219
  );
7856
- return /* @__PURE__ */ B(pe.Provider, { value: l, children: e });
8220
+ return /* @__PURE__ */ B(ue.Provider, { value: l, children: e });
7857
8221
  }
7858
- function Kt() {
7859
- const e = N(pe);
8222
+ function Ht() {
8223
+ const e = N(ue);
7860
8224
  return e || {
7861
8225
  enabled: !1,
7862
8226
  mode: "full",
@@ -7868,7 +8232,7 @@ function Kt() {
7868
8232
  transform: (o) => o
7869
8233
  };
7870
8234
  }
7871
- const Vt = {
8235
+ const Kt = {
7872
8236
  /** Minimal: brackets only */
7873
8237
  MINIMAL: { addBrackets: !0, addAccents: !1, expansionFactor: 0 },
7874
8238
  /** Accented: brackets + accents */
@@ -7886,31 +8250,31 @@ const Vt = {
7886
8250
  /** CJK: Short expansion, no accents (CJK often shorter) */
7887
8251
  CJK: { addBrackets: !0, addAccents: !1, expansionFactor: -0.1 }
7888
8252
  };
7889
- class Ho {
8253
+ class Uo {
7890
8254
  constructor(o = 0) {
7891
8255
  this.cache = /* @__PURE__ */ new Map(), this.ttl = o;
7892
8256
  }
7893
- getCacheKey(o, a) {
7894
- return a ? `${o}:${a}` : o;
8257
+ getCacheKey(o, r) {
8258
+ return r ? `${o}:${r}` : o;
7895
8259
  }
7896
- get(o, a) {
7897
- const t = this.getCacheKey(o, a), r = this.cache.get(t);
7898
- return r ? this.ttl > 0 && Date.now() > r.expiresAt ? (this.cache.delete(t), null) : r.data : null;
8260
+ get(o, r) {
8261
+ const t = this.getCacheKey(o, r), a = this.cache.get(t);
8262
+ return a ? this.ttl > 0 && Date.now() > a.expiresAt ? (this.cache.delete(t), null) : a.data : null;
7899
8263
  }
7900
- set(o, a, t) {
7901
- const r = this.getCacheKey(o, t), n = Date.now();
7902
- this.cache.set(r, {
7903
- data: a,
8264
+ set(o, r, t) {
8265
+ const a = this.getCacheKey(o, t), n = Date.now();
8266
+ this.cache.set(a, {
8267
+ data: r,
7904
8268
  loadedAt: n,
7905
8269
  expiresAt: this.ttl > 0 ? n + this.ttl : 1 / 0
7906
8270
  });
7907
8271
  }
7908
- has(o, a) {
7909
- return this.get(o, a) !== null;
8272
+ has(o, r) {
8273
+ return this.get(o, r) !== null;
7910
8274
  }
7911
- delete(o, a) {
7912
- if (a)
7913
- this.cache.delete(this.getCacheKey(o, a));
8275
+ delete(o, r) {
8276
+ if (r)
8277
+ this.cache.delete(this.getCacheKey(o, r));
7914
8278
  else
7915
8279
  for (const t of this.cache.keys())
7916
8280
  (t === o || t.startsWith(`${o}:`)) && this.cache.delete(t);
@@ -7920,84 +8284,84 @@ class Ho {
7920
8284
  }
7921
8285
  getStats() {
7922
8286
  const o = /* @__PURE__ */ new Set();
7923
- for (const a of this.cache.keys())
7924
- o.add(a.split(":")[0]);
8287
+ for (const r of this.cache.keys())
8288
+ o.add(r.split(":")[0]);
7925
8289
  return {
7926
8290
  size: this.cache.size,
7927
8291
  languages: Array.from(o)
7928
8292
  };
7929
8293
  }
7930
8294
  }
7931
- function ue(e) {
8295
+ function me(e) {
7932
8296
  const {
7933
8297
  loadFn: o,
7934
- fallbackLang: a = "en",
8298
+ fallbackLang: r = "en",
7935
8299
  cacheTtl: t = 0,
7936
- preloadLanguages: r = [],
8300
+ preloadLanguages: a = [],
7937
8301
  namespaces: n = [],
7938
8302
  defaultNamespace: i,
7939
8303
  onLoadStart: s,
7940
8304
  onLoadComplete: d,
7941
8305
  onLoadError: l
7942
- } = e, m = new Ho(t), f = /* @__PURE__ */ new Set(), p = /* @__PURE__ */ new Map();
7943
- let u = a;
8306
+ } = e, p = new Uo(t), f = /* @__PURE__ */ new Set(), u = /* @__PURE__ */ new Map();
8307
+ let m = r;
7944
8308
  const v = /* @__PURE__ */ new Set();
7945
8309
  function g() {
7946
- const c = E();
8310
+ const c = C();
7947
8311
  v.forEach((h) => h(c));
7948
8312
  }
7949
- function C(c, h) {
8313
+ function E(c, h) {
7950
8314
  return h ? `${c}:${h}` : c;
7951
8315
  }
7952
- function E() {
8316
+ function C() {
7953
8317
  const c = /* @__PURE__ */ new Set(), h = /* @__PURE__ */ new Set();
7954
- for (const z of j)
7955
- m.has(z) && c.add(z);
7956
- for (const z of f) {
7957
- const O = z.split(":")[0];
8318
+ for (const S of j)
8319
+ p.has(S) && c.add(S);
8320
+ for (const S of f) {
8321
+ const O = S.split(":")[0];
7958
8322
  h.add(O);
7959
8323
  }
7960
8324
  return {
7961
8325
  loadedLanguages: c,
7962
8326
  loadingLanguages: h,
7963
- failedLanguages: new Map(p),
7964
- currentLanguage: u
8327
+ failedLanguages: new Map(u),
8328
+ currentLanguage: m
7965
8329
  };
7966
8330
  }
7967
8331
  async function y(c, h) {
7968
- const z = C(c, h), O = m.get(c, h);
8332
+ const S = E(c, h), O = p.get(c, h);
7969
8333
  if (O)
7970
8334
  return O;
7971
- if (f.has(z))
7972
- return new Promise((S) => {
8335
+ if (f.has(S))
8336
+ return new Promise((z) => {
7973
8337
  const R = setInterval(() => {
7974
- f.has(z) || (clearInterval(R), S(m.get(c, h)));
8338
+ f.has(S) || (clearInterval(R), z(p.get(c, h)));
7975
8339
  }, 50);
7976
8340
  });
7977
- f.add(z), p.delete(c), s == null || s(c, h), g();
8341
+ f.add(S), u.delete(c), s == null || s(c, h), g();
7978
8342
  try {
7979
- const S = await o(c, h);
7980
- return m.set(c, S, h), d == null || d(c, h), S;
7981
- } catch (S) {
7982
- const R = S instanceof Error ? S : new Error(String(S));
7983
- return p.set(c, R), l == null || l(c, R, h), c !== a && !h ? (console.warn(`Failed to load ${c}, falling back to ${a}`), y(a, h)) : null;
8343
+ const z = await o(c, h);
8344
+ return p.set(c, z, h), d == null || d(c, h), z;
8345
+ } catch (z) {
8346
+ const R = z instanceof Error ? z : new Error(String(z));
8347
+ return u.set(c, R), l == null || l(c, R, h), c !== r && !h ? (console.warn(`Failed to load ${c}, falling back to ${r}`), y(r, h)) : null;
7984
8348
  } finally {
7985
- f.delete(z), g();
8349
+ f.delete(S), g();
7986
8350
  }
7987
8351
  }
7988
8352
  async function A(c) {
7989
8353
  await Promise.all(c.map((h) => y(h)));
7990
8354
  }
7991
- async function b() {
7992
- r.length !== 0 && await Promise.allSettled(
7993
- r.map((c) => n.length > 0 ? Promise.all(n.map((h) => y(c, h))) : y(c))
8355
+ async function w() {
8356
+ a.length !== 0 && await Promise.allSettled(
8357
+ a.map((c) => n.length > 0 ? Promise.all(n.map((h) => y(c, h))) : y(c))
7994
8358
  );
7995
8359
  }
7996
8360
  function M(c, h) {
7997
- return m.get(c, h);
8361
+ return p.get(c, h);
7998
8362
  }
7999
8363
  function x(c, h) {
8000
- return m.has(c, h);
8364
+ return p.has(c, h);
8001
8365
  }
8002
8366
  function he(c) {
8003
8367
  for (const h of f)
@@ -8006,40 +8370,40 @@ function ue(e) {
8006
8370
  return !1;
8007
8371
  }
8008
8372
  function fe() {
8009
- return m.getStats().languages;
8373
+ return p.getStats().languages;
8010
8374
  }
8011
8375
  function ve(c) {
8012
- c ? m.delete(c) : m.clear(), g();
8376
+ c ? p.delete(c) : p.clear(), g();
8013
8377
  }
8014
- async function ke(c) {
8015
- x(c) || await y(c), u = c, g();
8378
+ async function be(c) {
8379
+ x(c) || await y(c), m = c, g();
8016
8380
  }
8017
- function we() {
8018
- return u;
8381
+ function ke() {
8382
+ return m;
8019
8383
  }
8020
- function be(c) {
8384
+ function we(c) {
8021
8385
  return v.add(c), () => v.delete(c);
8022
8386
  }
8023
8387
  return {
8024
8388
  loadLanguage: y,
8025
8389
  loadLanguages: A,
8026
- preloadLanguages: b,
8390
+ preloadLanguages: w,
8027
8391
  getTranslations: M,
8028
8392
  isLoaded: x,
8029
8393
  isLoading: he,
8030
8394
  getLoadedLanguages: fe,
8031
8395
  clearCache: ve,
8032
- getState: E,
8033
- setLanguage: ke,
8034
- getCurrentLanguage: we,
8035
- subscribe: be
8396
+ getState: C,
8397
+ setLanguage: be,
8398
+ getCurrentLanguage: ke,
8399
+ subscribe: we
8036
8400
  };
8037
8401
  }
8038
8402
  function Zt(e, o) {
8039
- return ue({
8403
+ return me({
8040
8404
  ...o,
8041
- loadFn: async (a, t) => {
8042
- const r = t ? `${e}/${a}/${t}.json` : `${e}/${a}.json`, n = await fetch(r);
8405
+ loadFn: async (r, t) => {
8406
+ const a = t ? `${e}/${r}/${t}.json` : `${e}/${r}.json`, n = await fetch(a);
8043
8407
  if (!n.ok)
8044
8408
  throw new Error(`Failed to load translations: ${n.status}`);
8045
8409
  return n.json();
@@ -8047,69 +8411,69 @@ function Zt(e, o) {
8047
8411
  });
8048
8412
  }
8049
8413
  function qt(e, o) {
8050
- return ue({
8414
+ return me({
8051
8415
  ...o,
8052
- loadFn: async (a, t) => (await e(a, t)).default
8416
+ loadFn: async (r, t) => (await e(r, t)).default
8053
8417
  });
8054
8418
  }
8055
8419
  const ge = I(null);
8056
8420
  function Gt({
8057
8421
  children: e,
8058
8422
  loader: o,
8059
- initialLanguage: a,
8423
+ initialLanguage: r,
8060
8424
  namespace: t
8061
8425
  }) {
8062
- const [r, n] = P(() => o.getState()), [i, s] = P(null);
8426
+ const [a, n] = P(() => o.getState()), [i, s] = P(null);
8063
8427
  L(() => o.subscribe(n), [o]), L(() => {
8064
- a && !o.isLoaded(a, t) && o.loadLanguage(a, t).catch(s);
8065
- }, [o, a, t]);
8066
- const d = k(() => o.getTranslations(r.currentLanguage, t) || {}, [o, r.currentLanguage, t]), l = ee(
8428
+ r && !o.isLoaded(r, t) && o.loadLanguage(r, t).catch(s);
8429
+ }, [o, r, t]);
8430
+ const d = b(() => o.getTranslations(a.currentLanguage, t) || {}, [o, a.currentLanguage, t]), l = ee(
8067
8431
  async (f) => {
8068
8432
  s(null);
8069
8433
  try {
8070
8434
  await o.setLanguage(f);
8071
- } catch (p) {
8072
- s(p instanceof Error ? p : new Error(String(p)));
8435
+ } catch (u) {
8436
+ s(u instanceof Error ? u : new Error(String(u)));
8073
8437
  }
8074
8438
  },
8075
8439
  [o]
8076
- ), m = k(
8440
+ ), p = b(
8077
8441
  () => ({
8078
8442
  loader: o,
8079
8443
  translations: d,
8080
- isLoading: r.loadingLanguages.size > 0,
8444
+ isLoading: a.loadingLanguages.size > 0,
8081
8445
  error: i,
8082
8446
  setLanguage: l,
8083
- currentLanguage: r.currentLanguage,
8084
- loadedLanguages: Array.from(r.loadedLanguages)
8447
+ currentLanguage: a.currentLanguage,
8448
+ loadedLanguages: Array.from(a.loadedLanguages)
8085
8449
  }),
8086
- [o, d, r, i, l]
8450
+ [o, d, a, i, l]
8087
8451
  );
8088
- return /* @__PURE__ */ B(ge.Provider, { value: m, children: e });
8452
+ return /* @__PURE__ */ B(ge.Provider, { value: p, children: e });
8089
8453
  }
8090
- function Ko() {
8454
+ function Ho() {
8091
8455
  const e = N(ge);
8092
8456
  if (!e)
8093
8457
  throw new Error("useDynamicI18n must be used within DynamicI18nProvider");
8094
8458
  return e;
8095
8459
  }
8096
- function $t(e) {
8097
- const { translations: o, currentLanguage: a, loader: t, isLoading: r } = Ko();
8460
+ function Jt(e) {
8461
+ const { translations: o, currentLanguage: r, loader: t, isLoading: a } = Ho();
8098
8462
  return L(() => {
8099
- e && !t.isLoaded(a, e) && t.loadLanguage(a, e);
8100
- }, [t, a, e]), { t: ee(
8463
+ e && !t.isLoaded(r, e) && t.loadLanguage(r, e);
8464
+ }, [t, r, e]), { t: ee(
8101
8465
  (i, s) => {
8102
8466
  let d = o[i] || i;
8103
8467
  if (s)
8104
- for (const [l, m] of Object.entries(s))
8105
- d = d.replace(new RegExp(`\\{${l}\\}`, "g"), String(m));
8468
+ for (const [l, p] of Object.entries(s))
8469
+ d = d.replace(new RegExp(`\\{${l}\\}`, "g"), String(p));
8106
8470
  return d;
8107
8471
  },
8108
8472
  [o]
8109
- ), isLoading: r, currentLanguage: a };
8473
+ ), isLoading: a, currentLanguage: r };
8110
8474
  }
8111
- function Jt(e, o, a) {
8112
- switch (a) {
8475
+ function Yt(e, o, r) {
8476
+ switch (r) {
8113
8477
  case "immediate":
8114
8478
  e.loadLanguages(o);
8115
8479
  break;
@@ -8139,68 +8503,68 @@ function Jt(e, o, a) {
8139
8503
  }
8140
8504
  }
8141
8505
  }
8142
- async function Yt(e, o) {
8143
- const { fallback: a = "en", preferredLanguages: t = [] } = o || {};
8506
+ async function $t(e, o) {
8507
+ const { fallback: r = "en", preferredLanguages: t = [] } = o || {};
8144
8508
  for (const n of t)
8145
8509
  if (j.includes(n))
8146
8510
  return await e.setLanguage(n), n;
8147
- const r = navigator.language.split("-")[0].toLowerCase();
8148
- return j.includes(r) ? (await e.setLanguage(r), r) : (await e.setLanguage(a), a);
8511
+ const a = navigator.language.split("-")[0].toLowerCase();
8512
+ return j.includes(a) ? (await e.setLanguage(a), a) : (await e.setLanguage(r), r);
8149
8513
  }
8150
8514
  export {
8151
- U as CALENDAR_INFO,
8515
+ W as CALENDAR_INFO,
8152
8516
  jo as CELESTIAL_STEMS,
8153
8517
  Po as CHINESE_ZODIAC,
8154
8518
  de as DEFAULT_CALENDAR,
8155
8519
  Gt as DynamicI18nProvider,
8156
8520
  Dt as HEBREW_MONTHS,
8157
8521
  At as HEBREW_MONTHS_LEAP,
8158
- zt as HIJRI_MONTHS,
8522
+ St as HIJRI_MONTHS,
8159
8523
  Z as JAPANESE_ERAS,
8160
8524
  ne as NICE_GLOSSARY,
8161
- w as NICE_I18N_DICTIONARIES,
8525
+ k as NICE_I18N_DICTIONARIES,
8162
8526
  _e as NICE_I18N_VARIANTS,
8163
8527
  j as NICE_SUPPORTED_LANGS,
8164
8528
  Go as NiceI18nProvider,
8165
8529
  Pt as PERSIAN_MONTHS,
8166
- Vt as PSEUDO_PRESETS,
8167
- Ht as PseudoLocalizationProvider,
8168
- rt as RTLProvider,
8169
- H as RTL_CSS_VARS,
8530
+ Kt as PSEUDO_PRESETS,
8531
+ Ut as PseudoLocalizationProvider,
8532
+ at as RTLProvider,
8533
+ U as RTL_CSS_VARS,
8170
8534
  no as RTL_LANGUAGES,
8171
8535
  ie as TIMEZONE_GROUPS,
8172
8536
  Bt as addAccents,
8173
8537
  Bo as addBidiMarkers,
8174
8538
  It as addBrackets,
8175
- Wt as analyzeDictionary,
8539
+ Vt as analyzeDictionary,
8176
8540
  st as analyzeStylesForRTL,
8177
- Uo as containsNonAscii,
8541
+ Wo as containsNonAscii,
8178
8542
  se as convertTimezone,
8179
8543
  le as createCalendarFormatter,
8180
- wo as createCurrencyFormatter,
8544
+ ko as createCurrencyFormatter,
8181
8545
  fo as createDateFormatter,
8182
- ue as createDynamicLoader,
8546
+ me as createDynamicLoader,
8183
8547
  Zt as createFetchLoader,
8184
8548
  Qo as createICUTranslator,
8185
8549
  qt as createImportLoader,
8186
- ko as createNumberFormatter,
8550
+ bo as createNumberFormatter,
8187
8551
  vo as createTimeFormatter,
8188
- So as createTimezoneFormatter,
8189
- Jo as createTranslator,
8190
- Yt as detectAndLoad,
8552
+ zo as createTimezoneFormatter,
8553
+ Yo as createTranslator,
8554
+ $t as detectAndLoad,
8191
8555
  _o as detectBrowserLanguage,
8192
- Wo as detectHardcodedText,
8556
+ Vo as detectHardcodedText,
8193
8557
  G as detectTimezone,
8194
8558
  Ro as expandText,
8195
8559
  ft as findSimilarTranslation,
8196
8560
  co as flipAlignment,
8197
- at as flipHorizontal,
8198
- ro as formatICU,
8199
- Yo as formatMessage,
8200
- zo as fromUTC,
8201
- mt as generateCoverageReport,
8561
+ rt as flipHorizontal,
8562
+ ao as formatICU,
8563
+ $o as formatMessage,
8564
+ So as fromUTC,
8565
+ pt as generateCoverageReport,
8202
8566
  ct as generateTranslationCode,
8203
- bt as getAllTimezones,
8567
+ wt as getAllTimezones,
8204
8568
  go as getAllTranslationStats,
8205
8569
  Ot as getAvailableCalendars,
8206
8570
  Rt as getCalendarInfo,
@@ -8209,14 +8573,14 @@ export {
8209
8573
  Ao as getCurrentCalendarDate,
8210
8574
  tt as getDocumentDirection,
8211
8575
  vt as getGlossaryForLanguage,
8212
- St as getHijriMonthDays,
8576
+ zt as getHijriMonthDays,
8213
8577
  To as getJapaneseEra,
8214
8578
  Tt as getJapaneseYear,
8215
8579
  D as getLocaleTag,
8216
- mo as getLogicalProperty,
8217
- po as getMissingTranslations,
8218
- Ct as getNextDSTTransition,
8219
- ae as getOrdinalCategory,
8580
+ po as getLogicalProperty,
8581
+ uo as getMissingTranslations,
8582
+ Et as getNextDSTTransition,
8583
+ re as getOrdinalCategory,
8220
8584
  te as getPluralCategory,
8221
8585
  T as getPseudoLocalizationPreset,
8222
8586
  dt as getRTLCSSVars,
@@ -8225,37 +8589,37 @@ export {
8225
8589
  io as getTextDirection,
8226
8590
  F as getTimezoneInfo,
8227
8591
  yt as getTimezonesGrouped,
8228
- uo as getTranslationStats,
8229
- K as isDSTActive,
8592
+ mo as getTranslationStats,
8593
+ H as isDSTActive,
8230
8594
  xt as isHebrewLeapYear,
8231
8595
  xo as isHijriLeapYear,
8232
8596
  jt as isPersianLeapYear,
8233
- re as isRTLLanguage,
8597
+ ae as isRTLLanguage,
8234
8598
  Xe as isSupported,
8235
- wt as isValidTimezone,
8599
+ kt as isValidTimezone,
8236
8600
  yo as lookupGlossary,
8237
8601
  et as ordinal,
8238
8602
  Xo as plural,
8239
- Jt as preloadWithStrategy,
8240
- me as pseudoLocalize,
8241
- Ut as pseudoLocalizeDictionary,
8603
+ Yt as preloadWithStrategy,
8604
+ pe as pseudoLocalize,
8605
+ Wt as pseudoLocalizeDictionary,
8242
8606
  qo as resolvePlVariant,
8243
8607
  lo as rtlValue,
8244
8608
  ot as select,
8245
8609
  so as setDocumentDirection,
8246
8610
  ce as toCalendar,
8247
- Eo as toUTC,
8611
+ Co as toUTC,
8248
8612
  Mt as useCalendar,
8249
- Ko as useDynamicI18n,
8250
- $t as useDynamicTranslation,
8613
+ Ho as useDynamicI18n,
8614
+ Jt as useDynamicTranslation,
8251
8615
  it as useIsRTL,
8252
8616
  ht as useNiceCurrencyFormat,
8253
- pt as useNiceDateFormat,
8617
+ ut as useNiceDateFormat,
8254
8618
  gt as useNiceNumberFormat,
8255
- ut as useNiceTimeFormat,
8256
- $o as useNiceTranslation,
8257
- Kt as usePseudoLocalization,
8619
+ mt as useNiceTimeFormat,
8620
+ Jo as useNiceTranslation,
8621
+ Ht as usePseudoLocalization,
8258
8622
  nt as useRTL,
8259
- Et as useTimezone,
8260
- kt as validateAgainstGlossary
8623
+ Ct as useTimezone,
8624
+ bt as validateAgainstGlossary
8261
8625
  };