@ovineko/spa-guard 0.0.2-alpha-1 → 0.0.4

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.
Files changed (67) hide show
  1. package/README.md +22 -173
  2. package/dist/ForceRetryError-BWLv3UVK.d.mts +6 -0
  3. package/dist/_internal.d.ts +149 -20
  4. package/dist/_internal.js +113 -170
  5. package/dist/chunk-CfYAbeIz.mjs +13 -0
  6. package/dist/common/index.d.ts +29 -9
  7. package/dist/common/index.js +47 -83
  8. package/dist/errorDispatchers-Cl_pa0DT.mjs +105 -0
  9. package/dist/i18n/index.d.ts +2 -21
  10. package/dist/i18n/index.js +344 -341
  11. package/dist/index-DL8CfPXg.d.mts +26 -0
  12. package/dist/index-rPxPv6iu.d.mts +16 -0
  13. package/dist/logger-Cp1Eyk6S.mjs +534 -0
  14. package/dist/retryOrchestrator-DNGIHV2M.mjs +758 -0
  15. package/dist/retryOrchestrator-mn9XcIVu.d.mts +257 -0
  16. package/dist/runtime/debug/index.d.ts +6 -4
  17. package/dist/runtime/debug/index.js +218 -238
  18. package/dist/runtime/index.d.ts +66 -8
  19. package/dist/runtime/index.js +279 -367
  20. package/dist/schema/index.d.ts +2 -13
  21. package/dist/schema/index.js +1 -0
  22. package/dist/schema/parse.d.ts +6 -2
  23. package/dist/schema/parse.js +29 -44
  24. package/dist/spinner-BbZVKZ-6.mjs +60 -0
  25. package/dist/spinner-X23gI09z.d.mts +37 -0
  26. package/dist/state-I20jENMD.mjs +93 -0
  27. package/dist/types-DrN8pgyc.d.mts +107 -0
  28. package/package.json +1 -4
  29. package/dist/chunk-3UJ67DPX.js +0 -98
  30. package/dist/chunk-GE63YJOT.js +0 -865
  31. package/dist/chunk-MLKGABMK.js +0 -9
  32. package/dist/chunk-PERG4557.js +0 -74
  33. package/dist/chunk-VZ2DLGXX.js +0 -111
  34. package/dist/chunk-XIFXSNSD.js +0 -678
  35. package/dist/common/checkVersion.d.ts +0 -5
  36. package/dist/common/constants.d.ts +0 -14
  37. package/dist/common/errors/BeaconError.d.ts +0 -12
  38. package/dist/common/errors/ForceRetryError.d.ts +0 -5
  39. package/dist/common/events/index.d.ts +0 -2
  40. package/dist/common/events/internal.d.ts +0 -13
  41. package/dist/common/events/types.d.ts +0 -104
  42. package/dist/common/fallbackRendering.d.ts +0 -23
  43. package/dist/common/fallbackState.d.ts +0 -3
  44. package/dist/common/handleErrorWithSpaGuard.d.ts +0 -18
  45. package/dist/common/html.generated.d.ts +0 -3
  46. package/dist/common/i18n.d.ts +0 -23
  47. package/dist/common/isChunkError.d.ts +0 -1
  48. package/dist/common/isStaticAssetError.d.ts +0 -3
  49. package/dist/common/lastReloadTime.d.ts +0 -17
  50. package/dist/common/listen/index.d.ts +0 -1
  51. package/dist/common/listen/internal.d.ts +0 -2
  52. package/dist/common/log.d.ts +0 -1
  53. package/dist/common/logger.d.ts +0 -30
  54. package/dist/common/options.d.ts +0 -182
  55. package/dist/common/parseVersion.d.ts +0 -9
  56. package/dist/common/retryImport.d.ts +0 -43
  57. package/dist/common/retryOrchestrator.d.ts +0 -35
  58. package/dist/common/retryState.d.ts +0 -11
  59. package/dist/common/sendBeacon.d.ts +0 -2
  60. package/dist/common/serializeError.d.ts +0 -1
  61. package/dist/common/shouldIgnore.d.ts +0 -13
  62. package/dist/common/spinner.d.ts +0 -8
  63. package/dist/common/staticAssetRecovery.d.ts +0 -2
  64. package/dist/i18n/translations.d.ts +0 -2
  65. package/dist/runtime/debug/errorDispatchers.d.ts +0 -63
  66. package/dist/runtime/recommendedSetup.d.ts +0 -36
  67. package/dist/runtime/state.d.ts +0 -20
