reqwise-core 1.0.0

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/src/i18n.ts ADDED
@@ -0,0 +1,843 @@
1
+ import { SupportedLang } from "./types";
2
+
3
+ type Translations = Record<string, string>;
4
+
5
+ const defaultLang: SupportedLang = "en";
6
+ let currentLang: SupportedLang = defaultLang;
7
+
8
+ const catalog: Record<SupportedLang, Translations> = {
9
+ en: {
10
+ requests: "Requests",
11
+ details: "Details",
12
+ clear: "Clear",
13
+ export: "Export",
14
+ filter: "Filter",
15
+ settings: "Settings",
16
+ search: "Search",
17
+ duration: "Duration",
18
+ status: "Status",
19
+ response: "Response",
20
+ request: "Request",
21
+ headers: "Headers",
22
+ body: "Body",
23
+ copy: "Copy",
24
+ tab_current: "Current",
25
+ tab_history: "History",
26
+ tab_send: "Send",
27
+ tab_endpoints: "Endpoints",
28
+ no_requests_page: "No API requests on this page",
29
+ no_history_yet: "No history yet",
30
+ no_matching_requests: "No matching requests",
31
+ no_endpoints: "No endpoints recorded yet",
32
+ methods: "Methods",
33
+ parameters: "Parameters",
34
+ examples: "Examples",
35
+ no_examples: "No examples",
36
+ last_seen: "Last seen",
37
+ status_success: "✓ Success",
38
+ status_client_error: "✕ Client Error",
39
+ status_server_error: "✕ Server Error",
40
+ loading: "Loading...",
41
+ request_failed: "Request failed",
42
+ endpoint_label: "Endpoint",
43
+ status_label: "Status",
44
+ unknown_error: "Unknown error",
45
+ hits: "hits",
46
+ bytes: "bytes",
47
+ filter_placeholder: "Filter by method, status, or URL...",
48
+ form_method: "Method",
49
+ form_url: "URL",
50
+ form_headers: "Headers (JSON)",
51
+ form_body: "Body (JSON)",
52
+ send_request: "→ Send Request",
53
+ clear_form: "Clear",
54
+ enter_url_warning: "Please enter a URL",
55
+ response_label: "Response",
56
+ error_label: "Error",
57
+ manual_badge: "Manual",
58
+ time: "Time",
59
+ },
60
+ tr: {
61
+ requests: "İstekler",
62
+ details: "Detay",
63
+ clear: "Temizle",
64
+ export: "Dışa aktar",
65
+ filter: "Filtre",
66
+ settings: "Ayarlar",
67
+ search: "Ara",
68
+ duration: "Süre",
69
+ status: "Durum",
70
+ response: "Yanıt",
71
+ request: "İstek",
72
+ headers: "Başlıklar",
73
+ body: "Gövde",
74
+ copy: "Kopyala",
75
+ tab_current: "Bu Sayfa",
76
+ tab_history: "Geçmiş",
77
+ tab_send: "Gönder",
78
+ tab_endpoints: "Endpointler",
79
+ no_requests_page: "Bu sayfada API isteği yok",
80
+ no_history_yet: "Henüz geçmiş yok",
81
+ no_matching_requests: "Eşleşen istek yok",
82
+ no_endpoints: "Henüz kayıtlı endpoint yok",
83
+ methods: "Metotlar",
84
+ parameters: "Parametreler",
85
+ examples: "Örnekler",
86
+ no_examples: "Örnek yok",
87
+ last_seen: "Son Görülme",
88
+ status_success: "✓ Başarılı",
89
+ status_client_error: "✕ İstemci Hatası",
90
+ status_server_error: "✕ Sunucu Hatası",
91
+ loading: "Yükleniyor...",
92
+ request_failed: "İstek başarısız",
93
+ endpoint_label: "Endpoint",
94
+ status_label: "Durum",
95
+ unknown_error: "Bilinmeyen hata",
96
+ hits: "kayıt",
97
+ bytes: "bayt",
98
+ filter_placeholder: "Metot, durum veya URL ile filtrele...",
99
+ form_method: "Metot",
100
+ form_url: "URL",
101
+ form_headers: "Başlıklar (JSON)",
102
+ form_body: "Gövde (JSON)",
103
+ send_request: "→ İsteği Gönder",
104
+ clear_form: "Temizle",
105
+ enter_url_warning: "Lütfen bir URL girin",
106
+ response_label: "Yanıt",
107
+ error_label: "Hata",
108
+ manual_badge: "Manuel",
109
+ time: "Saat",
110
+ },
111
+ az: {
112
+ requests: "Sorğular",
113
+ details: "Təfərrüat",
114
+ clear: "Təmizlə",
115
+ export: "İxrac et",
116
+ filter: "Filtr",
117
+ settings: "Parametrlər",
118
+ search: "Axtar",
119
+ duration: "Müddət",
120
+ status: "Status",
121
+ response: "Cavab",
122
+ request: "Sorğu",
123
+ headers: "Başlıqlar",
124
+ body: "Gövdə",
125
+ copy: "Kopyala",
126
+ tab_current: "Bu səhifə",
127
+ tab_history: "Tarixçə",
128
+ tab_send: "Göndər",
129
+ tab_endpoints: "Endpointlər",
130
+ no_requests_page: "Bu səhifədə API sorğusu yoxdur",
131
+ no_history_yet: "Hələ tarixçə yoxdur",
132
+ no_matching_requests: "Uyğun sorğu tapılmadı",
133
+ no_endpoints: "Hələ qeydə alınmış endpoint yoxdur",
134
+ methods: "Metodlar",
135
+ parameters: "Parametrlər",
136
+ examples: "Nümunələr",
137
+ no_examples: "Nümunə yoxdur",
138
+ last_seen: "Son görülmə",
139
+ status_success: "✓ Uğurlu",
140
+ status_client_error: "✕ Müştəri xətası",
141
+ status_server_error: "✕ Server xətası",
142
+ loading: "Yüklənir...",
143
+ request_failed: "Sorğu uğursuz oldu",
144
+ endpoint_label: "Endpoint",
145
+ status_label: "Status",
146
+ unknown_error: "Naməlum xəta",
147
+ hits: "qeyd",
148
+ bytes: "bayt",
149
+ filter_placeholder: "Metod, status və ya URL ilə filtrləyin...",
150
+ form_method: "Metod",
151
+ form_url: "URL",
152
+ form_headers: "Başlıqlar (JSON)",
153
+ form_body: "Gövdə (JSON)",
154
+ send_request: "→ Sorğu göndər",
155
+ clear_form: "Təmizlə",
156
+ enter_url_warning: "Zəhmət olmasa URL daxil edin",
157
+ response_label: "Cavab",
158
+ error_label: "Xəta",
159
+ manual_badge: "Manuel",
160
+ time: "Vaxt",
161
+ },
162
+ ru: {
163
+ requests: "Запросы",
164
+ details: "Детали",
165
+ clear: "Очистить",
166
+ export: "Экспорт",
167
+ filter: "Фильтр",
168
+ settings: "Настройки",
169
+ search: "Поиск",
170
+ duration: "Длительность",
171
+ status: "Статус",
172
+ response: "Ответ",
173
+ request: "Запрос",
174
+ headers: "Заголовки",
175
+ body: "Тело",
176
+ copy: "Копировать",
177
+ tab_current: "Текущая",
178
+ tab_history: "История",
179
+ tab_send: "Отправить",
180
+ tab_endpoints: "Эндпоинты",
181
+ no_requests_page: "На этой странице нет API-запросов",
182
+ no_history_yet: "История пуста",
183
+ no_matching_requests: "Совпадений не найдено",
184
+ no_endpoints: "Эндпоинты ещё не записаны",
185
+ methods: "Методы",
186
+ parameters: "Параметры",
187
+ examples: "Примеры",
188
+ no_examples: "Нет примеров",
189
+ last_seen: "Последний раз",
190
+ status_success: "✓ Успешно",
191
+ status_client_error: "✕ Ошибка клиента",
192
+ status_server_error: "✕ Ошибка сервера",
193
+ loading: "Загрузка...",
194
+ request_failed: "Запрос не выполнен",
195
+ endpoint_label: "Эндпоинт",
196
+ status_label: "Статус",
197
+ unknown_error: "Неизвестная ошибка",
198
+ hits: "записей",
199
+ bytes: "байт",
200
+ filter_placeholder: "Фильтр по методу, статусу или URL...",
201
+ form_method: "Метод",
202
+ form_url: "URL",
203
+ form_headers: "Заголовки (JSON)",
204
+ form_body: "Тело (JSON)",
205
+ send_request: "→ Отправить запрос",
206
+ clear_form: "Очистить",
207
+ enter_url_warning: "Пожалуйста, введите URL",
208
+ response_label: "Ответ",
209
+ error_label: "Ошибка",
210
+ manual_badge: "Вручную",
211
+ time: "Время",
212
+ },
213
+ de: {
214
+ requests: "Anfragen",
215
+ details: "Details",
216
+ clear: "Leeren",
217
+ export: "Exportieren",
218
+ filter: "Filter",
219
+ settings: "Einstellungen",
220
+ search: "Suchen",
221
+ duration: "Dauer",
222
+ status: "Status",
223
+ response: "Antwort",
224
+ request: "Anfrage",
225
+ headers: "Header",
226
+ body: "Body",
227
+ copy: "Kopieren",
228
+ tab_current: "Aktuell",
229
+ tab_history: "Verlauf",
230
+ tab_send: "Senden",
231
+ tab_endpoints: "Endpunkte",
232
+ no_requests_page: "Keine API-Anfragen auf dieser Seite",
233
+ no_history_yet: "Noch kein Verlauf",
234
+ no_matching_requests: "Keine übereinstimmenden Anfragen",
235
+ no_endpoints: "Noch keine Endpunkte aufgezeichnet",
236
+ methods: "Methoden",
237
+ parameters: "Parameter",
238
+ examples: "Beispiele",
239
+ no_examples: "Keine Beispiele",
240
+ last_seen: "Zuletzt gesehen",
241
+ status_success: "✓ Erfolgreich",
242
+ status_client_error: "✕ Client-Fehler",
243
+ status_server_error: "✕ Server-Fehler",
244
+ loading: "Lädt...",
245
+ request_failed: "Anfrage fehlgeschlagen",
246
+ endpoint_label: "Endpunkt",
247
+ status_label: "Status",
248
+ unknown_error: "Unbekannter Fehler",
249
+ hits: "Treffer",
250
+ bytes: "Bytes",
251
+ filter_placeholder: "Nach Methode, Status oder URL filtern...",
252
+ form_method: "Methode",
253
+ form_url: "URL",
254
+ form_headers: "Header (JSON)",
255
+ form_body: "Body (JSON)",
256
+ send_request: "→ Anfrage senden",
257
+ clear_form: "Leeren",
258
+ enter_url_warning: "Bitte eine URL eingeben",
259
+ response_label: "Antwort",
260
+ error_label: "Fehler",
261
+ manual_badge: "Manuell",
262
+ time: "Zeit",
263
+ },
264
+ fr: {
265
+ requests: "Requêtes",
266
+ details: "Détails",
267
+ clear: "Effacer",
268
+ export: "Exporter",
269
+ filter: "Filtrer",
270
+ settings: "Paramètres",
271
+ search: "Rechercher",
272
+ duration: "Durée",
273
+ status: "Statut",
274
+ response: "Réponse",
275
+ request: "Requête",
276
+ headers: "En-têtes",
277
+ body: "Corps",
278
+ copy: "Copier",
279
+ tab_current: "Actuel",
280
+ tab_history: "Historique",
281
+ tab_send: "Envoyer",
282
+ tab_endpoints: "Endpoints",
283
+ no_requests_page: "Aucune requête API sur cette page",
284
+ no_history_yet: "Aucun historique",
285
+ no_matching_requests: "Aucune requête correspondante",
286
+ no_endpoints: "Aucun endpoint enregistré",
287
+ methods: "Méthodes",
288
+ parameters: "Paramètres",
289
+ examples: "Exemples",
290
+ no_examples: "Aucun exemple",
291
+ last_seen: "Dernière vue",
292
+ status_success: "✓ Succès",
293
+ status_client_error: "✕ Erreur client",
294
+ status_server_error: "✕ Erreur serveur",
295
+ loading: "Chargement...",
296
+ request_failed: "Requête échouée",
297
+ endpoint_label: "Endpoint",
298
+ status_label: "Statut",
299
+ unknown_error: "Erreur inconnue",
300
+ hits: "requêtes",
301
+ bytes: "octets",
302
+ filter_placeholder: "Filtrer par méthode, statut ou URL...",
303
+ form_method: "Méthode",
304
+ form_url: "URL",
305
+ form_headers: "En-têtes (JSON)",
306
+ form_body: "Corps (JSON)",
307
+ send_request: "→ Envoyer la requête",
308
+ clear_form: "Effacer",
309
+ enter_url_warning: "Veuillez entrer une URL",
310
+ response_label: "Réponse",
311
+ error_label: "Erreur",
312
+ manual_badge: "Manuel",
313
+ time: "Heure",
314
+ },
315
+ es: {
316
+ requests: "Solicitudes",
317
+ details: "Detalles",
318
+ clear: "Limpiar",
319
+ export: "Exportar",
320
+ filter: "Filtrar",
321
+ settings: "Configuración",
322
+ search: "Buscar",
323
+ duration: "Duración",
324
+ status: "Estado",
325
+ response: "Respuesta",
326
+ request: "Solicitud",
327
+ headers: "Cabeceras",
328
+ body: "Cuerpo",
329
+ copy: "Copiar",
330
+ tab_current: "Actual",
331
+ tab_history: "Historial",
332
+ tab_send: "Enviar",
333
+ tab_endpoints: "Endpoints",
334
+ no_requests_page: "No hay solicitudes API en esta página",
335
+ no_history_yet: "Aún no hay historial",
336
+ no_matching_requests: "No hay solicitudes coincidentes",
337
+ no_endpoints: "Aún no hay endpoints registrados",
338
+ methods: "Métodos",
339
+ parameters: "Parámetros",
340
+ examples: "Ejemplos",
341
+ no_examples: "Sin ejemplos",
342
+ last_seen: "Última vez visto",
343
+ status_success: "✓ Éxito",
344
+ status_client_error: "✕ Error del cliente",
345
+ status_server_error: "✕ Error del servidor",
346
+ loading: "Cargando...",
347
+ request_failed: "Solicitud fallida",
348
+ endpoint_label: "Endpoint",
349
+ status_label: "Estado",
350
+ unknown_error: "Error desconocido",
351
+ hits: "visitas",
352
+ bytes: "bytes",
353
+ filter_placeholder: "Filtrar por método, estado o URL...",
354
+ form_method: "Método",
355
+ form_url: "URL",
356
+ form_headers: "Cabeceras (JSON)",
357
+ form_body: "Cuerpo (JSON)",
358
+ send_request: "→ Enviar solicitud",
359
+ clear_form: "Limpiar",
360
+ enter_url_warning: "Por favor, introduzca una URL",
361
+ response_label: "Respuesta",
362
+ error_label: "Error",
363
+ manual_badge: "Manual",
364
+ time: "Hora",
365
+ },
366
+ pt: {
367
+ requests: "Requisições",
368
+ details: "Detalhes",
369
+ clear: "Limpar",
370
+ export: "Exportar",
371
+ filter: "Filtrar",
372
+ settings: "Configurações",
373
+ search: "Pesquisar",
374
+ duration: "Duração",
375
+ status: "Estado",
376
+ response: "Resposta",
377
+ request: "Requisição",
378
+ headers: "Cabeçalhos",
379
+ body: "Corpo",
380
+ copy: "Copiar",
381
+ tab_current: "Atual",
382
+ tab_history: "Histórico",
383
+ tab_send: "Enviar",
384
+ tab_endpoints: "Endpoints",
385
+ no_requests_page: "Nenhuma requisição API nesta página",
386
+ no_history_yet: "Ainda sem histórico",
387
+ no_matching_requests: "Nenhuma requisição correspondente",
388
+ no_endpoints: "Nenhum endpoint registado ainda",
389
+ methods: "Métodos",
390
+ parameters: "Parâmetros",
391
+ examples: "Exemplos",
392
+ no_examples: "Sem exemplos",
393
+ last_seen: "Visto pela última vez",
394
+ status_success: "✓ Sucesso",
395
+ status_client_error: "✕ Erro do cliente",
396
+ status_server_error: "✕ Erro do servidor",
397
+ loading: "A carregar...",
398
+ request_failed: "Requisição falhada",
399
+ endpoint_label: "Endpoint",
400
+ status_label: "Estado",
401
+ unknown_error: "Erro desconhecido",
402
+ hits: "acessos",
403
+ bytes: "bytes",
404
+ filter_placeholder: "Filtrar por método, estado ou URL...",
405
+ form_method: "Método",
406
+ form_url: "URL",
407
+ form_headers: "Cabeçalhos (JSON)",
408
+ form_body: "Corpo (JSON)",
409
+ send_request: "→ Enviar requisição",
410
+ clear_form: "Limpar",
411
+ enter_url_warning: "Por favor, introduza um URL",
412
+ response_label: "Resposta",
413
+ error_label: "Erro",
414
+ manual_badge: "Manual",
415
+ time: "Hora",
416
+ },
417
+ zh: {
418
+ requests: "请求",
419
+ details: "详情",
420
+ clear: "清除",
421
+ export: "导出",
422
+ filter: "筛选",
423
+ settings: "设置",
424
+ search: "搜索",
425
+ duration: "耗时",
426
+ status: "状态",
427
+ response: "响应",
428
+ request: "请求",
429
+ headers: "请求头",
430
+ body: "请求体",
431
+ copy: "复制",
432
+ tab_current: "当前页",
433
+ tab_history: "历史",
434
+ tab_send: "发送",
435
+ tab_endpoints: "端点",
436
+ no_requests_page: "此页面没有 API 请求",
437
+ no_history_yet: "暂无历史记录",
438
+ no_matching_requests: "没有匹配的请求",
439
+ no_endpoints: "暂无记录的端点",
440
+ methods: "方法",
441
+ parameters: "参数",
442
+ examples: "示例",
443
+ no_examples: "暂无示例",
444
+ last_seen: "最后出现",
445
+ status_success: "✓ 成功",
446
+ status_client_error: "✕ 客户端错误",
447
+ status_server_error: "✕ 服务器错误",
448
+ loading: "加载中...",
449
+ request_failed: "请求失败",
450
+ endpoint_label: "端点",
451
+ status_label: "状态",
452
+ unknown_error: "未知错误",
453
+ hits: "次",
454
+ bytes: "字节",
455
+ filter_placeholder: "按方法、状态或 URL 筛选...",
456
+ form_method: "方法",
457
+ form_url: "URL",
458
+ form_headers: "请求头 (JSON)",
459
+ form_body: "请求体 (JSON)",
460
+ send_request: "→ 发送请求",
461
+ clear_form: "清除",
462
+ enter_url_warning: "请输入 URL",
463
+ response_label: "响应",
464
+ error_label: "错误",
465
+ manual_badge: "手动",
466
+ time: "时间",
467
+ },
468
+ ja: {
469
+ requests: "リクエスト",
470
+ details: "詳細",
471
+ clear: "クリア",
472
+ export: "エクスポート",
473
+ filter: "フィルター",
474
+ settings: "設定",
475
+ search: "検索",
476
+ duration: "所要時間",
477
+ status: "ステータス",
478
+ response: "レスポンス",
479
+ request: "リクエスト",
480
+ headers: "ヘッダー",
481
+ body: "ボディ",
482
+ copy: "コピー",
483
+ tab_current: "現在のページ",
484
+ tab_history: "履歴",
485
+ tab_send: "送信",
486
+ tab_endpoints: "エンドポイント",
487
+ no_requests_page: "このページにAPIリクエストはありません",
488
+ no_history_yet: "まだ履歴がありません",
489
+ no_matching_requests: "一致するリクエストがありません",
490
+ no_endpoints: "まだエンドポイントが記録されていません",
491
+ methods: "メソッド",
492
+ parameters: "パラメータ",
493
+ examples: "例",
494
+ no_examples: "例がありません",
495
+ last_seen: "最終確認",
496
+ status_success: "✓ 成功",
497
+ status_client_error: "✕ クライアントエラー",
498
+ status_server_error: "✕ サーバーエラー",
499
+ loading: "読み込み中...",
500
+ request_failed: "リクエスト失敗",
501
+ endpoint_label: "エンドポイント",
502
+ status_label: "ステータス",
503
+ unknown_error: "不明なエラー",
504
+ hits: "件",
505
+ bytes: "バイト",
506
+ filter_placeholder: "メソッド、ステータス、URLで絞り込む...",
507
+ form_method: "メソッド",
508
+ form_url: "URL",
509
+ form_headers: "ヘッダー (JSON)",
510
+ form_body: "ボディ (JSON)",
511
+ send_request: "→ リクエストを送信",
512
+ clear_form: "クリア",
513
+ enter_url_warning: "URLを入力してください",
514
+ response_label: "レスポンス",
515
+ error_label: "エラー",
516
+ manual_badge: "手動",
517
+ time: "時刻",
518
+ },
519
+ ar: {
520
+ requests: "الطلبات",
521
+ details: "التفاصيل",
522
+ clear: "مسح",
523
+ export: "تصدير",
524
+ filter: "تصفية",
525
+ settings: "الإعدادات",
526
+ search: "بحث",
527
+ duration: "المدة",
528
+ status: "الحالة",
529
+ response: "الاستجابة",
530
+ request: "الطلب",
531
+ headers: "الترويسات",
532
+ body: "الجسم",
533
+ copy: "نسخ",
534
+ tab_current: "الصفحة الحالية",
535
+ tab_history: "السجل",
536
+ tab_send: "إرسال",
537
+ tab_endpoints: "نقاط النهاية",
538
+ no_requests_page: "لا توجد طلبات API في هذه الصفحة",
539
+ no_history_yet: "لا يوجد سجل بعد",
540
+ no_matching_requests: "لا توجد طلبات مطابقة",
541
+ no_endpoints: "لا توجد نقاط نهاية مسجلة بعد",
542
+ methods: "الأساليب",
543
+ parameters: "المعاملات",
544
+ examples: "أمثلة",
545
+ no_examples: "لا توجد أمثلة",
546
+ last_seen: "آخر ظهور",
547
+ status_success: "✓ ناجح",
548
+ status_client_error: "✕ خطأ في العميل",
549
+ status_server_error: "✕ خطأ في الخادم",
550
+ loading: "جارٍ التحميل...",
551
+ request_failed: "فشل الطلب",
552
+ endpoint_label: "نقطة النهاية",
553
+ status_label: "الحالة",
554
+ unknown_error: "خطأ غير معروف",
555
+ hits: "نتائج",
556
+ bytes: "بايت",
557
+ filter_placeholder: "تصفية حسب الأسلوب أو الحالة أو URL...",
558
+ form_method: "الأسلوب",
559
+ form_url: "URL",
560
+ form_headers: "الترويسات (JSON)",
561
+ form_body: "الجسم (JSON)",
562
+ send_request: "→ إرسال الطلب",
563
+ clear_form: "مسح",
564
+ enter_url_warning: "الرجاء إدخال URL",
565
+ response_label: "الاستجابة",
566
+ error_label: "خطأ",
567
+ manual_badge: "يدوي",
568
+ time: "الوقت",
569
+ },
570
+ ko: {
571
+ requests: "요청",
572
+ details: "세부 정보",
573
+ clear: "지우기",
574
+ export: "내보내기",
575
+ filter: "필터",
576
+ settings: "설정",
577
+ search: "검색",
578
+ duration: "소요 시간",
579
+ status: "상태",
580
+ response: "응답",
581
+ request: "요청",
582
+ headers: "헤더",
583
+ body: "본문",
584
+ copy: "복사",
585
+ tab_current: "현재 페이지",
586
+ tab_history: "기록",
587
+ tab_send: "보내기",
588
+ tab_endpoints: "엔드포인트",
589
+ no_requests_page: "이 페이지에 API 요청이 없습니다",
590
+ no_history_yet: "아직 기록이 없습니다",
591
+ no_matching_requests: "일치하는 요청이 없습니다",
592
+ no_endpoints: "아직 기록된 엔드포인트가 없습니다",
593
+ methods: "메서드",
594
+ parameters: "매개변수",
595
+ examples: "예시",
596
+ no_examples: "예시 없음",
597
+ last_seen: "마지막 확인",
598
+ status_success: "✓ 성공",
599
+ status_client_error: "✕ 클라이언트 오류",
600
+ status_server_error: "✕ 서버 오류",
601
+ loading: "불러오는 중...",
602
+ request_failed: "요청 실패",
603
+ endpoint_label: "엔드포인트",
604
+ status_label: "상태",
605
+ unknown_error: "알 수 없는 오류",
606
+ hits: "건",
607
+ bytes: "바이트",
608
+ filter_placeholder: "메서드, 상태 또는 URL로 필터링...",
609
+ form_method: "메서드",
610
+ form_url: "URL",
611
+ form_headers: "헤더 (JSON)",
612
+ form_body: "본문 (JSON)",
613
+ send_request: "→ 요청 보내기",
614
+ clear_form: "지우기",
615
+ enter_url_warning: "URL을 입력해 주세요",
616
+ response_label: "응답",
617
+ error_label: "오류",
618
+ manual_badge: "수동",
619
+ time: "시간",
620
+ },
621
+ it: {
622
+ requests: "Richieste",
623
+ details: "Dettagli",
624
+ clear: "Cancella",
625
+ export: "Esporta",
626
+ filter: "Filtra",
627
+ settings: "Impostazioni",
628
+ search: "Cerca",
629
+ duration: "Durata",
630
+ status: "Stato",
631
+ response: "Risposta",
632
+ request: "Richiesta",
633
+ headers: "Intestazioni",
634
+ body: "Corpo",
635
+ copy: "Copia",
636
+ tab_current: "Attuale",
637
+ tab_history: "Cronologia",
638
+ tab_send: "Invia",
639
+ tab_endpoints: "Endpoint",
640
+ no_requests_page: "Nessuna richiesta API in questa pagina",
641
+ no_history_yet: "Nessuna cronologia",
642
+ no_matching_requests: "Nessuna richiesta corrispondente",
643
+ no_endpoints: "Nessun endpoint registrato",
644
+ methods: "Metodi",
645
+ parameters: "Parametri",
646
+ examples: "Esempi",
647
+ no_examples: "Nessun esempio",
648
+ last_seen: "Ultima visualizzazione",
649
+ status_success: "✓ Successo",
650
+ status_client_error: "✕ Errore client",
651
+ status_server_error: "✕ Errore server",
652
+ loading: "Caricamento...",
653
+ request_failed: "Richiesta fallita",
654
+ endpoint_label: "Endpoint",
655
+ status_label: "Stato",
656
+ unknown_error: "Errore sconosciuto",
657
+ hits: "risultati",
658
+ bytes: "byte",
659
+ filter_placeholder: "Filtra per metodo, stato o URL...",
660
+ form_method: "Metodo",
661
+ form_url: "URL",
662
+ form_headers: "Intestazioni (JSON)",
663
+ form_body: "Corpo (JSON)",
664
+ send_request: "→ Invia richiesta",
665
+ clear_form: "Cancella",
666
+ enter_url_warning: "Inserisci un URL",
667
+ response_label: "Risposta",
668
+ error_label: "Errore",
669
+ manual_badge: "Manuale",
670
+ time: "Ora",
671
+ },
672
+ pl: {
673
+ requests: "Żądania",
674
+ details: "Szczegóły",
675
+ clear: "Wyczyść",
676
+ export: "Eksportuj",
677
+ filter: "Filtruj",
678
+ settings: "Ustawienia",
679
+ search: "Szukaj",
680
+ duration: "Czas trwania",
681
+ status: "Status",
682
+ response: "Odpowiedź",
683
+ request: "Żądanie",
684
+ headers: "Nagłówki",
685
+ body: "Treść",
686
+ copy: "Kopiuj",
687
+ tab_current: "Bieżąca",
688
+ tab_history: "Historia",
689
+ tab_send: "Wyślij",
690
+ tab_endpoints: "Endpointy",
691
+ no_requests_page: "Brak żądań API na tej stronie",
692
+ no_history_yet: "Brak historii",
693
+ no_matching_requests: "Brak pasujących żądań",
694
+ no_endpoints: "Brak zarejestrowanych endpointów",
695
+ methods: "Metody",
696
+ parameters: "Parametry",
697
+ examples: "Przykłady",
698
+ no_examples: "Brak przykładów",
699
+ last_seen: "Ostatnio widziano",
700
+ status_success: "✓ Sukces",
701
+ status_client_error: "✕ Błąd klienta",
702
+ status_server_error: "✕ Błąd serwera",
703
+ loading: "Ładowanie...",
704
+ request_failed: "Żądanie nieudane",
705
+ endpoint_label: "Endpoint",
706
+ status_label: "Status",
707
+ unknown_error: "Nieznany błąd",
708
+ hits: "wyników",
709
+ bytes: "bajtów",
710
+ filter_placeholder: "Filtruj według metody, statusu lub URL...",
711
+ form_method: "Metoda",
712
+ form_url: "URL",
713
+ form_headers: "Nagłówki (JSON)",
714
+ form_body: "Treść (JSON)",
715
+ send_request: "→ Wyślij żądanie",
716
+ clear_form: "Wyczyść",
717
+ enter_url_warning: "Proszę podać URL",
718
+ response_label: "Odpowiedź",
719
+ error_label: "Błąd",
720
+ manual_badge: "Ręcznie",
721
+ time: "Czas",
722
+ },
723
+ nl: {
724
+ requests: "Verzoeken",
725
+ details: "Details",
726
+ clear: "Wissen",
727
+ export: "Exporteren",
728
+ filter: "Filteren",
729
+ settings: "Instellingen",
730
+ search: "Zoeken",
731
+ duration: "Duur",
732
+ status: "Status",
733
+ response: "Antwoord",
734
+ request: "Verzoek",
735
+ headers: "Headers",
736
+ body: "Body",
737
+ copy: "Kopiëren",
738
+ tab_current: "Huidig",
739
+ tab_history: "Geschiedenis",
740
+ tab_send: "Versturen",
741
+ tab_endpoints: "Endpoints",
742
+ no_requests_page: "Geen API-verzoeken op deze pagina",
743
+ no_history_yet: "Nog geen geschiedenis",
744
+ no_matching_requests: "Geen overeenkomende verzoeken",
745
+ no_endpoints: "Nog geen endpoints geregistreerd",
746
+ methods: "Methoden",
747
+ parameters: "Parameters",
748
+ examples: "Voorbeelden",
749
+ no_examples: "Geen voorbeelden",
750
+ last_seen: "Laatst gezien",
751
+ status_success: "✓ Geslaagd",
752
+ status_client_error: "✕ Clientfout",
753
+ status_server_error: "✕ Serverfout",
754
+ loading: "Laden...",
755
+ request_failed: "Verzoek mislukt",
756
+ endpoint_label: "Endpoint",
757
+ status_label: "Status",
758
+ unknown_error: "Onbekende fout",
759
+ hits: "resultaten",
760
+ bytes: "bytes",
761
+ filter_placeholder: "Filteren op methode, status of URL...",
762
+ form_method: "Methode",
763
+ form_url: "URL",
764
+ form_headers: "Headers (JSON)",
765
+ form_body: "Body (JSON)",
766
+ send_request: "→ Verzoek versturen",
767
+ clear_form: "Wissen",
768
+ enter_url_warning: "Voer een URL in",
769
+ response_label: "Antwoord",
770
+ error_label: "Fout",
771
+ manual_badge: "Handmatig",
772
+ time: "Tijd",
773
+ },
774
+ };
775
+
776
+ // try to load persisted language from localStorage (safely)
777
+ try {
778
+ if (typeof localStorage !== "undefined") {
779
+ const stored = localStorage.getItem("reqwise_lang") as SupportedLang | null;
780
+ if (stored && catalog[stored]) currentLang = stored;
781
+ }
782
+ } catch (e) {}
783
+
784
+ export function t(key: string, lang?: SupportedLang): string {
785
+ const l = (lang || currentLang || defaultLang) as SupportedLang;
786
+ const bucket = catalog[l] || {};
787
+ return bucket[key] || catalog[defaultLang][key] || key;
788
+ }
789
+
790
+ export function setLanguage(lang: SupportedLang) {
791
+ if (!catalog[lang]) return;
792
+ currentLang = lang;
793
+ try {
794
+ if (typeof localStorage !== "undefined")
795
+ localStorage.setItem("reqwise_lang", lang);
796
+ } catch (e) {}
797
+ }
798
+
799
+ export function getLanguage(): SupportedLang {
800
+ return currentLang;
801
+ }
802
+
803
+ export function addTranslations(
804
+ lang: SupportedLang,
805
+ translations: Translations,
806
+ ) {
807
+ catalog[lang] = { ...(catalog[lang] || {}), ...translations };
808
+ }
809
+
810
+ export function availableLanguages(): SupportedLang[] {
811
+ return Object.keys(catalog) as SupportedLang[];
812
+ }
813
+
814
+ const displayNames: Record<SupportedLang, string> = {
815
+ en: "English",
816
+ tr: "Türkçe",
817
+ az: "Azərbaycanca",
818
+ ru: "Русский",
819
+ de: "Deutsch",
820
+ fr: "Français",
821
+ es: "Español",
822
+ pt: "Português",
823
+ zh: "中文",
824
+ ja: "日本語",
825
+ ar: "العربية",
826
+ ko: "한국어",
827
+ it: "Italiano",
828
+ pl: "Polski",
829
+ nl: "Nederlands",
830
+ };
831
+
832
+ export function languageDisplayName(lang: SupportedLang) {
833
+ return displayNames[lang] || lang;
834
+ }
835
+
836
+ export default {
837
+ t,
838
+ setLanguage,
839
+ getLanguage,
840
+ addTranslations,
841
+ availableLanguages,
842
+ languageDisplayName,
843
+ };