@prosopo/locale 3.6.1 → 3.7.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/.turbo/turbo-build$colon$cjs.log +8 -9
- package/.turbo/turbo-build$colon$tsc.log +6 -9
- package/.turbo/turbo-build.log +12 -16
- package/CHANGELOG.md +40 -0
- package/LICENSE +201 -0
- package/dist/cjs/direction.cjs +19 -0
- package/dist/cjs/errorMessage.cjs +15 -0
- package/dist/cjs/index.cjs +5 -0
- package/dist/cjs/locales/en/translation.cjs +23 -5
- package/dist/cjs/translationKey.cjs +4 -0
- package/dist/direction.d.ts +3 -0
- package/dist/direction.d.ts.map +1 -0
- package/dist/direction.js +19 -0
- package/dist/direction.js.map +1 -0
- package/dist/errorMessage.d.ts +7 -0
- package/dist/errorMessage.d.ts.map +1 -0
- package/dist/errorMessage.js +15 -0
- package/dist/errorMessage.js.map +1 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/locales/ar/translation.json +23 -5
- package/dist/locales/az/translation.json +23 -5
- package/dist/locales/cs/translation.json +23 -5
- package/dist/locales/de/translation.json +23 -5
- package/dist/locales/el/translation.json +23 -5
- package/dist/locales/en/translation.js +23 -5
- package/dist/locales/en/translation.json +23 -5
- package/dist/locales/es/translation.json +23 -5
- package/dist/locales/fi/translation.json +23 -5
- package/dist/locales/fr/translation.json +23 -5
- package/dist/locales/hi/translation.json +23 -5
- package/dist/locales/hu/translation.json +23 -5
- package/dist/locales/id/translation.json +23 -5
- package/dist/locales/it/translation.json +23 -5
- package/dist/locales/ja/translation.json +23 -5
- package/dist/locales/jv/translation.json +23 -5
- package/dist/locales/ko/translation.json +23 -5
- package/dist/locales/ml/translation.json +23 -5
- package/dist/locales/ms/translation.json +23 -5
- package/dist/locales/nl/translation.json +23 -5
- package/dist/locales/no/translation.json +23 -5
- package/dist/locales/pl/translation.json +23 -5
- package/dist/locales/pt/translation.json +23 -5
- package/dist/locales/pt-BR/translation.json +23 -5
- package/dist/locales/ro/translation.json +23 -5
- package/dist/locales/ru/translation.json +23 -5
- package/dist/locales/sr/translation.json +23 -5
- package/dist/locales/sv/translation.json +23 -5
- package/dist/locales/th/translation.json +23 -5
- package/dist/locales/tr/translation.json +23 -5
- package/dist/locales/uk/translation.json +23 -5
- package/dist/locales/vi/translation.json +23 -5
- package/dist/locales/zh-CN/translation.json +23 -5
- package/dist/tests/direction.unit.test.d.ts +2 -0
- package/dist/tests/direction.unit.test.d.ts.map +1 -0
- package/dist/tests/direction.unit.test.js +31 -0
- package/dist/tests/direction.unit.test.js.map +1 -0
- package/dist/tests/errorMessage.unit.test.d.ts +2 -0
- package/dist/tests/errorMessage.unit.test.d.ts.map +1 -0
- package/dist/tests/errorMessage.unit.test.js +49 -0
- package/dist/tests/errorMessage.unit.test.js.map +1 -0
- package/dist/tests/i18nFrontend.unit.test.js +22 -11
- package/dist/tests/i18nFrontend.unit.test.js.map +1 -1
- package/dist/tests/locale.test-d.js +18 -3
- package/dist/tests/locale.test-d.js.map +1 -1
- package/dist/tests/thrownErrorKeys.unit.test.d.ts +2 -0
- package/dist/tests/thrownErrorKeys.unit.test.d.ts.map +1 -0
- package/dist/tests/thrownErrorKeys.unit.test.js +59 -0
- package/dist/tests/thrownErrorKeys.unit.test.js.map +1 -0
- package/dist/tests/translationKey.unit.test.js +13 -1
- package/dist/tests/translationKey.unit.test.js.map +1 -1
- package/dist/translationKey.d.ts +7 -1
- package/dist/translationKey.d.ts.map +1 -1
- package/dist/translationKey.js +4 -1
- package/dist/translationKey.js.map +1 -1
- package/dist/translator.d.ts +2 -1
- package/dist/translator.d.ts.map +1 -1
- package/dist/translator.js.map +1 -1
- package/dist/types.d.ts +2 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +65 -66
- package/src/i18SharedOptions.ts +0 -29
- package/src/i18nBackend.ts +0 -69
- package/src/i18nFrontend.ts +0 -267
- package/src/i18nMiddleware.ts +0 -35
- package/src/index.ts +0 -29
- package/src/loadI18next.ts +0 -136
- package/src/locales/ar/translation.json +0 -476
- package/src/locales/az/translation.json +0 -476
- package/src/locales/cs/translation.json +0 -476
- package/src/locales/de/translation.json +0 -476
- package/src/locales/el/translation.json +0 -476
- package/src/locales/en/translation.json +0 -476
- package/src/locales/es/translation.json +0 -476
- package/src/locales/fi/translation.json +0 -476
- package/src/locales/fr/translation.json +0 -476
- package/src/locales/hi/translation.json +0 -476
- package/src/locales/hu/translation.json +0 -476
- package/src/locales/id/translation.json +0 -476
- package/src/locales/it/translation.json +0 -476
- package/src/locales/ja/translation.json +0 -476
- package/src/locales/jv/translation.json +0 -476
- package/src/locales/ko/translation.json +0 -476
- package/src/locales/ml/translation.json +0 -476
- package/src/locales/ms/translation.json +0 -476
- package/src/locales/nl/translation.json +0 -476
- package/src/locales/no/translation.json +0 -476
- package/src/locales/pl/translation.json +0 -476
- package/src/locales/pt/translation.json +0 -476
- package/src/locales/pt-BR/translation.json +0 -476
- package/src/locales/ro/translation.json +0 -476
- package/src/locales/ru/translation.json +0 -476
- package/src/locales/sr/translation.json +0 -476
- package/src/locales/sv/translation.json +0 -476
- package/src/locales/th/translation.json +0 -476
- package/src/locales/tr/translation.json +0 -476
- package/src/locales/uk/translation.json +0 -476
- package/src/locales/vi/translation.json +0 -476
- package/src/locales/zh-CN/translation.json +0 -476
- package/src/process.ts +0 -29
- package/src/tests/i18SharedOptions.unit.test.ts +0 -139
- package/src/tests/i18nBackend.unit.test.ts +0 -241
- package/src/tests/i18nFrontend.unit.test.ts +0 -393
- package/src/tests/i18nMiddleware.unit.test.ts +0 -159
- package/src/tests/loadI18next.unit.test.ts +0 -443
- package/src/tests/locale.test-d.ts +0 -160
- package/src/tests/localePlaceholders.unit.test.ts +0 -81
- package/src/tests/locales.unit.test.ts +0 -79
- package/src/tests/process.unit.test.ts +0 -33
- package/src/tests/translationKey.unit.test.ts +0 -140
- package/src/tests/translations.unit.test.ts +0 -97
- package/src/tests/translator.unit.test.ts +0 -213
- package/src/tests/util.unit.test.ts +0 -102
- package/src/translationKey.ts +0 -64
- package/src/translations.ts +0 -55
- package/src/translator.ts +0 -68
- package/src/types.ts +0 -42
- package/src/util.ts +0 -25
- package/tsconfig.cjs.json +0 -21
- package/tsconfig.json +0 -22
- package/tsconfig.tsbuildinfo +0 -1
- package/tsconfig.types.json +0 -9
|
@@ -10,7 +10,9 @@
|
|
|
10
10
|
"INVALID_SIGNATURE": "Неважећи потпис",
|
|
11
11
|
"SITE_KEY_MISSING": "Недостаје кључ сајта",
|
|
12
12
|
"ACCOUNT_NOT_FOUND": "Налог није пронађен",
|
|
13
|
-
"INVALID_TIMESTAMP": "Неважећа временска ознака"
|
|
13
|
+
"INVALID_TIMESTAMP": "Неважећа временска ознака",
|
|
14
|
+
"MISSING_AUTH_HEADER": "Недостаје заглавље за ауторизацију",
|
|
15
|
+
"INVALID_JWT": "Неважећи JWT"
|
|
14
16
|
},
|
|
15
17
|
"API": {
|
|
16
18
|
"INSUFFICIENT_PERMISSIONS": "Недовољне дозволе за обављање ове радње",
|
|
@@ -54,7 +56,8 @@
|
|
|
54
56
|
"MOBILE_BLOCKED": "Захтеви са мобилних мрежних конекција нису дозвољени за овај сајт",
|
|
55
57
|
"SATELLITE_BLOCKED": "З��хтеви са сателитских конекција нису дозвољени за овај сајт",
|
|
56
58
|
"CRAWLER_BLOCKED": "Захтеви од познатих ботова нису дозвољени за овај сајт",
|
|
57
|
-
"DISALLOWED_WEBVIEW": "Захтеви из уграђених прегледача (WebView) нису дозвољени за овај сајт"
|
|
59
|
+
"DISALLOWED_WEBVIEW": "Захтеви из уграђених прегледача (WebView) нису дозвољени за овај сајт",
|
|
60
|
+
"INTERNAL_SERVER_ERROR": "Интерна грешка сервера"
|
|
58
61
|
},
|
|
59
62
|
"PORTAL": {
|
|
60
63
|
"CANNOT_MODIFY_OWNER_USER": "Није могуће изменити власника корисника",
|
|
@@ -381,6 +384,11 @@
|
|
|
381
384
|
"INSECURE_CONTEXT": "Procaptcha захтева безбедну (HTTPS) везу",
|
|
382
385
|
"CHECKING": "Проверавамо да ли сте човек",
|
|
383
386
|
"IMAGE_DIALOG_LABEL": "Провера сликама",
|
|
387
|
+
"CANNOT_LOAD": "Није могуће учитати CAPTCHA",
|
|
388
|
+
"RELOAD": "Поново учитај",
|
|
389
|
+
"VERIFIED_AGENT": "Верификовани агент",
|
|
390
|
+
"TRUSTED_REQUEST": "Поуздан захтев",
|
|
391
|
+
"LOADING": "Учитавање",
|
|
384
392
|
"PUZZLE": {
|
|
385
393
|
"DIALOG_LABEL": "Провера слагалицом",
|
|
386
394
|
"DRAG": "Превуците део до циља",
|
|
@@ -390,7 +398,8 @@
|
|
|
390
398
|
"KEYBOARD_HINT": "Померајте део стрелицама, уз држање тастера Shift за ситније кораке. Притисните Enter да га пошаљете, Home да га вратите на почетак или Escape да откажете.",
|
|
391
399
|
"POSITION": "{{x}} посто с лева, {{y}} посто одозго",
|
|
392
400
|
"CHECKING": "Проверавамо ваш одговор",
|
|
393
|
-
"RETRY_ANNOUNCEMENT": "За длаку. Учитана је нова слагалица и део је поново на почетку."
|
|
401
|
+
"RETRY_ANNOUNCEMENT": "За длаку. Учитана је нова слагалица и део је поново на почетку.",
|
|
402
|
+
"REFRESH": "Друга слагалица"
|
|
394
403
|
}
|
|
395
404
|
},
|
|
396
405
|
"CONTRACT": {
|
|
@@ -436,7 +445,13 @@
|
|
|
436
445
|
"TABLES_UNDEFINED": "Табеле нису дефинисане",
|
|
437
446
|
"CONNECTION_UNDEFINED": "Веза није дефинисана",
|
|
438
447
|
"COMMITMENT_FLAG_FAILED": "Означавање обавезе као обрађене није успело",
|
|
439
|
-
"UNKNOWN": "Непозната грешка базе података"
|
|
448
|
+
"UNKNOWN": "Непозната грешка базе података",
|
|
449
|
+
"QUERY_ERROR": "Упит бази података није успео",
|
|
450
|
+
"REDIS_ACCESS_RULES_CONNECTION_UNDEFINED": "Redis веза за правила приступа није дефинисана",
|
|
451
|
+
"USER_ACCESS_RULES_STORAGE_UNDEFINED": "Складиште правила приступа корисника није дефинисано",
|
|
452
|
+
"SESSION_STORE_FAILED": "Чување сесије није успело",
|
|
453
|
+
"SESSION_CHECK_REMOVE_FAILED": "Провера и уклањање сесије нису успели",
|
|
454
|
+
"SESSION_GET_FAILED": "Преузимање сесије није успело"
|
|
440
455
|
},
|
|
441
456
|
"CAPTCHA": {
|
|
442
457
|
"PARSE_ERROR": "Грешка при рашчлањивању капче",
|
|
@@ -455,7 +470,10 @@
|
|
|
455
470
|
"INVALID_SALT": "Неважећа со",
|
|
456
471
|
"INVALID_TOKEN": "Неважећи токен",
|
|
457
472
|
"INVALID_SOLUTION": "Неважеће решење",
|
|
458
|
-
"DECRYPTION_ERROR": "Грешка при дешифровању"
|
|
473
|
+
"DECRYPTION_ERROR": "Грешка при дешифровању",
|
|
474
|
+
"SOLUTION_NOT_FOUND": "Решење није пронађено",
|
|
475
|
+
"DECISION_MACHINE_DENIED": "Одбијено од стране машине за одлучивање",
|
|
476
|
+
"INVALID_TIMESTAMP": "Неважећа временска ознака"
|
|
459
477
|
},
|
|
460
478
|
"CLI": {
|
|
461
479
|
"PARAMETER_ERROR": "Неважећи параметар"
|
|
@@ -10,7 +10,9 @@
|
|
|
10
10
|
"INVALID_SIGNATURE": "Ogiltig signatur",
|
|
11
11
|
"SITE_KEY_MISSING": "SITE KEY saknas",
|
|
12
12
|
"ACCOUNT_NOT_FOUND": "Konto hittades inte",
|
|
13
|
-
"INVALID_TIMESTAMP": "Ogiltig tidsstämpel"
|
|
13
|
+
"INVALID_TIMESTAMP": "Ogiltig tidsstämpel",
|
|
14
|
+
"MISSING_AUTH_HEADER": "Auktoriseringshuvud saknas",
|
|
15
|
+
"INVALID_JWT": "Ogiltig JWT"
|
|
14
16
|
},
|
|
15
17
|
"API": {
|
|
16
18
|
"INSUFFICIENT_PERMISSIONS": "Otillräckliga behörigheter för att utföra denna åtgärd",
|
|
@@ -54,7 +56,8 @@
|
|
|
54
56
|
"MOBILE_BLOCKED": "Förfrågningar från mobilnätverksanslutningar är inte tillåtna för denna webbplats",
|
|
55
57
|
"SATELLITE_BLOCKED": "Förfrågningar från satellitanslutningar är inte tillåtna för denna webbplats",
|
|
56
58
|
"CRAWLER_BLOCKED": "Förfrågningar från kända crawlers är inte tillåtna för denna webbplats",
|
|
57
|
-
"DISALLOWED_WEBVIEW": "Förfrågningar från inbäddade webbläsare (WebView) är inte tillåtna för denna webbplats"
|
|
59
|
+
"DISALLOWED_WEBVIEW": "Förfrågningar från inbäddade webbläsare (WebView) är inte tillåtna för denna webbplats",
|
|
60
|
+
"INTERNAL_SERVER_ERROR": "Internt serverfel"
|
|
58
61
|
},
|
|
59
62
|
"PORTAL": {
|
|
60
63
|
"CANNOT_MODIFY_OWNER_USER": "Kan inte ändra ägare användare",
|
|
@@ -381,6 +384,11 @@
|
|
|
381
384
|
"INSECURE_CONTEXT": "Procaptcha kräver en säker (HTTPS) anslutning",
|
|
382
385
|
"CHECKING": "Kontrollerar att du är en människa",
|
|
383
386
|
"IMAGE_DIALOG_LABEL": "Bilduppgift",
|
|
387
|
+
"CANNOT_LOAD": "Det går inte att läsa in CAPTCHA",
|
|
388
|
+
"RELOAD": "Läs in igen",
|
|
389
|
+
"VERIFIED_AGENT": "Verifierad agent",
|
|
390
|
+
"TRUSTED_REQUEST": "Betrodd begäran",
|
|
391
|
+
"LOADING": "Läser in",
|
|
384
392
|
"PUZZLE": {
|
|
385
393
|
"DIALOG_LABEL": "Pusseluppgift",
|
|
386
394
|
"DRAG": "Dra biten till målet",
|
|
@@ -390,7 +398,8 @@
|
|
|
390
398
|
"KEYBOARD_HINT": "Flytta biten med piltangenterna, håll ned skift för mindre steg. Tryck på Retur för att skicka in den, Home för att lägga tillbaka den vid starten, eller Escape för att avbryta.",
|
|
391
399
|
"POSITION": "{{x}} procent från vänster, {{y}} procent uppifrån",
|
|
392
400
|
"CHECKING": "Kontrollerar ditt svar",
|
|
393
|
-
"RETRY_ANNOUNCEMENT": "Nästan. Ett nytt pussel har laddats och biten är tillbaka vid starten."
|
|
401
|
+
"RETRY_ANNOUNCEMENT": "Nästan. Ett nytt pussel har laddats och biten är tillbaka vid starten.",
|
|
402
|
+
"REFRESH": "Ett annat pussel"
|
|
394
403
|
}
|
|
395
404
|
},
|
|
396
405
|
"CONTRACT": {
|
|
@@ -436,7 +445,13 @@
|
|
|
436
445
|
"TABLES_UNDEFINED": "Tabeller ospecificerade",
|
|
437
446
|
"CONNECTION_UNDEFINED": "Anslutning ospecificerad",
|
|
438
447
|
"COMMITMENT_FLAG_FAILED": "Misslyckades att flagga åtagande som behandlad",
|
|
439
|
-
"UNKNOWN": "Okänt databasfel"
|
|
448
|
+
"UNKNOWN": "Okänt databasfel",
|
|
449
|
+
"QUERY_ERROR": "Databasfrågan misslyckades",
|
|
450
|
+
"REDIS_ACCESS_RULES_CONNECTION_UNDEFINED": "Redis-anslutning för åtkomstregler är inte definierad",
|
|
451
|
+
"USER_ACCESS_RULES_STORAGE_UNDEFINED": "Lagring för användarnas åtkomstregler är inte definierad",
|
|
452
|
+
"SESSION_STORE_FAILED": "Det gick inte att spara sessionen",
|
|
453
|
+
"SESSION_CHECK_REMOVE_FAILED": "Det gick inte att kontrollera och ta bort sessionen",
|
|
454
|
+
"SESSION_GET_FAILED": "Det gick inte att hämta sessionen"
|
|
440
455
|
},
|
|
441
456
|
"CAPTCHA": {
|
|
442
457
|
"PARSE_ERROR": "Fel vid tolkning av captcha",
|
|
@@ -455,7 +470,10 @@
|
|
|
455
470
|
"INVALID_SALT": "Ogiltigt salt",
|
|
456
471
|
"INVALID_TOKEN": "Ogiltig token",
|
|
457
472
|
"INVALID_SOLUTION": "Ogiltig lösning",
|
|
458
|
-
"DECRYPTION_ERROR": "Fel vid avkryptering"
|
|
473
|
+
"DECRYPTION_ERROR": "Fel vid avkryptering",
|
|
474
|
+
"SOLUTION_NOT_FOUND": "Lösningen hittades inte",
|
|
475
|
+
"DECISION_MACHINE_DENIED": "Nekad av beslutsmaskinen",
|
|
476
|
+
"INVALID_TIMESTAMP": "Ogiltig tidsstämpel"
|
|
459
477
|
},
|
|
460
478
|
"CLI": {
|
|
461
479
|
"PARAMETER_ERROR": "Ogiltig parameter"
|
|
@@ -10,7 +10,9 @@
|
|
|
10
10
|
"INVALID_SIGNATURE": "ลายเซ็นต์ไม่ถูกต้อง",
|
|
11
11
|
"SITE_KEY_MISSING": "SITE KEY หายไป",
|
|
12
12
|
"ACCOUNT_NOT_FOUND": "ไม่พบบัญชี",
|
|
13
|
-
"INVALID_TIMESTAMP": "เครื่องหมายเวลาไม่ถูกต้อง"
|
|
13
|
+
"INVALID_TIMESTAMP": "เครื่องหมายเวลาไม่ถูกต้อง",
|
|
14
|
+
"MISSING_AUTH_HEADER": "ไม่มีส่วนหัวการอนุญาต",
|
|
15
|
+
"INVALID_JWT": "JWT ไม่ถูกต้อง"
|
|
14
16
|
},
|
|
15
17
|
"API": {
|
|
16
18
|
"INSUFFICIENT_PERMISSIONS": "สิทธิ์ไม่เพียงพอในการทำการกระทำนี้",
|
|
@@ -54,7 +56,8 @@
|
|
|
54
56
|
"MOBILE_BLOCKED": "คำขอจากการเชื่อมต่อเครือข่ายมือถือไม่ได้รับอนุญาตสำหรับเว็บไซต์นี้",
|
|
55
57
|
"SATELLITE_BLOCKED": "คำขอจากการเชื่อมต่อดาวเทียมไม่ได้รับอนุญาตสำหรับเว็บไซต์นี้",
|
|
56
58
|
"CRAWLER_BLOCKED": "คำขอจากโปรแกรมรวบรวมข้อมูลที่รู้จักไม่ได้รับอนุญาตสำหรับเว็บไซต์นี้",
|
|
57
|
-
"DISALLOWED_WEBVIEW": "ไม่อนุญาตให้ส่งคำขอจากเบราว์เซอร์ในแอป (WebView) สำหรับเว็บไซต์นี้"
|
|
59
|
+
"DISALLOWED_WEBVIEW": "ไม่อนุญาตให้ส่งคำขอจากเบราว์เซอร์ในแอป (WebView) สำหรับเว็บไซต์นี้",
|
|
60
|
+
"INTERNAL_SERVER_ERROR": "ข้อผิดพลาดภายในเซิร์ฟเวอร์"
|
|
58
61
|
},
|
|
59
62
|
"PORTAL": {
|
|
60
63
|
"CANNOT_MODIFY_OWNER_USER": "ไม่สามารถแก้ไขผู้ใช้เจ้าของ",
|
|
@@ -381,6 +384,11 @@
|
|
|
381
384
|
"INSECURE_CONTEXT": "Procaptcha ต้องใช้การเชื่อมต่อที่ปลอดภัย (HTTPS)",
|
|
382
385
|
"CHECKING": "กำลังตรวจสอบว่าคุณเป็นมนุษย์",
|
|
383
386
|
"IMAGE_DIALOG_LABEL": "แบบทดสอบรูปภาพ",
|
|
387
|
+
"CANNOT_LOAD": "ไม่สามารถโหลด CAPTCHA ได้",
|
|
388
|
+
"RELOAD": "โหลดใหม่",
|
|
389
|
+
"VERIFIED_AGENT": "เอเจนต์ที่ยืนยันแล้ว",
|
|
390
|
+
"TRUSTED_REQUEST": "คำขอที่เชื่อถือได้",
|
|
391
|
+
"LOADING": "กำลังโหลด",
|
|
384
392
|
"PUZZLE": {
|
|
385
393
|
"DIALOG_LABEL": "แบบทดสอบจิ๊กซอว์",
|
|
386
394
|
"DRAG": "ลากชิ้นส่วนไปยังเป้าหมาย",
|
|
@@ -390,7 +398,8 @@
|
|
|
390
398
|
"KEYBOARD_HINT": "ใช้ปุ่มลูกศรเพื่อเลื่อนชิ้นส่วน กดปุ่ม Shift ค้างไว้เพื่อเลื่อนทีละน้อย กด Enter เพื่อส่ง กด Home เพื่อกลับไปยังจุดเริ่มต้น หรือกด Escape เพื่อยกเลิก",
|
|
391
399
|
"POSITION": "{{x}} เปอร์เซ็นต์จากด้านซ้าย {{y}} เปอร์เซ็นต์จากด้านบน",
|
|
392
400
|
"CHECKING": "กำลังตรวจคำตอบของคุณ",
|
|
393
|
-
"RETRY_ANNOUNCEMENT": "เกือบแล้ว มีจิ๊กซอว์ชุดใหม่โหลดขึ้นมา และชิ้นส่วนกลับไปอยู่ที่จุดเริ่มต้น"
|
|
401
|
+
"RETRY_ANNOUNCEMENT": "เกือบแล้ว มีจิ๊กซอว์ชุดใหม่โหลดขึ้นมา และชิ้นส่วนกลับไปอยู่ที่จุดเริ่มต้น",
|
|
402
|
+
"REFRESH": "จิ๊กซอว์ชุดอื่น"
|
|
394
403
|
}
|
|
395
404
|
},
|
|
396
405
|
"CONTRACT": {
|
|
@@ -436,7 +445,13 @@
|
|
|
436
445
|
"TABLES_UNDEFINED": "ตารางไม่ได้ถูกกำหนดไว้",
|
|
437
446
|
"CONNECTION_UNDEFINED": "การเชื่อมต่อไม่ได้ถูกกำหนด",
|
|
438
447
|
"COMMITMENT_FLAG_FAILED": "ล้มเหลวในการทำเครื่องหมายการสนับสนุนว่าดำเนินการแล้ว",
|
|
439
|
-
"UNKNOWN": "ข้อผิดพลาดในฐานข้อมูลที่ไม่ทราบสาเหตุ"
|
|
448
|
+
"UNKNOWN": "ข้อผิดพลาดในฐานข้อมูลที่ไม่ทราบสาเหตุ",
|
|
449
|
+
"QUERY_ERROR": "การสืบค้นฐานข้อมูลล้มเหลว",
|
|
450
|
+
"REDIS_ACCESS_RULES_CONNECTION_UNDEFINED": "ไม่ได้กำหนดการเชื่อมต่อ Redis สำหรับกฎการเข้าถึง",
|
|
451
|
+
"USER_ACCESS_RULES_STORAGE_UNDEFINED": "ไม่ได้กำหนดที่จัดเก็บกฎการเข้าถึงของผู้ใช้",
|
|
452
|
+
"SESSION_STORE_FAILED": "จัดเก็บเซสชันไม่สำเร็จ",
|
|
453
|
+
"SESSION_CHECK_REMOVE_FAILED": "ตรวจสอบและลบเซสชันไม่สำเร็จ",
|
|
454
|
+
"SESSION_GET_FAILED": "ดึงเซสชันไม่สำเร็จ"
|
|
440
455
|
},
|
|
441
456
|
"CAPTCHA": {
|
|
442
457
|
"PARSE_ERROR": "ข้อผิดพลาดในการแยกวิเคราะห์ captcha",
|
|
@@ -455,7 +470,10 @@
|
|
|
455
470
|
"INVALID_SALT": "Salt ไม่ถูกต้อง",
|
|
456
471
|
"INVALID_TOKEN": "โทเคนไม่ถูกต้อง",
|
|
457
472
|
"INVALID_SOLUTION": "คำตอบไม่ถูกต้อง",
|
|
458
|
-
"DECRYPTION_ERROR": "เกิดข้อผิดพลาดในการถอดรหัส"
|
|
473
|
+
"DECRYPTION_ERROR": "เกิดข้อผิดพลาดในการถอดรหัส",
|
|
474
|
+
"SOLUTION_NOT_FOUND": "ไม่พบคำตอบ",
|
|
475
|
+
"DECISION_MACHINE_DENIED": "ถูกปฏิเสธโดยเครื่องตัดสินใจ",
|
|
476
|
+
"INVALID_TIMESTAMP": "เครื่องหมายเวลาไม่ถูกต้อง"
|
|
459
477
|
},
|
|
460
478
|
"CLI": {
|
|
461
479
|
"PARAMETER_ERROR": "พารามิเตอร์ไม่ถูกต้อง"
|
|
@@ -10,7 +10,9 @@
|
|
|
10
10
|
"ENVIRONMENT_NOT_READY": "Çevre hazır değil",
|
|
11
11
|
"INVALID_SIGNATURE": "Geçersiz imza",
|
|
12
12
|
"SITE_KEY_MISSING": "SITE KEY eksik",
|
|
13
|
-
"INVALID_TIMESTAMP": "Geçersiz zaman damgası"
|
|
13
|
+
"INVALID_TIMESTAMP": "Geçersiz zaman damgası",
|
|
14
|
+
"MISSING_AUTH_HEADER": "Yetkilendirme başlığı eksik",
|
|
15
|
+
"INVALID_JWT": "Geçersiz JWT"
|
|
14
16
|
},
|
|
15
17
|
"API": {
|
|
16
18
|
"INSUFFICIENT_PERMISSIONS": "Insufficient permissions to perform this action",
|
|
@@ -54,7 +56,8 @@
|
|
|
54
56
|
"MOBILE_BLOCKED": "Bu site için mobil ağ bağlantılarından gelen isteklere izin verilmiyor",
|
|
55
57
|
"SATELLITE_BLOCKED": "Bu site için uydu bağlantılarından gelen isteklere izin verilmiyor",
|
|
56
58
|
"CRAWLER_BLOCKED": "Bu site için bilinen tarayıcılardan gelen isteklere izin verilmiyor",
|
|
57
|
-
"DISALLOWED_WEBVIEW": "Bu site için uygulama içi tarayıcılardan (WebView) gelen isteklere izin verilmiyor"
|
|
59
|
+
"DISALLOWED_WEBVIEW": "Bu site için uygulama içi tarayıcılardan (WebView) gelen isteklere izin verilmiyor",
|
|
60
|
+
"INTERNAL_SERVER_ERROR": "Dahili sunucu hatası"
|
|
58
61
|
},
|
|
59
62
|
"PORTAL": {
|
|
60
63
|
"CANNOT_MODIFY_OWNER_USER": "Cannot modify owner user",
|
|
@@ -381,6 +384,11 @@
|
|
|
381
384
|
"INSECURE_CONTEXT": "Procaptcha güvenli bir (HTTPS) bağlantı gerektirir",
|
|
382
385
|
"CHECKING": "İnsan olduğunuz doğrulanıyor",
|
|
383
386
|
"IMAGE_DIALOG_LABEL": "Görsel doğrulama",
|
|
387
|
+
"CANNOT_LOAD": "CAPTCHA yüklenemiyor",
|
|
388
|
+
"RELOAD": "Yeniden yükle",
|
|
389
|
+
"VERIFIED_AGENT": "Doğrulanmış aracı",
|
|
390
|
+
"TRUSTED_REQUEST": "Güvenilir istek",
|
|
391
|
+
"LOADING": "Yükleniyor",
|
|
384
392
|
"PUZZLE": {
|
|
385
393
|
"DIALOG_LABEL": "Yapboz doğrulaması",
|
|
386
394
|
"DRAG": "Parçayı hedefe sürükleyin",
|
|
@@ -390,7 +398,8 @@
|
|
|
390
398
|
"KEYBOARD_HINT": "Parçayı ok tuşlarıyla taşıyın, daha küçük adımlar için Shift tuşunu basılı tutun. Göndermek için Enter'a, başa döndürmek için Home'a, iptal etmek için Escape'e basın.",
|
|
391
399
|
"POSITION": "soldan yüzde {{x}}, yukarıdan yüzde {{y}}",
|
|
392
400
|
"CHECKING": "Cevabınız kontrol ediliyor",
|
|
393
|
-
"RETRY_ANNOUNCEMENT": "Az kaldı. Yeni bir yapboz yüklendi ve parça yeniden başlangıçta."
|
|
401
|
+
"RETRY_ANNOUNCEMENT": "Az kaldı. Yeni bir yapboz yüklendi ve parça yeniden başlangıçta.",
|
|
402
|
+
"REFRESH": "Başka bir yapboz"
|
|
394
403
|
}
|
|
395
404
|
},
|
|
396
405
|
"CONTRACT": {
|
|
@@ -436,7 +445,13 @@
|
|
|
436
445
|
"TABLES_UNDEFINED": "Tablolar tanımsız",
|
|
437
446
|
"CONNECTION_UNDEFINED": "Bağlantı tanımsız",
|
|
438
447
|
"COMMITMENT_FLAG_FAILED": "Taahhütü işlenmiş olarak işaretleme başarısız oldu",
|
|
439
|
-
"UNKNOWN": "Bilinmeyen veritabanı hatası"
|
|
448
|
+
"UNKNOWN": "Bilinmeyen veritabanı hatası",
|
|
449
|
+
"QUERY_ERROR": "Veritabanı sorgusu başarısız oldu",
|
|
450
|
+
"REDIS_ACCESS_RULES_CONNECTION_UNDEFINED": "Erişim kuralları Redis bağlantısı tanımlı değil",
|
|
451
|
+
"USER_ACCESS_RULES_STORAGE_UNDEFINED": "Kullanıcı erişim kuralları depolaması tanımlı değil",
|
|
452
|
+
"SESSION_STORE_FAILED": "Oturum kaydedilemedi",
|
|
453
|
+
"SESSION_CHECK_REMOVE_FAILED": "Oturum kontrol edilip kaldırılamadı",
|
|
454
|
+
"SESSION_GET_FAILED": "Oturum alınamadı"
|
|
440
455
|
},
|
|
441
456
|
"CAPTCHA": {
|
|
442
457
|
"PARSE_ERROR": "Captcha ayrıştırma hatası",
|
|
@@ -455,7 +470,10 @@
|
|
|
455
470
|
"INVALID_SALT": "Geçersiz salt",
|
|
456
471
|
"INVALID_TOKEN": "Geçersiz belirteç",
|
|
457
472
|
"INVALID_SOLUTION": "Geçersiz çözüm",
|
|
458
|
-
"DECRYPTION_ERROR": "Şifreleme hatası"
|
|
473
|
+
"DECRYPTION_ERROR": "Şifreleme hatası",
|
|
474
|
+
"SOLUTION_NOT_FOUND": "Çözüm bulunamadı",
|
|
475
|
+
"DECISION_MACHINE_DENIED": "Karar makinesi tarafından reddedildi",
|
|
476
|
+
"INVALID_TIMESTAMP": "Geçersiz zaman damgası"
|
|
459
477
|
},
|
|
460
478
|
"CLI": {
|
|
461
479
|
"PARAMETER_ERROR": "Geçersiz parametre"
|
|
@@ -10,7 +10,9 @@
|
|
|
10
10
|
"INVALID_SIGNATURE": "Invalid signature",
|
|
11
11
|
"SITE_KEY_MISSING": "SITE KEY missing",
|
|
12
12
|
"ACCOUNT_NOT_FOUND": "Account not found",
|
|
13
|
-
"INVALID_TIMESTAMP": "Invalid timestamp"
|
|
13
|
+
"INVALID_TIMESTAMP": "Invalid timestamp",
|
|
14
|
+
"MISSING_AUTH_HEADER": "Відсутній заголовок авторизації",
|
|
15
|
+
"INVALID_JWT": "Недійсний JWT"
|
|
14
16
|
},
|
|
15
17
|
"API": {
|
|
16
18
|
"INSUFFICIENT_PERMISSIONS": "Insufficient permissions to perform this action",
|
|
@@ -54,7 +56,8 @@
|
|
|
54
56
|
"MOBILE_BLOCKED": "Запити з мобільних мережевих з'єднань не дозволені для цього сайту",
|
|
55
57
|
"SATELLITE_BLOCKED": "Запити із супутникових з'єднань не дозволені для цього сайту",
|
|
56
58
|
"CRAWLER_BLOCKED": "Запити від відомих пошукових роботів не дозволені для цього сайту",
|
|
57
|
-
"DISALLOWED_WEBVIEW": "Запити з вбудованих браузерів (WebView) не дозволені для цього сайту"
|
|
59
|
+
"DISALLOWED_WEBVIEW": "Запити з вбудованих браузерів (WebView) не дозволені для цього сайту",
|
|
60
|
+
"INTERNAL_SERVER_ERROR": "Внутрішня помилка сервера"
|
|
58
61
|
},
|
|
59
62
|
"PORTAL": {
|
|
60
63
|
"CANNOT_MODIFY_OWNER_USER": "Cannot modify owner user",
|
|
@@ -381,6 +384,11 @@
|
|
|
381
384
|
"INSECURE_CONTEXT": "Procaptcha потребує безпечного з'єднання (HTTPS)",
|
|
382
385
|
"CHECKING": "Перевіряємо, що ви людина",
|
|
383
386
|
"IMAGE_DIALOG_LABEL": "Завдання із зображеннями",
|
|
387
|
+
"CANNOT_LOAD": "Не вдалося завантажити CAPTCHA",
|
|
388
|
+
"RELOAD": "Перезавантажити",
|
|
389
|
+
"VERIFIED_AGENT": "Перевірений агент",
|
|
390
|
+
"TRUSTED_REQUEST": "Довірений запит",
|
|
391
|
+
"LOADING": "Завантаження",
|
|
384
392
|
"PUZZLE": {
|
|
385
393
|
"DIALOG_LABEL": "Завдання з пазлом",
|
|
386
394
|
"DRAG": "Перетягніть фрагмент до цілі",
|
|
@@ -390,7 +398,8 @@
|
|
|
390
398
|
"KEYBOARD_HINT": "Переміщуйте фрагмент клавішами зі стрілками, утримуйте Shift для менших кроків. Натисніть Enter, щоб надіслати, Home, щоб повернути його на початок, або Escape, щоб скасувати.",
|
|
391
399
|
"POSITION": "{{x}} відсотків зліва, {{y}} відсотків згори",
|
|
392
400
|
"CHECKING": "Перевіряємо вашу відповідь",
|
|
393
|
-
"RETRY_ANNOUNCEMENT": "Майже. Завантажено новий пазл, і фрагмент знову на початку."
|
|
401
|
+
"RETRY_ANNOUNCEMENT": "Майже. Завантажено новий пазл, і фрагмент знову на початку.",
|
|
402
|
+
"REFRESH": "Інший пазл"
|
|
394
403
|
}
|
|
395
404
|
},
|
|
396
405
|
"CONTRACT": {
|
|
@@ -436,7 +445,13 @@
|
|
|
436
445
|
"TABLES_UNDEFINED": "Tables undefined",
|
|
437
446
|
"CONNECTION_UNDEFINED": "Connection undefined",
|
|
438
447
|
"COMMITMENT_FLAG_FAILED": "Failed to flag commitment as processed",
|
|
439
|
-
"UNKNOWN": "Unknown database error"
|
|
448
|
+
"UNKNOWN": "Unknown database error",
|
|
449
|
+
"QUERY_ERROR": "Не вдалося виконати запит до бази даних",
|
|
450
|
+
"REDIS_ACCESS_RULES_CONNECTION_UNDEFINED": "Підключення Redis для правил доступу не визначено",
|
|
451
|
+
"USER_ACCESS_RULES_STORAGE_UNDEFINED": "Сховище правил доступу користувачів не визначено",
|
|
452
|
+
"SESSION_STORE_FAILED": "Не вдалося зберегти сесію",
|
|
453
|
+
"SESSION_CHECK_REMOVE_FAILED": "Не вдалося перевірити та видалити сесію",
|
|
454
|
+
"SESSION_GET_FAILED": "Не вдалося отримати сесію"
|
|
440
455
|
},
|
|
441
456
|
"CAPTCHA": {
|
|
442
457
|
"PARSE_ERROR": "Error parsing captcha",
|
|
@@ -455,7 +470,10 @@
|
|
|
455
470
|
"INVALID_SALT": "Недійсна сіль",
|
|
456
471
|
"INVALID_TOKEN": "Invalid token",
|
|
457
472
|
"INVALID_SOLUTION": "Invalid solution",
|
|
458
|
-
"DECRYPTION_ERROR": "Error decrypting"
|
|
473
|
+
"DECRYPTION_ERROR": "Error decrypting",
|
|
474
|
+
"SOLUTION_NOT_FOUND": "Рішення не знайдено",
|
|
475
|
+
"DECISION_MACHINE_DENIED": "Відхилено машиною ухвалення рішень",
|
|
476
|
+
"INVALID_TIMESTAMP": "Invalid timestamp"
|
|
459
477
|
},
|
|
460
478
|
"CLI": {
|
|
461
479
|
"PARAMETER_ERROR": "Invalid parameter"
|
|
@@ -10,7 +10,9 @@
|
|
|
10
10
|
"INVALID_SIGNATURE": "Chữ ký không hợp lệ",
|
|
11
11
|
"SITE_KEY_MISSING": "SITE KEY thiếu",
|
|
12
12
|
"ACCOUNT_NOT_FOUND": "Không tìm thấy tài khoản",
|
|
13
|
-
"INVALID_TIMESTAMP": "Thời điểm không hợp lệ"
|
|
13
|
+
"INVALID_TIMESTAMP": "Thời điểm không hợp lệ",
|
|
14
|
+
"MISSING_AUTH_HEADER": "Thiếu tiêu đề ủy quyền",
|
|
15
|
+
"INVALID_JWT": "JWT không hợp lệ"
|
|
14
16
|
},
|
|
15
17
|
"API": {
|
|
16
18
|
"INSUFFICIENT_PERMISSIONS": "Không đủ quyền để thực hiện hành động này",
|
|
@@ -54,7 +56,8 @@
|
|
|
54
56
|
"MOBILE_BLOCKED": "Các yêu cầu từ kết nối mạng di động không được phép cho trang web này",
|
|
55
57
|
"SATELLITE_BLOCKED": "Các yêu cầu từ kết nối vệ tinh không được phép cho trang web này",
|
|
56
58
|
"CRAWLER_BLOCKED": "Các yêu cầu từ trình thu thập dữ liệu đã biết không được phép cho trang web này",
|
|
57
|
-
"DISALLOWED_WEBVIEW": "Yêu cầu từ trình duyệt trong ứng dụng (WebView) không được phép cho trang web này"
|
|
59
|
+
"DISALLOWED_WEBVIEW": "Yêu cầu từ trình duyệt trong ứng dụng (WebView) không được phép cho trang web này",
|
|
60
|
+
"INTERNAL_SERVER_ERROR": "Lỗi máy chủ nội bộ"
|
|
58
61
|
},
|
|
59
62
|
"PORTAL": {
|
|
60
63
|
"CANNOT_MODIFY_OWNER_USER": "Không thể sửa đổi người dùng chủ sở hữu",
|
|
@@ -381,6 +384,11 @@
|
|
|
381
384
|
"INSECURE_CONTEXT": "Procaptcha yêu cầu kết nối an toàn (HTTPS)",
|
|
382
385
|
"CHECKING": "Đang xác minh bạn là người thật",
|
|
383
386
|
"IMAGE_DIALOG_LABEL": "Thử thách hình ảnh",
|
|
387
|
+
"CANNOT_LOAD": "Không thể tải CAPTCHA",
|
|
388
|
+
"RELOAD": "Tải lại",
|
|
389
|
+
"VERIFIED_AGENT": "Tác nhân đã xác minh",
|
|
390
|
+
"TRUSTED_REQUEST": "Yêu cầu đáng tin cậy",
|
|
391
|
+
"LOADING": "Đang tải",
|
|
384
392
|
"PUZZLE": {
|
|
385
393
|
"DIALOG_LABEL": "Thử thách ghép hình",
|
|
386
394
|
"DRAG": "Kéo mảnh ghép đến vị trí đích",
|
|
@@ -390,7 +398,8 @@
|
|
|
390
398
|
"KEYBOARD_HINT": "Dùng các phím mũi tên để di chuyển mảnh ghép, giữ Shift để đi từng bước nhỏ hơn. Nhấn Enter để gửi, Home để đưa nó về vị trí ban đầu, hoặc Escape để hủy.",
|
|
391
399
|
"POSITION": "{{x}} phần trăm từ bên trái, {{y}} phần trăm từ trên xuống",
|
|
392
400
|
"CHECKING": "Đang kiểm tra câu trả lời của bạn",
|
|
393
|
-
"RETRY_ANNOUNCEMENT": "Suýt nữa. Một hình ghép mới đã được tải và mảnh ghép trở lại vị trí ban đầu."
|
|
401
|
+
"RETRY_ANNOUNCEMENT": "Suýt nữa. Một hình ghép mới đã được tải và mảnh ghép trở lại vị trí ban đầu.",
|
|
402
|
+
"REFRESH": "Hình ghép khác"
|
|
394
403
|
}
|
|
395
404
|
},
|
|
396
405
|
"CONTRACT": {
|
|
@@ -436,7 +445,13 @@
|
|
|
436
445
|
"TABLES_UNDEFINED": "Bảng chưa xác định",
|
|
437
446
|
"CONNECTION_UNDEFINED": "Kết nối không xác định",
|
|
438
447
|
"COMMITMENT_FLAG_FAILED": "Không thể đánh dấu cam kết là đã xử lý",
|
|
439
|
-
"UNKNOWN": "Lỗi cơ sở dữ liệu không xác định"
|
|
448
|
+
"UNKNOWN": "Lỗi cơ sở dữ liệu không xác định",
|
|
449
|
+
"QUERY_ERROR": "Truy vấn cơ sở dữ liệu thất bại",
|
|
450
|
+
"REDIS_ACCESS_RULES_CONNECTION_UNDEFINED": "Chưa xác định kết nối Redis cho quy tắc truy cập",
|
|
451
|
+
"USER_ACCESS_RULES_STORAGE_UNDEFINED": "Chưa xác định bộ lưu trữ quy tắc truy cập người dùng",
|
|
452
|
+
"SESSION_STORE_FAILED": "Không thể lưu phiên",
|
|
453
|
+
"SESSION_CHECK_REMOVE_FAILED": "Không thể kiểm tra và xóa phiên",
|
|
454
|
+
"SESSION_GET_FAILED": "Không thể lấy phiên"
|
|
440
455
|
},
|
|
441
456
|
"CAPTCHA": {
|
|
442
457
|
"PARSE_ERROR": "Lỗi phân tích captcha",
|
|
@@ -455,7 +470,10 @@
|
|
|
455
470
|
"INVALID_SALT": "Salt không hợp lệ",
|
|
456
471
|
"INVALID_TOKEN": "Token không hợp lệ",
|
|
457
472
|
"INVALID_SOLUTION": "Giải pháp không hợp lệ",
|
|
458
|
-
"DECRYPTION_ERROR": "Lỗi giải mã"
|
|
473
|
+
"DECRYPTION_ERROR": "Lỗi giải mã",
|
|
474
|
+
"SOLUTION_NOT_FOUND": "Không tìm thấy lời giải",
|
|
475
|
+
"DECISION_MACHINE_DENIED": "Bị máy quyết định từ chối",
|
|
476
|
+
"INVALID_TIMESTAMP": "Thời điểm không hợp lệ"
|
|
459
477
|
},
|
|
460
478
|
"CLI": {
|
|
461
479
|
"PARAMETER_ERROR": "Tham số không hợp lệ"
|
|
@@ -10,7 +10,9 @@
|
|
|
10
10
|
"INVALID_SIGNATURE": "无效的签名",
|
|
11
11
|
"SITE_KEY_MISSING": "缺少SITE KEY",
|
|
12
12
|
"ACCOUNT_NOT_FOUND": "找不到帐户",
|
|
13
|
-
"INVALID_TIMESTAMP": "无效的时间戳"
|
|
13
|
+
"INVALID_TIMESTAMP": "无效的时间戳",
|
|
14
|
+
"MISSING_AUTH_HEADER": "缺少授权标头",
|
|
15
|
+
"INVALID_JWT": "无效的 JWT"
|
|
14
16
|
},
|
|
15
17
|
"API": {
|
|
16
18
|
"INSUFFICIENT_PERMISSIONS": "权限不足,无法执行此操作",
|
|
@@ -54,7 +56,8 @@
|
|
|
54
56
|
"MOBILE_BLOCKED": "此网站不允许来自移动网络连接的请求",
|
|
55
57
|
"SATELLITE_BLOCKED": "此网站不允许来自卫星连接的请求",
|
|
56
58
|
"CRAWLER_BLOCKED": "此网站不允许来自已知爬虫的请求",
|
|
57
|
-
"DISALLOWED_WEBVIEW": "此站点不允许来自应用内浏览器 (WebView) 的请求"
|
|
59
|
+
"DISALLOWED_WEBVIEW": "此站点不允许来自应用内浏览器 (WebView) 的请求",
|
|
60
|
+
"INTERNAL_SERVER_ERROR": "服务器内部错误"
|
|
58
61
|
},
|
|
59
62
|
"PORTAL": {
|
|
60
63
|
"CANNOT_MODIFY_OWNER_USER": "无法修改所有者用户",
|
|
@@ -381,6 +384,11 @@
|
|
|
381
384
|
"INSECURE_CONTEXT": "Procaptcha 需要安全连接 (HTTPS)",
|
|
382
385
|
"CHECKING": "正在验证您是真人",
|
|
383
386
|
"IMAGE_DIALOG_LABEL": "图片验证",
|
|
387
|
+
"CANNOT_LOAD": "无法加载验证码",
|
|
388
|
+
"RELOAD": "重新加载",
|
|
389
|
+
"VERIFIED_AGENT": "已验证的代理",
|
|
390
|
+
"TRUSTED_REQUEST": "受信任的请求",
|
|
391
|
+
"LOADING": "加载中",
|
|
384
392
|
"PUZZLE": {
|
|
385
393
|
"DIALOG_LABEL": "拼图验证",
|
|
386
394
|
"DRAG": "将拼块拖到目标位置",
|
|
@@ -390,7 +398,8 @@
|
|
|
390
398
|
"KEYBOARD_HINT": "用方向键移动拼块,按住 Shift 可以小步移动。按 Enter 提交,按 Home 让它回到起点,按 Escape 取消。",
|
|
391
399
|
"POSITION": "距左边 {{x}} %,距顶部 {{y}} %",
|
|
392
400
|
"CHECKING": "正在检查您的答案",
|
|
393
|
-
"RETRY_ANNOUNCEMENT": "差一点。已加载新的拼图,拼块回到了起点。"
|
|
401
|
+
"RETRY_ANNOUNCEMENT": "差一点。已加载新的拼图,拼块回到了起点。",
|
|
402
|
+
"REFRESH": "换一个拼图"
|
|
394
403
|
}
|
|
395
404
|
},
|
|
396
405
|
"CONTRACT": {
|
|
@@ -436,7 +445,13 @@
|
|
|
436
445
|
"TABLES_UNDEFINED": "未定义表",
|
|
437
446
|
"CONNECTION_UNDEFINED": "连接未定义",
|
|
438
447
|
"COMMITMENT_FLAG_FAILED": "标记承诺为已处理失败",
|
|
439
|
-
"UNKNOWN": "未知数据库错误"
|
|
448
|
+
"UNKNOWN": "未知数据库错误",
|
|
449
|
+
"QUERY_ERROR": "数据库查询失败",
|
|
450
|
+
"REDIS_ACCESS_RULES_CONNECTION_UNDEFINED": "访问规则的 Redis 连接未定义",
|
|
451
|
+
"USER_ACCESS_RULES_STORAGE_UNDEFINED": "用户访问规则存储未定义",
|
|
452
|
+
"SESSION_STORE_FAILED": "存储会话失败",
|
|
453
|
+
"SESSION_CHECK_REMOVE_FAILED": "检查并移除会话失败",
|
|
454
|
+
"SESSION_GET_FAILED": "获取会话失败"
|
|
440
455
|
},
|
|
441
456
|
"CAPTCHA": {
|
|
442
457
|
"PARSE_ERROR": "解析验证码时出错",
|
|
@@ -455,7 +470,10 @@
|
|
|
455
470
|
"INVALID_SALT": "盐值无效",
|
|
456
471
|
"INVALID_TOKEN": "无效的令牌",
|
|
457
472
|
"INVALID_SOLUTION": "无效的解决方案",
|
|
458
|
-
"DECRYPTION_ERROR": "解密错误"
|
|
473
|
+
"DECRYPTION_ERROR": "解密错误",
|
|
474
|
+
"SOLUTION_NOT_FOUND": "未找到解答",
|
|
475
|
+
"DECISION_MACHINE_DENIED": "被决策机拒绝",
|
|
476
|
+
"INVALID_TIMESTAMP": "无效的时间戳"
|
|
459
477
|
},
|
|
460
478
|
"CLI": {
|
|
461
479
|
"PARAMETER_ERROR": "无效的参数"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"direction.unit.test.d.ts","sourceRoot":"","sources":["../../src/tests/direction.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { describe, expect, test } from "vitest";
|
|
2
|
+
import { getLanguageDirection } from "../direction.js";
|
|
3
|
+
import { LanguageCodes } from "../translations.js";
|
|
4
|
+
describe("getLanguageDirection", () => {
|
|
5
|
+
test("is rtl for Arabic", () => {
|
|
6
|
+
expect(getLanguageDirection("ar")).toBe("rtl");
|
|
7
|
+
});
|
|
8
|
+
test("is rtl for regional and differently-cased Arabic tags", () => {
|
|
9
|
+
expect(getLanguageDirection("ar-EG")).toBe("rtl");
|
|
10
|
+
expect(getLanguageDirection("AR_sa")).toBe("rtl");
|
|
11
|
+
});
|
|
12
|
+
test("is rtl for other right-to-left scripts", () => {
|
|
13
|
+
for (const language of ["he", "fa", "ur", "yi"]) {
|
|
14
|
+
expect(getLanguageDirection(language)).toBe("rtl");
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
test("is ltr for every other shipped language", () => {
|
|
18
|
+
const others = LanguageCodes.filter((code) => code !== "ar");
|
|
19
|
+
for (const language of others) {
|
|
20
|
+
expect(getLanguageDirection(language)).toBe("ltr");
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
test("is ltr for an empty or unknown tag", () => {
|
|
24
|
+
expect(getLanguageDirection("")).toBe("ltr");
|
|
25
|
+
expect(getLanguageDirection("xx")).toBe("ltr");
|
|
26
|
+
});
|
|
27
|
+
test("matches only the primary subtag", () => {
|
|
28
|
+
expect(getLanguageDirection("en-AR")).toBe("ltr");
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=direction.unit.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"direction.unit.test.js","sourceRoot":"","sources":["../../src/tests/direction.unit.test.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACrC,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAClE,MAAM,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wCAAwC,EAAE,GAAG,EAAE;QACnD,KAAK,MAAM,QAAQ,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YACjD,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACpD,MAAM,MAAM,GAAa,aAAa,CAAC,MAAM,CAC5C,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAC/B,CAAC;QACF,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;YAC/B,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errorMessage.unit.test.d.ts","sourceRoot":"","sources":["../../src/tests/errorMessage.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { flatten } from "@prosopo/util";
|
|
2
|
+
import { describe, expect, test } from "vitest";
|
|
3
|
+
import { localiseErrorMessage } from "../errorMessage.js";
|
|
4
|
+
import de from "../locales/de/translation.json" with { type: "json" };
|
|
5
|
+
const i18nIn = (catalogue, isInitialized = true) => {
|
|
6
|
+
const flat = flatten(catalogue);
|
|
7
|
+
return {
|
|
8
|
+
language: "de",
|
|
9
|
+
isInitialized,
|
|
10
|
+
t: (key, options) => flat[key] ?? options?.defaultValue ?? key,
|
|
11
|
+
changeLanguage: async () => undefined,
|
|
12
|
+
hasLoadedNamespace: () => isInitialized,
|
|
13
|
+
on: () => undefined,
|
|
14
|
+
off: () => undefined,
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
const germanI18n = () => i18nIn(de);
|
|
18
|
+
describe("localiseErrorMessage", () => {
|
|
19
|
+
test("translates a catalogue key into the widget's language, not the server's", () => {
|
|
20
|
+
const i18n = germanI18n();
|
|
21
|
+
expect(localiseErrorMessage(i18n, {
|
|
22
|
+
message: "Invalid site key",
|
|
23
|
+
key: "API.INVALID_SITE_KEY",
|
|
24
|
+
})).toBe("Ungültiger Site-Schlüssel");
|
|
25
|
+
});
|
|
26
|
+
test("keeps the server message when the key is not in the catalogue", () => {
|
|
27
|
+
const i18n = germanI18n();
|
|
28
|
+
expect(localiseErrorMessage(i18n, {
|
|
29
|
+
message: "upstream timed out",
|
|
30
|
+
key: "API.NOT_A_REAL_KEY",
|
|
31
|
+
})).toBe("upstream timed out");
|
|
32
|
+
});
|
|
33
|
+
test("keeps the server message when there is no key", () => {
|
|
34
|
+
const i18n = germanI18n();
|
|
35
|
+
expect(localiseErrorMessage(i18n, { message: "Invalid site key" })).toBe("Invalid site key");
|
|
36
|
+
});
|
|
37
|
+
test("keeps the server message until i18n is initialised", () => {
|
|
38
|
+
const i18n = i18nIn(de, false);
|
|
39
|
+
expect(localiseErrorMessage(i18n, {
|
|
40
|
+
message: "Invalid site key",
|
|
41
|
+
key: "API.INVALID_SITE_KEY",
|
|
42
|
+
})).toBe("Invalid site key");
|
|
43
|
+
expect(localiseErrorMessage(undefined, {
|
|
44
|
+
message: "Invalid site key",
|
|
45
|
+
key: "API.INVALID_SITE_KEY",
|
|
46
|
+
})).toBe("Invalid site key");
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
//# sourceMappingURL=errorMessage.unit.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errorMessage.unit.test.js","sourceRoot":"","sources":["../../src/tests/errorMessage.unit.test.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,MAAM,gCAAgC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAKtE,MAAM,MAAM,GAAG,CACd,SAAkC,EAClC,aAAa,GAAG,IAAI,EACZ,EAAE;IACV,MAAM,IAAI,GAA2B,OAAO,CAAC,SAAS,CAAC,CAAC;IACxD,OAAO;QACN,QAAQ,EAAE,IAAI;QACd,aAAa;QACb,CAAC,EAAE,CAAC,GAAW,EAAE,OAA0B,EAAU,EAAE,CACtD,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,YAAY,IAAI,GAAG;QAC1C,cAAc,EAAE,KAAK,IAAmB,EAAE,CAAC,SAAS;QACpD,kBAAkB,EAAE,GAAY,EAAE,CAAC,aAAa;QAChD,EAAE,EAAE,GAAS,EAAE,CAAC,SAAS;QACzB,GAAG,EAAE,GAAS,EAAE,CAAC,SAAS;KAC1B,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,GAAU,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAE3C,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACrC,IAAI,CAAC,yEAAyE,EAAE,GAAG,EAAE;QACpF,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,MAAM,CACL,oBAAoB,CAAC,IAAI,EAAE;YAC1B,OAAO,EAAE,kBAAkB;YAC3B,GAAG,EAAE,sBAAsB;SAC3B,CAAC,CACF,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+DAA+D,EAAE,GAAG,EAAE;QAC1E,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,MAAM,CACL,oBAAoB,CAAC,IAAI,EAAE;YAC1B,OAAO,EAAE,oBAAoB;YAC7B,GAAG,EAAE,oBAAoB;SACzB,CAAC,CACF,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+CAA+C,EAAE,GAAG,EAAE;QAC1D,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,IAAI,CACvE,kBAAkB,CAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC/D,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC/B,MAAM,CACL,oBAAoB,CAAC,IAAI,EAAE;YAC1B,OAAO,EAAE,kBAAkB;YAC3B,GAAG,EAAE,sBAAsB;SAC3B,CAAC,CACF,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC3B,MAAM,CACL,oBAAoB,CAAC,SAAS,EAAE;YAC/B,OAAO,EAAE,kBAAkB;YAC3B,GAAG,EAAE,sBAAsB;SAC3B,CAAC,CACF,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|