@@ -1,350 +1,353 @@
1
- import "../chunk-MLKGABMK.js";
2
-
3
- // src/i18n/translations.ts
4
- var translations = {
5
- ar: {
6
- heading: "\u062D\u062F\u062B \u062E\u0637\u0623 \u0645\u0627",
7
- loading: "...\u062C\u0627\u0631\u064D \u0627\u0644\u062A\u062D\u0645\u064A\u0644",
8
- message: "\u064A\u0631\u062C\u0649 \u062A\u062D\u062F\u064A\u062B \u0627\u0644\u0635\u0641\u062D\u0629 \u0644\u0644\u0645\u062A\u0627\u0628\u0639\u0629",
9
- reload: "\u0625\u0639\u0627\u062F\u0629 \u062A\u062D\u0645\u064A\u0644",
10
- retrying: "\u0645\u062D\u0627\u0648\u0644\u0629 \u0625\u0639\u0627\u062F\u0629",
11
- rtl: true,
12
- tryAgain: "\u062D\u0627\u0648\u0644 \u0645\u0631\u0629 \u0623\u062E\u0631\u0649"
13
- },
14
- az: {
15
- heading: "N\u0259s\u0259 s\u0259hv getdi",
16
- loading: "Y\xFCkl\u0259nir...",
17
- message: "Davam etm\u0259k \xFC\xE7\xFCn s\u0259hif\u0259ni yenil\u0259yin",
18
- reload: "S\u0259hif\u0259ni yenid\u0259n y\xFCkl\u0259",
19
- retrying: "Yenid\u0259n c\u0259hd",
20
- tryAgain: "Yenid\u0259n c\u0259r\u0259b edin"
21
- },
22
- ca: {
23
- heading: "Alguna cosa ha anat malament",
24
- loading: "Carregant...",
25
- message: "Si us plau, actualitzeu la p\xE0gina per continuar",
26
- reload: "Recarrega la p\xE0gina",
27
- retrying: "Intent de reintent",
28
- tryAgain: "Torna-ho a provar"
29
- },
30
- cs: {
31
- heading: "N\u011Bco se pokazilo",
32
- loading: "Na\u010D\xEDt\xE1n\xED...",
33
- message: "Obnovte str\xE1nku pros\xEDm pro pokra\u010Dov\xE1n\xED",
34
- reload: "Znovu na\u010D\xEDst str\xE1nku",
35
- retrying: "Pokus o opakov\xE1n\xED",
36
- tryAgain: "Zkusit znovu"
37
- },
38
- da: {
39
- heading: "Noget gik galt",
40
- loading: "Indl\xE6ser...",
41
- message: "Opdater venligst siden for at forts\xE6tte",
42
- reload: "Genindl\xE6s side",
43
- retrying: "Fors\xF8g igen",
44
- tryAgain: "Pr\xF8v igen"
45
- },
46
- de: {
47
- heading: "Etwas ist schief gelaufen",
48
- loading: "L\xE4dt...",
49
- message: "Bitte aktualisieren Sie die Seite, um fortzufahren",
50
- reload: "Seite neu laden",
51
- retrying: "Wiederholungsversuch",
52
- tryAgain: "Erneut versuchen"
53
- },
54
- el: {
55
- heading: "\u039A\u03AC\u03C4\u03B9 \u03C0\u03AE\u03B3\u03B5 \u03C3\u03C4\u03C1\u03B1\u03B2\u03AC",
56
- loading: "\u03A6\u03CC\u03C1\u03C4\u03C9\u03C3\u03B7...",
57
- message: "\u03A0\u03B1\u03C1\u03B1\u03BA\u03B1\u03BB\u03CE \u03B1\u03BD\u03B1\u03BD\u03B5\u03CE\u03C3\u03C4\u03B5 \u03C4\u03B7 \u03C3\u03B5\u03BB\u03AF\u03B4\u03B1 \u03B3\u03B9\u03B1 \u03BD\u03B1 \u03C3\u03C5\u03BD\u03B5\u03C7\u03AF\u03C3\u03B5\u03C4\u03B5",
58
- reload: "\u0395\u03C0\u03B1\u03BD\u03B1\u03C6\u03CC\u03C1\u03C4\u03C9\u03C3\u03B7 \u03C3\u03B5\u03BB\u03AF\u03B4\u03B1\u03C2",
59
- retrying: "\u03A0\u03C1\u03BF\u03C3\u03C0\u03AC\u03B8\u03B5\u03B9\u03B1 \u03B5\u03C0\u03B1\u03BD\u03AC\u03BB\u03B7\u03C8\u03B7\u03C2",
60
- tryAgain: "\u0394\u03BF\u03BA\u03B9\u03BC\u03AC\u03C3\u03C4\u03B5 \u03BE\u03B1\u03BD\u03AC"
61
- },
62
- en: {
63
- heading: "Something went wrong",
64
- loading: "Loading...",
65
- message: "Please refresh the page to continue",
66
- reload: "Reload page",
67
- retrying: "Retry attempt",
68
- tryAgain: "Try again"
69
- },
70
- es: {
71
- heading: "Algo sali\xF3 mal",
72
- loading: "Cargando...",
73
- message: "Por favor, actualice la p\xE1gina para continuar",
74
- reload: "Recargar p\xE1gina",
75
- retrying: "Intento de reintento",
76
- tryAgain: "Intentar de nuevo"
77
- },
78
- eu: {
79
- heading: "Zerbait gaizki joan da",
80
- loading: "Kargatzen...",
81
- message: "Mesedez, freskatu orria jarraitzeko",
82
- reload: "Orria berritu",
83
- retrying: "Saiakera berri",
84
- tryAgain: "Saiatu berriro"
85
- },
86
- fa: {
87
- heading: "\u0645\u0634\u06A9\u0644\u06CC \u067E\u06CC\u0634 \u0622\u0645\u062F",
88
- loading: "\u062F\u0631 \u062D\u0627\u0644 \u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC...",
89
- message: "\u0644\u0637\u0641\u0627\u064B \u0635\u0641\u062D\u0647 \u0631\u0627 \u0628\u0631\u0627\u06CC \u0627\u062F\u0627\u0645\u0647 \u062A\u0627\u0632\u0647 \u06A9\u0646\u06CC\u062F",
90
- reload: "\u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC \u0645\u062C\u062F\u062F",
91
- retrying: "\u062A\u0644\u0627\u0634 \u062F\u0648\u0628\u0627\u0631\u0647",
92
- rtl: true,
93
- tryAgain: "\u062F\u0648\u0628\u0627\u0631\u0647 \u0627\u0645\u062A\u062D\u0627\u0646 \u06A9\u0646\u06CC\u062F"
94
- },
95
- fi: {
96
- heading: "Jokin meni pieleen",
97
- loading: "Ladataan...",
98
- message: "P\xE4ivit\xE4 sivu jatkaaksesi",
99
- reload: "Lataa sivu uudelleen",
100
- retrying: "Uudelleenyritys",
101
- tryAgain: "Yrit\xE4 uudelleen"
102
- },
103
- fr: {
104
- heading: "Quelque chose s'est mal pass\xE9",
105
- loading: "Chargement...",
106
- message: "Veuillez actualiser la page pour continuer",
107
- reload: "Recharger la page",
108
- retrying: "Tentative de nouvel essai",
109
- tryAgain: "R\xE9essayer"
110
- },
111
- he: {
112
- heading: "\u05DE\u05E9\u05D4\u05D5 \u05D4\u05E9\u05EA\u05D1\u05E9",
113
- loading: "...\u05D8\u05D5\u05E2\u05DF",
114
- message: "\u05D0\u05E0\u05D0 \u05E8\u05E2\u05E0\u05DF \u05D0\u05EA \u05D4\u05D3\u05E3 \u05DB\u05D3\u05D9 \u05DC\u05D4\u05DE\u05E9\u05D9\u05DA",
115
- reload: "\u05D8\u05E2\u05DF \u05DE\u05D7\u05D3\u05E9",
116
- retrying: "\u05E0\u05D9\u05E1\u05D9\u05D5\u05DF \u05D7\u05D5\u05D6\u05E8",
117
- rtl: true,
118
- tryAgain: "\u05E0\u05E1\u05D4 \u05E9\u05D5\u05D1"
119
- },
120
- hr: {
121
- heading: "Ne\u0161to je po\u0161lo po zlu",
122
- loading: "U\u010Ditavanje...",
123
- message: "Molimo osvje\u017Eite stranicu da biste nastavili",
124
- reload: "Ponovno u\u010Ditaj stranicu",
125
- retrying: "Poku\u0161aj ponovnog poku\u0161aja",
126
- tryAgain: "Poku\u0161aj ponovo"
127
- },
128
- hu: {
129
- heading: "Valami hiba t\xF6rt\xE9nt",
130
- loading: "Bet\xF6lt\xE9s...",
131
- message: "K\xE9rj\xFCk, friss\xEDtse az oldalt a folytat\xE1shoz",
132
- reload: "Oldal \xFAjrat\xF6lt\xE9se",
133
- retrying: "\xDAjrapr\xF3b\xE1lkoz\xE1si k\xEDs\xE9rlet",
134
- tryAgain: "Pr\xF3b\xE1lja \xFAjra"
135
- },
136
- id: {
137
- heading: "Terjadi kesalahan",
138
- loading: "Memuat...",
139
- message: "Silakan segarkan halaman untuk melanjutkan",
140
- reload: "Muat ulang halaman",
141
- retrying: "Percobaan ulang",
142
- tryAgain: "Coba lagi"
143
- },
144
- it: {
145
- heading: "Qualcosa \xE8 andato storto",
146
- loading: "Caricamento...",
147
- message: "Aggiorna la pagina per continuare",
148
- reload: "Ricarica pagina",
149
- retrying: "Tentativo di ripetizione",
150
- tryAgain: "Riprova"
151
- },
152
- ja: {
153
- heading: "\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F",
154
- loading: "\u8AAD\u307F\u8FBC\u307F\u4E2D...",
155
- message: "\u30DA\u30FC\u30B8\u3092\u66F4\u65B0\u3057\u3066\u304F\u3060\u3055\u3044",
156
- reload: "\u518D\u8AAD\u307F\u8FBC\u307F",
157
- retrying: "\u30EA\u30C8\u30E9\u30A4",
158
- tryAgain: "\u3082\u3046\u4E00\u5EA6\u8A66\u3059"
159
- },
160
- ka: {
161
- heading: "\u10E0\u10D0\u10E6\u10D0\u10EA \u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D0\u10D3 \u10DB\u10DD\u10EE\u10D3\u10D0",
162
- loading: "\u10D8\u10E2\u10D5\u10D8\u10E0\u10D7\u10D4\u10D1\u10D0...",
163
- message: "\u10D2\u10D7\u10EE\u10DD\u10D5\u10D7 \u10D2\u10D0\u10DC\u10D0\u10D0\u10EE\u10DA\u10DD\u10D7 \u10D2\u10D5\u10D4\u10E0\u10D3\u10D8 \u10D2\u10D0\u10E1\u10D0\u10D2\u10E0\u10EB\u10D4\u10DA\u10D4\u10D1\u10DA\u10D0\u10D3",
164
- reload: "\u10D2\u10D5\u10D4\u10E0\u10D3\u10D8\u10E1 \u10D2\u10D0\u10D3\u10D0\u10E2\u10D5\u10D8\u10E0\u10D7\u10D5\u10D0",
165
- retrying: "\u10D2\u10D0\u10DB\u10D4\u10DD\u10E0\u10D4\u10D1\u10D8\u10E1 \u10DB\u10EA\u10D3\u10D4\u10DA\u10DD\u10D1\u10D0",
166
- tryAgain: "\u10D9\u10D8\u10D3\u10D4\u10D5 \u10E1\u10EA\u10D0\u10D3\u10D4\u10D7"
167
- },
168
- kk: {
169
- heading: "\u0411\u0456\u0440\u0434\u0435\u04A3\u0435 \u0434\u04B1\u0440\u044B\u0441 \u0431\u043E\u043B\u043C\u0430\u0434\u044B",
170
- loading: "\u0416\u04AF\u043A\u0442\u0435\u043B\u0443\u0434\u0435...",
171
- message: "\u0416\u0430\u043B\u0493\u0430\u0441\u0442\u044B\u0440\u0443 \u04AF\u0448\u0456\u043D \u0431\u0435\u0442\u0442\u0456 \u0436\u0430\u04A3\u0430\u0440\u0442\u044B\u04A3\u044B\u0437",
172
- reload: "\u0411\u0435\u0442\u0442\u0456 \u049B\u0430\u0439\u0442\u0430 \u0436\u04AF\u043A\u0442\u0435\u0443",
173
- retrying: "\u049A\u0430\u0439\u0442\u0430\u043B\u0430\u0443 \u04D9\u0440\u0435\u043A\u0435\u0442\u0456",
174
- tryAgain: "\u049A\u0430\u0439\u0442\u0430\u043B\u0430\u043F \u043A\u04E9\u0440\u0456\u04A3\u0456\u0437"
175
- },
176
- ko: {
177
- heading: "\uBB38\uC81C\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4",
178
- loading: "\uB85C\uB529 \uC911...",
179
- message: "\uD398\uC774\uC9C0\uB97C \uC0C8\uB85C\uACE0\uCE68\uD574 \uC8FC\uC138\uC694",
180
- reload: "\uC0C8\uB85C\uACE0\uCE68",
181
- retrying: "\uC7AC\uC2DC\uB3C4",
182
- tryAgain: "\uB2E4\uC2DC \uC2DC\uB3C4"
183
- },
184
- ky: {
185
- heading: "\u0411\u0438\u0440 \u043D\u0435\u0440\u0441\u0435 \u0442\u0443\u0443\u0440\u0430 \u044D\u043C\u0435\u0441 \u0431\u043E\u043B\u0434\u0443",
186
- loading: "\u0416\u04AF\u043A\u0442\u04E9\u043B\u04AF\u04AF\u0434\u04E9...",
187
- message: "\u0423\u043B\u0430\u043D\u0442\u0443\u0443 \u04AF\u0447\u04AF\u043D \u0431\u0430\u0440\u0430\u043A\u0442\u044B \u0436\u0430\u04A3\u044B\u0440\u0442\u044B\u04A3\u044B\u0437",
188
- reload: "\u0411\u0430\u0440\u0430\u043A\u0442\u044B \u043A\u0430\u0439\u0440\u0430 \u0436\u04AF\u043A\u0442\u04E9\u04E9",
189
- retrying: "\u041A\u0430\u0439\u0442\u0430\u043B\u043E\u043E \u0430\u0440\u0430\u043A\u0435\u0442\u0438",
190
- tryAgain: "\u041A\u0430\u0439\u0440\u0430 \u0430\u0440\u0430\u043A\u0435\u0442 \u043A\u044B\u043B\u044B\u04A3\u044B\u0437"
191
- },
192
- lt: {
193
- heading: "Ka\u017Ekas nutiko ne taip",
194
- loading: "\u012Ekeliama...",
195
- message: "Pra\u0161ome atnaujinti puslap\u012F, kad t\u0119stum\u0117te",
196
- reload: "I\u0161 naujo \u012Fkelti puslap\u012F",
197
- retrying: "Pakartotinis bandymas",
198
- tryAgain: "Bandyti dar kart\u0105"
199
- },
200
- lv: {
201
- heading: "Kaut kas nog\u0101ja greizi",
202
- loading: "Iel\u0101d\u0113...",
203
- message: "L\u016Bdzu, atsvaidziniet lapu, lai turpin\u0101tu",
204
- reload: "P\u0101rl\u0101d\u0113t lapu",
205
- retrying: "Atk\u0101rtots m\u0113\u0123in\u0101jums",
206
- tryAgain: "M\u0113\u0123iniet v\u0113lreiz"
207
- },
208
- nl: {
209
- heading: "Er is iets misgegaan",
210
- loading: "Laden...",
211
- message: "Ververs de pagina om door te gaan",
212
- reload: "Pagina herladen",
213
- retrying: "Opnieuw proberen",
214
- tryAgain: "Probeer opnieuw"
215
- },
216
- no: {
217
- heading: "Noe gikk galt",
218
- loading: "Laster...",
219
- message: "Vennligst oppdater siden for \xE5 fortsette",
220
- reload: "Last inn siden p\xE5 nytt",
221
- retrying: "Nytt fors\xF8k",
222
- tryAgain: "Pr\xF8v igjen"
223
- },
224
- pl: {
225
- heading: "Co\u015B posz\u0142o nie tak",
226
- loading: "\u0141adowanie...",
227
- message: "Od\u015Bwie\u017C stron\u0119, aby kontynuowa\u0107",
228
- reload: "Prze\u0142aduj stron\u0119",
229
- retrying: "Pr\xF3ba ponowienia",
230
- tryAgain: "Spr\xF3buj ponownie"
231
- },
232
- pt: {
233
- heading: "Algo deu errado",
234
- loading: "Carregando...",
235
- message: "Por favor, atualize a p\xE1gina para continuar",
236
- reload: "Recarregar p\xE1gina",
237
- retrying: "Tentativa de nova tentativa",
238
- tryAgain: "Tentar novamente"
239
- },
240
- ro: {
241
- heading: "Ceva nu a mers bine",
242
- loading: "Se \xEEncarc\u0103...",
243
- message: "V\u0103 rug\u0103m s\u0103 re\xEEmprosp\u0103ta\u021Bi pagina pentru a continua",
244
- reload: "Re\xEEncarc\u0103 pagina",
245
- retrying: "\xCEncercare de re\xEEncercare",
246
- tryAgain: "\xCEncearc\u0103 din nou"
247
- },
248
- ru: {
249
- heading: "\u0427\u0442\u043E-\u0442\u043E \u043F\u043E\u0448\u043B\u043E \u043D\u0435 \u0442\u0430\u043A",
250
- loading: "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430...",
251
- message: "\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u0435 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443, \u0447\u0442\u043E\u0431\u044B \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C",
252
- reload: "\u041F\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443",
253
- retrying: "\u041F\u043E\u0432\u0442\u043E\u0440\u043D\u0430\u044F \u043F\u043E\u043F\u044B\u0442\u043A\u0430",
254
- tryAgain: "\u041F\u043E\u043F\u0440\u043E\u0431\u043E\u0432\u0430\u0442\u044C \u0441\u043D\u043E\u0432\u0430"
255
- },
256
- sk: {
257
- heading: "Nie\u010Do sa pokazilo",
258
- loading: "Na\u010D\xEDtava sa...",
259
- message: "Obnovte str\xE1nku pros\xEDm pre pokra\u010Dovanie",
260
- reload: "Znovu na\u010D\xEDta\u0165 str\xE1nku",
261
- retrying: "Pokus o opakovanie",
262
- tryAgain: "Sk\xFAsi\u0165 znova"
263
- },
264
- sl: {
265
- heading: "Nekaj je \u0161lo narobe",
266
- loading: "Nalaganje...",
267
- message: "Prosimo, osve\u017Eite stran za nadaljevanje",
268
- reload: "Ponovno nalo\u017Ei stran",
269
- retrying: "Poskus ponovnega poskusa",
270
- tryAgain: "Poskusi znova"
271
- },
272
- sv: {
273
- heading: "N\xE5got gick fel",
274
- loading: "Laddar...",
275
- message: "Uppdatera sidan f\xF6r att forts\xE4tta",
276
- reload: "Ladda om sidan",
277
- retrying: "Nytt f\xF6rs\xF6k",
278
- tryAgain: "F\xF6rs\xF6k igen"
279
- },
280
- th: {
281
- heading: "\u0E40\u0E01\u0E34\u0E14\u0E02\u0E49\u0E2D\u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14",
282
- loading: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E42\u0E2B\u0E25\u0E14...",
283
- message: "\u0E01\u0E23\u0E38\u0E13\u0E32\u0E23\u0E35\u0E40\u0E1F\u0E23\u0E0A\u0E2B\u0E19\u0E49\u0E32\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E15\u0E48\u0E2D",
284
- reload: "\u0E42\u0E2B\u0E25\u0E14\u0E2B\u0E19\u0E49\u0E32\u0E43\u0E2B\u0E21\u0E48",
285
- retrying: "\u0E04\u0E27\u0E32\u0E21\u0E1E\u0E22\u0E32\u0E22\u0E32\u0E21\u0E25\u0E2D\u0E07\u0E43\u0E2B\u0E21\u0E48",
286
- tryAgain: "\u0E25\u0E2D\u0E07\u0E2D\u0E35\u0E01\u0E04\u0E23\u0E31\u0E49\u0E07"
287
- },
288
- tr: {
289
- heading: "Bir \u015Feyler ters gitti",
290
- loading: "Y\xFCkleniyor...",
291
- message: "Devam etmek i\xE7in l\xFCtfen sayfay\u0131 yenileyin",
292
- reload: "Sayfay\u0131 yeniden y\xFCkle",
293
- retrying: "Yeniden deneme giri\u015Fimi",
294
- tryAgain: "Tekrar dene"
295
- },
296
- uk: {
297
- heading: "\u0429\u043E\u0441\u044C \u043F\u0456\u0448\u043B\u043E \u043D\u0435 \u0442\u0430\u043A",
298
- loading: "\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F...",
299
- message: "\u0411\u0443\u0434\u044C \u043B\u0430\u0441\u043A\u0430, \u043E\u043D\u043E\u0432\u0456\u0442\u044C \u0441\u0442\u043E\u0440\u0456\u043D\u043A\u0443, \u0449\u043E\u0431 \u043F\u0440\u043E\u0434\u043E\u0432\u0436\u0438\u0442\u0438",
300
- reload: "\u041F\u0435\u0440\u0435\u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0441\u0442\u043E\u0440\u0456\u043D\u043A\u0443",
301
- retrying: "\u041F\u043E\u0432\u0442\u043E\u0440\u043D\u0430 \u0441\u043F\u0440\u043E\u0431\u0430",
302
- tryAgain: "\u0421\u043F\u0440\u043E\u0431\u0443\u0432\u0430\u0442\u0438 \u0437\u043D\u043E\u0432\u0443"
303
- },
304
- zh: {
305
- heading: "\u51FA\u4E86\u70B9\u95EE\u9898",
306
- loading: "\u52A0\u8F7D\u4E2D...",
307
- message: "\u8BF7\u5237\u65B0\u9875\u9762\u4EE5\u7EE7\u7EED",
308
- reload: "\u91CD\u65B0\u52A0\u8F7D",
309
- retrying: "\u91CD\u8BD5\u6B21\u6570",
310
- tryAgain: "\u91CD\u8BD5"
311
- }
1
+ //#region src/i18n/translations.ts
2
+ const translations = {
3
+ ar: {
4
+ heading: "حدث خطأ ما",
5
+ loading: "...جارٍ التحميل",
6
+ message: "يرجى تحديث الصفحة للمتابعة",
7
+ reload: "إعادة تحميل",
8
+ retrying: "محاولة إعادة",
9
+ rtl: true,
10
+ tryAgain: "حاول مرة أخرى"
11
+ },
12
+ az: {
13
+ heading: "Nəsə səhv getdi",
14
+ loading: "Yüklənir...",
15
+ message: "Davam etmək üçün səhifəni yeniləyin",
16
+ reload: "Səhifəni yenidən yüklə",
17
+ retrying: "Yenidən cəhd",
18
+ tryAgain: "Yenidən cərəb edin"
19
+ },
20
+ ca: {
21
+ heading: "Alguna cosa ha anat malament",
22
+ loading: "Carregant...",
23
+ message: "Si us plau, actualitzeu la pàgina per continuar",
24
+ reload: "Recarrega la pàgina",
25
+ retrying: "Intent de reintent",
26
+ tryAgain: "Torna-ho a provar"
27
+ },
28
+ cs: {
29
+ heading: "Něco se pokazilo",
30
+ loading: "Načítání...",
31
+ message: "Obnovte stránku prosím pro pokračování",
32
+ reload: "Znovu načíst stránku",
33
+ retrying: "Pokus o opakování",
34
+ tryAgain: "Zkusit znovu"
35
+ },
36
+ da: {
37
+ heading: "Noget gik galt",
38
+ loading: "Indlæser...",
39
+ message: "Opdater venligst siden for at fortsætte",
40
+ reload: "Genindlæs side",
41
+ retrying: "Forsøg igen",
42
+ tryAgain: "Prøv igen"
43
+ },
44
+ de: {
45
+ heading: "Etwas ist schief gelaufen",
46
+ loading: "Lädt...",
47
+ message: "Bitte aktualisieren Sie die Seite, um fortzufahren",
48
+ reload: "Seite neu laden",
49
+ retrying: "Wiederholungsversuch",
50
+ tryAgain: "Erneut versuchen"
51
+ },
52
+ el: {
53
+ heading: "Κάτι πήγε στραβά",
54
+ loading: "Φόρτωση...",
55
+ message: "Παρακαλώ ανανεώστε τη σελίδα για να συνεχίσετε",
56
+ reload: "Επαναφόρτωση σελίδας",
57
+ retrying: "Προσπάθεια επανάληψης",
58
+ tryAgain: "Δοκιμάστε ξανά"
59
+ },
60
+ en: {
61
+ heading: "Something went wrong",
62
+ loading: "Loading...",
63
+ message: "Please refresh the page to continue",
64
+ reload: "Reload page",
65
+ retrying: "Retry attempt",
66
+ tryAgain: "Try again"
67
+ },
68
+ es: {
69
+ heading: "Algo salió mal",
70
+ loading: "Cargando...",
71
+ message: "Por favor, actualice la página para continuar",
72
+ reload: "Recargar página",
73
+ retrying: "Intento de reintento",
74
+ tryAgain: "Intentar de nuevo"
75
+ },
76
+ eu: {
77
+ heading: "Zerbait gaizki joan da",
78
+ loading: "Kargatzen...",
79
+ message: "Mesedez, freskatu orria jarraitzeko",
80
+ reload: "Orria berritu",
81
+ retrying: "Saiakera berri",
82
+ tryAgain: "Saiatu berriro"
83
+ },
84
+ fa: {
85
+ heading: "مشکلی پیش آمد",
86
+ loading: "در حال بارگذاری...",
87
+ message: "لطفاً صفحه را برای ادامه تازه کنید",
88
+ reload: "بارگذاری مجدد",
89
+ retrying: "تلاش دوباره",
90
+ rtl: true,
91
+ tryAgain: "دوباره امتحان کنید"
92
+ },
93
+ fi: {
94
+ heading: "Jokin meni pieleen",
95
+ loading: "Ladataan...",
96
+ message: "Päivitä sivu jatkaaksesi",
97
+ reload: "Lataa sivu uudelleen",
98
+ retrying: "Uudelleenyritys",
99
+ tryAgain: "Yritä uudelleen"
100
+ },
101
+ fr: {
102
+ heading: "Quelque chose s'est mal passé",
103
+ loading: "Chargement...",
104
+ message: "Veuillez actualiser la page pour continuer",
105
+ reload: "Recharger la page",
106
+ retrying: "Tentative de nouvel essai",
107
+ tryAgain: "Réessayer"
108
+ },
109
+ he: {
110
+ heading: "משהו השתבש",
111
+ loading: "...טוען",
112
+ message: "אנא רענן את הדף כדי להמשיך",
113
+ reload: "טען מחדש",
114
+ retrying: "ניסיון חוזר",
115
+ rtl: true,
116
+ tryAgain: "נסה שוב"
117
+ },
118
+ hr: {
119
+ heading: "Nešto je pošlo po zlu",
120
+ loading: "Učitavanje...",
121
+ message: "Molimo osvježite stranicu da biste nastavili",
122
+ reload: "Ponovno učitaj stranicu",
123
+ retrying: "Pokušaj ponovnog pokušaja",
124
+ tryAgain: "Pokušaj ponovo"
125
+ },
126
+ hu: {
127
+ heading: "Valami hiba történt",
128
+ loading: "Betöltés...",
129
+ message: "Kérjük, frissítse az oldalt a folytatáshoz",
130
+ reload: "Oldal újratöltése",
131
+ retrying: "Újrapróbálkozási kísérlet",
132
+ tryAgain: "Próbálja újra"
133
+ },
134
+ id: {
135
+ heading: "Terjadi kesalahan",
136
+ loading: "Memuat...",
137
+ message: "Silakan segarkan halaman untuk melanjutkan",
138
+ reload: "Muat ulang halaman",
139
+ retrying: "Percobaan ulang",
140
+ tryAgain: "Coba lagi"
141
+ },
142
+ it: {
143
+ heading: "Qualcosa è andato storto",
144
+ loading: "Caricamento...",
145
+ message: "Aggiorna la pagina per continuare",
146
+ reload: "Ricarica pagina",
147
+ retrying: "Tentativo di ripetizione",
148
+ tryAgain: "Riprova"
149
+ },
150
+ ja: {
151
+ heading: "問題が発生しました",
152
+ loading: "読み込み中...",
153
+ message: "ページを更新してください",
154
+ reload: "再読み込み",
155
+ retrying: "リトライ",
156
+ tryAgain: "もう一度試す"
157
+ },
158
+ ka: {
159
+ heading: "რაღაც არასწორად მოხდა",
160
+ loading: "იტვირთება...",
161
+ message: "გთხოვთ განაახლოთ გვერდი გასაგრძელებლად",
162
+ reload: "გვერდის გადატვირთვა",
163
+ retrying: "გამეორების მცდელობა",
164
+ tryAgain: "კიდევ სცადეთ"
165
+ },
166
+ kk: {
167
+ heading: "Бірдеңе дұрыс болмады",
168
+ loading: "Жүктелуде...",
169
+ message: "Жалғастыру үшін бетті жаңартыңыз",
170
+ reload: "Бетті қайта жүктеу",
171
+ retrying: "Қайталау әрекеті",
172
+ tryAgain: "Қайталап көріңіз"
173
+ },
174
+ ko: {
175
+ heading: "문제가 발생했습니다",
176
+ loading: "로딩 중...",
177
+ message: "페이지를 새로고침해 주세요",
178
+ reload: "새로고침",
179
+ retrying: "재시도",
180
+ tryAgain: "다시 시도"
181
+ },
182
+ ky: {
183
+ heading: "Бир нерсе туура эмес болду",
184
+ loading: "Жүктөлүүдө...",
185
+ message: "Улантуу үчүн баракты жаңыртыңыз",
186
+ reload: "Баракты кайра жүктөө",
187
+ retrying: "Кайталоо аракети",
188
+ tryAgain: "Кайра аракет кылыңыз"
189
+ },
190
+ lt: {
191
+ heading: "Kažkas nutiko ne taip",
192
+ loading: "Įkeliama...",
193
+ message: "Prašome atnaujinti puslapį, kad tęstumėte",
194
+ reload: "Iš naujo įkelti puslapį",
195
+ retrying: "Pakartotinis bandymas",
196
+ tryAgain: "Bandyti dar kartą"
197
+ },
198
+ lv: {
199
+ heading: "Kaut kas nogāja greizi",
200
+ loading: "Ielādē...",
201
+ message: "Lūdzu, atsvaidziniet lapu, lai turpinātu",
202
+ reload: "Pārlādēt lapu",
203
+ retrying: "Atkārtots mēģinājums",
204
+ tryAgain: "Mēģiniet vēlreiz"
205
+ },
206
+ nl: {
207
+ heading: "Er is iets misgegaan",
208
+ loading: "Laden...",
209
+ message: "Ververs de pagina om door te gaan",
210
+ reload: "Pagina herladen",
211
+ retrying: "Opnieuw proberen",
212
+ tryAgain: "Probeer opnieuw"
213
+ },
214
+ no: {
215
+ heading: "Noe gikk galt",
216
+ loading: "Laster...",
217
+ message: "Vennligst oppdater siden for å fortsette",
218
+ reload: "Last inn siden på nytt",
219
+ retrying: "Nytt forsøk",
220
+ tryAgain: "Prøv igjen"
221
+ },
222
+ pl: {
223
+ heading: "Coś poszło nie tak",
224
+ loading: "Ładowanie...",
225
+ message: "Odśwież stronę, aby kontynuować",
226
+ reload: "Przeładuj stronę",
227
+ retrying: "Próba ponowienia",
228
+ tryAgain: "Spróbuj ponownie"
229
+ },
230
+ pt: {
231
+ heading: "Algo deu errado",
232
+ loading: "Carregando...",
233
+ message: "Por favor, atualize a página para continuar",
234
+ reload: "Recarregar página",
235
+ retrying: "Tentativa de nova tentativa",
236
+ tryAgain: "Tentar novamente"
237
+ },
238
+ ro: {
239
+ heading: "Ceva nu a mers bine",
240
+ loading: "Se încarcă...",
241
+ message: " rugăm să reîmprospătați pagina pentru a continua",
242
+ reload: "Reîncarcă pagina",
243
+ retrying: "Încercare de reîncercare",
244
+ tryAgain: "Încearcă din nou"
245
+ },
246
+ ru: {
247
+ heading: "Что-то пошло не так",
248
+ loading: "Загрузка...",
249
+ message: "Пожалуйста, обновите страницу, чтобы продолжить",
250
+ reload: "Перезагрузить страницу",
251
+ retrying: "Повторная попытка",
252
+ tryAgain: "Попробовать снова"
253
+ },
254
+ sk: {
255
+ heading: "Niečo sa pokazilo",
256
+ loading: "Načítava sa...",
257
+ message: "Obnovte stránku prosím pre pokračovanie",
258
+ reload: "Znovu načítať stránku",
259
+ retrying: "Pokus o opakovanie",
260
+ tryAgain: "Skúsiť znova"
261
+ },
262
+ sl: {
263
+ heading: "Nekaj je šlo narobe",
264
+ loading: "Nalaganje...",
265
+ message: "Prosimo, osvežite stran za nadaljevanje",
266
+ reload: "Ponovno naloži stran",
267
+ retrying: "Poskus ponovnega poskusa",
268
+ tryAgain: "Poskusi znova"
269
+ },
270
+ sv: {
271
+ heading: "Något gick fel",
272
+ loading: "Laddar...",
273
+ message: "Uppdatera sidan för att fortsätta",
274
+ reload: "Ladda om sidan",
275
+ retrying: "Nytt försök",
276
+ tryAgain: "Försök igen"
277
+ },
278
+ th: {
279
+ heading: "เกิดข้อผิดพลาด",
280
+ loading: "กำลังโหลด...",
281
+ message: "กรุณารีเฟรชหน้าเพื่อดำเนินการต่อ",
282
+ reload: "โหลดหน้าใหม่",
283
+ retrying: "ความพยายามลองใหม่",
284
+ tryAgain: "ลองอีกครั้ง"
285
+ },
286
+ tr: {
287
+ heading: "Bir şeyler ters gitti",
288
+ loading: "Yükleniyor...",
289
+ message: "Devam etmek için lütfen sayfayı yenileyin",
290
+ reload: "Sayfayı yeniden yükle",
291
+ retrying: "Yeniden deneme girişimi",
292
+ tryAgain: "Tekrar dene"
293
+ },
294
+ uk: {
295
+ heading: "Щось пішло не так",
296
+ loading: "Завантаження...",
297
+ message: "Будь ласка, оновіть сторінку, щоб продовжити",
298
+ reload: "Перезавантажити сторінку",
299
+ retrying: "Повторна спроба",
300
+ tryAgain: "Спробувати знову"
301
+ },
302
+ zh: {
303
+ heading: "出了点问题",
304
+ loading: "加载中...",
305
+ message: "请刷新页面以继续",
306
+ reload: "重新加载",
307
+ retrying: "重试次数",
308
+ tryAgain: "重试"
309
+ }
312
310
  };
313
-
314
- // src/i18n/index.ts
311
+ //#endregion
312
+ //#region src/i18n/index.ts
313
+ /**
314
+ * Match a language code or Accept-Language header against available translations.
315
+ *
316
+ * - If `input` is undefined, returns `"en"`.
317
+ * - If `input` contains `,` or `;q=`, it's parsed as an Accept-Language header
318
+ * with quality values sorted descending.
319
+ * - Otherwise it's treated as a direct language code.
320
+ *
321
+ * Resolution: exact match → prefix match → `"en"` (or first available if `"en"` not in list).
322
+ */
315
323
  function matchLang(input, available = Object.keys(translations)) {
316
- if (input === void 0) {
317
- return defaultLang(available);
318
- }
319
- if (input.includes(",") || input.includes(";q=")) {
320
- return matchAcceptLanguage(input, available);
321
- }
322
- return matchSingle(input, available) ?? defaultLang(available);
324
+ if (input === void 0) return defaultLang(available);
325
+ if (input.includes(",") || input.includes(";q=")) return matchAcceptLanguage(input, available);
326
+ return matchSingle(input, available) ?? defaultLang(available);
323
327
  }
324
328
  function defaultLang(available) {
325
- return available.includes("en") ? "en" : available[0] ?? "en";
329
+ return available.includes("en") ? "en" : available[0] ?? "en";
326
330
  }
327
331
  function matchAcceptLanguage(header, available) {
328
- const entries = header.split(",").map((part) => {
329
- const [lang = "", ...rest] = part.trim().split(";");
330
- const qMatch = rest.join(";").match(/q\s*=\s*([\d.]+)/);
331
- const q = qMatch?.[1] ? Number.parseFloat(qMatch[1]) : 1;
332
- return { lang: lang.trim(), q };
333
- }).sort((a, b) => b.q - a.q);
334
- for (const { lang } of entries) {
335
- const match = matchSingle(lang, available);
336
- if (match) {
337
- return match;
338
- }
339
- }
340
- return defaultLang(available);
332
+ const entries = header.split(",").map((part) => {
333
+ const [lang = "", ...rest] = part.trim().split(";");
334
+ const qMatch = rest.join(";").match(/q\s*=\s*([\d.]+)/);
335
+ const q = qMatch?.[1] ? Number.parseFloat(qMatch[1]) : 1;
336
+ return {
337
+ lang: lang.trim(),
338
+ q
339
+ };
340
+ }).sort((a, b) => b.q - a.q);
341
+ for (const { lang } of entries) {
342
+ const match = matchSingle(lang, available);
343
+ if (match) return match;
344
+ }
345
+ return defaultLang(available);
341
346
  }
342
347
  function matchSingle(code, available) {
343
- const lower = code.toLowerCase();
344
- const prefix = lower.split("-")[0];
345
- return available.find((a) => a.toLowerCase() === lower) ?? available.find((a) => a.toLowerCase() === prefix) ?? available.find((a) => a.toLowerCase().startsWith(prefix + "-"));
348
+ const lower = code.toLowerCase();
349
+ const prefix = lower.split("-")[0];
350
+ return available.find((a) => a.toLowerCase() === lower) ?? available.find((a) => a.toLowerCase() === prefix) ?? available.find((a) => a.toLowerCase().startsWith(prefix + "-"));
346
351
  }
347
- export {
348
- matchLang,
349
- translations
350
- };
352
+ //#endregion
353
+ export { matchLang, translations };