@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.cjs +8 -8
- package/dist/index.mjs +840 -476
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as B } from "react/jsx-runtime";
|
|
2
|
-
import { useMemo as
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
6586
|
+
}, k = {
|
|
6223
6587
|
en: ye,
|
|
6224
|
-
pl:
|
|
6225
|
-
de:
|
|
6226
|
-
fr:
|
|
6227
|
-
es:
|
|
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:
|
|
6243
|
-
zh:
|
|
6244
|
-
ar:
|
|
6245
|
-
hi:
|
|
6246
|
-
bn:
|
|
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:
|
|
6251
|
-
fil:
|
|
6252
|
-
ms:
|
|
6253
|
-
},
|
|
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
|
-
},
|
|
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:
|
|
6303
|
-
pl: { formal:
|
|
6666
|
+
"pl-PL": { formal: Y, informal: $ },
|
|
6667
|
+
pl: { formal: Y, informal: $ }
|
|
6304
6668
|
};
|
|
6305
6669
|
function qo(e) {
|
|
6306
6670
|
var o;
|
|
6307
|
-
return { ...
|
|
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:
|
|
6676
|
+
overrides: r,
|
|
6313
6677
|
children: t
|
|
6314
6678
|
}) => {
|
|
6315
|
-
const
|
|
6679
|
+
const a = b(() => {
|
|
6316
6680
|
if (e)
|
|
6317
6681
|
return e;
|
|
6318
|
-
const n =
|
|
6682
|
+
const n = k[o] ?? k.en, i = r ? { ...n, ...r } : n;
|
|
6319
6683
|
return (s, d) => i[s] ?? d;
|
|
6320
|
-
}, [e, o,
|
|
6321
|
-
return /* @__PURE__ */ B(oe.Provider, { value:
|
|
6684
|
+
}, [e, o, r]);
|
|
6685
|
+
return /* @__PURE__ */ B(oe.Provider, { value: a, children: t });
|
|
6322
6686
|
};
|
|
6323
|
-
function
|
|
6687
|
+
function Jo() {
|
|
6324
6688
|
return { t: N(oe) };
|
|
6325
6689
|
}
|
|
6326
|
-
function
|
|
6327
|
-
const
|
|
6328
|
-
return (
|
|
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
|
|
6331
|
-
let
|
|
6332
|
-
const n = o[
|
|
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
|
|
6699
|
+
return r = r.replace(
|
|
6336
6700
|
/\{(\w+),\s*plural,\s*one\{([^}]+)\}\s*other\{([^}]+)\}\}/g,
|
|
6337
|
-
(t,
|
|
6338
|
-
const s = o[
|
|
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
|
-
),
|
|
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
|
|
6356
|
-
switch (
|
|
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 &&
|
|
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" :
|
|
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 &&
|
|
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
|
|
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 &&
|
|
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 &&
|
|
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 &&
|
|
6777
|
+
return t === 1 && a === 0 ? "one" : "other";
|
|
6414
6778
|
}
|
|
6415
6779
|
}
|
|
6416
|
-
function
|
|
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
|
|
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()),
|
|
6455
|
-
if (!t || !
|
|
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:
|
|
6822
|
+
return { type: "number", name: r, style: o[2] };
|
|
6459
6823
|
if (t === "date" || t === "time")
|
|
6460
|
-
return { type: t, name:
|
|
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:
|
|
6830
|
+
return { type: t, name: r, options: i };
|
|
6467
6831
|
}
|
|
6468
|
-
return { type: "simple", name:
|
|
6832
|
+
return { type: "simple", name: r };
|
|
6469
6833
|
}
|
|
6470
|
-
function oo(e, o,
|
|
6834
|
+
function oo(e, o, r) {
|
|
6471
6835
|
const t = {};
|
|
6472
|
-
switch (
|
|
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,
|
|
6849
|
+
function to(e, o, r) {
|
|
6486
6850
|
const t = e instanceof Date ? e : new Date(e);
|
|
6487
|
-
let
|
|
6488
|
-
switch (
|
|
6851
|
+
let a;
|
|
6852
|
+
switch (r) {
|
|
6489
6853
|
case "short":
|
|
6490
|
-
|
|
6854
|
+
a = { dateStyle: "short" };
|
|
6491
6855
|
break;
|
|
6492
6856
|
case "long":
|
|
6493
|
-
|
|
6857
|
+
a = { dateStyle: "long" };
|
|
6494
6858
|
break;
|
|
6495
6859
|
case "full":
|
|
6496
|
-
|
|
6860
|
+
a = { dateStyle: "full" };
|
|
6497
6861
|
break;
|
|
6498
6862
|
case "medium":
|
|
6499
6863
|
default:
|
|
6500
|
-
|
|
6864
|
+
a = { dateStyle: "medium" };
|
|
6501
6865
|
break;
|
|
6502
6866
|
}
|
|
6503
|
-
return new Intl.DateTimeFormat(o,
|
|
6867
|
+
return new Intl.DateTimeFormat(o, a).format(t);
|
|
6504
6868
|
}
|
|
6505
|
-
function
|
|
6869
|
+
function ro(e, o, r) {
|
|
6506
6870
|
const t = e instanceof Date ? e : new Date(e);
|
|
6507
|
-
let
|
|
6508
|
-
switch (
|
|
6871
|
+
let a;
|
|
6872
|
+
switch (r) {
|
|
6509
6873
|
case "short":
|
|
6510
|
-
|
|
6874
|
+
a = { timeStyle: "short" };
|
|
6511
6875
|
break;
|
|
6512
6876
|
case "long":
|
|
6513
|
-
|
|
6877
|
+
a = { timeStyle: "long" };
|
|
6514
6878
|
break;
|
|
6515
6879
|
case "full":
|
|
6516
|
-
|
|
6880
|
+
a = { timeStyle: "full" };
|
|
6517
6881
|
break;
|
|
6518
6882
|
case "medium":
|
|
6519
6883
|
default:
|
|
6520
|
-
|
|
6884
|
+
a = { timeStyle: "medium" };
|
|
6521
6885
|
break;
|
|
6522
6886
|
}
|
|
6523
|
-
return new Intl.DateTimeFormat(o,
|
|
6887
|
+
return new Intl.DateTimeFormat(o, a).format(t);
|
|
6524
6888
|
}
|
|
6525
|
-
function
|
|
6526
|
-
return e.replace(/#/g, String(
|
|
6889
|
+
function V(e, o, r) {
|
|
6890
|
+
return e.replace(/#/g, String(r));
|
|
6527
6891
|
}
|
|
6528
|
-
function
|
|
6529
|
-
const t =
|
|
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,
|
|
6905
|
+
return typeof l != "number" ? i : oo(l, a, d.style);
|
|
6542
6906
|
case "date":
|
|
6543
|
-
return to(l,
|
|
6907
|
+
return to(l, a, d.style);
|
|
6544
6908
|
case "time":
|
|
6545
|
-
return
|
|
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
|
|
6550
|
-
return
|
|
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
|
|
6556
|
-
return
|
|
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
|
|
6562
|
-
return
|
|
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,
|
|
6571
|
-
const i = e[t] ??
|
|
6572
|
-
return n ?
|
|
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,
|
|
6576
|
-
const t = te(e,
|
|
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,
|
|
6580
|
-
const t =
|
|
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
|
|
6964
|
+
function ae(e) {
|
|
6601
6965
|
return no.includes(e);
|
|
6602
6966
|
}
|
|
6603
6967
|
function io(e) {
|
|
6604
|
-
return
|
|
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
|
|
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
|
|
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
|
-
}),
|
|
7030
|
+
}), at = ({
|
|
6667
7031
|
lang: e,
|
|
6668
7032
|
autoSetDocument: o = !0,
|
|
6669
|
-
children:
|
|
7033
|
+
children: r
|
|
6670
7034
|
}) => {
|
|
6671
|
-
const t =
|
|
7035
|
+
const t = ae(e), a = t ? "rtl" : "ltr";
|
|
6672
7036
|
L(() => {
|
|
6673
7037
|
o && so(e);
|
|
6674
7038
|
}, [e, o]);
|
|
6675
|
-
const n =
|
|
7039
|
+
const n = b(
|
|
6676
7040
|
() => ({
|
|
6677
|
-
dir:
|
|
7041
|
+
dir: a,
|
|
6678
7042
|
isRTL: t,
|
|
6679
7043
|
flip: (i) => co(i, t),
|
|
6680
7044
|
value: (i) => lo(i, t)
|
|
6681
7045
|
}),
|
|
6682
|
-
[
|
|
7046
|
+
[a, t]
|
|
6683
7047
|
);
|
|
6684
|
-
return /* @__PURE__ */ B(q.Provider, { value: n, children:
|
|
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 = [],
|
|
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,
|
|
6704
|
-
|
|
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
|
|
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
|
-
[
|
|
6718
|
-
[
|
|
6719
|
-
[
|
|
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(
|
|
7087
|
+
return Object.keys(k.en);
|
|
6724
7088
|
}
|
|
6725
|
-
function
|
|
7089
|
+
function uo(e) {
|
|
6726
7090
|
if (e === "en")
|
|
6727
7091
|
return [];
|
|
6728
|
-
const o =
|
|
6729
|
-
for (const [
|
|
6730
|
-
a
|
|
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
|
|
6734
|
-
const o = Object.keys(
|
|
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:
|
|
7102
|
+
translatedKeys: r,
|
|
6739
7103
|
missingKeys: t,
|
|
6740
|
-
coverage:
|
|
7104
|
+
coverage: a
|
|
6741
7105
|
};
|
|
6742
7106
|
}
|
|
6743
7107
|
function go() {
|
|
6744
|
-
return j.map((e) =>
|
|
7108
|
+
return j.map((e) => mo(e));
|
|
6745
7109
|
}
|
|
6746
7110
|
function ct(e, o) {
|
|
6747
|
-
const
|
|
6748
|
-
const
|
|
6749
|
-
return ` '${t.key}': '${
|
|
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
|
-
${
|
|
7118
|
+
${r.join(`
|
|
6755
7119
|
`)}
|
|
6756
7120
|
}`;
|
|
6757
7121
|
}
|
|
6758
|
-
function
|
|
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
|
|
6770
|
-
const t = "█".repeat(Math.floor(
|
|
6771
|
-
o += `| ${
|
|
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
|
|
6779
|
-
o += `### ${
|
|
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 =
|
|
7146
|
+
const t = uo(r.lang);
|
|
6783
7147
|
o += `Missing ${t.length} keys:
|
|
6784
7148
|
|
|
6785
|
-
`, o += "```\n", o += t.slice(0, 10).map((
|
|
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
|
|
7191
|
+
const r = D(e), t = new Intl.DateTimeFormat(r, { dateStyle: o });
|
|
6828
7192
|
return {
|
|
6829
|
-
format: (
|
|
6830
|
-
formatRange: (
|
|
6831
|
-
const i =
|
|
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: (
|
|
7198
|
+
formatRelative: (a) => wo(a instanceof Date ? a : new Date(a), r)
|
|
6835
7199
|
};
|
|
6836
7200
|
}
|
|
6837
|
-
function
|
|
6838
|
-
return
|
|
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
|
|
7205
|
+
const r = D(e), t = new Intl.DateTimeFormat(r, { timeStyle: o });
|
|
6842
7206
|
return {
|
|
6843
|
-
format: (
|
|
7207
|
+
format: (a) => t.format(a instanceof Date ? a : new Date(a))
|
|
6844
7208
|
};
|
|
6845
7209
|
}
|
|
6846
|
-
function
|
|
6847
|
-
return
|
|
7210
|
+
function mt(e, o = "short") {
|
|
7211
|
+
return b(() => vo(e, o), [e, o]);
|
|
6848
7212
|
}
|
|
6849
|
-
function
|
|
7213
|
+
function bo(e) {
|
|
6850
7214
|
const o = D(e);
|
|
6851
7215
|
return {
|
|
6852
|
-
format: (
|
|
6853
|
-
formatCompact: (
|
|
6854
|
-
formatPercent: (
|
|
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
|
|
7222
|
+
return b(() => bo(e), [e]);
|
|
6859
7223
|
}
|
|
6860
|
-
function
|
|
6861
|
-
const
|
|
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: (
|
|
7227
|
+
format: (a) => t.format(a)
|
|
6864
7228
|
};
|
|
6865
7229
|
}
|
|
6866
7230
|
function ht(e, o = "USD") {
|
|
6867
|
-
return
|
|
7231
|
+
return b(() => ko(e, o), [e, o]);
|
|
6868
7232
|
}
|
|
6869
|
-
function
|
|
6870
|
-
const
|
|
6871
|
-
return
|
|
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
|
|
7027
|
-
return
|
|
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,
|
|
7030
|
-
const t =
|
|
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 =
|
|
7397
|
+
const l = a[s];
|
|
7034
7398
|
if (!l)
|
|
7035
7399
|
continue;
|
|
7036
|
-
const
|
|
7037
|
-
|
|
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
|
|
7048
|
-
const o =
|
|
7049
|
-
for (const [
|
|
7050
|
-
const i = yo(n, e), s = o[
|
|
7051
|
-
i && s && s !== i && t.push({ key:
|
|
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
|
|
7058
|
-
o.add(e.substring(
|
|
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
|
|
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
|
|
7067
|
-
let
|
|
7068
|
-
for (const n of
|
|
7069
|
-
t.has(n) &&
|
|
7070
|
-
return 2 *
|
|
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
|
|
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",
|
|
7148
|
-
var
|
|
7149
|
-
const t = D(o),
|
|
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 =
|
|
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:
|
|
7161
|
-
offsetString: Do(
|
|
7524
|
+
offsetMinutes: u,
|
|
7525
|
+
offsetString: Do(u),
|
|
7162
7526
|
isDST: A
|
|
7163
7527
|
};
|
|
7164
7528
|
}
|
|
7165
|
-
function
|
|
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
|
|
7170
|
-
for (const [t,
|
|
7171
|
-
|
|
7172
|
-
return
|
|
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,
|
|
7175
|
-
const t = e.toLocaleString("en-US", { timeZone: o }),
|
|
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
|
|
7179
|
-
const
|
|
7180
|
-
return se(e,
|
|
7542
|
+
function Co(e, o) {
|
|
7543
|
+
const r = o || G();
|
|
7544
|
+
return se(e, r, "UTC");
|
|
7181
7545
|
}
|
|
7182
|
-
function
|
|
7183
|
-
const
|
|
7184
|
-
return se(e, "UTC",
|
|
7546
|
+
function So(e, o) {
|
|
7547
|
+
const r = o || G();
|
|
7548
|
+
return se(e, "UTC", r);
|
|
7185
7549
|
}
|
|
7186
|
-
function
|
|
7187
|
-
const t = D(e), { dateStyle:
|
|
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:
|
|
7553
|
+
dateStyle: a,
|
|
7190
7554
|
timeStyle: n
|
|
7191
7555
|
}), d = new Intl.DateTimeFormat(t, {
|
|
7192
7556
|
timeZone: o,
|
|
7193
|
-
dateStyle:
|
|
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: (
|
|
7202
|
-
formatWithZone: (
|
|
7203
|
-
getOffset: (
|
|
7204
|
-
getAbbreviation: (
|
|
7205
|
-
var
|
|
7206
|
-
return ((
|
|
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
|
|
7574
|
+
function H(e, o = /* @__PURE__ */ new Date()) {
|
|
7211
7575
|
return F(e, "en", o).isDST;
|
|
7212
7576
|
}
|
|
7213
|
-
function
|
|
7214
|
-
const
|
|
7215
|
-
for (
|
|
7216
|
-
if (t.setDate(t.getDate() + 1),
|
|
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
|
-
|
|
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
|
|
7230
|
-
const [t] = P(() => G()),
|
|
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:
|
|
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) =>
|
|
7239
|
-
fromUTC: (s) =>
|
|
7602
|
+
toUTC: (s) => Co(s, a),
|
|
7603
|
+
fromUTC: (s) => So(s, a)
|
|
7240
7604
|
};
|
|
7241
7605
|
}
|
|
7242
|
-
function
|
|
7243
|
-
const
|
|
7244
|
-
return Math.round((n.getTime() -
|
|
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 ? "+" : "-",
|
|
7248
|
-
return `${o}${t.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
|
|
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",
|
|
7417
|
-
const t = D(e), { dateStyle:
|
|
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:
|
|
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
|
-
},
|
|
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: (
|
|
7431
|
-
formatWithEra: (
|
|
7432
|
-
getMonthName: (
|
|
7794
|
+
format: (m) => d.format(m),
|
|
7795
|
+
formatWithEra: (m) => p.format(m),
|
|
7796
|
+
getMonthName: (m) => f.format(m),
|
|
7433
7797
|
getMonthNames: () => {
|
|
7434
|
-
const
|
|
7798
|
+
const m = [], v = new Date(2024, 0, 15);
|
|
7435
7799
|
for (let g = 0; g < 12; g++)
|
|
7436
|
-
v.setMonth(g),
|
|
7437
|
-
return
|
|
7800
|
+
v.setMonth(g), m.push(f.format(v));
|
|
7801
|
+
return m;
|
|
7438
7802
|
},
|
|
7439
|
-
getWeekdayName: (
|
|
7803
|
+
getWeekdayName: (m) => u.format(m),
|
|
7440
7804
|
getWeekdayNames: () => {
|
|
7441
|
-
const
|
|
7805
|
+
const m = [], v = new Date(2024, 0, 7);
|
|
7442
7806
|
for (let g = 0; g < 7; g++)
|
|
7443
|
-
v.setDate(7 + g),
|
|
7444
|
-
return
|
|
7807
|
+
v.setDate(7 + g), m.push(u.format(v));
|
|
7808
|
+
return m;
|
|
7445
7809
|
},
|
|
7446
|
-
parseParts: (
|
|
7447
|
-
var
|
|
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(
|
|
7818
|
+
}).formatToParts(m);
|
|
7455
7819
|
return {
|
|
7456
7820
|
calendar: o,
|
|
7457
|
-
year: parseInt(((
|
|
7458
|
-
month: parseInt(((
|
|
7459
|
-
day: parseInt(((y = g.find((
|
|
7460
|
-
era: (A = g.find((
|
|
7461
|
-
gregorianDate:
|
|
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: (
|
|
7465
|
-
var
|
|
7466
|
-
return (
|
|
7828
|
+
getEraName: (m) => {
|
|
7829
|
+
var E;
|
|
7830
|
+
return (E = new Intl.DateTimeFormat(t, {
|
|
7467
7831
|
calendar: o,
|
|
7468
7832
|
era: "long"
|
|
7469
|
-
}).formatToParts(
|
|
7833
|
+
}).formatToParts(m).find((C) => C.type === "era")) == null ? void 0 : E.value;
|
|
7470
7834
|
}
|
|
7471
7835
|
};
|
|
7472
7836
|
}
|
|
7473
|
-
function ce(e, o,
|
|
7474
|
-
return le(
|
|
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
|
|
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
|
|
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,
|
|
7597
|
-
const t = o || de[e],
|
|
7598
|
-
() => le(e, t,
|
|
7599
|
-
[e, t,
|
|
7600
|
-
), n =
|
|
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:
|
|
7606
|
-
formatWithEra:
|
|
7607
|
-
getMonthName:
|
|
7608
|
-
getMonthNames:
|
|
7609
|
-
getWeekdayName:
|
|
7610
|
-
getWeekdayNames:
|
|
7611
|
-
parseParts:
|
|
7612
|
-
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(
|
|
7981
|
+
return Object.keys(W);
|
|
7618
7982
|
}
|
|
7619
7983
|
function Rt(e, o = "en") {
|
|
7620
|
-
const
|
|
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 && (
|
|
7987
|
+
n && (r.displayName = n);
|
|
7624
7988
|
} catch {
|
|
7625
7989
|
}
|
|
7626
|
-
return
|
|
7990
|
+
return r;
|
|
7627
7991
|
}
|
|
7628
7992
|
function Lt(e) {
|
|
7629
|
-
const o = de[e],
|
|
7630
|
-
for (const [t,
|
|
7631
|
-
|
|
7632
|
-
return
|
|
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
|
|
7707
|
-
return e.split("").map((t) =>
|
|
8070
|
+
const r = o ? No : J;
|
|
8071
|
+
return e.split("").map((t) => r[t] || t).join("");
|
|
7708
8072
|
}
|
|
7709
|
-
function It(e, o = "[",
|
|
7710
|
-
return `${o}${e}${
|
|
8073
|
+
function It(e, o = "[", r = "]") {
|
|
8074
|
+
return `${o}${e}${r}`;
|
|
7711
8075
|
}
|
|
7712
|
-
function Ro(e, o = 0.3,
|
|
7713
|
-
if (
|
|
8076
|
+
function Ro(e, o = 0.3, r = !1) {
|
|
8077
|
+
if (r)
|
|
7714
8078
|
return Lo(e);
|
|
7715
|
-
const
|
|
7716
|
-
if (
|
|
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(
|
|
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((
|
|
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
|
|
8092
|
+
function pe(e, o = {}) {
|
|
7729
8093
|
const {
|
|
7730
|
-
addBrackets:
|
|
8094
|
+
addBrackets: r = !0,
|
|
7731
8095
|
expansionFactor: t = 0.3,
|
|
7732
|
-
addAccents:
|
|
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:
|
|
8102
|
+
suffix: p = "]"
|
|
7739
8103
|
} = o, f = /* @__PURE__ */ new Map();
|
|
7740
|
-
let
|
|
7741
|
-
s && (
|
|
7742
|
-
const g = `__PH${
|
|
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 && (
|
|
7745
|
-
const g = `__PH${
|
|
8108
|
+
})), d && (u = u.replace(/<[^>]+>/g, (v) => {
|
|
8109
|
+
const g = `__PH${m++}__`;
|
|
7746
8110
|
return f.set(g, v), g;
|
|
7747
|
-
})),
|
|
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
|
-
|
|
7750
|
-
return
|
|
8113
|
+
u = u.replace(v, g);
|
|
8114
|
+
return u;
|
|
7751
8115
|
}
|
|
7752
8116
|
function Io(e, o) {
|
|
7753
|
-
const
|
|
8117
|
+
const r = new Set(o.keys());
|
|
7754
8118
|
return e.split("").map((t) => {
|
|
7755
|
-
for (const
|
|
7756
|
-
if (e.includes(
|
|
8119
|
+
for (const a of r)
|
|
8120
|
+
if (e.includes(a) && a.includes(t))
|
|
7757
8121
|
return t;
|
|
7758
|
-
return
|
|
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
|
|
7796
|
-
const
|
|
7797
|
-
for (const [t,
|
|
7798
|
-
|
|
7799
|
-
return
|
|
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
|
|
8165
|
+
function Wo(e) {
|
|
7802
8166
|
return /[^\x00-\x7F]/.test(e);
|
|
7803
8167
|
}
|
|
7804
|
-
function
|
|
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),
|
|
7808
|
-
return o && !
|
|
8171
|
+
const o = /[a-zA-Z]{2,}/.test(e), r = Wo(e);
|
|
8172
|
+
return o && !r;
|
|
7809
8173
|
}
|
|
7810
|
-
function
|
|
7811
|
-
const
|
|
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,
|
|
7819
|
-
if (!
|
|
7820
|
-
|
|
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 (
|
|
7824
|
-
const n = X(
|
|
7825
|
-
(s.length > 0 || d.length > 0) && (
|
|
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
|
-
}),
|
|
8195
|
+
}), r.potentialIssues++);
|
|
7832
8196
|
}
|
|
7833
8197
|
}
|
|
7834
|
-
return
|
|
8198
|
+
return r;
|
|
7835
8199
|
}
|
|
7836
8200
|
function X(e) {
|
|
7837
|
-
return (e.match(/\{([^}]+)\}/g) || []).map((
|
|
8201
|
+
return (e.match(/\{([^}]+)\}/g) || []).map((r) => r.replace(/[{}]/g, "").split(",")[0].trim());
|
|
7838
8202
|
}
|
|
7839
|
-
const
|
|
7840
|
-
function
|
|
8203
|
+
const ue = I(null);
|
|
8204
|
+
function Ut({
|
|
7841
8205
|
children: e,
|
|
7842
8206
|
initialEnabled: o = !1,
|
|
7843
|
-
initialMode:
|
|
8207
|
+
initialMode: r = "full"
|
|
7844
8208
|
}) {
|
|
7845
|
-
const [t,
|
|
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: () =>
|
|
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(
|
|
8220
|
+
return /* @__PURE__ */ B(ue.Provider, { value: l, children: e });
|
|
7857
8221
|
}
|
|
7858
|
-
function
|
|
7859
|
-
const e = N(
|
|
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
|
|
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
|
|
8253
|
+
class Uo {
|
|
7890
8254
|
constructor(o = 0) {
|
|
7891
8255
|
this.cache = /* @__PURE__ */ new Map(), this.ttl = o;
|
|
7892
8256
|
}
|
|
7893
|
-
getCacheKey(o,
|
|
7894
|
-
return
|
|
8257
|
+
getCacheKey(o, r) {
|
|
8258
|
+
return r ? `${o}:${r}` : o;
|
|
7895
8259
|
}
|
|
7896
|
-
get(o,
|
|
7897
|
-
const t = this.getCacheKey(o,
|
|
7898
|
-
return
|
|
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,
|
|
7901
|
-
const
|
|
7902
|
-
this.cache.set(
|
|
7903
|
-
data:
|
|
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,
|
|
7909
|
-
return this.get(o,
|
|
8272
|
+
has(o, r) {
|
|
8273
|
+
return this.get(o, r) !== null;
|
|
7910
8274
|
}
|
|
7911
|
-
delete(o,
|
|
7912
|
-
if (
|
|
7913
|
-
this.cache.delete(this.getCacheKey(o,
|
|
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
|
|
7924
|
-
o.add(
|
|
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
|
|
8295
|
+
function me(e) {
|
|
7932
8296
|
const {
|
|
7933
8297
|
loadFn: o,
|
|
7934
|
-
fallbackLang:
|
|
8298
|
+
fallbackLang: r = "en",
|
|
7935
8299
|
cacheTtl: t = 0,
|
|
7936
|
-
preloadLanguages:
|
|
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,
|
|
7943
|
-
let
|
|
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 =
|
|
8310
|
+
const c = C();
|
|
7947
8311
|
v.forEach((h) => h(c));
|
|
7948
8312
|
}
|
|
7949
|
-
function
|
|
8313
|
+
function E(c, h) {
|
|
7950
8314
|
return h ? `${c}:${h}` : c;
|
|
7951
8315
|
}
|
|
7952
|
-
function
|
|
8316
|
+
function C() {
|
|
7953
8317
|
const c = /* @__PURE__ */ new Set(), h = /* @__PURE__ */ new Set();
|
|
7954
|
-
for (const
|
|
7955
|
-
|
|
7956
|
-
for (const
|
|
7957
|
-
const O =
|
|
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(
|
|
7964
|
-
currentLanguage:
|
|
8327
|
+
failedLanguages: new Map(u),
|
|
8328
|
+
currentLanguage: m
|
|
7965
8329
|
};
|
|
7966
8330
|
}
|
|
7967
8331
|
async function y(c, h) {
|
|
7968
|
-
const
|
|
8332
|
+
const S = E(c, h), O = p.get(c, h);
|
|
7969
8333
|
if (O)
|
|
7970
8334
|
return O;
|
|
7971
|
-
if (f.has(
|
|
7972
|
-
return new Promise((
|
|
8335
|
+
if (f.has(S))
|
|
8336
|
+
return new Promise((z) => {
|
|
7973
8337
|
const R = setInterval(() => {
|
|
7974
|
-
f.has(
|
|
8338
|
+
f.has(S) || (clearInterval(R), z(p.get(c, h)));
|
|
7975
8339
|
}, 50);
|
|
7976
8340
|
});
|
|
7977
|
-
f.add(
|
|
8341
|
+
f.add(S), u.delete(c), s == null || s(c, h), g();
|
|
7978
8342
|
try {
|
|
7979
|
-
const
|
|
7980
|
-
return
|
|
7981
|
-
} catch (
|
|
7982
|
-
const R =
|
|
7983
|
-
return
|
|
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(
|
|
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
|
|
7992
|
-
|
|
7993
|
-
|
|
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
|
|
8361
|
+
return p.get(c, h);
|
|
7998
8362
|
}
|
|
7999
8363
|
function x(c, h) {
|
|
8000
|
-
return
|
|
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
|
|
8373
|
+
return p.getStats().languages;
|
|
8010
8374
|
}
|
|
8011
8375
|
function ve(c) {
|
|
8012
|
-
c ?
|
|
8376
|
+
c ? p.delete(c) : p.clear(), g();
|
|
8013
8377
|
}
|
|
8014
|
-
async function
|
|
8015
|
-
x(c) || await y(c),
|
|
8378
|
+
async function be(c) {
|
|
8379
|
+
x(c) || await y(c), m = c, g();
|
|
8016
8380
|
}
|
|
8017
|
-
function
|
|
8018
|
-
return
|
|
8381
|
+
function ke() {
|
|
8382
|
+
return m;
|
|
8019
8383
|
}
|
|
8020
|
-
function
|
|
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:
|
|
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:
|
|
8033
|
-
setLanguage:
|
|
8034
|
-
getCurrentLanguage:
|
|
8035
|
-
subscribe:
|
|
8396
|
+
getState: C,
|
|
8397
|
+
setLanguage: be,
|
|
8398
|
+
getCurrentLanguage: ke,
|
|
8399
|
+
subscribe: we
|
|
8036
8400
|
};
|
|
8037
8401
|
}
|
|
8038
8402
|
function Zt(e, o) {
|
|
8039
|
-
return
|
|
8403
|
+
return me({
|
|
8040
8404
|
...o,
|
|
8041
|
-
loadFn: async (
|
|
8042
|
-
const
|
|
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
|
|
8414
|
+
return me({
|
|
8051
8415
|
...o,
|
|
8052
|
-
loadFn: async (
|
|
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:
|
|
8423
|
+
initialLanguage: r,
|
|
8060
8424
|
namespace: t
|
|
8061
8425
|
}) {
|
|
8062
|
-
const [
|
|
8426
|
+
const [a, n] = P(() => o.getState()), [i, s] = P(null);
|
|
8063
8427
|
L(() => o.subscribe(n), [o]), L(() => {
|
|
8064
|
-
|
|
8065
|
-
}, [o,
|
|
8066
|
-
const d =
|
|
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 (
|
|
8072
|
-
s(
|
|
8435
|
+
} catch (u) {
|
|
8436
|
+
s(u instanceof Error ? u : new Error(String(u)));
|
|
8073
8437
|
}
|
|
8074
8438
|
},
|
|
8075
8439
|
[o]
|
|
8076
|
-
),
|
|
8440
|
+
), p = b(
|
|
8077
8441
|
() => ({
|
|
8078
8442
|
loader: o,
|
|
8079
8443
|
translations: d,
|
|
8080
|
-
isLoading:
|
|
8444
|
+
isLoading: a.loadingLanguages.size > 0,
|
|
8081
8445
|
error: i,
|
|
8082
8446
|
setLanguage: l,
|
|
8083
|
-
currentLanguage:
|
|
8084
|
-
loadedLanguages: Array.from(
|
|
8447
|
+
currentLanguage: a.currentLanguage,
|
|
8448
|
+
loadedLanguages: Array.from(a.loadedLanguages)
|
|
8085
8449
|
}),
|
|
8086
|
-
[o, d,
|
|
8450
|
+
[o, d, a, i, l]
|
|
8087
8451
|
);
|
|
8088
|
-
return /* @__PURE__ */ B(ge.Provider, { value:
|
|
8452
|
+
return /* @__PURE__ */ B(ge.Provider, { value: p, children: e });
|
|
8089
8453
|
}
|
|
8090
|
-
function
|
|
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
|
|
8097
|
-
const { translations: o, currentLanguage:
|
|
8460
|
+
function Jt(e) {
|
|
8461
|
+
const { translations: o, currentLanguage: r, loader: t, isLoading: a } = Ho();
|
|
8098
8462
|
return L(() => {
|
|
8099
|
-
e && !t.isLoaded(
|
|
8100
|
-
}, [t,
|
|
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,
|
|
8105
|
-
d = d.replace(new RegExp(`\\{${l}\\}`, "g"), String(
|
|
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:
|
|
8473
|
+
), isLoading: a, currentLanguage: r };
|
|
8110
8474
|
}
|
|
8111
|
-
function
|
|
8112
|
-
switch (
|
|
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
|
|
8143
|
-
const { fallback:
|
|
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
|
|
8148
|
-
return j.includes(
|
|
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
|
-
|
|
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
|
-
|
|
8522
|
+
St as HIJRI_MONTHS,
|
|
8159
8523
|
Z as JAPANESE_ERAS,
|
|
8160
8524
|
ne as NICE_GLOSSARY,
|
|
8161
|
-
|
|
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
|
-
|
|
8167
|
-
|
|
8168
|
-
|
|
8169
|
-
|
|
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
|
-
|
|
8539
|
+
Vt as analyzeDictionary,
|
|
8176
8540
|
st as analyzeStylesForRTL,
|
|
8177
|
-
|
|
8541
|
+
Wo as containsNonAscii,
|
|
8178
8542
|
se as convertTimezone,
|
|
8179
8543
|
le as createCalendarFormatter,
|
|
8180
|
-
|
|
8544
|
+
ko as createCurrencyFormatter,
|
|
8181
8545
|
fo as createDateFormatter,
|
|
8182
|
-
|
|
8546
|
+
me as createDynamicLoader,
|
|
8183
8547
|
Zt as createFetchLoader,
|
|
8184
8548
|
Qo as createICUTranslator,
|
|
8185
8549
|
qt as createImportLoader,
|
|
8186
|
-
|
|
8550
|
+
bo as createNumberFormatter,
|
|
8187
8551
|
vo as createTimeFormatter,
|
|
8188
|
-
|
|
8189
|
-
|
|
8190
|
-
|
|
8552
|
+
zo as createTimezoneFormatter,
|
|
8553
|
+
Yo as createTranslator,
|
|
8554
|
+
$t as detectAndLoad,
|
|
8191
8555
|
_o as detectBrowserLanguage,
|
|
8192
|
-
|
|
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
|
-
|
|
8198
|
-
|
|
8199
|
-
|
|
8200
|
-
|
|
8201
|
-
|
|
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
|
-
|
|
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
|
-
|
|
8576
|
+
zt as getHijriMonthDays,
|
|
8213
8577
|
To as getJapaneseEra,
|
|
8214
8578
|
Tt as getJapaneseYear,
|
|
8215
8579
|
D as getLocaleTag,
|
|
8216
|
-
|
|
8217
|
-
|
|
8218
|
-
|
|
8219
|
-
|
|
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
|
-
|
|
8229
|
-
|
|
8592
|
+
mo as getTranslationStats,
|
|
8593
|
+
H as isDSTActive,
|
|
8230
8594
|
xt as isHebrewLeapYear,
|
|
8231
8595
|
xo as isHijriLeapYear,
|
|
8232
8596
|
jt as isPersianLeapYear,
|
|
8233
|
-
|
|
8597
|
+
ae as isRTLLanguage,
|
|
8234
8598
|
Xe as isSupported,
|
|
8235
|
-
|
|
8599
|
+
kt as isValidTimezone,
|
|
8236
8600
|
yo as lookupGlossary,
|
|
8237
8601
|
et as ordinal,
|
|
8238
8602
|
Xo as plural,
|
|
8239
|
-
|
|
8240
|
-
|
|
8241
|
-
|
|
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
|
-
|
|
8611
|
+
Co as toUTC,
|
|
8248
8612
|
Mt as useCalendar,
|
|
8249
|
-
|
|
8250
|
-
|
|
8613
|
+
Ho as useDynamicI18n,
|
|
8614
|
+
Jt as useDynamicTranslation,
|
|
8251
8615
|
it as useIsRTL,
|
|
8252
8616
|
ht as useNiceCurrencyFormat,
|
|
8253
|
-
|
|
8617
|
+
ut as useNiceDateFormat,
|
|
8254
8618
|
gt as useNiceNumberFormat,
|
|
8255
|
-
|
|
8256
|
-
|
|
8257
|
-
|
|
8619
|
+
mt as useNiceTimeFormat,
|
|
8620
|
+
Jo as useNiceTranslation,
|
|
8621
|
+
Ht as usePseudoLocalization,
|
|
8258
8622
|
nt as useRTL,
|
|
8259
|
-
|
|
8260
|
-
|
|
8623
|
+
Ct as useTimezone,
|
|
8624
|
+
bt as validateAgainstGlossary
|
|
8261
8625
|
};
|