@zoreal/oauth2-js 0.1.19 → 0.1.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +106 -89
- package/dist/index.cjs +1233 -978
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +20 -2
- package/dist/index.d.ts +20 -2
- package/dist/index.js +1232 -978
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -38,6 +38,7 @@ __export(index_exports, {
|
|
|
38
38
|
mountPairingModal: () => mountPairingModal,
|
|
39
39
|
pollUntilApproved: () => pollUntilApproved,
|
|
40
40
|
resolveIntent: () => resolveIntent,
|
|
41
|
+
resumeLogin: () => resumeLogin,
|
|
41
42
|
startLogin: () => startLogin,
|
|
42
43
|
startPairing: () => startPairing,
|
|
43
44
|
unsafeClaims: () => unsafeClaims
|
|
@@ -60,7 +61,7 @@ function unsafeClaims(idToken) {
|
|
|
60
61
|
|
|
61
62
|
// src/wire.ts
|
|
62
63
|
var WIRE_VERSION = 1;
|
|
63
|
-
var SDK_VERSION = "0.1.
|
|
64
|
+
var SDK_VERSION = "0.1.21";
|
|
64
65
|
var SDK_NAME = "@zoreal/oauth2-js";
|
|
65
66
|
var DEFAULT_ISSUER = "https://id.zoreal.com";
|
|
66
67
|
var POLL_INTERVAL_MS = 2e3;
|
|
@@ -228,949 +229,91 @@ function isMobileUserAgent() {
|
|
|
228
229
|
return /android|iphone|ipad|ipod/i.test(navigator.userAgent);
|
|
229
230
|
}
|
|
230
231
|
|
|
231
|
-
// src/
|
|
232
|
-
var
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
232
|
+
// src/styles.ts
|
|
233
|
+
var PREFIX = "zrl";
|
|
234
|
+
var cx = (name) => `${PREFIX}-${name}`;
|
|
235
|
+
var STYLE_ELEMENT_ID = "zoreal-pairing-styles";
|
|
236
|
+
var LIGHT = `
|
|
237
|
+
--zrl-scrim: rgba(16, 18, 27, 0.45);
|
|
238
|
+
--zrl-surface: #ffffff;
|
|
239
|
+
--zrl-surface-sunken: #f6f7f9;
|
|
240
|
+
--zrl-ink: #16181c;
|
|
241
|
+
--zrl-ink-soft: #4a4f57;
|
|
242
|
+
--zrl-ink-mute: #6b7078;
|
|
243
|
+
--zrl-line: #e4e6ea;
|
|
244
|
+
--zrl-line-soft: #eef0f3;
|
|
245
|
+
--zrl-accent: #00b4d9;
|
|
246
|
+
--zrl-accent-soft: #dcf3fa;
|
|
247
|
+
--zrl-accent-ink: #04698a;
|
|
248
|
+
--zrl-urgent: #b4761a;
|
|
249
|
+
--zrl-qr-bg: #ffffff;
|
|
250
|
+
--zrl-qr-filter: none;
|
|
251
|
+
--zrl-qr-spent-filter: blur(3px);
|
|
252
|
+
--zrl-qr-blend: normal;
|
|
253
|
+
--zrl-shadow: 0 1px 2px rgba(16, 18, 27, 0.06), 0 20px 50px -12px rgba(16, 18, 27, 0.3);
|
|
254
|
+
--zrl-ring: rgba(16, 18, 27, 0.07);
|
|
255
|
+
/* The light on the QR well's edge. Brand blue on both grounds, a lighter
|
|
256
|
+
tint at the head; only its strength is themed, see the dark block. */
|
|
257
|
+
--zrl-beam: #00b4d9;
|
|
258
|
+
--zrl-beam-head: #7fe0f4;
|
|
259
|
+
--zrl-beam-line: 2px;
|
|
260
|
+
--zrl-glow-core: 4px;
|
|
261
|
+
--zrl-glow-reach: 24px;
|
|
262
|
+
--zrl-glow-blur: 8px;
|
|
263
|
+
--zrl-glow-opacity: 0.6;
|
|
264
|
+
`;
|
|
265
|
+
var DARK = `
|
|
266
|
+
--zrl-scrim: rgba(0, 0, 0, 0.62);
|
|
267
|
+
--zrl-surface: #17191d;
|
|
268
|
+
--zrl-surface-sunken: #1f2226;
|
|
269
|
+
--zrl-ink: #f4f5f7;
|
|
270
|
+
--zrl-ink-soft: #b3b8c0;
|
|
271
|
+
--zrl-ink-mute: #8b9199;
|
|
272
|
+
--zrl-line: #2c3036;
|
|
273
|
+
--zrl-line-soft: #24272c;
|
|
274
|
+
--zrl-accent: #34c9e8;
|
|
275
|
+
--zrl-accent-soft: #0d3b47;
|
|
276
|
+
--zrl-accent-ink: #7fdcf0;
|
|
277
|
+
--zrl-urgent: #e0a952;
|
|
278
|
+
/* The code is drawn light on the dark surface: the panel is transparent
|
|
279
|
+
and the image is inverted and screened, so only the modules and the
|
|
280
|
+
mark show. */
|
|
281
|
+
--zrl-qr-bg: transparent;
|
|
282
|
+
--zrl-qr-filter: invert(1);
|
|
283
|
+
--zrl-qr-spent-filter: invert(1) blur(3px);
|
|
284
|
+
--zrl-qr-blend: screen;
|
|
285
|
+
--zrl-shadow: 0 1px 2px rgba(0, 0, 0, 0.4), 0 20px 50px -12px rgba(0, 0, 0, 0.65);
|
|
286
|
+
--zrl-ring: rgba(255, 255, 255, 0.1);
|
|
287
|
+
/* A glow that reads on a white card disappears on a dark one: the light
|
|
288
|
+
here is brighter and wider, and its halo reaches further out. */
|
|
289
|
+
--zrl-beam: #22c8ec;
|
|
290
|
+
--zrl-beam-head: #c2f3fc;
|
|
291
|
+
--zrl-beam-line: 3px;
|
|
292
|
+
--zrl-glow-core: 6px;
|
|
293
|
+
--zrl-glow-reach: 32px;
|
|
294
|
+
--zrl-glow-blur: 10px;
|
|
295
|
+
--zrl-glow-opacity: 0.85;
|
|
296
|
+
`;
|
|
297
|
+
var CSS = `
|
|
298
|
+
.${PREFIX}-root { ${LIGHT} }
|
|
299
|
+
.${PREFIX}-root[data-theme="dark"] { ${DARK} }
|
|
300
|
+
@media (prefers-color-scheme: dark) {
|
|
301
|
+
.${PREFIX}-root[data-theme="auto"] { ${DARK} }
|
|
240
302
|
}
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
bodyEnrolling: "Finish setting up ZOREAL ID on your phone, then approve the login.",
|
|
256
|
-
waiting: "Waiting for scan",
|
|
257
|
-
waitingApproval: "Waiting for approval",
|
|
258
|
-
expiresIn: "Expires in {time}",
|
|
259
|
-
secured: "Proof-of-Human verification by ZOREAL",
|
|
260
|
-
noIdTitle: "No ZOREAL ID yet?",
|
|
261
|
-
noIdBody: "Scan the same code to download the app and create one for free. It only takes a minute.",
|
|
262
|
-
cancel: "Cancel",
|
|
263
|
-
close: "Close",
|
|
264
|
-
qrAlt: "QR code to sign in with ZOREAL",
|
|
265
|
-
buttonContinue: "Continue with ZOREAL"
|
|
266
|
-
};
|
|
267
|
-
var TRANSLATIONS = {
|
|
268
|
-
en,
|
|
269
|
-
sv: {
|
|
270
|
-
title: "Skanna f\xF6r att logga in",
|
|
271
|
-
titleIdentify: "Skanna f\xF6r att verifiera din identitet",
|
|
272
|
-
titlePresence: "Skanna f\xF6r att bevisa att du \xE4r en riktig m\xE4nniska",
|
|
273
|
-
titleApprove: "Godk\xE4nn p\xE5 telefonen",
|
|
274
|
-
bodyScan: "Skanna med telefonens kamera eller ZOREAL ID-appen.",
|
|
275
|
-
bodyApprove: "Godk\xE4nn inloggningen i ZOREAL ID-appen.",
|
|
276
|
-
bodyEnrolling: "Slutf\xF6r konfigurationen av ZOREAL ID p\xE5 telefonen och godk\xE4nn sedan inloggningen.",
|
|
277
|
-
waiting: "V\xE4ntar p\xE5 skanning",
|
|
278
|
-
waitingApproval: "V\xE4ntar p\xE5 godk\xE4nnande",
|
|
279
|
-
expiresIn: "Upph\xF6r om {time}",
|
|
280
|
-
secured: "Proof-of-Human-verifiering av ZOREAL",
|
|
281
|
-
noIdTitle: "Har du inget ZOREAL ID?",
|
|
282
|
-
noIdBody: "Skanna samma kod f\xF6r att ladda ner appen och skapa ett gratis. Det tar bara en minut.",
|
|
283
|
-
cancel: "Avbryt",
|
|
284
|
-
close: "St\xE4ng",
|
|
285
|
-
qrAlt: "QR-kod f\xF6r att logga in med ZOREAL",
|
|
286
|
-
buttonContinue: "Forts\xE4tt med ZOREAL"
|
|
287
|
-
},
|
|
288
|
-
es: {
|
|
289
|
-
title: "Escanea para iniciar sesi\xF3n",
|
|
290
|
-
titleIdentify: "Escanea para verificar tu identidad",
|
|
291
|
-
titlePresence: "Escanea para demostrar que eres una persona real",
|
|
292
|
-
titleApprove: "Apru\xE9balo en tu tel\xE9fono",
|
|
293
|
-
bodyScan: "Escanea con la c\xE1mara de tu tel\xE9fono o con la app ZOREAL ID.",
|
|
294
|
-
bodyApprove: "Aprueba el inicio de sesi\xF3n en tu app ZOREAL ID.",
|
|
295
|
-
bodyEnrolling: "Termina de configurar ZOREAL ID en tu tel\xE9fono y luego aprueba el inicio de sesi\xF3n.",
|
|
296
|
-
waiting: "Esperando el escaneo",
|
|
297
|
-
waitingApproval: "Esperando aprobaci\xF3n",
|
|
298
|
-
expiresIn: "Caduca en {time}",
|
|
299
|
-
secured: "Verificaci\xF3n Proof-of-Human de ZOREAL",
|
|
300
|
-
noIdTitle: "\xBFA\xFAn no tienes ZOREAL ID?",
|
|
301
|
-
noIdBody: "Escanea el mismo c\xF3digo para descargar la app y crear una gratis. Solo toma un minuto.",
|
|
302
|
-
cancel: "Cancelar",
|
|
303
|
-
close: "Cerrar",
|
|
304
|
-
qrAlt: "C\xF3digo QR para iniciar sesi\xF3n con ZOREAL",
|
|
305
|
-
buttonContinue: "Continuar con ZOREAL"
|
|
306
|
-
},
|
|
307
|
-
pt: {
|
|
308
|
-
title: "Digitalize para entrar",
|
|
309
|
-
titleIdentify: "Digitalize para verificar a sua identidade",
|
|
310
|
-
titlePresence: "Digitalize para provar que \xE9 uma pessoa real",
|
|
311
|
-
titleApprove: "Aprove no seu telefone",
|
|
312
|
-
bodyScan: "Digitalize com a c\xE2mara do seu telefone ou com a app ZOREAL ID.",
|
|
313
|
-
bodyApprove: "Aprove o login no app ZOREAL ID.",
|
|
314
|
-
bodyEnrolling: "Termine de configurar o ZOREAL ID no seu telefone e depois aprove o login.",
|
|
315
|
-
waiting: "Aguardando digitaliza\xE7\xE3o",
|
|
316
|
-
waitingApproval: "Aguardando aprova\xE7\xE3o",
|
|
317
|
-
expiresIn: "Expira em {time}",
|
|
318
|
-
secured: "Verifica\xE7\xE3o Proof-of-Human da ZOREAL",
|
|
319
|
-
noIdTitle: "Ainda n\xE3o tem ZOREAL ID?",
|
|
320
|
-
noIdBody: "Digitalize o mesmo c\xF3digo para baixar o app e criar uma conta gr\xE1tis. Leva s\xF3 um minuto.",
|
|
321
|
-
cancel: "Cancelar",
|
|
322
|
-
close: "Fechar",
|
|
323
|
-
qrAlt: "C\xF3digo QR para entrar com ZOREAL",
|
|
324
|
-
buttonContinue: "Continuar com ZOREAL"
|
|
325
|
-
},
|
|
326
|
-
fr: {
|
|
327
|
-
title: "Scannez pour vous connecter",
|
|
328
|
-
titleIdentify: "Scannez pour v\xE9rifier votre identit\xE9",
|
|
329
|
-
titlePresence: "Scannez pour prouver que vous \xEAtes bien un humain",
|
|
330
|
-
titleApprove: "Approuvez sur votre t\xE9l\xE9phone",
|
|
331
|
-
bodyScan: "Scannez avec l'appareil photo de votre t\xE9l\xE9phone ou l'app ZOREAL ID.",
|
|
332
|
-
bodyApprove: "Approuvez la connexion dans votre app ZOREAL ID.",
|
|
333
|
-
bodyEnrolling: "Terminez la configuration de ZOREAL ID sur votre t\xE9l\xE9phone, puis approuvez la connexion.",
|
|
334
|
-
waiting: "En attente du scan",
|
|
335
|
-
waitingApproval: "En attente d'approbation",
|
|
336
|
-
expiresIn: "Expire dans {time}",
|
|
337
|
-
secured: "V\xE9rification Proof-of-Human par ZOREAL",
|
|
338
|
-
noIdTitle: "Pas encore de ZOREAL ID ?",
|
|
339
|
-
noIdBody: "Scannez le m\xEAme code pour t\xE9l\xE9charger l'app et en cr\xE9er un gratuitement. Cela prend une minute.",
|
|
340
|
-
cancel: "Annuler",
|
|
341
|
-
close: "Fermer",
|
|
342
|
-
qrAlt: "Code QR pour se connecter avec ZOREAL",
|
|
343
|
-
buttonContinue: "Continuer avec ZOREAL"
|
|
344
|
-
},
|
|
345
|
-
de: {
|
|
346
|
-
title: "Zum Anmelden scannen",
|
|
347
|
-
titleIdentify: "Scannen, um Ihre Identit\xE4t zu verifizieren",
|
|
348
|
-
titlePresence: "Scannen, um zu beweisen, dass Sie ein echter Mensch sind",
|
|
349
|
-
titleApprove: "Auf dem Handy best\xE4tigen",
|
|
350
|
-
bodyScan: "Mit der Handykamera oder der ZOREAL ID App scannen.",
|
|
351
|
-
bodyApprove: "Anmeldung in der ZOREAL ID App best\xE4tigen.",
|
|
352
|
-
bodyEnrolling: "ZOREAL ID auf dem Handy fertig einrichten und dann die Anmeldung best\xE4tigen.",
|
|
353
|
-
waiting: "Warten auf Scan",
|
|
354
|
-
waitingApproval: "Warten auf Best\xE4tigung",
|
|
355
|
-
expiresIn: "L\xE4uft ab in {time}",
|
|
356
|
-
secured: "Proof-of-Human-Verifizierung von ZOREAL",
|
|
357
|
-
noIdTitle: "Noch keine ZOREAL ID?",
|
|
358
|
-
noIdBody: "Denselben Code scannen, um die App zu laden und kostenlos eine zu erstellen. Dauert nur eine Minute.",
|
|
359
|
-
cancel: "Abbrechen",
|
|
360
|
-
close: "Schlie\xDFen",
|
|
361
|
-
qrAlt: "QR-Code f\xFCr die Anmeldung mit ZOREAL",
|
|
362
|
-
buttonContinue: "Weiter mit ZOREAL"
|
|
363
|
-
},
|
|
364
|
-
ru: {
|
|
365
|
-
title: "\u041E\u0442\u0441\u043A\u0430\u043D\u0438\u0440\u0443\u0439\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u0432\u043E\u0439\u0442\u0438",
|
|
366
|
-
titleIdentify: "\u041E\u0442\u0441\u043A\u0430\u043D\u0438\u0440\u0443\u0439\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C \u043B\u0438\u0447\u043D\u043E\u0441\u0442\u044C",
|
|
367
|
-
titlePresence: "\u041E\u0442\u0441\u043A\u0430\u043D\u0438\u0440\u0443\u0439\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u0434\u043E\u043A\u0430\u0437\u0430\u0442\u044C, \u0447\u0442\u043E \u0432\u044B \u0440\u0435\u0430\u043B\u044C\u043D\u044B\u0439 \u0447\u0435\u043B\u043E\u0432\u0435\u043A",
|
|
368
|
-
titleApprove: "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u043D\u0430 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0435",
|
|
369
|
-
bodyScan: "\u041E\u0442\u0441\u043A\u0430\u043D\u0438\u0440\u0443\u0439\u0442\u0435 \u043A\u0430\u043C\u0435\u0440\u043E\u0439 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u0438\u043B\u0438 \u0447\u0435\u0440\u0435\u0437 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 ZOREAL ID.",
|
|
370
|
-
bodyApprove: "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u0432\u0445\u043E\u0434 \u0432 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 ZOREAL ID.",
|
|
371
|
-
bodyEnrolling: "\u0417\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0443 ZOREAL ID \u043D\u0430 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0435, \u0437\u0430\u0442\u0435\u043C \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u0432\u0445\u043E\u0434.",
|
|
372
|
-
waiting: "\u041E\u0436\u0438\u0434\u0430\u043D\u0438\u0435 \u0441\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F",
|
|
373
|
-
waitingApproval: "\u041E\u0436\u0438\u0434\u0430\u043D\u0438\u0435 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F",
|
|
374
|
-
expiresIn: "\u0418\u0441\u0442\u0435\u043A\u0430\u0435\u0442 \u0447\u0435\u0440\u0435\u0437 {time}",
|
|
375
|
-
secured: "\u041F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 Proof-of-Human \u043E\u0442 ZOREAL",
|
|
376
|
-
noIdTitle: "\u0415\u0449\u0451 \u043D\u0435\u0442 ZOREAL ID?",
|
|
377
|
-
noIdBody: "\u041E\u0442\u0441\u043A\u0430\u043D\u0438\u0440\u0443\u0439\u0442\u0435 \u0442\u043E\u0442 \u0436\u0435 \u043A\u043E\u0434, \u0447\u0442\u043E\u0431\u044B \u0441\u043A\u0430\u0447\u0430\u0442\u044C \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0438 \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u0435\u0433\u043E \u0431\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E. \u042D\u0442\u043E \u0437\u0430\u0439\u043C\u0451\u0442 \u043C\u0438\u043D\u0443\u0442\u0443.",
|
|
378
|
-
cancel: "\u041E\u0442\u043C\u0435\u043D\u0430",
|
|
379
|
-
close: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C",
|
|
380
|
-
qrAlt: "QR-\u043A\u043E\u0434 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0430 \u0447\u0435\u0440\u0435\u0437 ZOREAL",
|
|
381
|
-
buttonContinue: "\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C \u0441 ZOREAL"
|
|
382
|
-
},
|
|
383
|
-
ja: {
|
|
384
|
-
title: "\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u30ED\u30B0\u30A4\u30F3",
|
|
385
|
-
titleIdentify: "\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u672C\u4EBA\u78BA\u8A8D",
|
|
386
|
-
titlePresence: "\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u5B9F\u5728\u306E\u4EBA\u7269\u3067\u3042\u308B\u3053\u3068\u3092\u8A3C\u660E",
|
|
387
|
-
titleApprove: "\u30B9\u30DE\u30FC\u30C8\u30D5\u30A9\u30F3\u3067\u627F\u8A8D",
|
|
388
|
-
bodyScan: "\u30B9\u30DE\u30FC\u30C8\u30D5\u30A9\u30F3\u306E\u30AB\u30E1\u30E9\u307E\u305F\u306FZOREAL ID\u30A2\u30D7\u30EA\u3067\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
389
|
-
bodyApprove: "ZOREAL ID\u30A2\u30D7\u30EA\u3067\u30ED\u30B0\u30A4\u30F3\u3092\u627F\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
390
|
-
bodyEnrolling: "\u30B9\u30DE\u30FC\u30C8\u30D5\u30A9\u30F3\u3067ZOREAL ID\u306E\u8A2D\u5B9A\u3092\u5B8C\u4E86\u3057\u3001\u30ED\u30B0\u30A4\u30F3\u3092\u627F\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
391
|
-
waiting: "\u30B9\u30AD\u30E3\u30F3\u5F85\u3061",
|
|
392
|
-
waitingApproval: "\u627F\u8A8D\u5F85\u3061",
|
|
393
|
-
expiresIn: "\u6709\u52B9\u671F\u9650\u307E\u3067 {time}",
|
|
394
|
-
secured: "ZOREAL\u306B\u3088\u308BProof-of-Human\u8A8D\u8A3C",
|
|
395
|
-
noIdTitle: "ZOREAL ID\u3092\u304A\u6301\u3061\u3067\u306A\u3044\u3067\u3059\u304B\uFF1F",
|
|
396
|
-
noIdBody: "\u540C\u3058\u30B3\u30FC\u30C9\u3092\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u30A2\u30D7\u30EA\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u3057\u3001\u7121\u6599\u3067\u4F5C\u6210\u3067\u304D\u307E\u3059\u30021\u5206\u307B\u3069\u3067\u5B8C\u4E86\u3057\u307E\u3059\u3002",
|
|
397
|
-
cancel: "\u30AD\u30E3\u30F3\u30BB\u30EB",
|
|
398
|
-
close: "\u9589\u3058\u308B",
|
|
399
|
-
qrAlt: "ZOREAL\u3067\u30ED\u30B0\u30A4\u30F3\u3059\u308B\u305F\u3081\u306EQR\u30B3\u30FC\u30C9",
|
|
400
|
-
buttonContinue: "ZOREAL\u3067\u7D9A\u884C"
|
|
401
|
-
},
|
|
402
|
-
hi: {
|
|
403
|
-
title: "\u0938\u093E\u0907\u0928 \u0907\u0928 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F \u0938\u094D\u0915\u0948\u0928 \u0915\u0930\u0947\u0902",
|
|
404
|
-
titleIdentify: "\u0905\u092A\u0928\u0940 \u092A\u0939\u091A\u093E\u0928 \u0938\u0924\u094D\u092F\u093E\u092A\u093F\u0924 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F \u0938\u094D\u0915\u0948\u0928 \u0915\u0930\u0947\u0902",
|
|
405
|
-
titlePresence: "\u092F\u0939 \u0938\u093E\u092C\u093F\u0924 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F \u0938\u094D\u0915\u0948\u0928 \u0915\u0930\u0947\u0902 \u0915\u093F \u0906\u092A \u090F\u0915 \u0935\u093E\u0938\u094D\u0924\u0935\u093F\u0915 \u0907\u0902\u0938\u093E\u0928 \u0939\u0948\u0902",
|
|
406
|
-
titleApprove: "\u0905\u092A\u0928\u0947 \u092B\u094B\u0928 \u092A\u0930 \u0938\u094D\u0935\u0940\u0915\u0943\u0924 \u0915\u0930\u0947\u0902",
|
|
407
|
-
bodyScan: "\u0905\u092A\u0928\u0947 \u092B\u094B\u0928 \u0915\u0947 \u0915\u0948\u092E\u0930\u0947 \u092F\u093E ZOREAL ID \u0910\u092A \u0938\u0947 \u0938\u094D\u0915\u0948\u0928 \u0915\u0930\u0947\u0902\u0964",
|
|
408
|
-
bodyApprove: "\u0905\u092A\u0928\u0947 ZOREAL ID \u0910\u092A \u092E\u0947\u0902 \u0932\u0949\u0917\u093F\u0928 \u0938\u094D\u0935\u0940\u0915\u0943\u0924 \u0915\u0930\u0947\u0902\u0964",
|
|
409
|
-
bodyEnrolling: "\u0905\u092A\u0928\u0947 \u092B\u094B\u0928 \u092A\u0930 ZOREAL ID \u0938\u0947\u091F\u0905\u092A \u092A\u0942\u0930\u093E \u0915\u0930\u0947\u0902, \u092B\u093F\u0930 \u0932\u0949\u0917\u093F\u0928 \u0938\u094D\u0935\u0940\u0915\u0943\u0924 \u0915\u0930\u0947\u0902\u0964",
|
|
410
|
-
waiting: "\u0938\u094D\u0915\u0948\u0928 \u0915\u0940 \u092A\u094D\u0930\u0924\u0940\u0915\u094D\u0937\u093E \u0939\u0948",
|
|
411
|
-
waitingApproval: "\u0938\u094D\u0935\u0940\u0915\u0943\u0924\u093F \u0915\u0940 \u092A\u094D\u0930\u0924\u0940\u0915\u094D\u0937\u093E \u0939\u0948",
|
|
412
|
-
expiresIn: "{time} \u092E\u0947\u0902 \u0938\u092E\u093E\u092A\u094D\u0924",
|
|
413
|
-
secured: "ZOREAL \u0926\u094D\u0935\u093E\u0930\u093E Proof-of-Human \u0938\u0924\u094D\u092F\u093E\u092A\u0928",
|
|
414
|
-
noIdTitle: "\u0905\u092D\u0940 \u0924\u0915 ZOREAL ID \u0928\u0939\u0940\u0902 \u0939\u0948?",
|
|
415
|
-
noIdBody: "\u0910\u092A \u0921\u093E\u0909\u0928\u0932\u094B\u0921 \u0915\u0930\u0928\u0947 \u0914\u0930 \u092E\u0941\u092B\u094D\u0924 \u092E\u0947\u0902 \u090F\u0915 \u092C\u0928\u093E\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F \u0935\u0939\u0940 \u0915\u094B\u0921 \u0938\u094D\u0915\u0948\u0928 \u0915\u0930\u0947\u0902\u0964 \u0907\u0938\u092E\u0947\u0902 \u092C\u0938 \u090F\u0915 \u092E\u093F\u0928\u091F \u0932\u0917\u0924\u093E \u0939\u0948\u0964",
|
|
416
|
-
cancel: "\u0930\u0926\u094D\u0926 \u0915\u0930\u0947\u0902",
|
|
417
|
-
close: "\u092C\u0902\u0926 \u0915\u0930\u0947\u0902",
|
|
418
|
-
qrAlt: "ZOREAL \u0938\u0947 \u0938\u093E\u0907\u0928 \u0907\u0928 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F QR \u0915\u094B\u0921",
|
|
419
|
-
buttonContinue: "ZOREAL \u0915\u0947 \u0938\u093E\u0925 \u091C\u093E\u0930\u0940 \u0930\u0916\u0947\u0902"
|
|
420
|
-
},
|
|
421
|
-
zhs: {
|
|
422
|
-
title: "\u626B\u7801\u767B\u5F55",
|
|
423
|
-
titleIdentify: "\u626B\u7801\u9A8C\u8BC1\u8EAB\u4EFD",
|
|
424
|
-
titlePresence: "\u626B\u7801\u8BC1\u660E\u60A8\u662F\u771F\u4EBA",
|
|
425
|
-
titleApprove: "\u5728\u624B\u673A\u4E0A\u6279\u51C6",
|
|
426
|
-
bodyScan: "\u4F7F\u7528\u624B\u673A\u76F8\u673A\u6216 ZOREAL ID \u5E94\u7528\u626B\u63CF\u3002",
|
|
427
|
-
bodyApprove: "\u8BF7\u5728 ZOREAL ID \u5E94\u7528\u4E2D\u6279\u51C6\u767B\u5F55\u3002",
|
|
428
|
-
bodyEnrolling: "\u8BF7\u5728\u624B\u673A\u4E0A\u5B8C\u6210 ZOREAL ID \u8BBE\u7F6E\uFF0C\u7136\u540E\u6279\u51C6\u767B\u5F55\u3002",
|
|
429
|
-
waiting: "\u7B49\u5F85\u626B\u63CF",
|
|
430
|
-
waitingApproval: "\u7B49\u5F85\u6279\u51C6",
|
|
431
|
-
expiresIn: "{time} \u540E\u5931\u6548",
|
|
432
|
-
secured: "\u7531 ZOREAL \u63D0\u4F9B\u7684 Proof-of-Human \u9A8C\u8BC1",
|
|
433
|
-
noIdTitle: "\u8FD8\u6CA1\u6709 ZOREAL ID\uFF1F",
|
|
434
|
-
noIdBody: "\u626B\u63CF\u540C\u4E00\u4E2A\u4E8C\u7EF4\u7801\u5373\u53EF\u4E0B\u8F7D\u5E94\u7528\u5E76\u514D\u8D39\u521B\u5EFA\uFF0C\u53EA\u9700\u4E00\u5206\u949F\u3002",
|
|
435
|
-
cancel: "\u53D6\u6D88",
|
|
436
|
-
close: "\u5173\u95ED",
|
|
437
|
-
qrAlt: "\u4F7F\u7528 ZOREAL \u767B\u5F55\u7684\u4E8C\u7EF4\u7801",
|
|
438
|
-
buttonContinue: "\u4F7F\u7528 ZOREAL \u7EE7\u7EED"
|
|
439
|
-
},
|
|
440
|
-
zht: {
|
|
441
|
-
title: "\u6383\u78BC\u767B\u5165",
|
|
442
|
-
titleIdentify: "\u6383\u78BC\u9A57\u8B49\u8EAB\u5206",
|
|
443
|
-
titlePresence: "\u6383\u78BC\u8B49\u660E\u60A8\u662F\u771F\u4EBA",
|
|
444
|
-
titleApprove: "\u5728\u624B\u6A5F\u4E0A\u6838\u51C6",
|
|
445
|
-
bodyScan: "\u4F7F\u7528\u624B\u6A5F\u76F8\u6A5F\u6216 ZOREAL ID \u61C9\u7528\u7A0B\u5F0F\u6383\u63CF\u3002",
|
|
446
|
-
bodyApprove: "\u8ACB\u5728 ZOREAL ID \u61C9\u7528\u7A0B\u5F0F\u4E2D\u6838\u51C6\u767B\u5165\u3002",
|
|
447
|
-
bodyEnrolling: "\u8ACB\u5728\u624B\u6A5F\u4E0A\u5B8C\u6210 ZOREAL ID \u8A2D\u5B9A\uFF0C\u7136\u5F8C\u6838\u51C6\u767B\u5165\u3002",
|
|
448
|
-
waiting: "\u7B49\u5F85\u6383\u63CF",
|
|
449
|
-
waitingApproval: "\u7B49\u5F85\u6838\u51C6",
|
|
450
|
-
expiresIn: "{time} \u5F8C\u5931\u6548",
|
|
451
|
-
secured: "\u7531 ZOREAL \u63D0\u4F9B\u7684 Proof-of-Human \u9A57\u8B49",
|
|
452
|
-
noIdTitle: "\u9084\u6C92\u6709 ZOREAL ID\uFF1F",
|
|
453
|
-
noIdBody: "\u6383\u63CF\u540C\u4E00\u500B QR code \u5373\u53EF\u4E0B\u8F09\u61C9\u7528\u7A0B\u5F0F\u4E26\u514D\u8CBB\u5EFA\u7ACB\uFF0C\u53EA\u9700\u4E00\u5206\u9418\u3002",
|
|
454
|
-
cancel: "\u53D6\u6D88",
|
|
455
|
-
close: "\u95DC\u9589",
|
|
456
|
-
qrAlt: "\u4F7F\u7528 ZOREAL \u767B\u5165\u7684 QR code",
|
|
457
|
-
buttonContinue: "\u4F7F\u7528 ZOREAL \u7E7C\u7E8C"
|
|
458
|
-
},
|
|
459
|
-
ar: {
|
|
460
|
-
title: "\u0627\u0645\u0633\u062D \u0644\u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644",
|
|
461
|
-
titleIdentify: "\u0627\u0645\u0633\u062D \u0644\u0644\u062A\u062D\u0642\u0642 \u0645\u0646 \u0647\u0648\u064A\u062A\u0643",
|
|
462
|
-
titlePresence: "\u0627\u0645\u0633\u062D \u0644\u0625\u062B\u0628\u0627\u062A \u0623\u0646\u0643 \u0625\u0646\u0633\u0627\u0646 \u062D\u0642\u064A\u0642\u064A",
|
|
463
|
-
titleApprove: "\u0648\u0627\u0641\u0642 \u0639\u0644\u0649 \u0647\u0627\u062A\u0641\u0643",
|
|
464
|
-
bodyScan: "\u0627\u0645\u0633\u062D \u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0643\u0627\u0645\u064A\u0631\u0627 \u0647\u0627\u062A\u0641\u0643 \u0623\u0648 \u062A\u0637\u0628\u064A\u0642 ZOREAL ID.",
|
|
465
|
-
bodyApprove: "\u0648\u0627\u0641\u0642 \u0639\u0644\u0649 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644 \u0641\u064A \u062A\u0637\u0628\u064A\u0642 ZOREAL ID.",
|
|
466
|
-
bodyEnrolling: "\u0623\u0643\u0645\u0644 \u0625\u0639\u062F\u0627\u062F ZOREAL ID \u0639\u0644\u0649 \u0647\u0627\u062A\u0641\u0643\u060C \u062B\u0645 \u0648\u0627\u0641\u0642 \u0639\u0644\u0649 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644.",
|
|
467
|
-
waiting: "\u0641\u064A \u0627\u0646\u062A\u0638\u0627\u0631 \u0627\u0644\u0645\u0633\u062D",
|
|
468
|
-
waitingApproval: "\u0641\u064A \u0627\u0646\u062A\u0638\u0627\u0631 \u0627\u0644\u0645\u0648\u0627\u0641\u0642\u0629",
|
|
469
|
-
expiresIn: "\u062A\u0646\u062A\u0647\u064A \u0627\u0644\u0635\u0644\u0627\u062D\u064A\u0629 \u062E\u0644\u0627\u0644 {time}",
|
|
470
|
-
secured: "\u0627\u0644\u062A\u062D\u0642\u0642 \u0645\u0646 Proof-of-Human \u0628\u0648\u0627\u0633\u0637\u0629 ZOREAL",
|
|
471
|
-
noIdTitle: "\u0644\u064A\u0633 \u0644\u062F\u064A\u0643 ZOREAL ID \u0628\u0639\u062F\u061F",
|
|
472
|
-
noIdBody: "\u0627\u0645\u0633\u062D \u0627\u0644\u0631\u0645\u0632 \u0646\u0641\u0633\u0647 \u0644\u062A\u0646\u0632\u064A\u0644 \u0627\u0644\u062A\u0637\u0628\u064A\u0642 \u0648\u0625\u0646\u0634\u0627\u0621 \u062D\u0633\u0627\u0628 \u0645\u062C\u0627\u0646\u064A. \u064A\u0633\u062A\u063A\u0631\u0642 \u0627\u0644\u0623\u0645\u0631 \u062F\u0642\u064A\u0642\u0629 \u0648\u0627\u062D\u062F\u0629 \u0641\u0642\u0637.",
|
|
473
|
-
cancel: "\u0625\u0644\u063A\u0627\u0621",
|
|
474
|
-
close: "\u0625\u063A\u0644\u0627\u0642",
|
|
475
|
-
qrAlt: "\u0631\u0645\u0632 QR \u0644\u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644 \u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645 ZOREAL",
|
|
476
|
-
buttonContinue: "\u0627\u0644\u0645\u062A\u0627\u0628\u0639\u0629 \u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645 ZOREAL"
|
|
477
|
-
},
|
|
478
|
-
ko: {
|
|
479
|
-
title: "\uC2A4\uCE94\uD558\uC5EC \uB85C\uADF8\uC778",
|
|
480
|
-
titleIdentify: "\uC2A4\uCE94\uD558\uC5EC \uC2E0\uC6D0 \uD655\uC778",
|
|
481
|
-
titlePresence: "\uC2A4\uCE94\uD558\uC5EC \uC2E4\uC81C \uC0AC\uB78C\uC784\uC744 \uC99D\uBA85",
|
|
482
|
-
titleApprove: "\uD734\uB300\uD3F0\uC5D0\uC11C \uC2B9\uC778",
|
|
483
|
-
bodyScan: "\uD734\uB300\uD3F0 \uCE74\uBA54\uB77C \uB610\uB294 ZOREAL ID \uC571\uC73C\uB85C \uC2A4\uCE94\uD558\uC138\uC694.",
|
|
484
|
-
bodyApprove: "ZOREAL ID \uC571\uC5D0\uC11C \uB85C\uADF8\uC778\uC744 \uC2B9\uC778\uD558\uC138\uC694.",
|
|
485
|
-
bodyEnrolling: "\uD734\uB300\uD3F0\uC5D0\uC11C ZOREAL ID \uC124\uC815\uC744 \uC644\uB8CC\uD55C \uD6C4 \uB85C\uADF8\uC778\uC744 \uC2B9\uC778\uD558\uC138\uC694.",
|
|
486
|
-
waiting: "\uC2A4\uCE94 \uB300\uAE30 \uC911",
|
|
487
|
-
waitingApproval: "\uC2B9\uC778 \uB300\uAE30 \uC911",
|
|
488
|
-
expiresIn: "{time} \uD6C4 \uB9CC\uB8CC",
|
|
489
|
-
secured: "ZOREAL\uC758 Proof-of-Human \uC778\uC99D",
|
|
490
|
-
noIdTitle: "\uC544\uC9C1 ZOREAL ID\uAC00 \uC5C6\uC73C\uC2E0\uAC00\uC694?",
|
|
491
|
-
noIdBody: "\uAC19\uC740 \uCF54\uB4DC\uB97C \uC2A4\uCE94\uD574 \uC571\uC744 \uB0B4\uB824\uBC1B\uACE0 \uBB34\uB8CC\uB85C \uB9CC\uB4DC\uC138\uC694. 1\uBD84\uC774\uBA74 \uB429\uB2C8\uB2E4.",
|
|
492
|
-
cancel: "\uCDE8\uC18C",
|
|
493
|
-
close: "\uB2EB\uAE30",
|
|
494
|
-
qrAlt: "ZOREAL\uB85C \uB85C\uADF8\uC778\uD558\uAE30 \uC704\uD55C QR \uCF54\uB4DC",
|
|
495
|
-
buttonContinue: "ZOREAL\uB85C \uACC4\uC18D"
|
|
496
|
-
},
|
|
497
|
-
// Български
|
|
498
|
-
bg: {
|
|
499
|
-
title: "\u0421\u043A\u0430\u043D\u0438\u0440\u0430\u0439\u0442\u0435 \u0437\u0430 \u0432\u0445\u043E\u0434",
|
|
500
|
-
titleIdentify: "\u0421\u043A\u0430\u043D\u0438\u0440\u0430\u0439\u0442\u0435, \u0437\u0430 \u0434\u0430 \u043F\u043E\u0442\u0432\u044A\u0440\u0434\u0438\u0442\u0435 \u0441\u0430\u043C\u043E\u043B\u0438\u0447\u043D\u043E\u0441\u0442\u0442\u0430 \u0441\u0438",
|
|
501
|
-
titlePresence: "\u0421\u043A\u0430\u043D\u0438\u0440\u0430\u0439\u0442\u0435, \u0437\u0430 \u0434\u0430 \u0434\u043E\u043A\u0430\u0436\u0435\u0442\u0435, \u0447\u0435 \u0441\u0442\u0435 \u0438\u0441\u0442\u0438\u043D\u0441\u043A\u0438 \u0447\u043E\u0432\u0435\u043A",
|
|
502
|
-
titleApprove: "\u041F\u043E\u0442\u0432\u044A\u0440\u0434\u0435\u0442\u0435 \u043D\u0430 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u0441\u0438",
|
|
503
|
-
bodyScan: "\u0421\u043A\u0430\u043D\u0438\u0440\u0430\u0439\u0442\u0435 \u0441 \u043A\u0430\u043C\u0435\u0440\u0430\u0442\u0430 \u043D\u0430 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u0438\u043B\u0438 \u0441 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435\u0442\u043E ZOREAL ID.",
|
|
504
|
-
bodyApprove: "\u041F\u043E\u0442\u0432\u044A\u0440\u0434\u0435\u0442\u0435 \u0432\u0445\u043E\u0434\u0430 \u0432 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435\u0442\u043E ZOREAL ID.",
|
|
505
|
-
bodyEnrolling: "\u0414\u043E\u0432\u044A\u0440\u0448\u0435\u0442\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430\u0442\u0430 \u043D\u0430 ZOREAL ID \u043D\u0430 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u0441\u0438, \u0441\u043B\u0435\u0434 \u043A\u043E\u0435\u0442\u043E \u043F\u043E\u0442\u0432\u044A\u0440\u0434\u0435\u0442\u0435 \u0432\u0445\u043E\u0434\u0430.",
|
|
506
|
-
waiting: "\u0418\u0437\u0447\u0430\u043A\u0432\u0430\u043D\u0435 \u043D\u0430 \u0441\u043A\u0430\u043D\u0438\u0440\u0430\u043D\u0435",
|
|
507
|
-
waitingApproval: "\u0418\u0437\u0447\u0430\u043A\u0432\u0430\u043D\u0435 \u043D\u0430 \u043F\u043E\u0442\u0432\u044A\u0440\u0436\u0434\u0435\u043D\u0438\u0435",
|
|
508
|
-
expiresIn: "\u0418\u0437\u0442\u0438\u0447\u0430 \u0441\u043B\u0435\u0434 {time}",
|
|
509
|
-
secured: "\u041F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 Proof-of-Human \u043E\u0442 ZOREAL",
|
|
510
|
-
noIdTitle: "\u0412\u0441\u0435 \u043E\u0449\u0435 \u043D\u044F\u043C\u0430\u0442\u0435 ZOREAL ID?",
|
|
511
|
-
noIdBody: "\u0421\u043A\u0430\u043D\u0438\u0440\u0430\u0439\u0442\u0435 \u0441\u044A\u0449\u0438\u044F \u043A\u043E\u0434, \u0437\u0430 \u0434\u0430 \u0438\u0437\u0442\u0435\u0433\u043B\u0438\u0442\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435\u0442\u043E \u0438 \u0434\u0430 \u0441\u0438 \u0441\u044A\u0437\u0434\u0430\u0434\u0435\u0442\u0435 \u0431\u0435\u0437\u043F\u043B\u0430\u0442\u0435\u043D \u0430\u043A\u0430\u0443\u043D\u0442. \u041E\u0442\u043D\u0435\u043C\u0430 \u0441\u0430\u043C\u043E \u043C\u0438\u043D\u0443\u0442\u0430.",
|
|
512
|
-
cancel: "\u041E\u0442\u043A\u0430\u0437",
|
|
513
|
-
close: "\u0417\u0430\u0442\u0432\u043E\u0440\u0438",
|
|
514
|
-
qrAlt: "QR \u043A\u043E\u0434 \u0437\u0430 \u0432\u0445\u043E\u0434 \u0441\u044A\u0441 ZOREAL",
|
|
515
|
-
buttonContinue: "\u041F\u0440\u043E\u0434\u044A\u043B\u0436\u0438 \u0441\u044A\u0441 ZOREAL"
|
|
516
|
-
},
|
|
517
|
-
// বাংলা
|
|
518
|
-
bn: {
|
|
519
|
-
title: "\u09B8\u09BE\u0987\u09A8 \u0987\u09A8 \u0995\u09B0\u09A4\u09C7 \u09B8\u09CD\u0995\u09CD\u09AF\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8",
|
|
520
|
-
titleIdentify: "\u0986\u09AA\u09A8\u09BE\u09B0 \u09AA\u09B0\u09BF\u099A\u09AF\u09BC \u09AF\u09BE\u099A\u09BE\u0987 \u0995\u09B0\u09A4\u09C7 \u09B8\u09CD\u0995\u09CD\u09AF\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8",
|
|
521
|
-
titlePresence: "\u0986\u09AA\u09A8\u09BF \u098F\u0995\u099C\u09A8 \u09AA\u09CD\u09B0\u0995\u09C3\u09A4 \u09AE\u09BE\u09A8\u09C1\u09B7 \u09A4\u09BE \u09AA\u09CD\u09B0\u09AE\u09BE\u09A3 \u0995\u09B0\u09A4\u09C7 \u09B8\u09CD\u0995\u09CD\u09AF\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8",
|
|
522
|
-
titleApprove: "\u0986\u09AA\u09A8\u09BE\u09B0 \u09AB\u09CB\u09A8\u09C7 \u0985\u09A8\u09C1\u09AE\u09CB\u09A6\u09A8 \u0995\u09B0\u09C1\u09A8",
|
|
523
|
-
bodyScan: "\u0986\u09AA\u09A8\u09BE\u09B0 \u09AB\u09CB\u09A8\u09C7\u09B0 \u0995\u09CD\u09AF\u09BE\u09AE\u09C7\u09B0\u09BE \u09AC\u09BE ZOREAL ID \u0985\u09CD\u09AF\u09BE\u09AA \u09A6\u09BF\u09AF\u09BC\u09C7 \u09B8\u09CD\u0995\u09CD\u09AF\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8\u0964",
|
|
524
|
-
bodyApprove: "\u0986\u09AA\u09A8\u09BE\u09B0 ZOREAL ID \u0985\u09CD\u09AF\u09BE\u09AA\u09C7 \u09B2\u0997\u0987\u09A8 \u0985\u09A8\u09C1\u09AE\u09CB\u09A6\u09A8 \u0995\u09B0\u09C1\u09A8\u0964",
|
|
525
|
-
bodyEnrolling: "\u0986\u09AA\u09A8\u09BE\u09B0 \u09AB\u09CB\u09A8\u09C7 ZOREAL ID \u09B8\u09C7\u099F\u0986\u09AA \u09B8\u09AE\u09CD\u09AA\u09C2\u09B0\u09CD\u09A3 \u0995\u09B0\u09C1\u09A8, \u09A4\u09BE\u09B0\u09AA\u09B0 \u09B2\u0997\u0987\u09A8 \u0985\u09A8\u09C1\u09AE\u09CB\u09A6\u09A8 \u0995\u09B0\u09C1\u09A8\u0964",
|
|
526
|
-
waiting: "\u09B8\u09CD\u0995\u09CD\u09AF\u09BE\u09A8\u09C7\u09B0 \u0985\u09AA\u09C7\u0995\u09CD\u09B7\u09BE\u09AF\u09BC",
|
|
527
|
-
waitingApproval: "\u0985\u09A8\u09C1\u09AE\u09CB\u09A6\u09A8\u09C7\u09B0 \u0985\u09AA\u09C7\u0995\u09CD\u09B7\u09BE\u09AF\u09BC",
|
|
528
|
-
expiresIn: "{time} \u09AA\u09B0\u09C7 \u09AE\u09C7\u09AF\u09BC\u09BE\u09A6 \u09B6\u09C7\u09B7 \u09B9\u09AC\u09C7",
|
|
529
|
-
secured: "ZOREAL \u09A6\u09CD\u09AC\u09BE\u09B0\u09BE Proof-of-Human \u09AF\u09BE\u099A\u09BE\u0987\u0995\u09B0\u09A3",
|
|
530
|
-
noIdTitle: "\u098F\u0996\u09A8\u09CB ZOREAL ID \u09A8\u09C7\u0987?",
|
|
531
|
-
noIdBody: "\u0985\u09CD\u09AF\u09BE\u09AA \u09A1\u09BE\u0989\u09A8\u09B2\u09CB\u09A1 \u0995\u09B0\u09C7 \u09AC\u09BF\u09A8\u09BE\u09AE\u09C2\u09B2\u09CD\u09AF\u09C7 \u098F\u0995\u099F\u09BF \u09A4\u09C8\u09B0\u09BF \u0995\u09B0\u09A4\u09C7 \u098F\u0995\u0987 \u0995\u09CB\u09A1 \u09B8\u09CD\u0995\u09CD\u09AF\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8\u0964 \u098F\u09A4\u09C7 \u09AE\u09BE\u09A4\u09CD\u09B0 \u098F\u0995 \u09AE\u09BF\u09A8\u09BF\u099F \u09B8\u09AE\u09AF\u09BC \u09B2\u09BE\u0997\u09C7\u0964",
|
|
532
|
-
cancel: "\u09AC\u09BE\u09A4\u09BF\u09B2",
|
|
533
|
-
close: "\u09AC\u09A8\u09CD\u09A7",
|
|
534
|
-
qrAlt: "ZOREAL \u09A6\u09BF\u09AF\u09BC\u09C7 \u09B8\u09BE\u0987\u09A8 \u0987\u09A8 \u0995\u09B0\u09BE\u09B0 \u099C\u09A8\u09CD\u09AF QR \u0995\u09CB\u09A1",
|
|
535
|
-
buttonContinue: "ZOREAL \u09A6\u09BF\u09AF\u09BC\u09C7 \u099A\u09BE\u09B2\u09BF\u09AF\u09BC\u09C7 \u09AF\u09BE\u09A8"
|
|
536
|
-
},
|
|
537
|
-
// Bosanski
|
|
538
|
-
bs: {
|
|
539
|
-
title: "Skenirajte za prijavu",
|
|
540
|
-
titleIdentify: "Skenirajte da potvrdite svoj identitet",
|
|
541
|
-
titlePresence: "Skenirajte da doka\u017Eete da ste stvarna osoba",
|
|
542
|
-
titleApprove: "Odobrite na svom telefonu",
|
|
543
|
-
bodyScan: "Skenirajte kamerom svog telefona ili aplikacijom ZOREAL ID.",
|
|
544
|
-
bodyApprove: "Odobrite prijavu u aplikaciji ZOREAL ID.",
|
|
545
|
-
bodyEnrolling: "Zavr\u0161ite pode\u0161avanje ZOREAL ID-a na svom telefonu, a zatim odobrite prijavu.",
|
|
546
|
-
waiting: "\u010Ceka se skeniranje",
|
|
547
|
-
waitingApproval: "\u010Ceka se odobrenje",
|
|
548
|
-
expiresIn: "Isti\u010De za {time}",
|
|
549
|
-
secured: "ZOREAL Proof-of-Human verifikacija",
|
|
550
|
-
noIdTitle: "Nemate ZOREAL ID?",
|
|
551
|
-
noIdBody: "Skenirajte isti kod da preuzmete aplikaciju i besplatno ga napravite. Traje samo minutu.",
|
|
552
|
-
cancel: "Otka\u017Ei",
|
|
553
|
-
close: "Zatvori",
|
|
554
|
-
qrAlt: "QR kod za prijavu putem ZOREAL-a",
|
|
555
|
-
buttonContinue: "Nastavi sa ZOREAL-om"
|
|
556
|
-
},
|
|
557
|
-
// Čeština
|
|
558
|
-
cs: {
|
|
559
|
-
title: "P\u0159ihlaste se naskenov\xE1n\xEDm",
|
|
560
|
-
titleIdentify: "Naskenujte pro ov\u011B\u0159en\xED toto\u017Enosti",
|
|
561
|
-
titlePresence: "Naskenujte a proka\u017Ete, \u017Ee jste skute\u010Dn\xFD \u010Dlov\u011Bk",
|
|
562
|
-
titleApprove: "Potvr\u010Fte v telefonu",
|
|
563
|
-
bodyScan: "Naskenujte fotoapar\xE1tem telefonu nebo aplikac\xED ZOREAL ID.",
|
|
564
|
-
bodyApprove: "Potvr\u010Fte p\u0159ihl\xE1\u0161en\xED v aplikaci ZOREAL ID.",
|
|
565
|
-
bodyEnrolling: "Dokon\u010Dete nastaven\xED ZOREAL ID v telefonu a pot\xE9 potvr\u010Fte p\u0159ihl\xE1\u0161en\xED.",
|
|
566
|
-
waiting: "\u010Cek\xE1n\xED na naskenov\xE1n\xED",
|
|
567
|
-
waitingApproval: "\u010Cek\xE1n\xED na potvrzen\xED",
|
|
568
|
-
expiresIn: "Vypr\u0161\xED za {time}",
|
|
569
|
-
secured: "Ov\u011B\u0159en\xED Proof-of-Human od ZOREAL",
|
|
570
|
-
noIdTitle: "Je\u0161t\u011B nem\xE1te ZOREAL ID?",
|
|
571
|
-
noIdBody: "Naskenov\xE1n\xEDm stejn\xE9ho k\xF3du si st\xE1hnete aplikaci a zdarma vytvo\u0159\xEDte ZOREAL ID. Zabere to jen minutu.",
|
|
572
|
-
cancel: "Zru\u0161it",
|
|
573
|
-
close: "Zav\u0159\xEDt",
|
|
574
|
-
qrAlt: "QR k\xF3d pro p\u0159ihl\xE1\u0161en\xED pomoc\xED ZOREAL",
|
|
575
|
-
buttonContinue: "Pokra\u010Dovat se ZOREAL"
|
|
576
|
-
},
|
|
577
|
-
// Dansk
|
|
578
|
-
da: {
|
|
579
|
-
title: "Scan for at logge ind",
|
|
580
|
-
titleIdentify: "Scan for at bekr\xE6fte din identitet",
|
|
581
|
-
titlePresence: "Scan for at bevise, at du er et rigtigt menneske",
|
|
582
|
-
titleApprove: "Godkend p\xE5 din telefon",
|
|
583
|
-
bodyScan: "Scan med telefonens kamera eller ZOREAL ID-appen.",
|
|
584
|
-
bodyApprove: "Godkend login i din ZOREAL ID-app.",
|
|
585
|
-
bodyEnrolling: "F\xE6rdigg\xF8r ops\xE6tningen af ZOREAL ID p\xE5 din telefon, og godkend derefter login.",
|
|
586
|
-
waiting: "Venter p\xE5 scanning",
|
|
587
|
-
waitingApproval: "Venter p\xE5 godkendelse",
|
|
588
|
-
expiresIn: "Udl\xF8ber om {time}",
|
|
589
|
-
secured: "Proof-of-Human-verificering af ZOREAL",
|
|
590
|
-
noIdTitle: "Har du ikke et ZOREAL ID endnu?",
|
|
591
|
-
noIdBody: "Scan den samme kode for at hente appen og oprette et gratis. Det tager kun et minut.",
|
|
592
|
-
cancel: "Annuller",
|
|
593
|
-
close: "Luk",
|
|
594
|
-
qrAlt: "QR-kode til at logge ind med ZOREAL",
|
|
595
|
-
buttonContinue: "Forts\xE6t med ZOREAL"
|
|
596
|
-
},
|
|
597
|
-
// Ελληνικά
|
|
598
|
-
el: {
|
|
599
|
-
title: "\u03A3\u03AC\u03C1\u03C9\u03C3\u03B7 \u03B3\u03B9\u03B1 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7",
|
|
600
|
-
titleIdentify: "\u03A3\u03AC\u03C1\u03C9\u03C3\u03B7 \u03B3\u03B9\u03B1 \u03B5\u03C0\u03B1\u03BB\u03AE\u03B8\u03B5\u03C5\u03C3\u03B7 \u03C4\u03B1\u03C5\u03C4\u03CC\u03C4\u03B7\u03C4\u03B1\u03C2",
|
|
601
|
-
titlePresence: "\u03A3\u03AC\u03C1\u03C9\u03C3\u03B7 \u03B3\u03B9\u03B1 \u03BD\u03B1 \u03B1\u03C0\u03BF\u03B4\u03B5\u03AF\u03BE\u03B5\u03C4\u03B5 \u03CC\u03C4\u03B9 \u03B5\u03AF\u03C3\u03C4\u03B5 \u03C0\u03C1\u03B1\u03B3\u03BC\u03B1\u03C4\u03B9\u03BA\u03CC\u03C2 \u03AC\u03BD\u03B8\u03C1\u03C9\u03C0\u03BF\u03C2",
|
|
602
|
-
titleApprove: "\u0388\u03B3\u03BA\u03C1\u03B9\u03C3\u03B7 \u03B1\u03C0\u03CC \u03C4\u03BF \u03BA\u03B9\u03BD\u03B7\u03C4\u03CC \u03C3\u03B1\u03C2",
|
|
603
|
-
bodyScan: "\u03A3\u03B1\u03C1\u03CE\u03C3\u03C4\u03B5 \u03BC\u03B5 \u03C4\u03B7\u03BD \u03BA\u03AC\u03BC\u03B5\u03C1\u03B1 \u03C4\u03BF\u03C5 \u03BA\u03B9\u03BD\u03B7\u03C4\u03BF\u03CD \u03C3\u03B1\u03C2 \u03AE \u03C4\u03B7\u03BD \u03B5\u03C6\u03B1\u03C1\u03BC\u03BF\u03B3\u03AE ZOREAL ID.",
|
|
604
|
-
bodyApprove: "\u0395\u03B3\u03BA\u03C1\u03AF\u03BD\u03B5\u03C4\u03B5 \u03C4\u03B7 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7 \u03C3\u03C4\u03B7\u03BD \u03B5\u03C6\u03B1\u03C1\u03BC\u03BF\u03B3\u03AE ZOREAL ID.",
|
|
605
|
-
bodyEnrolling: "\u039F\u03BB\u03BF\u03BA\u03BB\u03B7\u03C1\u03CE\u03C3\u03C4\u03B5 \u03C4\u03B7 \u03C1\u03CD\u03B8\u03BC\u03B9\u03C3\u03B7 \u03C4\u03BF\u03C5 ZOREAL ID \u03C3\u03C4\u03BF \u03BA\u03B9\u03BD\u03B7\u03C4\u03CC \u03C3\u03B1\u03C2 \u03BA\u03B1\u03B9 \u03AD\u03C0\u03B5\u03B9\u03C4\u03B1 \u03B5\u03B3\u03BA\u03C1\u03AF\u03BD\u03B5\u03C4\u03B5 \u03C4\u03B7 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7.",
|
|
606
|
-
waiting: "\u0391\u03BD\u03B1\u03BC\u03BF\u03BD\u03AE \u03C3\u03AC\u03C1\u03C9\u03C3\u03B7\u03C2",
|
|
607
|
-
waitingApproval: "\u0391\u03BD\u03B1\u03BC\u03BF\u03BD\u03AE \u03AD\u03B3\u03BA\u03C1\u03B9\u03C3\u03B7\u03C2",
|
|
608
|
-
expiresIn: "\u039B\u03AE\u03B3\u03B5\u03B9 \u03C3\u03B5 {time}",
|
|
609
|
-
secured: "\u0395\u03C0\u03B1\u03BB\u03AE\u03B8\u03B5\u03C5\u03C3\u03B7 Proof-of-Human \u03B1\u03C0\u03CC \u03C4\u03B7 ZOREAL",
|
|
610
|
-
noIdTitle: "\u0394\u03B5\u03BD \u03AD\u03C7\u03B5\u03C4\u03B5 \u03B1\u03BA\u03CC\u03BC\u03B1 ZOREAL ID;",
|
|
611
|
-
noIdBody: "\u03A3\u03B1\u03C1\u03CE\u03C3\u03C4\u03B5 \u03C4\u03BF\u03BD \u03AF\u03B4\u03B9\u03BF \u03BA\u03C9\u03B4\u03B9\u03BA\u03CC \u03B3\u03B9\u03B1 \u03BD\u03B1 \u03BA\u03B1\u03C4\u03B5\u03B2\u03AC\u03C3\u03B5\u03C4\u03B5 \u03C4\u03B7\u03BD \u03B5\u03C6\u03B1\u03C1\u03BC\u03BF\u03B3\u03AE \u03BA\u03B1\u03B9 \u03BD\u03B1 \u03B4\u03B7\u03BC\u03B9\u03BF\u03C5\u03C1\u03B3\u03AE\u03C3\u03B5\u03C4\u03B5 \u03AD\u03BD\u03B1 \u03B4\u03C9\u03C1\u03B5\u03AC\u03BD. \u03A7\u03C1\u03B5\u03B9\u03AC\u03B6\u03B5\u03C4\u03B1\u03B9 \u03BC\u03CC\u03BD\u03BF \u03AD\u03BD\u03B1 \u03BB\u03B5\u03C0\u03C4\u03CC.",
|
|
612
|
-
cancel: "\u0386\u03BA\u03C5\u03C1\u03BF",
|
|
613
|
-
close: "\u039A\u03BB\u03B5\u03AF\u03C3\u03B9\u03BC\u03BF",
|
|
614
|
-
qrAlt: "\u039A\u03C9\u03B4\u03B9\u03BA\u03CC\u03C2 QR \u03B3\u03B9\u03B1 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7 \u03BC\u03B5 ZOREAL",
|
|
615
|
-
buttonContinue: "\u03A3\u03C5\u03BD\u03AD\u03C7\u03B5\u03B9\u03B1 \u03BC\u03B5 ZOREAL"
|
|
616
|
-
},
|
|
617
|
-
// Español (LA)
|
|
618
|
-
"es-419": {
|
|
619
|
-
title: "Escanea para iniciar sesi\xF3n",
|
|
620
|
-
titleIdentify: "Escanea para verificar tu identidad",
|
|
621
|
-
titlePresence: "Escanea para demostrar que eres una persona real",
|
|
622
|
-
titleApprove: "Aprueba desde tu celular",
|
|
623
|
-
bodyScan: "Escanea con la c\xE1mara de tu celular o con la app ZOREAL ID.",
|
|
624
|
-
bodyApprove: "Aprueba el inicio de sesi\xF3n en tu app ZOREAL ID.",
|
|
625
|
-
bodyEnrolling: "Termina de configurar ZOREAL ID en tu celular y luego aprueba el inicio de sesi\xF3n.",
|
|
626
|
-
waiting: "Esperando escaneo",
|
|
627
|
-
waitingApproval: "Esperando aprobaci\xF3n",
|
|
628
|
-
expiresIn: "Expira en {time}",
|
|
629
|
-
secured: "Verificaci\xF3n Proof-of-Human de ZOREAL",
|
|
630
|
-
noIdTitle: "\xBFTodav\xEDa no tienes ZOREAL ID?",
|
|
631
|
-
noIdBody: "Escanea el mismo c\xF3digo para descargar la app y crear uno gratis. Solo toma un minuto.",
|
|
632
|
-
cancel: "Cancelar",
|
|
633
|
-
close: "Cerrar",
|
|
634
|
-
qrAlt: "C\xF3digo QR para iniciar sesi\xF3n con ZOREAL",
|
|
635
|
-
buttonContinue: "Continuar con ZOREAL"
|
|
636
|
-
},
|
|
637
|
-
// Suomi
|
|
638
|
-
fi: {
|
|
639
|
-
title: "Kirjaudu sis\xE4\xE4n skannaamalla",
|
|
640
|
-
titleIdentify: "Vahvista henkil\xF6llisyytesi skannaamalla",
|
|
641
|
-
titlePresence: "Todista skannaamalla, ett\xE4 olet oikea ihminen",
|
|
642
|
-
titleApprove: "Hyv\xE4ksy puhelimessasi",
|
|
643
|
-
bodyScan: "Skannaa puhelimesi kameralla tai ZOREAL ID -sovelluksella.",
|
|
644
|
-
bodyApprove: "Hyv\xE4ksy kirjautuminen ZOREAL ID -sovelluksessasi.",
|
|
645
|
-
bodyEnrolling: "Viimeistele ZOREAL ID -sovelluksen k\xE4ytt\xF6\xF6notto puhelimellasi ja hyv\xE4ksy sitten kirjautuminen.",
|
|
646
|
-
waiting: "Odotetaan skannausta",
|
|
647
|
-
waitingApproval: "Odotetaan hyv\xE4ksynt\xE4\xE4",
|
|
648
|
-
expiresIn: "Vanhenee {time} kuluttua",
|
|
649
|
-
secured: "ZOREALin Proof-of-Human-vahvistus",
|
|
650
|
-
noIdTitle: "Eik\xF6 sinulla ole viel\xE4 ZOREAL ID:t\xE4?",
|
|
651
|
-
noIdBody: "Skannaa sama koodi ladataksesi sovelluksen ja luodaksesi tunnuksen ilmaiseksi. Se vie vain minuutin.",
|
|
652
|
-
cancel: "Peruuta",
|
|
653
|
-
close: "Sulje",
|
|
654
|
-
qrAlt: "QR-koodi ZOREAL-kirjautumista varten",
|
|
655
|
-
buttonContinue: "Jatka ZOREALilla"
|
|
656
|
-
},
|
|
657
|
-
// עברית
|
|
658
|
-
he: {
|
|
659
|
-
title: "\u05E1\u05E8\u05D5\u05E7 \u05DB\u05D3\u05D9 \u05DC\u05D4\u05EA\u05D7\u05D1\u05E8",
|
|
660
|
-
titleIdentify: "\u05E1\u05E8\u05D5\u05E7 \u05DB\u05D3\u05D9 \u05DC\u05D0\u05DE\u05EA \u05D0\u05EA \u05D6\u05D4\u05D5\u05EA\u05DA",
|
|
661
|
-
titlePresence: "\u05E1\u05E8\u05D5\u05E7 \u05DB\u05D3\u05D9 \u05DC\u05D4\u05D5\u05DB\u05D9\u05D7 \u05E9\u05D0\u05EA\u05D4 \u05D0\u05D3\u05DD \u05D0\u05DE\u05D9\u05EA\u05D9",
|
|
662
|
-
titleApprove: "\u05D0\u05E9\u05E8 \u05D1\u05D8\u05DC\u05E4\u05D5\u05DF \u05E9\u05DC\u05DA",
|
|
663
|
-
bodyScan: "\u05E1\u05E8\u05D5\u05E7 \u05D1\u05D0\u05DE\u05E6\u05E2\u05D5\u05EA \u05DE\u05E6\u05DC\u05DE\u05EA \u05D4\u05D8\u05DC\u05E4\u05D5\u05DF \u05E9\u05DC\u05DA \u05D0\u05D5 \u05D0\u05E4\u05DC\u05D9\u05E7\u05E6\u05D9\u05D9\u05EA ZOREAL ID.",
|
|
664
|
-
bodyApprove: "\u05D0\u05E9\u05E8 \u05D0\u05EA \u05D4\u05D4\u05EA\u05D7\u05D1\u05E8\u05D5\u05EA \u05D1\u05D0\u05E4\u05DC\u05D9\u05E7\u05E6\u05D9\u05D9\u05EA ZOREAL ID \u05E9\u05DC\u05DA.",
|
|
665
|
-
bodyEnrolling: "\u05E1\u05D9\u05D9\u05DD \u05DC\u05D4\u05D2\u05D3\u05D9\u05E8 \u05D0\u05EA ZOREAL ID \u05D1\u05D8\u05DC\u05E4\u05D5\u05DF \u05E9\u05DC\u05DA, \u05D5\u05D0\u05D6 \u05D0\u05E9\u05E8 \u05D0\u05EA \u05D4\u05D4\u05EA\u05D7\u05D1\u05E8\u05D5\u05EA.",
|
|
666
|
-
waiting: "\u05DE\u05DE\u05EA\u05D9\u05DF \u05DC\u05E1\u05E8\u05D9\u05E7\u05D4",
|
|
667
|
-
waitingApproval: "\u05DE\u05DE\u05EA\u05D9\u05DF \u05DC\u05D0\u05D9\u05E9\u05D5\u05E8",
|
|
668
|
-
expiresIn: "\u05D9\u05E4\u05D5\u05D2 \u05D1\u05E2\u05D5\u05D3 {time}",
|
|
669
|
-
secured: "\u05D0\u05D9\u05DE\u05D5\u05EA Proof-of-Human \u05DE\u05D1\u05D9\u05EA ZOREAL",
|
|
670
|
-
noIdTitle: "\u05E2\u05D3\u05D9\u05D9\u05DF \u05D0\u05D9\u05DF \u05DC\u05DA ZOREAL ID?",
|
|
671
|
-
noIdBody: "\u05E1\u05E8\u05D5\u05E7 \u05D0\u05EA \u05D0\u05D5\u05EA\u05D5 \u05D4\u05E7\u05D5\u05D3 \u05DB\u05D3\u05D9 \u05DC\u05D4\u05D5\u05E8\u05D9\u05D3 \u05D0\u05EA \u05D4\u05D0\u05E4\u05DC\u05D9\u05E7\u05E6\u05D9\u05D4 \u05D5\u05DC\u05D9\u05E6\u05D5\u05E8 \u05D0\u05D7\u05D3 \u05D1\u05D7\u05D9\u05E0\u05DD. \u05D6\u05D4 \u05DC\u05D5\u05E7\u05D7 \u05E8\u05E7 \u05D3\u05E7\u05D4.",
|
|
672
|
-
cancel: "\u05D1\u05D9\u05D8\u05D5\u05DC",
|
|
673
|
-
close: "\u05E1\u05D2\u05D5\u05E8",
|
|
674
|
-
qrAlt: "\u05E7\u05D5\u05D3 QR \u05DC\u05D4\u05EA\u05D7\u05D1\u05E8\u05D5\u05EA \u05E2\u05DD ZOREAL",
|
|
675
|
-
buttonContinue: "\u05D4\u05DE\u05E9\u05DA \u05E2\u05DD ZOREAL"
|
|
676
|
-
},
|
|
677
|
-
// Hrvatski
|
|
678
|
-
hr: {
|
|
679
|
-
title: "Skenirajte za prijavu",
|
|
680
|
-
titleIdentify: "Skenirajte za potvrdu identiteta",
|
|
681
|
-
titlePresence: "Skenirajte kako biste dokazali da ste stvarna osoba",
|
|
682
|
-
titleApprove: "Odobrite na svom mobitelu",
|
|
683
|
-
bodyScan: "Skenirajte kamerom svog mobitela ili aplikacijom ZOREAL ID.",
|
|
684
|
-
bodyApprove: "Odobrite prijavu u aplikaciji ZOREAL ID.",
|
|
685
|
-
bodyEnrolling: "Dovr\u0161ite postavljanje ZOREAL ID-a na svom mobitelu, a zatim odobrite prijavu.",
|
|
686
|
-
waiting: "\u010Ceka se skeniranje",
|
|
687
|
-
waitingApproval: "\u010Ceka se odobrenje",
|
|
688
|
-
expiresIn: "Isti\u010De za {time}",
|
|
689
|
-
secured: "ZOREAL Proof-of-Human provjera",
|
|
690
|
-
noIdTitle: "Nemate ZOREAL ID?",
|
|
691
|
-
noIdBody: "Skenirajte isti kod da preuzmete aplikaciju i besplatno ga izradite. Traje samo minutu.",
|
|
692
|
-
cancel: "Odustani",
|
|
693
|
-
close: "Zatvori",
|
|
694
|
-
qrAlt: "QR kod za prijavu putem ZOREAL-a",
|
|
695
|
-
buttonContinue: "Nastavi sa ZOREAL-om"
|
|
696
|
-
},
|
|
697
|
-
// Magyar
|
|
698
|
-
hu: {
|
|
699
|
-
title: "Bejelentkez\xE9s beolvas\xE1ssal",
|
|
700
|
-
titleIdentify: "Olvassa be a szem\xE9lyazonoss\xE1ga igazol\xE1s\xE1hoz",
|
|
701
|
-
titlePresence: "Olvassa be annak igazol\xE1s\xE1hoz, hogy val\xF3di ember",
|
|
702
|
-
titleApprove: "J\xF3v\xE1hagy\xE1s a telefonj\xE1n",
|
|
703
|
-
bodyScan: "Olvassa be a telefonja kamer\xE1j\xE1val, vagy a ZOREAL ID alkalmaz\xE1ssal.",
|
|
704
|
-
bodyApprove: "Hagyja j\xF3v\xE1 a bejelentkez\xE9st a ZOREAL ID alkalmaz\xE1sban.",
|
|
705
|
-
bodyEnrolling: "Fejezze be a ZOREAL ID be\xE1ll\xEDt\xE1s\xE1t a telefonj\xE1n, majd hagyja j\xF3v\xE1 a bejelentkez\xE9st.",
|
|
706
|
-
waiting: "V\xE1rakoz\xE1s beolvas\xE1sra",
|
|
707
|
-
waitingApproval: "V\xE1rakoz\xE1s j\xF3v\xE1hagy\xE1sra",
|
|
708
|
-
expiresIn: "Lej\xE1r {time} m\xFAlva",
|
|
709
|
-
secured: "Proof-of-Human hiteles\xEDt\xE9s a ZOREAL-t\xF3l",
|
|
710
|
-
noIdTitle: "M\xE9g nincs ZOREAL ID-je?",
|
|
711
|
-
noIdBody: "Olvassa be ugyanazt a k\xF3dot az alkalmaz\xE1s let\xF6lt\xE9s\xE9hez, \xE9s hozzon l\xE9tre egyet ingyenesen. Mind\xF6ssze egy percet vesz ig\xE9nybe.",
|
|
712
|
-
cancel: "M\xE9gse",
|
|
713
|
-
close: "Bez\xE1r\xE1s",
|
|
714
|
-
qrAlt: "QR-k\xF3d a ZOREAL-lal val\xF3 bejelentkez\xE9shez",
|
|
715
|
-
buttonContinue: "Folytat\xE1s a ZOREAL-lal"
|
|
716
|
-
},
|
|
717
|
-
// Bahasa Indonesia
|
|
718
|
-
id: {
|
|
719
|
-
title: "Pindai untuk masuk",
|
|
720
|
-
titleIdentify: "Pindai untuk memverifikasi identitas Anda",
|
|
721
|
-
titlePresence: "Pindai untuk membuktikan bahwa Anda manusia sungguhan",
|
|
722
|
-
titleApprove: "Setujui di ponsel Anda",
|
|
723
|
-
bodyScan: "Pindai dengan kamera ponsel atau aplikasi ZOREAL ID.",
|
|
724
|
-
bodyApprove: "Setujui proses masuk di aplikasi ZOREAL ID Anda.",
|
|
725
|
-
bodyEnrolling: "Selesaikan pengaturan ZOREAL ID di ponsel Anda, lalu setujui proses masuk.",
|
|
726
|
-
waiting: "Menunggu pemindaian",
|
|
727
|
-
waitingApproval: "Menunggu persetujuan",
|
|
728
|
-
expiresIn: "Berakhir dalam {time}",
|
|
729
|
-
secured: "Verifikasi Proof-of-Human oleh ZOREAL",
|
|
730
|
-
noIdTitle: "Belum punya ZOREAL ID?",
|
|
731
|
-
noIdBody: "Pindai kode yang sama untuk mengunduh aplikasi dan membuat akun secara gratis. Hanya butuh waktu satu menit.",
|
|
732
|
-
cancel: "Batal",
|
|
733
|
-
close: "Tutup",
|
|
734
|
-
qrAlt: "Kode QR untuk masuk dengan ZOREAL",
|
|
735
|
-
buttonContinue: "Lanjutkan dengan ZOREAL"
|
|
736
|
-
},
|
|
737
|
-
// Italiano
|
|
738
|
-
it: {
|
|
739
|
-
title: "Scansiona per accedere",
|
|
740
|
-
titleIdentify: "Scansiona per verificare la tua identit\xE0",
|
|
741
|
-
titlePresence: "Scansiona per dimostrare di essere una persona reale",
|
|
742
|
-
titleApprove: "Approva sul tuo telefono",
|
|
743
|
-
bodyScan: "Scansiona con la fotocamera del telefono o con l'app ZOREAL ID.",
|
|
744
|
-
bodyApprove: "Approva l'accesso nell'app ZOREAL ID.",
|
|
745
|
-
bodyEnrolling: "Completa la configurazione di ZOREAL ID sul telefono, poi approva l'accesso.",
|
|
746
|
-
waiting: "In attesa della scansione",
|
|
747
|
-
waitingApproval: "In attesa di approvazione",
|
|
748
|
-
expiresIn: "Scade tra {time}",
|
|
749
|
-
secured: "Verifica Proof-of-Human di ZOREAL",
|
|
750
|
-
noIdTitle: "Non hai ancora uno ZOREAL ID?",
|
|
751
|
-
noIdBody: "Scansiona lo stesso codice per scaricare l'app e crearne uno gratis. Basta un minuto.",
|
|
752
|
-
cancel: "Annulla",
|
|
753
|
-
close: "Chiudi",
|
|
754
|
-
qrAlt: "Codice QR per accedere con ZOREAL",
|
|
755
|
-
buttonContinue: "Continua con ZOREAL"
|
|
756
|
-
},
|
|
757
|
-
// Bahasa Melayu
|
|
758
|
-
ms: {
|
|
759
|
-
title: "Imbas untuk log masuk",
|
|
760
|
-
titleIdentify: "Imbas untuk mengesahkan identiti anda",
|
|
761
|
-
titlePresence: "Imbas untuk membuktikan anda manusia sebenar",
|
|
762
|
-
titleApprove: "Luluskan di telefon anda",
|
|
763
|
-
bodyScan: "Imbas dengan kamera telefon atau aplikasi ZOREAL ID.",
|
|
764
|
-
bodyApprove: "Luluskan log masuk dalam aplikasi ZOREAL ID anda.",
|
|
765
|
-
bodyEnrolling: "Selesaikan persediaan ZOREAL ID di telefon anda, kemudian luluskan log masuk.",
|
|
766
|
-
waiting: "Menunggu imbasan",
|
|
767
|
-
waitingApproval: "Menunggu kelulusan",
|
|
768
|
-
expiresIn: "Tamat tempoh dalam {time}",
|
|
769
|
-
secured: "Pengesahan Proof-of-Human oleh ZOREAL",
|
|
770
|
-
noIdTitle: "Belum ada ZOREAL ID?",
|
|
771
|
-
noIdBody: "Imbas kod yang sama untuk memuat turun aplikasi dan cipta satu secara percuma. Hanya mengambil masa seminit.",
|
|
772
|
-
cancel: "Batal",
|
|
773
|
-
close: "Tutup",
|
|
774
|
-
qrAlt: "Kod QR untuk log masuk dengan ZOREAL",
|
|
775
|
-
buttonContinue: "Teruskan dengan ZOREAL"
|
|
776
|
-
},
|
|
777
|
-
// Nederlands
|
|
778
|
-
nl: {
|
|
779
|
-
title: "Scan om in te loggen",
|
|
780
|
-
titleIdentify: "Scan om je identiteit te verifi\xEBren",
|
|
781
|
-
titlePresence: "Scan om te bewijzen dat je een echt mens bent",
|
|
782
|
-
titleApprove: "Keur goed op je telefoon",
|
|
783
|
-
bodyScan: "Scan met de camera van je telefoon of de ZOREAL ID-app.",
|
|
784
|
-
bodyApprove: "Keur de aanmelding goed in je ZOREAL ID-app.",
|
|
785
|
-
bodyEnrolling: "Rond het instellen van ZOREAL ID op je telefoon af en keur daarna de aanmelding goed.",
|
|
786
|
-
waiting: "Wachten op scan",
|
|
787
|
-
waitingApproval: "Wachten op goedkeuring",
|
|
788
|
-
expiresIn: "Verloopt over {time}",
|
|
789
|
-
secured: "Proof-of-Human-verificatie door ZOREAL",
|
|
790
|
-
noIdTitle: "Nog geen ZOREAL ID?",
|
|
791
|
-
noIdBody: "Scan dezelfde code om de app te downloaden en gratis een account aan te maken. Dit duurt maar een minuut.",
|
|
792
|
-
cancel: "Annuleren",
|
|
793
|
-
close: "Sluiten",
|
|
794
|
-
qrAlt: "QR-code om in te loggen met ZOREAL",
|
|
795
|
-
buttonContinue: "Doorgaan met ZOREAL"
|
|
796
|
-
},
|
|
797
|
-
// Norsk
|
|
798
|
-
no: {
|
|
799
|
-
title: "Skann for \xE5 logge inn",
|
|
800
|
-
titleIdentify: "Skann for \xE5 bekrefte identiteten din",
|
|
801
|
-
titlePresence: "Skann for \xE5 bevise at du er et ekte menneske",
|
|
802
|
-
titleApprove: "Godkjenn p\xE5 telefonen din",
|
|
803
|
-
bodyScan: "Skann med telefonens kamera eller ZOREAL ID-appen.",
|
|
804
|
-
bodyApprove: "Godkjenn innloggingen i ZOREAL ID-appen din.",
|
|
805
|
-
bodyEnrolling: "Fullf\xF8r oppsettet av ZOREAL ID p\xE5 telefonen din, og godkjenn deretter innloggingen.",
|
|
806
|
-
waiting: "Venter p\xE5 skanning",
|
|
807
|
-
waitingApproval: "Venter p\xE5 godkjenning",
|
|
808
|
-
expiresIn: "Utl\xF8per om {time}",
|
|
809
|
-
secured: "Proof-of-Human-verifisering av ZOREAL",
|
|
810
|
-
noIdTitle: "Har du ikke ZOREAL ID enn\xE5?",
|
|
811
|
-
noIdBody: "Skann den samme koden for \xE5 laste ned appen og opprette en gratis. Det tar bare et minutt.",
|
|
812
|
-
cancel: "Avbryt",
|
|
813
|
-
close: "Lukk",
|
|
814
|
-
qrAlt: "QR-kode for \xE5 logge inn med ZOREAL",
|
|
815
|
-
buttonContinue: "Fortsett med ZOREAL"
|
|
816
|
-
},
|
|
817
|
-
// Polski
|
|
818
|
-
pl: {
|
|
819
|
-
title: "Zeskanuj, aby si\u0119 zalogowa\u0107",
|
|
820
|
-
titleIdentify: "Zeskanuj, aby zweryfikowa\u0107 swoj\u0105 to\u017Csamo\u015B\u0107",
|
|
821
|
-
titlePresence: "Zeskanuj, aby udowodni\u0107, \u017Ce jeste\u015B prawdziwym cz\u0142owiekiem",
|
|
822
|
-
titleApprove: "Zatwierd\u017A w telefonie",
|
|
823
|
-
bodyScan: "Zeskanuj aparatem telefonu lub aplikacj\u0105 ZOREAL ID.",
|
|
824
|
-
bodyApprove: "Zatwierd\u017A logowanie w aplikacji ZOREAL ID.",
|
|
825
|
-
bodyEnrolling: "Doko\u0144cz konfiguracj\u0119 ZOREAL ID w telefonie, a nast\u0119pnie zatwierd\u017A logowanie.",
|
|
826
|
-
waiting: "Czekanie na skan",
|
|
827
|
-
waitingApproval: "Czekanie na zatwierdzenie",
|
|
828
|
-
expiresIn: "Wygasa za {time}",
|
|
829
|
-
secured: "Weryfikacja Proof-of-Human od ZOREAL",
|
|
830
|
-
noIdTitle: "Nie masz jeszcze ZOREAL ID?",
|
|
831
|
-
noIdBody: "Zeskanuj ten sam kod, aby pobra\u0107 aplikacj\u0119 i bezp\u0142atnie utworzy\u0107 ZOREAL ID. Zajmie to tylko minut\u0119.",
|
|
832
|
-
cancel: "Anuluj",
|
|
833
|
-
close: "Zamknij",
|
|
834
|
-
qrAlt: "Kod QR do logowania za pomoc\u0105 ZOREAL",
|
|
835
|
-
buttonContinue: "Kontynuuj z ZOREAL"
|
|
836
|
-
},
|
|
837
|
-
// Português (BR)
|
|
838
|
-
"pt-br": {
|
|
839
|
-
title: "Escaneie para entrar",
|
|
840
|
-
titleIdentify: "Escaneie para verificar sua identidade",
|
|
841
|
-
titlePresence: "Escaneie para provar que voc\xEA \xE9 uma pessoa real",
|
|
842
|
-
titleApprove: "Aprove no seu celular",
|
|
843
|
-
bodyScan: "Escaneie com a c\xE2mera do seu celular ou com o app ZOREAL ID.",
|
|
844
|
-
bodyApprove: "Aprove o login no app ZOREAL ID.",
|
|
845
|
-
bodyEnrolling: "Termine de configurar o ZOREAL ID no seu celular e depois aprove o login.",
|
|
846
|
-
waiting: "Aguardando escaneamento",
|
|
847
|
-
waitingApproval: "Aguardando aprova\xE7\xE3o",
|
|
848
|
-
expiresIn: "Expira em {time}",
|
|
849
|
-
secured: "Verifica\xE7\xE3o Proof-of-Human da ZOREAL",
|
|
850
|
-
noIdTitle: "Ainda n\xE3o tem um ZOREAL ID?",
|
|
851
|
-
noIdBody: "Escaneie o mesmo c\xF3digo para baixar o app e criar um de gra\xE7a. Leva s\xF3 um minuto.",
|
|
852
|
-
cancel: "Cancelar",
|
|
853
|
-
close: "Fechar",
|
|
854
|
-
qrAlt: "C\xF3digo QR para entrar com ZOREAL",
|
|
855
|
-
buttonContinue: "Continuar com ZOREAL"
|
|
856
|
-
},
|
|
857
|
-
// Română
|
|
858
|
-
ro: {
|
|
859
|
-
title: "Scana\u021Bi pentru conectare",
|
|
860
|
-
titleIdentify: "Scana\u021Bi pentru a v\u0103 verifica identitatea",
|
|
861
|
-
titlePresence: "Scana\u021Bi pentru a dovedi c\u0103 sunte\u021Bi o persoan\u0103 real\u0103",
|
|
862
|
-
titleApprove: "Aproba\u021Bi de pe telefon",
|
|
863
|
-
bodyScan: "Scana\u021Bi cu camera telefonului sau cu aplica\u021Bia ZOREAL ID.",
|
|
864
|
-
bodyApprove: "Aproba\u021Bi conectarea \xEEn aplica\u021Bia ZOREAL ID.",
|
|
865
|
-
bodyEnrolling: "Finaliza\u021Bi configurarea ZOREAL ID pe telefon, apoi aproba\u021Bi conectarea.",
|
|
866
|
-
waiting: "Se a\u0219teapt\u0103 scanarea",
|
|
867
|
-
waitingApproval: "Se a\u0219teapt\u0103 aprobarea",
|
|
868
|
-
expiresIn: "Expir\u0103 \xEEn {time}",
|
|
869
|
-
secured: "Verificare Proof-of-Human de la ZOREAL",
|
|
870
|
-
noIdTitle: "Nu ave\u021Bi \xEEnc\u0103 un ZOREAL ID?",
|
|
871
|
-
noIdBody: "Scana\u021Bi acela\u0219i cod pentru a desc\u0103rca aplica\u021Bia \u0219i a crea unul gratuit. Dureaz\u0103 doar un minut.",
|
|
872
|
-
cancel: "Anuleaz\u0103",
|
|
873
|
-
close: "\xCEnchide",
|
|
874
|
-
qrAlt: "Cod QR pentru conectare cu ZOREAL",
|
|
875
|
-
buttonContinue: "Continua\u021Bi cu ZOREAL"
|
|
876
|
-
},
|
|
877
|
-
// Српски
|
|
878
|
-
sr: {
|
|
879
|
-
title: "\u0421\u043A\u0435\u043D\u0438\u0440\u0430\u0458\u0442\u0435 \u0437\u0430 \u043F\u0440\u0438\u0458\u0430\u0432\u0443",
|
|
880
|
-
titleIdentify: "\u0421\u043A\u0435\u043D\u0438\u0440\u0430\u0458\u0442\u0435 \u0434\u0430 \u043F\u043E\u0442\u0432\u0440\u0434\u0438\u0442\u0435 \u0441\u0432\u043E\u0458 \u0438\u0434\u0435\u043D\u0442\u0438\u0442\u0435\u0442",
|
|
881
|
-
titlePresence: "\u0421\u043A\u0435\u043D\u0438\u0440\u0430\u0458\u0442\u0435 \u0434\u0430 \u0434\u043E\u043A\u0430\u0436\u0435\u0442\u0435 \u0434\u0430 \u0441\u0442\u0435 \u043F\u0440\u0430\u0432\u0430 \u043E\u0441\u043E\u0431\u0430",
|
|
882
|
-
titleApprove: "\u041E\u0434\u043E\u0431\u0440\u0438\u0442\u0435 \u043D\u0430 \u0441\u0432\u043E\u043C \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0443",
|
|
883
|
-
bodyScan: "\u0421\u043A\u0435\u043D\u0438\u0440\u0430\u0458\u0442\u0435 \u043A\u0430\u043C\u0435\u0440\u043E\u043C \u0441\u0432\u043E\u0433 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u0438\u043B\u0438 \u0430\u043F\u043B\u0438\u043A\u0430\u0446\u0438\u0458\u043E\u043C ZOREAL ID.",
|
|
884
|
-
bodyApprove: "\u041E\u0434\u043E\u0431\u0440\u0438\u0442\u0435 \u043F\u0440\u0438\u0458\u0430\u0432\u0443 \u0443 \u0430\u043F\u043B\u0438\u043A\u0430\u0446\u0438\u0458\u0438 ZOREAL ID.",
|
|
885
|
-
bodyEnrolling: "\u0414\u043E\u0432\u0440\u0448\u0438\u0442\u0435 \u043F\u043E\u0434\u0435\u0448\u0430\u0432\u0430\u045A\u0435 ZOREAL ID-\u0430 \u043D\u0430 \u0441\u0432\u043E\u043C \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0443, \u043F\u0430 \u043E\u0434\u043E\u0431\u0440\u0438\u0442\u0435 \u043F\u0440\u0438\u0458\u0430\u0432\u0443.",
|
|
886
|
-
waiting: "\u0427\u0435\u043A\u0430 \u0441\u0435 \u0441\u043A\u0435\u043D\u0438\u0440\u0430\u045A\u0435",
|
|
887
|
-
waitingApproval: "\u0427\u0435\u043A\u0430 \u0441\u0435 \u043E\u0434\u043E\u0431\u0440\u0435\u045A\u0435",
|
|
888
|
-
expiresIn: "\u0418\u0441\u0442\u0438\u0447\u0435 \u0437\u0430 {time}",
|
|
889
|
-
secured: "ZOREAL Proof-of-Human \u0432\u0435\u0440\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u0458\u0430",
|
|
890
|
-
noIdTitle: "\u041D\u0435\u043C\u0430\u0442\u0435 ZOREAL ID?",
|
|
891
|
-
noIdBody: "\u0421\u043A\u0435\u043D\u0438\u0440\u0430\u0458\u0442\u0435 \u0438\u0441\u0442\u0438 \u043A\u043E\u0434 \u0434\u0430 \u043F\u0440\u0435\u0443\u0437\u043C\u0435\u0442\u0435 \u0430\u043F\u043B\u0438\u043A\u0430\u0446\u0438\u0458\u0443 \u0438 \u0431\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E \u0433\u0430 \u043D\u0430\u043F\u0440\u0430\u0432\u0438\u0442\u0435. \u0422\u0440\u0430\u0458\u0435 \u0441\u0430\u043C\u043E \u043C\u0438\u043D\u0443\u0442.",
|
|
892
|
-
cancel: "\u041E\u0442\u043A\u0430\u0436\u0438",
|
|
893
|
-
close: "\u0417\u0430\u0442\u0432\u043E\u0440\u0438",
|
|
894
|
-
qrAlt: "QR \u043A\u043E\u0434 \u0437\u0430 \u043F\u0440\u0438\u0458\u0430\u0432\u0443 \u043F\u0440\u0435\u043A\u043E ZOREAL-\u0430",
|
|
895
|
-
buttonContinue: "\u041D\u0430\u0441\u0442\u0430\u0432\u0438 \u0441\u0430 ZOREAL-\u043E\u043C"
|
|
896
|
-
},
|
|
897
|
-
// ไทย
|
|
898
|
-
th: {
|
|
899
|
-
title: "\u0E2A\u0E41\u0E01\u0E19\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E02\u0E49\u0E32\u0E2A\u0E39\u0E48\u0E23\u0E30\u0E1A\u0E1A",
|
|
900
|
-
titleIdentify: "\u0E2A\u0E41\u0E01\u0E19\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E22\u0E37\u0E19\u0E22\u0E31\u0E19\u0E15\u0E31\u0E27\u0E15\u0E19\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13",
|
|
901
|
-
titlePresence: "\u0E2A\u0E41\u0E01\u0E19\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E1E\u0E34\u0E2A\u0E39\u0E08\u0E19\u0E4C\u0E27\u0E48\u0E32\u0E04\u0E38\u0E13\u0E40\u0E1B\u0E47\u0E19\u0E21\u0E19\u0E38\u0E29\u0E22\u0E4C\u0E08\u0E23\u0E34\u0E07",
|
|
902
|
-
titleApprove: "\u0E2D\u0E19\u0E38\u0E21\u0E31\u0E15\u0E34\u0E1A\u0E19\u0E42\u0E17\u0E23\u0E28\u0E31\u0E1E\u0E17\u0E4C\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13",
|
|
903
|
-
bodyScan: "\u0E2A\u0E41\u0E01\u0E19\u0E14\u0E49\u0E27\u0E22\u0E01\u0E25\u0E49\u0E2D\u0E07\u0E42\u0E17\u0E23\u0E28\u0E31\u0E1E\u0E17\u0E4C\u0E2B\u0E23\u0E37\u0E2D\u0E41\u0E2D\u0E1B ZOREAL ID",
|
|
904
|
-
bodyApprove: "\u0E2D\u0E19\u0E38\u0E21\u0E31\u0E15\u0E34\u0E01\u0E32\u0E23\u0E40\u0E02\u0E49\u0E32\u0E2A\u0E39\u0E48\u0E23\u0E30\u0E1A\u0E1A\u0E43\u0E19\u0E41\u0E2D\u0E1B ZOREAL ID \u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13",
|
|
905
|
-
bodyEnrolling: "\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32 ZOREAL ID \u0E1A\u0E19\u0E42\u0E17\u0E23\u0E28\u0E31\u0E1E\u0E17\u0E4C\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13\u0E43\u0E2B\u0E49\u0E40\u0E2A\u0E23\u0E47\u0E08\u0E2A\u0E34\u0E49\u0E19 \u0E41\u0E25\u0E49\u0E27\u0E2D\u0E19\u0E38\u0E21\u0E31\u0E15\u0E34\u0E01\u0E32\u0E23\u0E40\u0E02\u0E49\u0E32\u0E2A\u0E39\u0E48\u0E23\u0E30\u0E1A\u0E1A",
|
|
906
|
-
waiting: "\u0E23\u0E2D\u0E01\u0E32\u0E23\u0E2A\u0E41\u0E01\u0E19",
|
|
907
|
-
waitingApproval: "\u0E23\u0E2D\u0E01\u0E32\u0E23\u0E2D\u0E19\u0E38\u0E21\u0E31\u0E15\u0E34",
|
|
908
|
-
expiresIn: "\u0E2B\u0E21\u0E14\u0E2D\u0E32\u0E22\u0E38\u0E43\u0E19 {time}",
|
|
909
|
-
secured: "\u0E01\u0E32\u0E23\u0E22\u0E37\u0E19\u0E22\u0E31\u0E19\u0E15\u0E31\u0E27\u0E15\u0E19 Proof-of-Human \u0E42\u0E14\u0E22 ZOREAL",
|
|
910
|
-
noIdTitle: "\u0E22\u0E31\u0E07\u0E44\u0E21\u0E48\u0E21\u0E35 ZOREAL ID \u0E43\u0E0A\u0E48\u0E44\u0E2B\u0E21",
|
|
911
|
-
noIdBody: "\u0E2A\u0E41\u0E01\u0E19\u0E42\u0E04\u0E49\u0E14\u0E40\u0E14\u0E35\u0E22\u0E27\u0E01\u0E31\u0E19\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E14\u0E32\u0E27\u0E19\u0E4C\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E2D\u0E1B\u0E41\u0E25\u0E30\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E1A\u0E31\u0E0D\u0E0A\u0E35\u0E1F\u0E23\u0E35 \u0E43\u0E0A\u0E49\u0E40\u0E27\u0E25\u0E32\u0E40\u0E1E\u0E35\u0E22\u0E07\u0E19\u0E32\u0E17\u0E35\u0E40\u0E14\u0E35\u0E22\u0E27",
|
|
912
|
-
cancel: "\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01",
|
|
913
|
-
close: "\u0E1B\u0E34\u0E14",
|
|
914
|
-
qrAlt: "\u0E04\u0E34\u0E27\u0E2D\u0E32\u0E23\u0E4C\u0E42\u0E04\u0E49\u0E14\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E40\u0E02\u0E49\u0E32\u0E2A\u0E39\u0E48\u0E23\u0E30\u0E1A\u0E1A\u0E14\u0E49\u0E27\u0E22 ZOREAL",
|
|
915
|
-
buttonContinue: "\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E15\u0E48\u0E2D\u0E14\u0E49\u0E27\u0E22 ZOREAL"
|
|
916
|
-
},
|
|
917
|
-
// Tagalog
|
|
918
|
-
tl: {
|
|
919
|
-
title: "I-scan para mag-sign in",
|
|
920
|
-
titleIdentify: "I-scan para i-verify ang iyong pagkakakilanlan",
|
|
921
|
-
titlePresence: "I-scan para patunayang tunay kang tao",
|
|
922
|
-
titleApprove: "I-approve sa iyong telepono",
|
|
923
|
-
bodyScan: "I-scan gamit ang camera ng iyong telepono o ang ZOREAL ID app.",
|
|
924
|
-
bodyApprove: "I-approve ang login sa iyong ZOREAL ID app.",
|
|
925
|
-
bodyEnrolling: "Tapusin muna ang pag-set up ng ZOREAL ID sa iyong telepono, pagkatapos ay i-approve ang login.",
|
|
926
|
-
waiting: "Naghihintay ng scan",
|
|
927
|
-
waitingApproval: "Naghihintay ng approval",
|
|
928
|
-
expiresIn: "Mag-e-expire sa {time}",
|
|
929
|
-
secured: "Proof-of-Human verification mula sa ZOREAL",
|
|
930
|
-
noIdTitle: "Wala ka pang ZOREAL ID?",
|
|
931
|
-
noIdBody: "I-scan ang parehong code para i-download ang app at gumawa ng iyong ZOREAL ID nang libre. Isang minuto lang ito.",
|
|
932
|
-
cancel: "Kanselahin",
|
|
933
|
-
close: "Isara",
|
|
934
|
-
qrAlt: "QR code para mag-sign in gamit ang ZOREAL",
|
|
935
|
-
buttonContinue: "Magpatuloy gamit ang ZOREAL"
|
|
936
|
-
},
|
|
937
|
-
// Türkçe
|
|
938
|
-
tr: {
|
|
939
|
-
title: "Giri\u015F i\xE7in taray\u0131n",
|
|
940
|
-
titleIdentify: "Kimli\u011Finizi do\u011Frulamak i\xE7in taray\u0131n",
|
|
941
|
-
titlePresence: "Ger\xE7ek bir insan oldu\u011Funuzu kan\u0131tlamak i\xE7in taray\u0131n",
|
|
942
|
-
titleApprove: "Telefonunuzdan onaylay\u0131n",
|
|
943
|
-
bodyScan: "Telefonunuzun kameras\u0131yla veya ZOREAL ID uygulamas\u0131yla taray\u0131n.",
|
|
944
|
-
bodyApprove: "Giri\u015Fi ZOREAL ID uygulaman\u0131zdan onaylay\u0131n.",
|
|
945
|
-
bodyEnrolling: "Telefonunuzda ZOREAL ID kurulumunu tamamlay\u0131n, ard\u0131ndan giri\u015Fi onaylay\u0131n.",
|
|
946
|
-
waiting: "Tarama bekleniyor",
|
|
947
|
-
waitingApproval: "Onay bekleniyor",
|
|
948
|
-
expiresIn: "{time} i\xE7inde sona erer",
|
|
949
|
-
secured: "ZOREAL taraf\u0131ndan Proof-of-Human do\u011Frulamas\u0131",
|
|
950
|
-
noIdTitle: "Hen\xFCz ZOREAL ID'niz yok mu?",
|
|
951
|
-
noIdBody: "Uygulamay\u0131 indirmek ve \xFCcretsiz bir tane olu\u015Fturmak i\xE7in ayn\u0131 kodu taray\u0131n. Sadece bir dakikan\u0131z\u0131 al\u0131r.",
|
|
952
|
-
cancel: "\u0130ptal",
|
|
953
|
-
close: "Kapat",
|
|
954
|
-
qrAlt: "ZOREAL ile giri\u015F yapmak i\xE7in QR kodu",
|
|
955
|
-
buttonContinue: "ZOREAL ile devam et"
|
|
956
|
-
},
|
|
957
|
-
// Українська
|
|
958
|
-
uk: {
|
|
959
|
-
title: "\u0421\u043A\u0430\u043D\u0443\u0439\u0442\u0435 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0443",
|
|
960
|
-
titleIdentify: "\u0421\u043A\u0430\u043D\u0443\u0439\u0442\u0435, \u0449\u043E\u0431 \u043F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0438 \u043E\u0441\u043E\u0431\u0443",
|
|
961
|
-
titlePresence: "\u0421\u043A\u0430\u043D\u0443\u0439\u0442\u0435, \u0449\u043E\u0431 \u0434\u043E\u0432\u0435\u0441\u0442\u0438, \u0449\u043E \u0432\u0438 \u0441\u043F\u0440\u0430\u0432\u0436\u043D\u044F \u043B\u044E\u0434\u0438\u043D\u0430",
|
|
962
|
-
titleApprove: "\u041F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u044C\u0442\u0435 \u043D\u0430 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0456",
|
|
963
|
-
bodyScan: "\u0421\u043A\u0430\u043D\u0443\u0439\u0442\u0435 \u043A\u0430\u043C\u0435\u0440\u043E\u044E \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0443 \u0430\u0431\u043E \u0434\u043E\u0434\u0430\u0442\u043A\u043E\u043C ZOREAL ID.",
|
|
964
|
-
bodyApprove: "\u041F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u044C\u0442\u0435 \u0432\u0445\u0456\u0434 \u0443 \u0434\u043E\u0434\u0430\u0442\u043A\u0443 ZOREAL ID.",
|
|
965
|
-
bodyEnrolling: "\u0417\u0430\u0432\u0435\u0440\u0448\u0456\u0442\u044C \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F ZOREAL ID \u043D\u0430 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0456, \u0430 \u043F\u043E\u0442\u0456\u043C \u043F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u044C\u0442\u0435 \u0432\u0445\u0456\u0434.",
|
|
966
|
-
waiting: "\u041E\u0447\u0456\u043A\u0443\u0432\u0430\u043D\u043D\u044F \u0441\u043A\u0430\u043D\u0443\u0432\u0430\u043D\u043D\u044F",
|
|
967
|
-
waitingApproval: "\u041E\u0447\u0456\u043A\u0443\u0432\u0430\u043D\u043D\u044F \u043F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0436\u0435\u043D\u043D\u044F",
|
|
968
|
-
expiresIn: "\u0421\u043F\u043B\u0438\u0432\u0430\u0454 \u0447\u0435\u0440\u0435\u0437 {time}",
|
|
969
|
-
secured: "\u041F\u0435\u0440\u0435\u0432\u0456\u0440\u043A\u0430 Proof-of-Human \u0432\u0456\u0434 ZOREAL",
|
|
970
|
-
noIdTitle: "\u0429\u0435 \u043D\u0435\u043C\u0430\u0454 ZOREAL ID?",
|
|
971
|
-
noIdBody: "\u0421\u043A\u0430\u043D\u0443\u0439\u0442\u0435 \u0442\u043E\u0439 \u0441\u0430\u043C\u0438\u0439 \u043A\u043E\u0434, \u0449\u043E\u0431 \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0434\u043E\u0434\u0430\u0442\u043E\u043A \u0456 \u0431\u0435\u0437\u043A\u043E\u0448\u0442\u043E\u0432\u043D\u043E \u0441\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u0439\u043E\u0433\u043E. \u0426\u0435 \u0437\u0430\u0439\u043C\u0435 \u043B\u0438\u0448\u0435 \u0445\u0432\u0438\u043B\u0438\u043D\u0443.",
|
|
972
|
-
cancel: "\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438",
|
|
973
|
-
close: "\u0417\u0430\u043A\u0440\u0438\u0442\u0438",
|
|
974
|
-
qrAlt: "QR-\u043A\u043E\u0434 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0443 \u0447\u0435\u0440\u0435\u0437 ZOREAL",
|
|
975
|
-
buttonContinue: "\u041F\u0440\u043E\u0434\u043E\u0432\u0436\u0438\u0442\u0438 \u0437 ZOREAL"
|
|
976
|
-
},
|
|
977
|
-
// اردو
|
|
978
|
-
ur: {
|
|
979
|
-
title: "\u0644\u0627\u06AF \u0627\u0650\u0646 \u06A9\u0631\u0646\u06D2 \u06A9\u06D2 \u0644\u06CC\u06D2 \u0627\u0633\u06A9\u06CC\u0646 \u06A9\u0631\u06CC\u06BA",
|
|
980
|
-
titleIdentify: "\u0627\u067E\u0646\u06CC \u0634\u0646\u0627\u062E\u062A \u06A9\u06CC \u062A\u0635\u062F\u06CC\u0642 \u06A9\u06D2 \u0644\u06CC\u06D2 \u0627\u0633\u06A9\u06CC\u0646 \u06A9\u0631\u06CC\u06BA",
|
|
981
|
-
titlePresence: "\u06CC\u06C1 \u062B\u0627\u0628\u062A \u06A9\u0631\u0646\u06D2 \u06A9\u06D2 \u0644\u06CC\u06D2 \u0627\u0633\u06A9\u06CC\u0646 \u06A9\u0631\u06CC\u06BA \u06A9\u06C1 \u0622\u067E \u0627\u06CC\u06A9 \u062D\u0642\u06CC\u0642\u06CC \u0627\u0646\u0633\u0627\u0646 \u06C1\u06CC\u06BA",
|
|
982
|
-
titleApprove: "\u0627\u067E\u0646\u06D2 \u0641\u0648\u0646 \u067E\u0631 \u0645\u0646\u0638\u0648\u0631\u06CC \u062F\u06CC\u06BA",
|
|
983
|
-
bodyScan: "\u0627\u067E\u0646\u06D2 \u0641\u0648\u0646 \u06A9\u06D2 \u06A9\u06CC\u0645\u0631\u06D2 \u06CC\u0627 ZOREAL ID \u0627\u06CC\u067E \u0633\u06D2 \u0627\u0633\u06A9\u06CC\u0646 \u06A9\u0631\u06CC\u06BA\u06D4",
|
|
984
|
-
bodyApprove: "\u0627\u067E\u0646\u06CC ZOREAL ID \u0627\u06CC\u067E \u0645\u06CC\u06BA \u0644\u0627\u06AF \u0627\u0650\u0646 \u06A9\u06CC \u0645\u0646\u0638\u0648\u0631\u06CC \u062F\u06CC\u06BA\u06D4",
|
|
985
|
-
bodyEnrolling: "\u0627\u067E\u0646\u06D2 \u0641\u0648\u0646 \u067E\u0631 ZOREAL ID \u06A9\u06CC \u0633\u06CC\u0679 \u0627\u067E \u0645\u06A9\u0645\u0644 \u06A9\u0631\u06CC\u06BA\u060C \u067E\u06BE\u0631 \u0644\u0627\u06AF \u0627\u0650\u0646 \u06A9\u06CC \u0645\u0646\u0638\u0648\u0631\u06CC \u062F\u06CC\u06BA\u06D4",
|
|
986
|
-
waiting: "\u0627\u0633\u06A9\u06CC\u0646 \u06A9\u0627 \u0627\u0646\u062A\u0638\u0627\u0631",
|
|
987
|
-
waitingApproval: "\u0645\u0646\u0638\u0648\u0631\u06CC \u06A9\u0627 \u0627\u0646\u062A\u0638\u0627\u0631",
|
|
988
|
-
expiresIn: "{time} \u0645\u06CC\u06BA \u062E\u062A\u0645 \u06C1\u0648\u06AF\u0627",
|
|
989
|
-
secured: "ZOREAL \u06A9\u06CC \u062C\u0627\u0646\u0628 \u0633\u06D2 Proof-of-Human \u062A\u0635\u062F\u06CC\u0642",
|
|
990
|
-
noIdTitle: "\u0627\u0628\u06BE\u06CC \u062A\u06A9 ZOREAL ID \u0646\u06C1\u06CC\u06BA \u06C1\u06D2\u061F",
|
|
991
|
-
noIdBody: "\u0627\u06CC\u067E \u0688\u0627\u0624\u0646 \u0644\u0648\u0688 \u06A9\u0631\u0646\u06D2 \u0627\u0648\u0631 \u0645\u0641\u062A \u0645\u06CC\u06BA \u0627\u06CC\u06A9 \u0628\u0646\u0627\u0646\u06D2 \u06A9\u06D2 \u0644\u06CC\u06D2 \u0648\u06C1\u06CC \u06A9\u0648\u0688 \u0627\u0633\u06A9\u06CC\u0646 \u06A9\u0631\u06CC\u06BA\u06D4 \u0627\u0633 \u0645\u06CC\u06BA \u0635\u0631\u0641 \u0627\u06CC\u06A9 \u0645\u0646\u0679 \u0644\u06AF\u062A\u0627 \u06C1\u06D2\u06D4",
|
|
992
|
-
cancel: "\u0645\u0646\u0633\u0648\u062E \u06A9\u0631\u06CC\u06BA",
|
|
993
|
-
close: "\u0628\u0646\u062F \u06A9\u0631\u06CC\u06BA",
|
|
994
|
-
qrAlt: "ZOREAL \u06A9\u06D2 \u0633\u0627\u062A\u06BE \u0644\u0627\u06AF \u0627\u0650\u0646 \u06A9\u0631\u0646\u06D2 \u06A9\u06D2 \u0644\u06CC\u06D2 QR \u06A9\u0648\u0688",
|
|
995
|
-
buttonContinue: "ZOREAL \u06A9\u06D2 \u0633\u0627\u062A\u06BE \u062C\u0627\u0631\u06CC \u0631\u06A9\u06BE\u06CC\u06BA"
|
|
996
|
-
},
|
|
997
|
-
// Tiếng Việt
|
|
998
|
-
vi: {
|
|
999
|
-
title: "Qu\xE9t \u0111\u1EC3 \u0111\u0103ng nh\u1EADp",
|
|
1000
|
-
titleIdentify: "Qu\xE9t \u0111\u1EC3 x\xE1c minh danh t\xEDnh c\u1EE7a b\u1EA1n",
|
|
1001
|
-
titlePresence: "Qu\xE9t \u0111\u1EC3 ch\u1EE9ng minh b\u1EA1n l\xE0 ng\u01B0\u1EDDi th\u1EADt",
|
|
1002
|
-
titleApprove: "Ph\xEA duy\u1EC7t tr\xEAn \u0111i\u1EC7n tho\u1EA1i c\u1EE7a b\u1EA1n",
|
|
1003
|
-
bodyScan: "Qu\xE9t b\u1EB1ng camera \u0111i\u1EC7n tho\u1EA1i ho\u1EB7c \u1EE9ng d\u1EE5ng ZOREAL ID.",
|
|
1004
|
-
bodyApprove: "Ph\xEA duy\u1EC7t \u0111\u0103ng nh\u1EADp trong \u1EE9ng d\u1EE5ng ZOREAL ID c\u1EE7a b\u1EA1n.",
|
|
1005
|
-
bodyEnrolling: "Ho\xE0n t\u1EA5t thi\u1EBFt l\u1EADp ZOREAL ID tr\xEAn \u0111i\u1EC7n tho\u1EA1i, sau \u0111\xF3 ph\xEA duy\u1EC7t \u0111\u0103ng nh\u1EADp.",
|
|
1006
|
-
waiting: "\u0110ang ch\u1EDD qu\xE9t m\xE3",
|
|
1007
|
-
waitingApproval: "\u0110ang ch\u1EDD ph\xEA duy\u1EC7t",
|
|
1008
|
-
expiresIn: "H\u1EBFt h\u1EA1n sau {time}",
|
|
1009
|
-
secured: "X\xE1c minh Proof-of-Human b\u1EDFi ZOREAL",
|
|
1010
|
-
noIdTitle: "Ch\u01B0a c\xF3 ZOREAL ID?",
|
|
1011
|
-
noIdBody: "Qu\xE9t c\xF9ng m\xE3 n\xE0y \u0111\u1EC3 t\u1EA3i \u1EE9ng d\u1EE5ng v\xE0 t\u1EA1o t\xE0i kho\u1EA3n mi\u1EC5n ph\xED. Ch\u1EC9 m\u1EA5t m\u1ED9t ph\xFAt.",
|
|
1012
|
-
cancel: "H\u1EE7y",
|
|
1013
|
-
close: "\u0110\xF3ng",
|
|
1014
|
-
qrAlt: "M\xE3 QR \u0111\u1EC3 \u0111\u0103ng nh\u1EADp b\u1EB1ng ZOREAL",
|
|
1015
|
-
buttonContinue: "Ti\u1EBFp t\u1EE5c v\u1EDBi ZOREAL"
|
|
1016
|
-
}
|
|
1017
|
-
};
|
|
1018
|
-
var RTL = /* @__PURE__ */ new Set(["ar", "he", "iw", "ur"]);
|
|
1019
|
-
var ALIASES = {
|
|
1020
|
-
nb: "no",
|
|
1021
|
-
// Bokmål — what we actually wrote
|
|
1022
|
-
nn: "no",
|
|
1023
|
-
// Nynorsk reader, served Bokmål: closer than English
|
|
1024
|
-
fil: "tl",
|
|
1025
|
-
// Filipino / Tagalog
|
|
1026
|
-
iw: "he",
|
|
1027
|
-
// superseded code for Hebrew, still emitted by some platforms
|
|
1028
|
-
in: "id"
|
|
1029
|
-
// superseded code for Indonesian
|
|
1030
|
-
};
|
|
1031
|
-
var LATAM = /* @__PURE__ */ new Set([
|
|
1032
|
-
"ar",
|
|
1033
|
-
"bo",
|
|
1034
|
-
"cl",
|
|
1035
|
-
"co",
|
|
1036
|
-
"cr",
|
|
1037
|
-
"cu",
|
|
1038
|
-
"do",
|
|
1039
|
-
"ec",
|
|
1040
|
-
"gt",
|
|
1041
|
-
"hn",
|
|
1042
|
-
"mx",
|
|
1043
|
-
"ni",
|
|
1044
|
-
"pa",
|
|
1045
|
-
"pe",
|
|
1046
|
-
"pr",
|
|
1047
|
-
"py",
|
|
1048
|
-
"sv",
|
|
1049
|
-
"uy",
|
|
1050
|
-
"ve",
|
|
1051
|
-
"419"
|
|
1052
|
-
]);
|
|
1053
|
-
function lookup(locale) {
|
|
1054
|
-
const tag = locale.toLowerCase().replace(/_/g, "-");
|
|
1055
|
-
const parts = tag.split("-");
|
|
1056
|
-
const primary = ALIASES[parts[0]] ?? parts[0];
|
|
1057
|
-
const region = parts[1];
|
|
1058
|
-
if (primary === "zh") {
|
|
1059
|
-
const simplified = /(^|-)(hans|cn|sg|my)(-|$)/.test(tag);
|
|
1060
|
-
return TRANSLATIONS[simplified ? "zhs" : "zht"];
|
|
1061
|
-
}
|
|
1062
|
-
if (primary === "es" && region && LATAM.has(region)) return TRANSLATIONS["es-419"];
|
|
1063
|
-
if (primary === "pt" && region === "br") return TRANSLATIONS["pt-br"];
|
|
1064
|
-
return TRANSLATIONS[tag] ?? TRANSLATIONS[primary];
|
|
1065
|
-
}
|
|
1066
|
-
function browserLocales() {
|
|
1067
|
-
if (typeof navigator === "undefined") return [];
|
|
1068
|
-
const nav = navigator;
|
|
1069
|
-
if (nav.languages && nav.languages.length) return [...nav.languages];
|
|
1070
|
-
return nav.language ? [nav.language] : [];
|
|
1071
|
-
}
|
|
1072
|
-
function strings(locale) {
|
|
1073
|
-
if (locale) return lookup(locale) ?? en;
|
|
1074
|
-
for (const candidate of browserLocales()) {
|
|
1075
|
-
const hit = lookup(candidate);
|
|
1076
|
-
if (hit) return hit;
|
|
1077
|
-
}
|
|
1078
|
-
return en;
|
|
1079
|
-
}
|
|
1080
|
-
function isRtl(locale) {
|
|
1081
|
-
const tag = locale ?? browserLocales()[0];
|
|
1082
|
-
if (!tag) return false;
|
|
1083
|
-
return RTL.has(tag.toLowerCase().replace(/_/g, "-").split("-")[0]);
|
|
1084
|
-
}
|
|
1085
|
-
function interpolate(template, time) {
|
|
1086
|
-
return template.replace("{time}", time);
|
|
1087
|
-
}
|
|
1088
|
-
|
|
1089
|
-
// src/styles.ts
|
|
1090
|
-
var PREFIX = "zrl";
|
|
1091
|
-
var cx = (name) => `${PREFIX}-${name}`;
|
|
1092
|
-
var STYLE_ELEMENT_ID = "zoreal-pairing-styles";
|
|
1093
|
-
var LIGHT = `
|
|
1094
|
-
--zrl-scrim: rgba(16, 18, 27, 0.45);
|
|
1095
|
-
--zrl-surface: #ffffff;
|
|
1096
|
-
--zrl-surface-sunken: #f6f7f9;
|
|
1097
|
-
--zrl-ink: #16181c;
|
|
1098
|
-
--zrl-ink-soft: #4a4f57;
|
|
1099
|
-
--zrl-ink-mute: #6b7078;
|
|
1100
|
-
--zrl-line: #e4e6ea;
|
|
1101
|
-
--zrl-line-soft: #eef0f3;
|
|
1102
|
-
--zrl-accent: #00b4d9;
|
|
1103
|
-
--zrl-accent-soft: #dcf3fa;
|
|
1104
|
-
--zrl-accent-ink: #04698a;
|
|
1105
|
-
--zrl-urgent: #b4761a;
|
|
1106
|
-
--zrl-qr-bg: #ffffff;
|
|
1107
|
-
--zrl-qr-filter: none;
|
|
1108
|
-
--zrl-qr-spent-filter: blur(3px);
|
|
1109
|
-
--zrl-qr-blend: normal;
|
|
1110
|
-
--zrl-shadow: 0 1px 2px rgba(16, 18, 27, 0.06), 0 20px 50px -12px rgba(16, 18, 27, 0.3);
|
|
1111
|
-
--zrl-ring: rgba(16, 18, 27, 0.07);
|
|
1112
|
-
/* The light on the QR well's edge. Brand blue on both grounds, a lighter
|
|
1113
|
-
tint at the head; only its strength is themed, see the dark block. */
|
|
1114
|
-
--zrl-beam: #00b4d9;
|
|
1115
|
-
--zrl-beam-head: #7fe0f4;
|
|
1116
|
-
--zrl-beam-line: 2px;
|
|
1117
|
-
--zrl-glow-core: 4px;
|
|
1118
|
-
--zrl-glow-reach: 24px;
|
|
1119
|
-
--zrl-glow-blur: 8px;
|
|
1120
|
-
--zrl-glow-opacity: 0.6;
|
|
1121
|
-
`;
|
|
1122
|
-
var DARK = `
|
|
1123
|
-
--zrl-scrim: rgba(0, 0, 0, 0.62);
|
|
1124
|
-
--zrl-surface: #17191d;
|
|
1125
|
-
--zrl-surface-sunken: #1f2226;
|
|
1126
|
-
--zrl-ink: #f4f5f7;
|
|
1127
|
-
--zrl-ink-soft: #b3b8c0;
|
|
1128
|
-
--zrl-ink-mute: #8b9199;
|
|
1129
|
-
--zrl-line: #2c3036;
|
|
1130
|
-
--zrl-line-soft: #24272c;
|
|
1131
|
-
--zrl-accent: #34c9e8;
|
|
1132
|
-
--zrl-accent-soft: #0d3b47;
|
|
1133
|
-
--zrl-accent-ink: #7fdcf0;
|
|
1134
|
-
--zrl-urgent: #e0a952;
|
|
1135
|
-
/* The code is drawn light on the dark surface: the panel is transparent
|
|
1136
|
-
and the image is inverted and screened, so only the modules and the
|
|
1137
|
-
mark show. */
|
|
1138
|
-
--zrl-qr-bg: transparent;
|
|
1139
|
-
--zrl-qr-filter: invert(1);
|
|
1140
|
-
--zrl-qr-spent-filter: invert(1) blur(3px);
|
|
1141
|
-
--zrl-qr-blend: screen;
|
|
1142
|
-
--zrl-shadow: 0 1px 2px rgba(0, 0, 0, 0.4), 0 20px 50px -12px rgba(0, 0, 0, 0.65);
|
|
1143
|
-
--zrl-ring: rgba(255, 255, 255, 0.1);
|
|
1144
|
-
/* A glow that reads on a white card disappears on a dark one: the light
|
|
1145
|
-
here is brighter and wider, and its halo reaches further out. */
|
|
1146
|
-
--zrl-beam: #22c8ec;
|
|
1147
|
-
--zrl-beam-head: #c2f3fc;
|
|
1148
|
-
--zrl-beam-line: 3px;
|
|
1149
|
-
--zrl-glow-core: 6px;
|
|
1150
|
-
--zrl-glow-reach: 32px;
|
|
1151
|
-
--zrl-glow-blur: 10px;
|
|
1152
|
-
--zrl-glow-opacity: 0.85;
|
|
1153
|
-
`;
|
|
1154
|
-
var CSS = `
|
|
1155
|
-
.${PREFIX}-root { ${LIGHT} }
|
|
1156
|
-
.${PREFIX}-root[data-theme="dark"] { ${DARK} }
|
|
1157
|
-
@media (prefers-color-scheme: dark) {
|
|
1158
|
-
.${PREFIX}-root[data-theme="auto"] { ${DARK} }
|
|
1159
|
-
}
|
|
1160
|
-
|
|
1161
|
-
.${PREFIX}-scrim {
|
|
1162
|
-
position: fixed;
|
|
1163
|
-
inset: 0;
|
|
1164
|
-
z-index: 2147483000;
|
|
1165
|
-
display: grid;
|
|
1166
|
-
place-items: center;
|
|
1167
|
-
overflow-y: auto;
|
|
1168
|
-
padding: 16px;
|
|
1169
|
-
background: var(--zrl-scrim);
|
|
1170
|
-
backdrop-filter: blur(3px);
|
|
1171
|
-
-webkit-backdrop-filter: blur(3px);
|
|
1172
|
-
font-family: inherit;
|
|
1173
|
-
animation: ${PREFIX}-fade 200ms ease-out both;
|
|
303
|
+
|
|
304
|
+
.${PREFIX}-scrim {
|
|
305
|
+
position: fixed;
|
|
306
|
+
inset: 0;
|
|
307
|
+
z-index: 2147483000;
|
|
308
|
+
display: grid;
|
|
309
|
+
place-items: center;
|
|
310
|
+
overflow-y: auto;
|
|
311
|
+
padding: 16px;
|
|
312
|
+
background: var(--zrl-scrim);
|
|
313
|
+
backdrop-filter: blur(3px);
|
|
314
|
+
-webkit-backdrop-filter: blur(3px);
|
|
315
|
+
font-family: inherit;
|
|
316
|
+
animation: ${PREFIX}-fade 200ms ease-out both;
|
|
1174
317
|
}
|
|
1175
318
|
|
|
1176
319
|
.${PREFIX}-card {
|
|
@@ -1506,6 +649,16 @@ var CSS = `
|
|
|
1506
649
|
transition: opacity 200ms ease-out;
|
|
1507
650
|
}
|
|
1508
651
|
.${PREFIX}-ring[data-busy="true"] > .${PREFIX}-ring-svg { opacity: 1; }
|
|
652
|
+
/* The same light as an overlay in the document body, placed over a site's
|
|
653
|
+
own control by the package itself (busy.ts): nothing of the site's
|
|
654
|
+
markup or CSS is touched, and neither an ancestor's overflow nor a
|
|
655
|
+
selector on the control's parent is affected. */
|
|
656
|
+
.${PREFIX}-ring-overlay {
|
|
657
|
+
position: fixed;
|
|
658
|
+
display: block;
|
|
659
|
+
z-index: 2147483000;
|
|
660
|
+
pointer-events: none;
|
|
661
|
+
}
|
|
1509
662
|
.${PREFIX}-ring-svg rect {
|
|
1510
663
|
--zrl-l: var(--zrl-ring-len, 600px);
|
|
1511
664
|
x: 2px;
|
|
@@ -1524,39 +677,1053 @@ var CSS = `
|
|
|
1524
677
|
stroke-width: calc(var(--zrl-glow-core) * 2 + var(--zrl-beam-line));
|
|
1525
678
|
filter: blur(var(--zrl-glow-blur));
|
|
1526
679
|
}
|
|
1527
|
-
@keyframes ${PREFIX}-dash {
|
|
1528
|
-
from { stroke-dashoffset: var(--zrl-s, 0px); }
|
|
1529
|
-
to { stroke-dashoffset: calc(var(--zrl-s, 0px) - var(--zrl-l)); }
|
|
680
|
+
@keyframes ${PREFIX}-dash {
|
|
681
|
+
from { stroke-dashoffset: var(--zrl-s, 0px); }
|
|
682
|
+
to { stroke-dashoffset: calc(var(--zrl-s, 0px) - var(--zrl-l)); }
|
|
683
|
+
}
|
|
684
|
+
@media (prefers-reduced-motion: reduce) {
|
|
685
|
+
.${PREFIX}-ring-svg rect { animation: none; stroke-dasharray: none; opacity: 0.45; }
|
|
686
|
+
.${PREFIX}-ring-halo, .${PREFIX}-ring-head { display: none; }
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
|
|
690
|
+
@media (prefers-reduced-motion: reduce) {
|
|
691
|
+
.${PREFIX}-scrim,
|
|
692
|
+
.${PREFIX}-card,
|
|
693
|
+
.${PREFIX}-qr-overlay { animation: none }
|
|
694
|
+
.${PREFIX}-dot i:first-child { animation: none; opacity: 0.35 }
|
|
695
|
+
.${PREFIX}-qr,
|
|
696
|
+
.${PREFIX}-cancel,
|
|
697
|
+
.${PREFIX}-close,
|
|
698
|
+
.${PREFIX}-timer { transition: none }
|
|
699
|
+
/* No travelling light; the edge keeps its dim static glow instead. */
|
|
700
|
+
.${PREFIX}-qr-beam::after,
|
|
701
|
+
.${PREFIX}-qr-beam-glow-band::after { animation: none; opacity: 0 }
|
|
702
|
+
.${PREFIX}-qr-beam::before { opacity: 0.55 }
|
|
703
|
+
.${PREFIX}-qr-beam-glow-band::before { opacity: 0.7 }
|
|
704
|
+
}
|
|
705
|
+
`;
|
|
706
|
+
function ensureStyles() {
|
|
707
|
+
if (typeof document === "undefined") return;
|
|
708
|
+
if (document.getElementById(STYLE_ELEMENT_ID)) return;
|
|
709
|
+
const el2 = document.createElement("style");
|
|
710
|
+
el2.id = STYLE_ELEMENT_ID;
|
|
711
|
+
el2.textContent = CSS;
|
|
712
|
+
document.head.appendChild(el2);
|
|
713
|
+
}
|
|
714
|
+
|
|
715
|
+
// src/busy.ts
|
|
716
|
+
var SVG_NS = "http://www.w3.org/2000/svg";
|
|
717
|
+
var TAIL = 0.3;
|
|
718
|
+
var STACK = Array.from({ length: 12 }, (_, i) => 12 - i);
|
|
719
|
+
var HALO = [3, 2, 1];
|
|
720
|
+
function radiusOf(control) {
|
|
721
|
+
const value = parseFloat(getComputedStyle(control).borderTopLeftRadius);
|
|
722
|
+
return Number.isFinite(value) ? value : 8;
|
|
723
|
+
}
|
|
724
|
+
function holdBusy(control) {
|
|
725
|
+
if (typeof document === "undefined") return () => {
|
|
726
|
+
};
|
|
727
|
+
ensureStyles();
|
|
728
|
+
const hadDisabled = control.hasAttribute("disabled");
|
|
729
|
+
const hadBusy = control.getAttribute("aria-busy");
|
|
730
|
+
if (control instanceof HTMLButtonElement || control instanceof HTMLInputElement) {
|
|
731
|
+
control.disabled = true;
|
|
732
|
+
} else {
|
|
733
|
+
control.setAttribute("aria-disabled", "true");
|
|
734
|
+
}
|
|
735
|
+
control.setAttribute("aria-busy", "true");
|
|
736
|
+
const overlay = document.createElement("div");
|
|
737
|
+
overlay.className = `${cx("root")} ${cx("ring")} ${cx("ring-overlay")}`;
|
|
738
|
+
overlay.dataset.theme = "auto";
|
|
739
|
+
overlay.dataset.busy = "true";
|
|
740
|
+
overlay.setAttribute("aria-hidden", "true");
|
|
741
|
+
const svg2 = document.createElementNS(SVG_NS, "svg");
|
|
742
|
+
svg2.setAttribute("class", cx("ring-svg"));
|
|
743
|
+
const rx = radiusOf(control) + 2;
|
|
744
|
+
const layer = (name, len, alpha) => {
|
|
745
|
+
const rect = document.createElementNS(SVG_NS, "rect");
|
|
746
|
+
rect.setAttribute("class", cx(name));
|
|
747
|
+
rect.setAttribute("rx", String(rx));
|
|
748
|
+
rect.setAttribute("ry", String(rx));
|
|
749
|
+
rect.style.strokeDasharray = `calc(var(--zrl-l) * ${len}) calc(var(--zrl-l) * ${1 - len})`;
|
|
750
|
+
rect.style.setProperty("--zrl-s", `calc(var(--zrl-l) * ${-(TAIL - len)})`);
|
|
751
|
+
rect.style.opacity = alpha;
|
|
752
|
+
svg2.appendChild(rect);
|
|
753
|
+
return rect;
|
|
754
|
+
};
|
|
755
|
+
let measured = null;
|
|
756
|
+
for (const n of HALO) {
|
|
757
|
+
const rect = layer("ring-halo", TAIL * n / HALO.length, `calc(var(--zrl-glow-opacity) * 0.6 / ${n})`);
|
|
758
|
+
measured ?? (measured = rect);
|
|
759
|
+
}
|
|
760
|
+
for (const n of STACK) layer(n <= 2 ? "ring-head" : "ring-tail", TAIL * n / STACK.length, String(1 / n));
|
|
761
|
+
overlay.appendChild(svg2);
|
|
762
|
+
document.body.appendChild(overlay);
|
|
763
|
+
let frame = 0;
|
|
764
|
+
const place = () => {
|
|
765
|
+
frame = 0;
|
|
766
|
+
const box = control.getBoundingClientRect();
|
|
767
|
+
overlay.style.left = `${box.left}px`;
|
|
768
|
+
overlay.style.top = `${box.top}px`;
|
|
769
|
+
overlay.style.width = `${box.width}px`;
|
|
770
|
+
overlay.style.height = `${box.height}px`;
|
|
771
|
+
const length = typeof measured?.getTotalLength === "function" ? measured.getTotalLength() : 0;
|
|
772
|
+
if (length > 0) overlay.style.setProperty("--zrl-ring-len", `${length}px`);
|
|
773
|
+
};
|
|
774
|
+
const schedule = () => {
|
|
775
|
+
if (!frame) frame = requestAnimationFrame(place);
|
|
776
|
+
};
|
|
777
|
+
place();
|
|
778
|
+
const observer = typeof ResizeObserver === "undefined" ? null : new ResizeObserver(schedule);
|
|
779
|
+
observer?.observe(control);
|
|
780
|
+
window.addEventListener("scroll", schedule, true);
|
|
781
|
+
window.addEventListener("resize", schedule);
|
|
782
|
+
let released = false;
|
|
783
|
+
return () => {
|
|
784
|
+
if (released) return;
|
|
785
|
+
released = true;
|
|
786
|
+
if (frame) cancelAnimationFrame(frame);
|
|
787
|
+
observer?.disconnect();
|
|
788
|
+
window.removeEventListener("scroll", schedule, true);
|
|
789
|
+
window.removeEventListener("resize", schedule);
|
|
790
|
+
overlay.remove();
|
|
791
|
+
if (control instanceof HTMLButtonElement || control instanceof HTMLInputElement) {
|
|
792
|
+
control.disabled = hadDisabled;
|
|
793
|
+
} else {
|
|
794
|
+
control.removeAttribute("aria-disabled");
|
|
795
|
+
}
|
|
796
|
+
if (hadBusy === null) control.removeAttribute("aria-busy");
|
|
797
|
+
else control.setAttribute("aria-busy", hadBusy);
|
|
798
|
+
};
|
|
799
|
+
}
|
|
800
|
+
|
|
801
|
+
// src/intent.ts
|
|
802
|
+
var SIGN_IN_SCOPES = /* @__PURE__ */ new Set(["openid", "email", "profile.name"]);
|
|
803
|
+
function resolveIntent(intent, scope, acrValues) {
|
|
804
|
+
if (intent) return intent;
|
|
805
|
+
const scopes = (scope ?? "openid").split(/\s+/).filter(Boolean);
|
|
806
|
+
if (scopes.some((s) => !SIGN_IN_SCOPES.has(s))) return "identify";
|
|
807
|
+
const acr = typeof acrValues === "string" ? acrValues.split(/\s+/) : acrValues ?? [];
|
|
808
|
+
if (scopes.every((s) => s === "openid") && acr.includes("zoreal.live")) return "presence";
|
|
809
|
+
return "sign-in";
|
|
810
|
+
}
|
|
811
|
+
function titleFor(t, intent) {
|
|
812
|
+
if (intent === "identify") return t.titleIdentify;
|
|
813
|
+
if (intent === "presence") return t.titlePresence;
|
|
814
|
+
return t.title;
|
|
815
|
+
}
|
|
816
|
+
|
|
817
|
+
// src/return.ts
|
|
818
|
+
var PREFIX2 = "zoreal:oauth2:return:";
|
|
819
|
+
var DONE = "zoreal:oauth2:done:";
|
|
820
|
+
var MAX_AGE_MS = 10 * 60 * 1e3;
|
|
821
|
+
function storage() {
|
|
822
|
+
try {
|
|
823
|
+
return typeof localStorage === "undefined" ? null : localStorage;
|
|
824
|
+
} catch {
|
|
825
|
+
return null;
|
|
826
|
+
}
|
|
827
|
+
}
|
|
828
|
+
function saveReturnFlow(flow) {
|
|
829
|
+
try {
|
|
830
|
+
storage()?.setItem(PREFIX2 + flow.requestId, JSON.stringify(flow));
|
|
831
|
+
} catch {
|
|
832
|
+
}
|
|
833
|
+
}
|
|
834
|
+
function peekReturnFlow(requestId) {
|
|
835
|
+
const store = storage();
|
|
836
|
+
if (!store) return null;
|
|
837
|
+
const raw = store.getItem(PREFIX2 + requestId);
|
|
838
|
+
if (!raw) return null;
|
|
839
|
+
try {
|
|
840
|
+
const flow = JSON.parse(raw);
|
|
841
|
+
if (flow.v !== 1 || flow.requestId !== requestId) return null;
|
|
842
|
+
if (Date.now() - flow.createdAt > MAX_AGE_MS) return null;
|
|
843
|
+
return flow;
|
|
844
|
+
} catch {
|
|
845
|
+
return null;
|
|
846
|
+
}
|
|
847
|
+
}
|
|
848
|
+
function forgetReturnFlow(requestId) {
|
|
849
|
+
try {
|
|
850
|
+
storage()?.removeItem(PREFIX2 + requestId);
|
|
851
|
+
} catch {
|
|
852
|
+
}
|
|
853
|
+
if (pending === requestId) pending = null;
|
|
854
|
+
}
|
|
855
|
+
function markReturnDone(requestId) {
|
|
856
|
+
try {
|
|
857
|
+
const store = storage();
|
|
858
|
+
store?.setItem(DONE + requestId, String(Date.now()));
|
|
859
|
+
store?.removeItem(PREFIX2 + requestId);
|
|
860
|
+
} catch {
|
|
861
|
+
}
|
|
862
|
+
}
|
|
863
|
+
function isReturnDone(requestId) {
|
|
864
|
+
return storage()?.getItem(DONE + requestId) !== null && storage()?.getItem(DONE + requestId) !== void 0;
|
|
865
|
+
}
|
|
866
|
+
function returnToUrl() {
|
|
867
|
+
if (typeof window === "undefined") return void 0;
|
|
868
|
+
const { href } = window.location;
|
|
869
|
+
const hash = href.indexOf("#");
|
|
870
|
+
return hash === -1 ? href : href.slice(0, hash);
|
|
871
|
+
}
|
|
872
|
+
var RETURN_MARK = /(?:^|[#&])zoreal_return=([A-Za-z0-9]{32})(?:&|$)/;
|
|
873
|
+
var pending = null;
|
|
874
|
+
function pendingReturnId() {
|
|
875
|
+
if (pending) return pending;
|
|
876
|
+
if (typeof window === "undefined") return null;
|
|
877
|
+
const match = RETURN_MARK.exec(window.location.hash);
|
|
878
|
+
if (!match) return null;
|
|
879
|
+
pending = match[1];
|
|
880
|
+
try {
|
|
881
|
+
window.history.replaceState(window.history.state, "", returnToUrl());
|
|
882
|
+
} catch {
|
|
883
|
+
}
|
|
884
|
+
return pending;
|
|
885
|
+
}
|
|
886
|
+
|
|
887
|
+
// src/i18n.ts
|
|
888
|
+
var en = {
|
|
889
|
+
title: "Scan to sign in",
|
|
890
|
+
titleIdentify: "Scan to verify your identity",
|
|
891
|
+
titlePresence: "Scan to prove you are a real human",
|
|
892
|
+
titleApprove: "Approve on your phone",
|
|
893
|
+
bodyScan: "Scan with your phone camera or the ZOREAL ID app.",
|
|
894
|
+
bodyApprove: "Approve the login in your ZOREAL ID app.",
|
|
895
|
+
bodyEnrolling: "Finish setting up ZOREAL ID on your phone, then approve the login.",
|
|
896
|
+
waiting: "Waiting for scan",
|
|
897
|
+
waitingApproval: "Waiting for approval",
|
|
898
|
+
expiresIn: "Expires in {time}",
|
|
899
|
+
secured: "Proof-of-Human verification by ZOREAL",
|
|
900
|
+
noIdTitle: "No ZOREAL ID yet?",
|
|
901
|
+
noIdBody: "Scan the same code to download the app and create one for free. It only takes a minute.",
|
|
902
|
+
cancel: "Cancel",
|
|
903
|
+
close: "Close",
|
|
904
|
+
qrAlt: "QR code to sign in with ZOREAL",
|
|
905
|
+
buttonContinue: "Continue with ZOREAL"
|
|
906
|
+
};
|
|
907
|
+
var TRANSLATIONS = {
|
|
908
|
+
en,
|
|
909
|
+
sv: {
|
|
910
|
+
title: "Skanna f\xF6r att logga in",
|
|
911
|
+
titleIdentify: "Skanna f\xF6r att verifiera din identitet",
|
|
912
|
+
titlePresence: "Skanna f\xF6r att bevisa att du \xE4r en riktig m\xE4nniska",
|
|
913
|
+
titleApprove: "Godk\xE4nn p\xE5 telefonen",
|
|
914
|
+
bodyScan: "Skanna med telefonens kamera eller ZOREAL ID-appen.",
|
|
915
|
+
bodyApprove: "Godk\xE4nn inloggningen i ZOREAL ID-appen.",
|
|
916
|
+
bodyEnrolling: "Slutf\xF6r konfigurationen av ZOREAL ID p\xE5 telefonen och godk\xE4nn sedan inloggningen.",
|
|
917
|
+
waiting: "V\xE4ntar p\xE5 skanning",
|
|
918
|
+
waitingApproval: "V\xE4ntar p\xE5 godk\xE4nnande",
|
|
919
|
+
expiresIn: "Upph\xF6r om {time}",
|
|
920
|
+
secured: "Proof-of-Human-verifiering av ZOREAL",
|
|
921
|
+
noIdTitle: "Har du inget ZOREAL ID?",
|
|
922
|
+
noIdBody: "Skanna samma kod f\xF6r att ladda ner appen och skapa ett gratis. Det tar bara en minut.",
|
|
923
|
+
cancel: "Avbryt",
|
|
924
|
+
close: "St\xE4ng",
|
|
925
|
+
qrAlt: "QR-kod f\xF6r att logga in med ZOREAL",
|
|
926
|
+
buttonContinue: "Forts\xE4tt med ZOREAL"
|
|
927
|
+
},
|
|
928
|
+
es: {
|
|
929
|
+
title: "Escanea para iniciar sesi\xF3n",
|
|
930
|
+
titleIdentify: "Escanea para verificar tu identidad",
|
|
931
|
+
titlePresence: "Escanea para demostrar que eres una persona real",
|
|
932
|
+
titleApprove: "Apru\xE9balo en tu tel\xE9fono",
|
|
933
|
+
bodyScan: "Escanea con la c\xE1mara de tu tel\xE9fono o con la app ZOREAL ID.",
|
|
934
|
+
bodyApprove: "Aprueba el inicio de sesi\xF3n en tu app ZOREAL ID.",
|
|
935
|
+
bodyEnrolling: "Termina de configurar ZOREAL ID en tu tel\xE9fono y luego aprueba el inicio de sesi\xF3n.",
|
|
936
|
+
waiting: "Esperando el escaneo",
|
|
937
|
+
waitingApproval: "Esperando aprobaci\xF3n",
|
|
938
|
+
expiresIn: "Caduca en {time}",
|
|
939
|
+
secured: "Verificaci\xF3n Proof-of-Human de ZOREAL",
|
|
940
|
+
noIdTitle: "\xBFA\xFAn no tienes ZOREAL ID?",
|
|
941
|
+
noIdBody: "Escanea el mismo c\xF3digo para descargar la app y crear una gratis. Solo toma un minuto.",
|
|
942
|
+
cancel: "Cancelar",
|
|
943
|
+
close: "Cerrar",
|
|
944
|
+
qrAlt: "C\xF3digo QR para iniciar sesi\xF3n con ZOREAL",
|
|
945
|
+
buttonContinue: "Continuar con ZOREAL"
|
|
946
|
+
},
|
|
947
|
+
pt: {
|
|
948
|
+
title: "Digitalize para entrar",
|
|
949
|
+
titleIdentify: "Digitalize para verificar a sua identidade",
|
|
950
|
+
titlePresence: "Digitalize para provar que \xE9 uma pessoa real",
|
|
951
|
+
titleApprove: "Aprove no seu telefone",
|
|
952
|
+
bodyScan: "Digitalize com a c\xE2mara do seu telefone ou com a app ZOREAL ID.",
|
|
953
|
+
bodyApprove: "Aprove o login no app ZOREAL ID.",
|
|
954
|
+
bodyEnrolling: "Termine de configurar o ZOREAL ID no seu telefone e depois aprove o login.",
|
|
955
|
+
waiting: "Aguardando digitaliza\xE7\xE3o",
|
|
956
|
+
waitingApproval: "Aguardando aprova\xE7\xE3o",
|
|
957
|
+
expiresIn: "Expira em {time}",
|
|
958
|
+
secured: "Verifica\xE7\xE3o Proof-of-Human da ZOREAL",
|
|
959
|
+
noIdTitle: "Ainda n\xE3o tem ZOREAL ID?",
|
|
960
|
+
noIdBody: "Digitalize o mesmo c\xF3digo para baixar o app e criar uma conta gr\xE1tis. Leva s\xF3 um minuto.",
|
|
961
|
+
cancel: "Cancelar",
|
|
962
|
+
close: "Fechar",
|
|
963
|
+
qrAlt: "C\xF3digo QR para entrar com ZOREAL",
|
|
964
|
+
buttonContinue: "Continuar com ZOREAL"
|
|
965
|
+
},
|
|
966
|
+
fr: {
|
|
967
|
+
title: "Scannez pour vous connecter",
|
|
968
|
+
titleIdentify: "Scannez pour v\xE9rifier votre identit\xE9",
|
|
969
|
+
titlePresence: "Scannez pour prouver que vous \xEAtes bien un humain",
|
|
970
|
+
titleApprove: "Approuvez sur votre t\xE9l\xE9phone",
|
|
971
|
+
bodyScan: "Scannez avec l'appareil photo de votre t\xE9l\xE9phone ou l'app ZOREAL ID.",
|
|
972
|
+
bodyApprove: "Approuvez la connexion dans votre app ZOREAL ID.",
|
|
973
|
+
bodyEnrolling: "Terminez la configuration de ZOREAL ID sur votre t\xE9l\xE9phone, puis approuvez la connexion.",
|
|
974
|
+
waiting: "En attente du scan",
|
|
975
|
+
waitingApproval: "En attente d'approbation",
|
|
976
|
+
expiresIn: "Expire dans {time}",
|
|
977
|
+
secured: "V\xE9rification Proof-of-Human par ZOREAL",
|
|
978
|
+
noIdTitle: "Pas encore de ZOREAL ID ?",
|
|
979
|
+
noIdBody: "Scannez le m\xEAme code pour t\xE9l\xE9charger l'app et en cr\xE9er un gratuitement. Cela prend une minute.",
|
|
980
|
+
cancel: "Annuler",
|
|
981
|
+
close: "Fermer",
|
|
982
|
+
qrAlt: "Code QR pour se connecter avec ZOREAL",
|
|
983
|
+
buttonContinue: "Continuer avec ZOREAL"
|
|
984
|
+
},
|
|
985
|
+
de: {
|
|
986
|
+
title: "Zum Anmelden scannen",
|
|
987
|
+
titleIdentify: "Scannen, um Ihre Identit\xE4t zu verifizieren",
|
|
988
|
+
titlePresence: "Scannen, um zu beweisen, dass Sie ein echter Mensch sind",
|
|
989
|
+
titleApprove: "Auf dem Handy best\xE4tigen",
|
|
990
|
+
bodyScan: "Mit der Handykamera oder der ZOREAL ID App scannen.",
|
|
991
|
+
bodyApprove: "Anmeldung in der ZOREAL ID App best\xE4tigen.",
|
|
992
|
+
bodyEnrolling: "ZOREAL ID auf dem Handy fertig einrichten und dann die Anmeldung best\xE4tigen.",
|
|
993
|
+
waiting: "Warten auf Scan",
|
|
994
|
+
waitingApproval: "Warten auf Best\xE4tigung",
|
|
995
|
+
expiresIn: "L\xE4uft ab in {time}",
|
|
996
|
+
secured: "Proof-of-Human-Verifizierung von ZOREAL",
|
|
997
|
+
noIdTitle: "Noch keine ZOREAL ID?",
|
|
998
|
+
noIdBody: "Denselben Code scannen, um die App zu laden und kostenlos eine zu erstellen. Dauert nur eine Minute.",
|
|
999
|
+
cancel: "Abbrechen",
|
|
1000
|
+
close: "Schlie\xDFen",
|
|
1001
|
+
qrAlt: "QR-Code f\xFCr die Anmeldung mit ZOREAL",
|
|
1002
|
+
buttonContinue: "Weiter mit ZOREAL"
|
|
1003
|
+
},
|
|
1004
|
+
ru: {
|
|
1005
|
+
title: "\u041E\u0442\u0441\u043A\u0430\u043D\u0438\u0440\u0443\u0439\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u0432\u043E\u0439\u0442\u0438",
|
|
1006
|
+
titleIdentify: "\u041E\u0442\u0441\u043A\u0430\u043D\u0438\u0440\u0443\u0439\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C \u043B\u0438\u0447\u043D\u043E\u0441\u0442\u044C",
|
|
1007
|
+
titlePresence: "\u041E\u0442\u0441\u043A\u0430\u043D\u0438\u0440\u0443\u0439\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u0434\u043E\u043A\u0430\u0437\u0430\u0442\u044C, \u0447\u0442\u043E \u0432\u044B \u0440\u0435\u0430\u043B\u044C\u043D\u044B\u0439 \u0447\u0435\u043B\u043E\u0432\u0435\u043A",
|
|
1008
|
+
titleApprove: "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u043D\u0430 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0435",
|
|
1009
|
+
bodyScan: "\u041E\u0442\u0441\u043A\u0430\u043D\u0438\u0440\u0443\u0439\u0442\u0435 \u043A\u0430\u043C\u0435\u0440\u043E\u0439 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u0438\u043B\u0438 \u0447\u0435\u0440\u0435\u0437 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 ZOREAL ID.",
|
|
1010
|
+
bodyApprove: "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u0432\u0445\u043E\u0434 \u0432 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 ZOREAL ID.",
|
|
1011
|
+
bodyEnrolling: "\u0417\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0443 ZOREAL ID \u043D\u0430 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0435, \u0437\u0430\u0442\u0435\u043C \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u0432\u0445\u043E\u0434.",
|
|
1012
|
+
waiting: "\u041E\u0436\u0438\u0434\u0430\u043D\u0438\u0435 \u0441\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F",
|
|
1013
|
+
waitingApproval: "\u041E\u0436\u0438\u0434\u0430\u043D\u0438\u0435 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F",
|
|
1014
|
+
expiresIn: "\u0418\u0441\u0442\u0435\u043A\u0430\u0435\u0442 \u0447\u0435\u0440\u0435\u0437 {time}",
|
|
1015
|
+
secured: "\u041F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 Proof-of-Human \u043E\u0442 ZOREAL",
|
|
1016
|
+
noIdTitle: "\u0415\u0449\u0451 \u043D\u0435\u0442 ZOREAL ID?",
|
|
1017
|
+
noIdBody: "\u041E\u0442\u0441\u043A\u0430\u043D\u0438\u0440\u0443\u0439\u0442\u0435 \u0442\u043E\u0442 \u0436\u0435 \u043A\u043E\u0434, \u0447\u0442\u043E\u0431\u044B \u0441\u043A\u0430\u0447\u0430\u0442\u044C \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0438 \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u0435\u0433\u043E \u0431\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E. \u042D\u0442\u043E \u0437\u0430\u0439\u043C\u0451\u0442 \u043C\u0438\u043D\u0443\u0442\u0443.",
|
|
1018
|
+
cancel: "\u041E\u0442\u043C\u0435\u043D\u0430",
|
|
1019
|
+
close: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C",
|
|
1020
|
+
qrAlt: "QR-\u043A\u043E\u0434 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0430 \u0447\u0435\u0440\u0435\u0437 ZOREAL",
|
|
1021
|
+
buttonContinue: "\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C \u0441 ZOREAL"
|
|
1022
|
+
},
|
|
1023
|
+
ja: {
|
|
1024
|
+
title: "\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u30ED\u30B0\u30A4\u30F3",
|
|
1025
|
+
titleIdentify: "\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u672C\u4EBA\u78BA\u8A8D",
|
|
1026
|
+
titlePresence: "\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u5B9F\u5728\u306E\u4EBA\u7269\u3067\u3042\u308B\u3053\u3068\u3092\u8A3C\u660E",
|
|
1027
|
+
titleApprove: "\u30B9\u30DE\u30FC\u30C8\u30D5\u30A9\u30F3\u3067\u627F\u8A8D",
|
|
1028
|
+
bodyScan: "\u30B9\u30DE\u30FC\u30C8\u30D5\u30A9\u30F3\u306E\u30AB\u30E1\u30E9\u307E\u305F\u306FZOREAL ID\u30A2\u30D7\u30EA\u3067\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
1029
|
+
bodyApprove: "ZOREAL ID\u30A2\u30D7\u30EA\u3067\u30ED\u30B0\u30A4\u30F3\u3092\u627F\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
1030
|
+
bodyEnrolling: "\u30B9\u30DE\u30FC\u30C8\u30D5\u30A9\u30F3\u3067ZOREAL ID\u306E\u8A2D\u5B9A\u3092\u5B8C\u4E86\u3057\u3001\u30ED\u30B0\u30A4\u30F3\u3092\u627F\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
1031
|
+
waiting: "\u30B9\u30AD\u30E3\u30F3\u5F85\u3061",
|
|
1032
|
+
waitingApproval: "\u627F\u8A8D\u5F85\u3061",
|
|
1033
|
+
expiresIn: "\u6709\u52B9\u671F\u9650\u307E\u3067 {time}",
|
|
1034
|
+
secured: "ZOREAL\u306B\u3088\u308BProof-of-Human\u8A8D\u8A3C",
|
|
1035
|
+
noIdTitle: "ZOREAL ID\u3092\u304A\u6301\u3061\u3067\u306A\u3044\u3067\u3059\u304B\uFF1F",
|
|
1036
|
+
noIdBody: "\u540C\u3058\u30B3\u30FC\u30C9\u3092\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u30A2\u30D7\u30EA\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u3057\u3001\u7121\u6599\u3067\u4F5C\u6210\u3067\u304D\u307E\u3059\u30021\u5206\u307B\u3069\u3067\u5B8C\u4E86\u3057\u307E\u3059\u3002",
|
|
1037
|
+
cancel: "\u30AD\u30E3\u30F3\u30BB\u30EB",
|
|
1038
|
+
close: "\u9589\u3058\u308B",
|
|
1039
|
+
qrAlt: "ZOREAL\u3067\u30ED\u30B0\u30A4\u30F3\u3059\u308B\u305F\u3081\u306EQR\u30B3\u30FC\u30C9",
|
|
1040
|
+
buttonContinue: "ZOREAL\u3067\u7D9A\u884C"
|
|
1041
|
+
},
|
|
1042
|
+
hi: {
|
|
1043
|
+
title: "\u0938\u093E\u0907\u0928 \u0907\u0928 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F \u0938\u094D\u0915\u0948\u0928 \u0915\u0930\u0947\u0902",
|
|
1044
|
+
titleIdentify: "\u0905\u092A\u0928\u0940 \u092A\u0939\u091A\u093E\u0928 \u0938\u0924\u094D\u092F\u093E\u092A\u093F\u0924 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F \u0938\u094D\u0915\u0948\u0928 \u0915\u0930\u0947\u0902",
|
|
1045
|
+
titlePresence: "\u092F\u0939 \u0938\u093E\u092C\u093F\u0924 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F \u0938\u094D\u0915\u0948\u0928 \u0915\u0930\u0947\u0902 \u0915\u093F \u0906\u092A \u090F\u0915 \u0935\u093E\u0938\u094D\u0924\u0935\u093F\u0915 \u0907\u0902\u0938\u093E\u0928 \u0939\u0948\u0902",
|
|
1046
|
+
titleApprove: "\u0905\u092A\u0928\u0947 \u092B\u094B\u0928 \u092A\u0930 \u0938\u094D\u0935\u0940\u0915\u0943\u0924 \u0915\u0930\u0947\u0902",
|
|
1047
|
+
bodyScan: "\u0905\u092A\u0928\u0947 \u092B\u094B\u0928 \u0915\u0947 \u0915\u0948\u092E\u0930\u0947 \u092F\u093E ZOREAL ID \u0910\u092A \u0938\u0947 \u0938\u094D\u0915\u0948\u0928 \u0915\u0930\u0947\u0902\u0964",
|
|
1048
|
+
bodyApprove: "\u0905\u092A\u0928\u0947 ZOREAL ID \u0910\u092A \u092E\u0947\u0902 \u0932\u0949\u0917\u093F\u0928 \u0938\u094D\u0935\u0940\u0915\u0943\u0924 \u0915\u0930\u0947\u0902\u0964",
|
|
1049
|
+
bodyEnrolling: "\u0905\u092A\u0928\u0947 \u092B\u094B\u0928 \u092A\u0930 ZOREAL ID \u0938\u0947\u091F\u0905\u092A \u092A\u0942\u0930\u093E \u0915\u0930\u0947\u0902, \u092B\u093F\u0930 \u0932\u0949\u0917\u093F\u0928 \u0938\u094D\u0935\u0940\u0915\u0943\u0924 \u0915\u0930\u0947\u0902\u0964",
|
|
1050
|
+
waiting: "\u0938\u094D\u0915\u0948\u0928 \u0915\u0940 \u092A\u094D\u0930\u0924\u0940\u0915\u094D\u0937\u093E \u0939\u0948",
|
|
1051
|
+
waitingApproval: "\u0938\u094D\u0935\u0940\u0915\u0943\u0924\u093F \u0915\u0940 \u092A\u094D\u0930\u0924\u0940\u0915\u094D\u0937\u093E \u0939\u0948",
|
|
1052
|
+
expiresIn: "{time} \u092E\u0947\u0902 \u0938\u092E\u093E\u092A\u094D\u0924",
|
|
1053
|
+
secured: "ZOREAL \u0926\u094D\u0935\u093E\u0930\u093E Proof-of-Human \u0938\u0924\u094D\u092F\u093E\u092A\u0928",
|
|
1054
|
+
noIdTitle: "\u0905\u092D\u0940 \u0924\u0915 ZOREAL ID \u0928\u0939\u0940\u0902 \u0939\u0948?",
|
|
1055
|
+
noIdBody: "\u0910\u092A \u0921\u093E\u0909\u0928\u0932\u094B\u0921 \u0915\u0930\u0928\u0947 \u0914\u0930 \u092E\u0941\u092B\u094D\u0924 \u092E\u0947\u0902 \u090F\u0915 \u092C\u0928\u093E\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F \u0935\u0939\u0940 \u0915\u094B\u0921 \u0938\u094D\u0915\u0948\u0928 \u0915\u0930\u0947\u0902\u0964 \u0907\u0938\u092E\u0947\u0902 \u092C\u0938 \u090F\u0915 \u092E\u093F\u0928\u091F \u0932\u0917\u0924\u093E \u0939\u0948\u0964",
|
|
1056
|
+
cancel: "\u0930\u0926\u094D\u0926 \u0915\u0930\u0947\u0902",
|
|
1057
|
+
close: "\u092C\u0902\u0926 \u0915\u0930\u0947\u0902",
|
|
1058
|
+
qrAlt: "ZOREAL \u0938\u0947 \u0938\u093E\u0907\u0928 \u0907\u0928 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F QR \u0915\u094B\u0921",
|
|
1059
|
+
buttonContinue: "ZOREAL \u0915\u0947 \u0938\u093E\u0925 \u091C\u093E\u0930\u0940 \u0930\u0916\u0947\u0902"
|
|
1060
|
+
},
|
|
1061
|
+
zhs: {
|
|
1062
|
+
title: "\u626B\u7801\u767B\u5F55",
|
|
1063
|
+
titleIdentify: "\u626B\u7801\u9A8C\u8BC1\u8EAB\u4EFD",
|
|
1064
|
+
titlePresence: "\u626B\u7801\u8BC1\u660E\u60A8\u662F\u771F\u4EBA",
|
|
1065
|
+
titleApprove: "\u5728\u624B\u673A\u4E0A\u6279\u51C6",
|
|
1066
|
+
bodyScan: "\u4F7F\u7528\u624B\u673A\u76F8\u673A\u6216 ZOREAL ID \u5E94\u7528\u626B\u63CF\u3002",
|
|
1067
|
+
bodyApprove: "\u8BF7\u5728 ZOREAL ID \u5E94\u7528\u4E2D\u6279\u51C6\u767B\u5F55\u3002",
|
|
1068
|
+
bodyEnrolling: "\u8BF7\u5728\u624B\u673A\u4E0A\u5B8C\u6210 ZOREAL ID \u8BBE\u7F6E\uFF0C\u7136\u540E\u6279\u51C6\u767B\u5F55\u3002",
|
|
1069
|
+
waiting: "\u7B49\u5F85\u626B\u63CF",
|
|
1070
|
+
waitingApproval: "\u7B49\u5F85\u6279\u51C6",
|
|
1071
|
+
expiresIn: "{time} \u540E\u5931\u6548",
|
|
1072
|
+
secured: "\u7531 ZOREAL \u63D0\u4F9B\u7684 Proof-of-Human \u9A8C\u8BC1",
|
|
1073
|
+
noIdTitle: "\u8FD8\u6CA1\u6709 ZOREAL ID\uFF1F",
|
|
1074
|
+
noIdBody: "\u626B\u63CF\u540C\u4E00\u4E2A\u4E8C\u7EF4\u7801\u5373\u53EF\u4E0B\u8F7D\u5E94\u7528\u5E76\u514D\u8D39\u521B\u5EFA\uFF0C\u53EA\u9700\u4E00\u5206\u949F\u3002",
|
|
1075
|
+
cancel: "\u53D6\u6D88",
|
|
1076
|
+
close: "\u5173\u95ED",
|
|
1077
|
+
qrAlt: "\u4F7F\u7528 ZOREAL \u767B\u5F55\u7684\u4E8C\u7EF4\u7801",
|
|
1078
|
+
buttonContinue: "\u4F7F\u7528 ZOREAL \u7EE7\u7EED"
|
|
1079
|
+
},
|
|
1080
|
+
zht: {
|
|
1081
|
+
title: "\u6383\u78BC\u767B\u5165",
|
|
1082
|
+
titleIdentify: "\u6383\u78BC\u9A57\u8B49\u8EAB\u5206",
|
|
1083
|
+
titlePresence: "\u6383\u78BC\u8B49\u660E\u60A8\u662F\u771F\u4EBA",
|
|
1084
|
+
titleApprove: "\u5728\u624B\u6A5F\u4E0A\u6838\u51C6",
|
|
1085
|
+
bodyScan: "\u4F7F\u7528\u624B\u6A5F\u76F8\u6A5F\u6216 ZOREAL ID \u61C9\u7528\u7A0B\u5F0F\u6383\u63CF\u3002",
|
|
1086
|
+
bodyApprove: "\u8ACB\u5728 ZOREAL ID \u61C9\u7528\u7A0B\u5F0F\u4E2D\u6838\u51C6\u767B\u5165\u3002",
|
|
1087
|
+
bodyEnrolling: "\u8ACB\u5728\u624B\u6A5F\u4E0A\u5B8C\u6210 ZOREAL ID \u8A2D\u5B9A\uFF0C\u7136\u5F8C\u6838\u51C6\u767B\u5165\u3002",
|
|
1088
|
+
waiting: "\u7B49\u5F85\u6383\u63CF",
|
|
1089
|
+
waitingApproval: "\u7B49\u5F85\u6838\u51C6",
|
|
1090
|
+
expiresIn: "{time} \u5F8C\u5931\u6548",
|
|
1091
|
+
secured: "\u7531 ZOREAL \u63D0\u4F9B\u7684 Proof-of-Human \u9A57\u8B49",
|
|
1092
|
+
noIdTitle: "\u9084\u6C92\u6709 ZOREAL ID\uFF1F",
|
|
1093
|
+
noIdBody: "\u6383\u63CF\u540C\u4E00\u500B QR code \u5373\u53EF\u4E0B\u8F09\u61C9\u7528\u7A0B\u5F0F\u4E26\u514D\u8CBB\u5EFA\u7ACB\uFF0C\u53EA\u9700\u4E00\u5206\u9418\u3002",
|
|
1094
|
+
cancel: "\u53D6\u6D88",
|
|
1095
|
+
close: "\u95DC\u9589",
|
|
1096
|
+
qrAlt: "\u4F7F\u7528 ZOREAL \u767B\u5165\u7684 QR code",
|
|
1097
|
+
buttonContinue: "\u4F7F\u7528 ZOREAL \u7E7C\u7E8C"
|
|
1098
|
+
},
|
|
1099
|
+
ar: {
|
|
1100
|
+
title: "\u0627\u0645\u0633\u062D \u0644\u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644",
|
|
1101
|
+
titleIdentify: "\u0627\u0645\u0633\u062D \u0644\u0644\u062A\u062D\u0642\u0642 \u0645\u0646 \u0647\u0648\u064A\u062A\u0643",
|
|
1102
|
+
titlePresence: "\u0627\u0645\u0633\u062D \u0644\u0625\u062B\u0628\u0627\u062A \u0623\u0646\u0643 \u0625\u0646\u0633\u0627\u0646 \u062D\u0642\u064A\u0642\u064A",
|
|
1103
|
+
titleApprove: "\u0648\u0627\u0641\u0642 \u0639\u0644\u0649 \u0647\u0627\u062A\u0641\u0643",
|
|
1104
|
+
bodyScan: "\u0627\u0645\u0633\u062D \u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0643\u0627\u0645\u064A\u0631\u0627 \u0647\u0627\u062A\u0641\u0643 \u0623\u0648 \u062A\u0637\u0628\u064A\u0642 ZOREAL ID.",
|
|
1105
|
+
bodyApprove: "\u0648\u0627\u0641\u0642 \u0639\u0644\u0649 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644 \u0641\u064A \u062A\u0637\u0628\u064A\u0642 ZOREAL ID.",
|
|
1106
|
+
bodyEnrolling: "\u0623\u0643\u0645\u0644 \u0625\u0639\u062F\u0627\u062F ZOREAL ID \u0639\u0644\u0649 \u0647\u0627\u062A\u0641\u0643\u060C \u062B\u0645 \u0648\u0627\u0641\u0642 \u0639\u0644\u0649 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644.",
|
|
1107
|
+
waiting: "\u0641\u064A \u0627\u0646\u062A\u0638\u0627\u0631 \u0627\u0644\u0645\u0633\u062D",
|
|
1108
|
+
waitingApproval: "\u0641\u064A \u0627\u0646\u062A\u0638\u0627\u0631 \u0627\u0644\u0645\u0648\u0627\u0641\u0642\u0629",
|
|
1109
|
+
expiresIn: "\u062A\u0646\u062A\u0647\u064A \u0627\u0644\u0635\u0644\u0627\u062D\u064A\u0629 \u062E\u0644\u0627\u0644 {time}",
|
|
1110
|
+
secured: "\u0627\u0644\u062A\u062D\u0642\u0642 \u0645\u0646 Proof-of-Human \u0628\u0648\u0627\u0633\u0637\u0629 ZOREAL",
|
|
1111
|
+
noIdTitle: "\u0644\u064A\u0633 \u0644\u062F\u064A\u0643 ZOREAL ID \u0628\u0639\u062F\u061F",
|
|
1112
|
+
noIdBody: "\u0627\u0645\u0633\u062D \u0627\u0644\u0631\u0645\u0632 \u0646\u0641\u0633\u0647 \u0644\u062A\u0646\u0632\u064A\u0644 \u0627\u0644\u062A\u0637\u0628\u064A\u0642 \u0648\u0625\u0646\u0634\u0627\u0621 \u062D\u0633\u0627\u0628 \u0645\u062C\u0627\u0646\u064A. \u064A\u0633\u062A\u063A\u0631\u0642 \u0627\u0644\u0623\u0645\u0631 \u062F\u0642\u064A\u0642\u0629 \u0648\u0627\u062D\u062F\u0629 \u0641\u0642\u0637.",
|
|
1113
|
+
cancel: "\u0625\u0644\u063A\u0627\u0621",
|
|
1114
|
+
close: "\u0625\u063A\u0644\u0627\u0642",
|
|
1115
|
+
qrAlt: "\u0631\u0645\u0632 QR \u0644\u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644 \u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645 ZOREAL",
|
|
1116
|
+
buttonContinue: "\u0627\u0644\u0645\u062A\u0627\u0628\u0639\u0629 \u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645 ZOREAL"
|
|
1117
|
+
},
|
|
1118
|
+
ko: {
|
|
1119
|
+
title: "\uC2A4\uCE94\uD558\uC5EC \uB85C\uADF8\uC778",
|
|
1120
|
+
titleIdentify: "\uC2A4\uCE94\uD558\uC5EC \uC2E0\uC6D0 \uD655\uC778",
|
|
1121
|
+
titlePresence: "\uC2A4\uCE94\uD558\uC5EC \uC2E4\uC81C \uC0AC\uB78C\uC784\uC744 \uC99D\uBA85",
|
|
1122
|
+
titleApprove: "\uD734\uB300\uD3F0\uC5D0\uC11C \uC2B9\uC778",
|
|
1123
|
+
bodyScan: "\uD734\uB300\uD3F0 \uCE74\uBA54\uB77C \uB610\uB294 ZOREAL ID \uC571\uC73C\uB85C \uC2A4\uCE94\uD558\uC138\uC694.",
|
|
1124
|
+
bodyApprove: "ZOREAL ID \uC571\uC5D0\uC11C \uB85C\uADF8\uC778\uC744 \uC2B9\uC778\uD558\uC138\uC694.",
|
|
1125
|
+
bodyEnrolling: "\uD734\uB300\uD3F0\uC5D0\uC11C ZOREAL ID \uC124\uC815\uC744 \uC644\uB8CC\uD55C \uD6C4 \uB85C\uADF8\uC778\uC744 \uC2B9\uC778\uD558\uC138\uC694.",
|
|
1126
|
+
waiting: "\uC2A4\uCE94 \uB300\uAE30 \uC911",
|
|
1127
|
+
waitingApproval: "\uC2B9\uC778 \uB300\uAE30 \uC911",
|
|
1128
|
+
expiresIn: "{time} \uD6C4 \uB9CC\uB8CC",
|
|
1129
|
+
secured: "ZOREAL\uC758 Proof-of-Human \uC778\uC99D",
|
|
1130
|
+
noIdTitle: "\uC544\uC9C1 ZOREAL ID\uAC00 \uC5C6\uC73C\uC2E0\uAC00\uC694?",
|
|
1131
|
+
noIdBody: "\uAC19\uC740 \uCF54\uB4DC\uB97C \uC2A4\uCE94\uD574 \uC571\uC744 \uB0B4\uB824\uBC1B\uACE0 \uBB34\uB8CC\uB85C \uB9CC\uB4DC\uC138\uC694. 1\uBD84\uC774\uBA74 \uB429\uB2C8\uB2E4.",
|
|
1132
|
+
cancel: "\uCDE8\uC18C",
|
|
1133
|
+
close: "\uB2EB\uAE30",
|
|
1134
|
+
qrAlt: "ZOREAL\uB85C \uB85C\uADF8\uC778\uD558\uAE30 \uC704\uD55C QR \uCF54\uB4DC",
|
|
1135
|
+
buttonContinue: "ZOREAL\uB85C \uACC4\uC18D"
|
|
1136
|
+
},
|
|
1137
|
+
// Български
|
|
1138
|
+
bg: {
|
|
1139
|
+
title: "\u0421\u043A\u0430\u043D\u0438\u0440\u0430\u0439\u0442\u0435 \u0437\u0430 \u0432\u0445\u043E\u0434",
|
|
1140
|
+
titleIdentify: "\u0421\u043A\u0430\u043D\u0438\u0440\u0430\u0439\u0442\u0435, \u0437\u0430 \u0434\u0430 \u043F\u043E\u0442\u0432\u044A\u0440\u0434\u0438\u0442\u0435 \u0441\u0430\u043C\u043E\u043B\u0438\u0447\u043D\u043E\u0441\u0442\u0442\u0430 \u0441\u0438",
|
|
1141
|
+
titlePresence: "\u0421\u043A\u0430\u043D\u0438\u0440\u0430\u0439\u0442\u0435, \u0437\u0430 \u0434\u0430 \u0434\u043E\u043A\u0430\u0436\u0435\u0442\u0435, \u0447\u0435 \u0441\u0442\u0435 \u0438\u0441\u0442\u0438\u043D\u0441\u043A\u0438 \u0447\u043E\u0432\u0435\u043A",
|
|
1142
|
+
titleApprove: "\u041F\u043E\u0442\u0432\u044A\u0440\u0434\u0435\u0442\u0435 \u043D\u0430 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u0441\u0438",
|
|
1143
|
+
bodyScan: "\u0421\u043A\u0430\u043D\u0438\u0440\u0430\u0439\u0442\u0435 \u0441 \u043A\u0430\u043C\u0435\u0440\u0430\u0442\u0430 \u043D\u0430 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u0438\u043B\u0438 \u0441 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435\u0442\u043E ZOREAL ID.",
|
|
1144
|
+
bodyApprove: "\u041F\u043E\u0442\u0432\u044A\u0440\u0434\u0435\u0442\u0435 \u0432\u0445\u043E\u0434\u0430 \u0432 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435\u0442\u043E ZOREAL ID.",
|
|
1145
|
+
bodyEnrolling: "\u0414\u043E\u0432\u044A\u0440\u0448\u0435\u0442\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430\u0442\u0430 \u043D\u0430 ZOREAL ID \u043D\u0430 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u0441\u0438, \u0441\u043B\u0435\u0434 \u043A\u043E\u0435\u0442\u043E \u043F\u043E\u0442\u0432\u044A\u0440\u0434\u0435\u0442\u0435 \u0432\u0445\u043E\u0434\u0430.",
|
|
1146
|
+
waiting: "\u0418\u0437\u0447\u0430\u043A\u0432\u0430\u043D\u0435 \u043D\u0430 \u0441\u043A\u0430\u043D\u0438\u0440\u0430\u043D\u0435",
|
|
1147
|
+
waitingApproval: "\u0418\u0437\u0447\u0430\u043A\u0432\u0430\u043D\u0435 \u043D\u0430 \u043F\u043E\u0442\u0432\u044A\u0440\u0436\u0434\u0435\u043D\u0438\u0435",
|
|
1148
|
+
expiresIn: "\u0418\u0437\u0442\u0438\u0447\u0430 \u0441\u043B\u0435\u0434 {time}",
|
|
1149
|
+
secured: "\u041F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 Proof-of-Human \u043E\u0442 ZOREAL",
|
|
1150
|
+
noIdTitle: "\u0412\u0441\u0435 \u043E\u0449\u0435 \u043D\u044F\u043C\u0430\u0442\u0435 ZOREAL ID?",
|
|
1151
|
+
noIdBody: "\u0421\u043A\u0430\u043D\u0438\u0440\u0430\u0439\u0442\u0435 \u0441\u044A\u0449\u0438\u044F \u043A\u043E\u0434, \u0437\u0430 \u0434\u0430 \u0438\u0437\u0442\u0435\u0433\u043B\u0438\u0442\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435\u0442\u043E \u0438 \u0434\u0430 \u0441\u0438 \u0441\u044A\u0437\u0434\u0430\u0434\u0435\u0442\u0435 \u0431\u0435\u0437\u043F\u043B\u0430\u0442\u0435\u043D \u0430\u043A\u0430\u0443\u043D\u0442. \u041E\u0442\u043D\u0435\u043C\u0430 \u0441\u0430\u043C\u043E \u043C\u0438\u043D\u0443\u0442\u0430.",
|
|
1152
|
+
cancel: "\u041E\u0442\u043A\u0430\u0437",
|
|
1153
|
+
close: "\u0417\u0430\u0442\u0432\u043E\u0440\u0438",
|
|
1154
|
+
qrAlt: "QR \u043A\u043E\u0434 \u0437\u0430 \u0432\u0445\u043E\u0434 \u0441\u044A\u0441 ZOREAL",
|
|
1155
|
+
buttonContinue: "\u041F\u0440\u043E\u0434\u044A\u043B\u0436\u0438 \u0441\u044A\u0441 ZOREAL"
|
|
1156
|
+
},
|
|
1157
|
+
// বাংলা
|
|
1158
|
+
bn: {
|
|
1159
|
+
title: "\u09B8\u09BE\u0987\u09A8 \u0987\u09A8 \u0995\u09B0\u09A4\u09C7 \u09B8\u09CD\u0995\u09CD\u09AF\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8",
|
|
1160
|
+
titleIdentify: "\u0986\u09AA\u09A8\u09BE\u09B0 \u09AA\u09B0\u09BF\u099A\u09AF\u09BC \u09AF\u09BE\u099A\u09BE\u0987 \u0995\u09B0\u09A4\u09C7 \u09B8\u09CD\u0995\u09CD\u09AF\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8",
|
|
1161
|
+
titlePresence: "\u0986\u09AA\u09A8\u09BF \u098F\u0995\u099C\u09A8 \u09AA\u09CD\u09B0\u0995\u09C3\u09A4 \u09AE\u09BE\u09A8\u09C1\u09B7 \u09A4\u09BE \u09AA\u09CD\u09B0\u09AE\u09BE\u09A3 \u0995\u09B0\u09A4\u09C7 \u09B8\u09CD\u0995\u09CD\u09AF\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8",
|
|
1162
|
+
titleApprove: "\u0986\u09AA\u09A8\u09BE\u09B0 \u09AB\u09CB\u09A8\u09C7 \u0985\u09A8\u09C1\u09AE\u09CB\u09A6\u09A8 \u0995\u09B0\u09C1\u09A8",
|
|
1163
|
+
bodyScan: "\u0986\u09AA\u09A8\u09BE\u09B0 \u09AB\u09CB\u09A8\u09C7\u09B0 \u0995\u09CD\u09AF\u09BE\u09AE\u09C7\u09B0\u09BE \u09AC\u09BE ZOREAL ID \u0985\u09CD\u09AF\u09BE\u09AA \u09A6\u09BF\u09AF\u09BC\u09C7 \u09B8\u09CD\u0995\u09CD\u09AF\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8\u0964",
|
|
1164
|
+
bodyApprove: "\u0986\u09AA\u09A8\u09BE\u09B0 ZOREAL ID \u0985\u09CD\u09AF\u09BE\u09AA\u09C7 \u09B2\u0997\u0987\u09A8 \u0985\u09A8\u09C1\u09AE\u09CB\u09A6\u09A8 \u0995\u09B0\u09C1\u09A8\u0964",
|
|
1165
|
+
bodyEnrolling: "\u0986\u09AA\u09A8\u09BE\u09B0 \u09AB\u09CB\u09A8\u09C7 ZOREAL ID \u09B8\u09C7\u099F\u0986\u09AA \u09B8\u09AE\u09CD\u09AA\u09C2\u09B0\u09CD\u09A3 \u0995\u09B0\u09C1\u09A8, \u09A4\u09BE\u09B0\u09AA\u09B0 \u09B2\u0997\u0987\u09A8 \u0985\u09A8\u09C1\u09AE\u09CB\u09A6\u09A8 \u0995\u09B0\u09C1\u09A8\u0964",
|
|
1166
|
+
waiting: "\u09B8\u09CD\u0995\u09CD\u09AF\u09BE\u09A8\u09C7\u09B0 \u0985\u09AA\u09C7\u0995\u09CD\u09B7\u09BE\u09AF\u09BC",
|
|
1167
|
+
waitingApproval: "\u0985\u09A8\u09C1\u09AE\u09CB\u09A6\u09A8\u09C7\u09B0 \u0985\u09AA\u09C7\u0995\u09CD\u09B7\u09BE\u09AF\u09BC",
|
|
1168
|
+
expiresIn: "{time} \u09AA\u09B0\u09C7 \u09AE\u09C7\u09AF\u09BC\u09BE\u09A6 \u09B6\u09C7\u09B7 \u09B9\u09AC\u09C7",
|
|
1169
|
+
secured: "ZOREAL \u09A6\u09CD\u09AC\u09BE\u09B0\u09BE Proof-of-Human \u09AF\u09BE\u099A\u09BE\u0987\u0995\u09B0\u09A3",
|
|
1170
|
+
noIdTitle: "\u098F\u0996\u09A8\u09CB ZOREAL ID \u09A8\u09C7\u0987?",
|
|
1171
|
+
noIdBody: "\u0985\u09CD\u09AF\u09BE\u09AA \u09A1\u09BE\u0989\u09A8\u09B2\u09CB\u09A1 \u0995\u09B0\u09C7 \u09AC\u09BF\u09A8\u09BE\u09AE\u09C2\u09B2\u09CD\u09AF\u09C7 \u098F\u0995\u099F\u09BF \u09A4\u09C8\u09B0\u09BF \u0995\u09B0\u09A4\u09C7 \u098F\u0995\u0987 \u0995\u09CB\u09A1 \u09B8\u09CD\u0995\u09CD\u09AF\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8\u0964 \u098F\u09A4\u09C7 \u09AE\u09BE\u09A4\u09CD\u09B0 \u098F\u0995 \u09AE\u09BF\u09A8\u09BF\u099F \u09B8\u09AE\u09AF\u09BC \u09B2\u09BE\u0997\u09C7\u0964",
|
|
1172
|
+
cancel: "\u09AC\u09BE\u09A4\u09BF\u09B2",
|
|
1173
|
+
close: "\u09AC\u09A8\u09CD\u09A7",
|
|
1174
|
+
qrAlt: "ZOREAL \u09A6\u09BF\u09AF\u09BC\u09C7 \u09B8\u09BE\u0987\u09A8 \u0987\u09A8 \u0995\u09B0\u09BE\u09B0 \u099C\u09A8\u09CD\u09AF QR \u0995\u09CB\u09A1",
|
|
1175
|
+
buttonContinue: "ZOREAL \u09A6\u09BF\u09AF\u09BC\u09C7 \u099A\u09BE\u09B2\u09BF\u09AF\u09BC\u09C7 \u09AF\u09BE\u09A8"
|
|
1176
|
+
},
|
|
1177
|
+
// Bosanski
|
|
1178
|
+
bs: {
|
|
1179
|
+
title: "Skenirajte za prijavu",
|
|
1180
|
+
titleIdentify: "Skenirajte da potvrdite svoj identitet",
|
|
1181
|
+
titlePresence: "Skenirajte da doka\u017Eete da ste stvarna osoba",
|
|
1182
|
+
titleApprove: "Odobrite na svom telefonu",
|
|
1183
|
+
bodyScan: "Skenirajte kamerom svog telefona ili aplikacijom ZOREAL ID.",
|
|
1184
|
+
bodyApprove: "Odobrite prijavu u aplikaciji ZOREAL ID.",
|
|
1185
|
+
bodyEnrolling: "Zavr\u0161ite pode\u0161avanje ZOREAL ID-a na svom telefonu, a zatim odobrite prijavu.",
|
|
1186
|
+
waiting: "\u010Ceka se skeniranje",
|
|
1187
|
+
waitingApproval: "\u010Ceka se odobrenje",
|
|
1188
|
+
expiresIn: "Isti\u010De za {time}",
|
|
1189
|
+
secured: "ZOREAL Proof-of-Human verifikacija",
|
|
1190
|
+
noIdTitle: "Nemate ZOREAL ID?",
|
|
1191
|
+
noIdBody: "Skenirajte isti kod da preuzmete aplikaciju i besplatno ga napravite. Traje samo minutu.",
|
|
1192
|
+
cancel: "Otka\u017Ei",
|
|
1193
|
+
close: "Zatvori",
|
|
1194
|
+
qrAlt: "QR kod za prijavu putem ZOREAL-a",
|
|
1195
|
+
buttonContinue: "Nastavi sa ZOREAL-om"
|
|
1196
|
+
},
|
|
1197
|
+
// Čeština
|
|
1198
|
+
cs: {
|
|
1199
|
+
title: "P\u0159ihlaste se naskenov\xE1n\xEDm",
|
|
1200
|
+
titleIdentify: "Naskenujte pro ov\u011B\u0159en\xED toto\u017Enosti",
|
|
1201
|
+
titlePresence: "Naskenujte a proka\u017Ete, \u017Ee jste skute\u010Dn\xFD \u010Dlov\u011Bk",
|
|
1202
|
+
titleApprove: "Potvr\u010Fte v telefonu",
|
|
1203
|
+
bodyScan: "Naskenujte fotoapar\xE1tem telefonu nebo aplikac\xED ZOREAL ID.",
|
|
1204
|
+
bodyApprove: "Potvr\u010Fte p\u0159ihl\xE1\u0161en\xED v aplikaci ZOREAL ID.",
|
|
1205
|
+
bodyEnrolling: "Dokon\u010Dete nastaven\xED ZOREAL ID v telefonu a pot\xE9 potvr\u010Fte p\u0159ihl\xE1\u0161en\xED.",
|
|
1206
|
+
waiting: "\u010Cek\xE1n\xED na naskenov\xE1n\xED",
|
|
1207
|
+
waitingApproval: "\u010Cek\xE1n\xED na potvrzen\xED",
|
|
1208
|
+
expiresIn: "Vypr\u0161\xED za {time}",
|
|
1209
|
+
secured: "Ov\u011B\u0159en\xED Proof-of-Human od ZOREAL",
|
|
1210
|
+
noIdTitle: "Je\u0161t\u011B nem\xE1te ZOREAL ID?",
|
|
1211
|
+
noIdBody: "Naskenov\xE1n\xEDm stejn\xE9ho k\xF3du si st\xE1hnete aplikaci a zdarma vytvo\u0159\xEDte ZOREAL ID. Zabere to jen minutu.",
|
|
1212
|
+
cancel: "Zru\u0161it",
|
|
1213
|
+
close: "Zav\u0159\xEDt",
|
|
1214
|
+
qrAlt: "QR k\xF3d pro p\u0159ihl\xE1\u0161en\xED pomoc\xED ZOREAL",
|
|
1215
|
+
buttonContinue: "Pokra\u010Dovat se ZOREAL"
|
|
1216
|
+
},
|
|
1217
|
+
// Dansk
|
|
1218
|
+
da: {
|
|
1219
|
+
title: "Scan for at logge ind",
|
|
1220
|
+
titleIdentify: "Scan for at bekr\xE6fte din identitet",
|
|
1221
|
+
titlePresence: "Scan for at bevise, at du er et rigtigt menneske",
|
|
1222
|
+
titleApprove: "Godkend p\xE5 din telefon",
|
|
1223
|
+
bodyScan: "Scan med telefonens kamera eller ZOREAL ID-appen.",
|
|
1224
|
+
bodyApprove: "Godkend login i din ZOREAL ID-app.",
|
|
1225
|
+
bodyEnrolling: "F\xE6rdigg\xF8r ops\xE6tningen af ZOREAL ID p\xE5 din telefon, og godkend derefter login.",
|
|
1226
|
+
waiting: "Venter p\xE5 scanning",
|
|
1227
|
+
waitingApproval: "Venter p\xE5 godkendelse",
|
|
1228
|
+
expiresIn: "Udl\xF8ber om {time}",
|
|
1229
|
+
secured: "Proof-of-Human-verificering af ZOREAL",
|
|
1230
|
+
noIdTitle: "Har du ikke et ZOREAL ID endnu?",
|
|
1231
|
+
noIdBody: "Scan den samme kode for at hente appen og oprette et gratis. Det tager kun et minut.",
|
|
1232
|
+
cancel: "Annuller",
|
|
1233
|
+
close: "Luk",
|
|
1234
|
+
qrAlt: "QR-kode til at logge ind med ZOREAL",
|
|
1235
|
+
buttonContinue: "Forts\xE6t med ZOREAL"
|
|
1236
|
+
},
|
|
1237
|
+
// Ελληνικά
|
|
1238
|
+
el: {
|
|
1239
|
+
title: "\u03A3\u03AC\u03C1\u03C9\u03C3\u03B7 \u03B3\u03B9\u03B1 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7",
|
|
1240
|
+
titleIdentify: "\u03A3\u03AC\u03C1\u03C9\u03C3\u03B7 \u03B3\u03B9\u03B1 \u03B5\u03C0\u03B1\u03BB\u03AE\u03B8\u03B5\u03C5\u03C3\u03B7 \u03C4\u03B1\u03C5\u03C4\u03CC\u03C4\u03B7\u03C4\u03B1\u03C2",
|
|
1241
|
+
titlePresence: "\u03A3\u03AC\u03C1\u03C9\u03C3\u03B7 \u03B3\u03B9\u03B1 \u03BD\u03B1 \u03B1\u03C0\u03BF\u03B4\u03B5\u03AF\u03BE\u03B5\u03C4\u03B5 \u03CC\u03C4\u03B9 \u03B5\u03AF\u03C3\u03C4\u03B5 \u03C0\u03C1\u03B1\u03B3\u03BC\u03B1\u03C4\u03B9\u03BA\u03CC\u03C2 \u03AC\u03BD\u03B8\u03C1\u03C9\u03C0\u03BF\u03C2",
|
|
1242
|
+
titleApprove: "\u0388\u03B3\u03BA\u03C1\u03B9\u03C3\u03B7 \u03B1\u03C0\u03CC \u03C4\u03BF \u03BA\u03B9\u03BD\u03B7\u03C4\u03CC \u03C3\u03B1\u03C2",
|
|
1243
|
+
bodyScan: "\u03A3\u03B1\u03C1\u03CE\u03C3\u03C4\u03B5 \u03BC\u03B5 \u03C4\u03B7\u03BD \u03BA\u03AC\u03BC\u03B5\u03C1\u03B1 \u03C4\u03BF\u03C5 \u03BA\u03B9\u03BD\u03B7\u03C4\u03BF\u03CD \u03C3\u03B1\u03C2 \u03AE \u03C4\u03B7\u03BD \u03B5\u03C6\u03B1\u03C1\u03BC\u03BF\u03B3\u03AE ZOREAL ID.",
|
|
1244
|
+
bodyApprove: "\u0395\u03B3\u03BA\u03C1\u03AF\u03BD\u03B5\u03C4\u03B5 \u03C4\u03B7 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7 \u03C3\u03C4\u03B7\u03BD \u03B5\u03C6\u03B1\u03C1\u03BC\u03BF\u03B3\u03AE ZOREAL ID.",
|
|
1245
|
+
bodyEnrolling: "\u039F\u03BB\u03BF\u03BA\u03BB\u03B7\u03C1\u03CE\u03C3\u03C4\u03B5 \u03C4\u03B7 \u03C1\u03CD\u03B8\u03BC\u03B9\u03C3\u03B7 \u03C4\u03BF\u03C5 ZOREAL ID \u03C3\u03C4\u03BF \u03BA\u03B9\u03BD\u03B7\u03C4\u03CC \u03C3\u03B1\u03C2 \u03BA\u03B1\u03B9 \u03AD\u03C0\u03B5\u03B9\u03C4\u03B1 \u03B5\u03B3\u03BA\u03C1\u03AF\u03BD\u03B5\u03C4\u03B5 \u03C4\u03B7 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7.",
|
|
1246
|
+
waiting: "\u0391\u03BD\u03B1\u03BC\u03BF\u03BD\u03AE \u03C3\u03AC\u03C1\u03C9\u03C3\u03B7\u03C2",
|
|
1247
|
+
waitingApproval: "\u0391\u03BD\u03B1\u03BC\u03BF\u03BD\u03AE \u03AD\u03B3\u03BA\u03C1\u03B9\u03C3\u03B7\u03C2",
|
|
1248
|
+
expiresIn: "\u039B\u03AE\u03B3\u03B5\u03B9 \u03C3\u03B5 {time}",
|
|
1249
|
+
secured: "\u0395\u03C0\u03B1\u03BB\u03AE\u03B8\u03B5\u03C5\u03C3\u03B7 Proof-of-Human \u03B1\u03C0\u03CC \u03C4\u03B7 ZOREAL",
|
|
1250
|
+
noIdTitle: "\u0394\u03B5\u03BD \u03AD\u03C7\u03B5\u03C4\u03B5 \u03B1\u03BA\u03CC\u03BC\u03B1 ZOREAL ID;",
|
|
1251
|
+
noIdBody: "\u03A3\u03B1\u03C1\u03CE\u03C3\u03C4\u03B5 \u03C4\u03BF\u03BD \u03AF\u03B4\u03B9\u03BF \u03BA\u03C9\u03B4\u03B9\u03BA\u03CC \u03B3\u03B9\u03B1 \u03BD\u03B1 \u03BA\u03B1\u03C4\u03B5\u03B2\u03AC\u03C3\u03B5\u03C4\u03B5 \u03C4\u03B7\u03BD \u03B5\u03C6\u03B1\u03C1\u03BC\u03BF\u03B3\u03AE \u03BA\u03B1\u03B9 \u03BD\u03B1 \u03B4\u03B7\u03BC\u03B9\u03BF\u03C5\u03C1\u03B3\u03AE\u03C3\u03B5\u03C4\u03B5 \u03AD\u03BD\u03B1 \u03B4\u03C9\u03C1\u03B5\u03AC\u03BD. \u03A7\u03C1\u03B5\u03B9\u03AC\u03B6\u03B5\u03C4\u03B1\u03B9 \u03BC\u03CC\u03BD\u03BF \u03AD\u03BD\u03B1 \u03BB\u03B5\u03C0\u03C4\u03CC.",
|
|
1252
|
+
cancel: "\u0386\u03BA\u03C5\u03C1\u03BF",
|
|
1253
|
+
close: "\u039A\u03BB\u03B5\u03AF\u03C3\u03B9\u03BC\u03BF",
|
|
1254
|
+
qrAlt: "\u039A\u03C9\u03B4\u03B9\u03BA\u03CC\u03C2 QR \u03B3\u03B9\u03B1 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7 \u03BC\u03B5 ZOREAL",
|
|
1255
|
+
buttonContinue: "\u03A3\u03C5\u03BD\u03AD\u03C7\u03B5\u03B9\u03B1 \u03BC\u03B5 ZOREAL"
|
|
1256
|
+
},
|
|
1257
|
+
// Español (LA)
|
|
1258
|
+
"es-419": {
|
|
1259
|
+
title: "Escanea para iniciar sesi\xF3n",
|
|
1260
|
+
titleIdentify: "Escanea para verificar tu identidad",
|
|
1261
|
+
titlePresence: "Escanea para demostrar que eres una persona real",
|
|
1262
|
+
titleApprove: "Aprueba desde tu celular",
|
|
1263
|
+
bodyScan: "Escanea con la c\xE1mara de tu celular o con la app ZOREAL ID.",
|
|
1264
|
+
bodyApprove: "Aprueba el inicio de sesi\xF3n en tu app ZOREAL ID.",
|
|
1265
|
+
bodyEnrolling: "Termina de configurar ZOREAL ID en tu celular y luego aprueba el inicio de sesi\xF3n.",
|
|
1266
|
+
waiting: "Esperando escaneo",
|
|
1267
|
+
waitingApproval: "Esperando aprobaci\xF3n",
|
|
1268
|
+
expiresIn: "Expira en {time}",
|
|
1269
|
+
secured: "Verificaci\xF3n Proof-of-Human de ZOREAL",
|
|
1270
|
+
noIdTitle: "\xBFTodav\xEDa no tienes ZOREAL ID?",
|
|
1271
|
+
noIdBody: "Escanea el mismo c\xF3digo para descargar la app y crear uno gratis. Solo toma un minuto.",
|
|
1272
|
+
cancel: "Cancelar",
|
|
1273
|
+
close: "Cerrar",
|
|
1274
|
+
qrAlt: "C\xF3digo QR para iniciar sesi\xF3n con ZOREAL",
|
|
1275
|
+
buttonContinue: "Continuar con ZOREAL"
|
|
1276
|
+
},
|
|
1277
|
+
// Suomi
|
|
1278
|
+
fi: {
|
|
1279
|
+
title: "Kirjaudu sis\xE4\xE4n skannaamalla",
|
|
1280
|
+
titleIdentify: "Vahvista henkil\xF6llisyytesi skannaamalla",
|
|
1281
|
+
titlePresence: "Todista skannaamalla, ett\xE4 olet oikea ihminen",
|
|
1282
|
+
titleApprove: "Hyv\xE4ksy puhelimessasi",
|
|
1283
|
+
bodyScan: "Skannaa puhelimesi kameralla tai ZOREAL ID -sovelluksella.",
|
|
1284
|
+
bodyApprove: "Hyv\xE4ksy kirjautuminen ZOREAL ID -sovelluksessasi.",
|
|
1285
|
+
bodyEnrolling: "Viimeistele ZOREAL ID -sovelluksen k\xE4ytt\xF6\xF6notto puhelimellasi ja hyv\xE4ksy sitten kirjautuminen.",
|
|
1286
|
+
waiting: "Odotetaan skannausta",
|
|
1287
|
+
waitingApproval: "Odotetaan hyv\xE4ksynt\xE4\xE4",
|
|
1288
|
+
expiresIn: "Vanhenee {time} kuluttua",
|
|
1289
|
+
secured: "ZOREALin Proof-of-Human-vahvistus",
|
|
1290
|
+
noIdTitle: "Eik\xF6 sinulla ole viel\xE4 ZOREAL ID:t\xE4?",
|
|
1291
|
+
noIdBody: "Skannaa sama koodi ladataksesi sovelluksen ja luodaksesi tunnuksen ilmaiseksi. Se vie vain minuutin.",
|
|
1292
|
+
cancel: "Peruuta",
|
|
1293
|
+
close: "Sulje",
|
|
1294
|
+
qrAlt: "QR-koodi ZOREAL-kirjautumista varten",
|
|
1295
|
+
buttonContinue: "Jatka ZOREALilla"
|
|
1296
|
+
},
|
|
1297
|
+
// עברית
|
|
1298
|
+
he: {
|
|
1299
|
+
title: "\u05E1\u05E8\u05D5\u05E7 \u05DB\u05D3\u05D9 \u05DC\u05D4\u05EA\u05D7\u05D1\u05E8",
|
|
1300
|
+
titleIdentify: "\u05E1\u05E8\u05D5\u05E7 \u05DB\u05D3\u05D9 \u05DC\u05D0\u05DE\u05EA \u05D0\u05EA \u05D6\u05D4\u05D5\u05EA\u05DA",
|
|
1301
|
+
titlePresence: "\u05E1\u05E8\u05D5\u05E7 \u05DB\u05D3\u05D9 \u05DC\u05D4\u05D5\u05DB\u05D9\u05D7 \u05E9\u05D0\u05EA\u05D4 \u05D0\u05D3\u05DD \u05D0\u05DE\u05D9\u05EA\u05D9",
|
|
1302
|
+
titleApprove: "\u05D0\u05E9\u05E8 \u05D1\u05D8\u05DC\u05E4\u05D5\u05DF \u05E9\u05DC\u05DA",
|
|
1303
|
+
bodyScan: "\u05E1\u05E8\u05D5\u05E7 \u05D1\u05D0\u05DE\u05E6\u05E2\u05D5\u05EA \u05DE\u05E6\u05DC\u05DE\u05EA \u05D4\u05D8\u05DC\u05E4\u05D5\u05DF \u05E9\u05DC\u05DA \u05D0\u05D5 \u05D0\u05E4\u05DC\u05D9\u05E7\u05E6\u05D9\u05D9\u05EA ZOREAL ID.",
|
|
1304
|
+
bodyApprove: "\u05D0\u05E9\u05E8 \u05D0\u05EA \u05D4\u05D4\u05EA\u05D7\u05D1\u05E8\u05D5\u05EA \u05D1\u05D0\u05E4\u05DC\u05D9\u05E7\u05E6\u05D9\u05D9\u05EA ZOREAL ID \u05E9\u05DC\u05DA.",
|
|
1305
|
+
bodyEnrolling: "\u05E1\u05D9\u05D9\u05DD \u05DC\u05D4\u05D2\u05D3\u05D9\u05E8 \u05D0\u05EA ZOREAL ID \u05D1\u05D8\u05DC\u05E4\u05D5\u05DF \u05E9\u05DC\u05DA, \u05D5\u05D0\u05D6 \u05D0\u05E9\u05E8 \u05D0\u05EA \u05D4\u05D4\u05EA\u05D7\u05D1\u05E8\u05D5\u05EA.",
|
|
1306
|
+
waiting: "\u05DE\u05DE\u05EA\u05D9\u05DF \u05DC\u05E1\u05E8\u05D9\u05E7\u05D4",
|
|
1307
|
+
waitingApproval: "\u05DE\u05DE\u05EA\u05D9\u05DF \u05DC\u05D0\u05D9\u05E9\u05D5\u05E8",
|
|
1308
|
+
expiresIn: "\u05D9\u05E4\u05D5\u05D2 \u05D1\u05E2\u05D5\u05D3 {time}",
|
|
1309
|
+
secured: "\u05D0\u05D9\u05DE\u05D5\u05EA Proof-of-Human \u05DE\u05D1\u05D9\u05EA ZOREAL",
|
|
1310
|
+
noIdTitle: "\u05E2\u05D3\u05D9\u05D9\u05DF \u05D0\u05D9\u05DF \u05DC\u05DA ZOREAL ID?",
|
|
1311
|
+
noIdBody: "\u05E1\u05E8\u05D5\u05E7 \u05D0\u05EA \u05D0\u05D5\u05EA\u05D5 \u05D4\u05E7\u05D5\u05D3 \u05DB\u05D3\u05D9 \u05DC\u05D4\u05D5\u05E8\u05D9\u05D3 \u05D0\u05EA \u05D4\u05D0\u05E4\u05DC\u05D9\u05E7\u05E6\u05D9\u05D4 \u05D5\u05DC\u05D9\u05E6\u05D5\u05E8 \u05D0\u05D7\u05D3 \u05D1\u05D7\u05D9\u05E0\u05DD. \u05D6\u05D4 \u05DC\u05D5\u05E7\u05D7 \u05E8\u05E7 \u05D3\u05E7\u05D4.",
|
|
1312
|
+
cancel: "\u05D1\u05D9\u05D8\u05D5\u05DC",
|
|
1313
|
+
close: "\u05E1\u05D2\u05D5\u05E8",
|
|
1314
|
+
qrAlt: "\u05E7\u05D5\u05D3 QR \u05DC\u05D4\u05EA\u05D7\u05D1\u05E8\u05D5\u05EA \u05E2\u05DD ZOREAL",
|
|
1315
|
+
buttonContinue: "\u05D4\u05DE\u05E9\u05DA \u05E2\u05DD ZOREAL"
|
|
1316
|
+
},
|
|
1317
|
+
// Hrvatski
|
|
1318
|
+
hr: {
|
|
1319
|
+
title: "Skenirajte za prijavu",
|
|
1320
|
+
titleIdentify: "Skenirajte za potvrdu identiteta",
|
|
1321
|
+
titlePresence: "Skenirajte kako biste dokazali da ste stvarna osoba",
|
|
1322
|
+
titleApprove: "Odobrite na svom mobitelu",
|
|
1323
|
+
bodyScan: "Skenirajte kamerom svog mobitela ili aplikacijom ZOREAL ID.",
|
|
1324
|
+
bodyApprove: "Odobrite prijavu u aplikaciji ZOREAL ID.",
|
|
1325
|
+
bodyEnrolling: "Dovr\u0161ite postavljanje ZOREAL ID-a na svom mobitelu, a zatim odobrite prijavu.",
|
|
1326
|
+
waiting: "\u010Ceka se skeniranje",
|
|
1327
|
+
waitingApproval: "\u010Ceka se odobrenje",
|
|
1328
|
+
expiresIn: "Isti\u010De za {time}",
|
|
1329
|
+
secured: "ZOREAL Proof-of-Human provjera",
|
|
1330
|
+
noIdTitle: "Nemate ZOREAL ID?",
|
|
1331
|
+
noIdBody: "Skenirajte isti kod da preuzmete aplikaciju i besplatno ga izradite. Traje samo minutu.",
|
|
1332
|
+
cancel: "Odustani",
|
|
1333
|
+
close: "Zatvori",
|
|
1334
|
+
qrAlt: "QR kod za prijavu putem ZOREAL-a",
|
|
1335
|
+
buttonContinue: "Nastavi sa ZOREAL-om"
|
|
1336
|
+
},
|
|
1337
|
+
// Magyar
|
|
1338
|
+
hu: {
|
|
1339
|
+
title: "Bejelentkez\xE9s beolvas\xE1ssal",
|
|
1340
|
+
titleIdentify: "Olvassa be a szem\xE9lyazonoss\xE1ga igazol\xE1s\xE1hoz",
|
|
1341
|
+
titlePresence: "Olvassa be annak igazol\xE1s\xE1hoz, hogy val\xF3di ember",
|
|
1342
|
+
titleApprove: "J\xF3v\xE1hagy\xE1s a telefonj\xE1n",
|
|
1343
|
+
bodyScan: "Olvassa be a telefonja kamer\xE1j\xE1val, vagy a ZOREAL ID alkalmaz\xE1ssal.",
|
|
1344
|
+
bodyApprove: "Hagyja j\xF3v\xE1 a bejelentkez\xE9st a ZOREAL ID alkalmaz\xE1sban.",
|
|
1345
|
+
bodyEnrolling: "Fejezze be a ZOREAL ID be\xE1ll\xEDt\xE1s\xE1t a telefonj\xE1n, majd hagyja j\xF3v\xE1 a bejelentkez\xE9st.",
|
|
1346
|
+
waiting: "V\xE1rakoz\xE1s beolvas\xE1sra",
|
|
1347
|
+
waitingApproval: "V\xE1rakoz\xE1s j\xF3v\xE1hagy\xE1sra",
|
|
1348
|
+
expiresIn: "Lej\xE1r {time} m\xFAlva",
|
|
1349
|
+
secured: "Proof-of-Human hiteles\xEDt\xE9s a ZOREAL-t\xF3l",
|
|
1350
|
+
noIdTitle: "M\xE9g nincs ZOREAL ID-je?",
|
|
1351
|
+
noIdBody: "Olvassa be ugyanazt a k\xF3dot az alkalmaz\xE1s let\xF6lt\xE9s\xE9hez, \xE9s hozzon l\xE9tre egyet ingyenesen. Mind\xF6ssze egy percet vesz ig\xE9nybe.",
|
|
1352
|
+
cancel: "M\xE9gse",
|
|
1353
|
+
close: "Bez\xE1r\xE1s",
|
|
1354
|
+
qrAlt: "QR-k\xF3d a ZOREAL-lal val\xF3 bejelentkez\xE9shez",
|
|
1355
|
+
buttonContinue: "Folytat\xE1s a ZOREAL-lal"
|
|
1356
|
+
},
|
|
1357
|
+
// Bahasa Indonesia
|
|
1358
|
+
id: {
|
|
1359
|
+
title: "Pindai untuk masuk",
|
|
1360
|
+
titleIdentify: "Pindai untuk memverifikasi identitas Anda",
|
|
1361
|
+
titlePresence: "Pindai untuk membuktikan bahwa Anda manusia sungguhan",
|
|
1362
|
+
titleApprove: "Setujui di ponsel Anda",
|
|
1363
|
+
bodyScan: "Pindai dengan kamera ponsel atau aplikasi ZOREAL ID.",
|
|
1364
|
+
bodyApprove: "Setujui proses masuk di aplikasi ZOREAL ID Anda.",
|
|
1365
|
+
bodyEnrolling: "Selesaikan pengaturan ZOREAL ID di ponsel Anda, lalu setujui proses masuk.",
|
|
1366
|
+
waiting: "Menunggu pemindaian",
|
|
1367
|
+
waitingApproval: "Menunggu persetujuan",
|
|
1368
|
+
expiresIn: "Berakhir dalam {time}",
|
|
1369
|
+
secured: "Verifikasi Proof-of-Human oleh ZOREAL",
|
|
1370
|
+
noIdTitle: "Belum punya ZOREAL ID?",
|
|
1371
|
+
noIdBody: "Pindai kode yang sama untuk mengunduh aplikasi dan membuat akun secara gratis. Hanya butuh waktu satu menit.",
|
|
1372
|
+
cancel: "Batal",
|
|
1373
|
+
close: "Tutup",
|
|
1374
|
+
qrAlt: "Kode QR untuk masuk dengan ZOREAL",
|
|
1375
|
+
buttonContinue: "Lanjutkan dengan ZOREAL"
|
|
1376
|
+
},
|
|
1377
|
+
// Italiano
|
|
1378
|
+
it: {
|
|
1379
|
+
title: "Scansiona per accedere",
|
|
1380
|
+
titleIdentify: "Scansiona per verificare la tua identit\xE0",
|
|
1381
|
+
titlePresence: "Scansiona per dimostrare di essere una persona reale",
|
|
1382
|
+
titleApprove: "Approva sul tuo telefono",
|
|
1383
|
+
bodyScan: "Scansiona con la fotocamera del telefono o con l'app ZOREAL ID.",
|
|
1384
|
+
bodyApprove: "Approva l'accesso nell'app ZOREAL ID.",
|
|
1385
|
+
bodyEnrolling: "Completa la configurazione di ZOREAL ID sul telefono, poi approva l'accesso.",
|
|
1386
|
+
waiting: "In attesa della scansione",
|
|
1387
|
+
waitingApproval: "In attesa di approvazione",
|
|
1388
|
+
expiresIn: "Scade tra {time}",
|
|
1389
|
+
secured: "Verifica Proof-of-Human di ZOREAL",
|
|
1390
|
+
noIdTitle: "Non hai ancora uno ZOREAL ID?",
|
|
1391
|
+
noIdBody: "Scansiona lo stesso codice per scaricare l'app e crearne uno gratis. Basta un minuto.",
|
|
1392
|
+
cancel: "Annulla",
|
|
1393
|
+
close: "Chiudi",
|
|
1394
|
+
qrAlt: "Codice QR per accedere con ZOREAL",
|
|
1395
|
+
buttonContinue: "Continua con ZOREAL"
|
|
1396
|
+
},
|
|
1397
|
+
// Bahasa Melayu
|
|
1398
|
+
ms: {
|
|
1399
|
+
title: "Imbas untuk log masuk",
|
|
1400
|
+
titleIdentify: "Imbas untuk mengesahkan identiti anda",
|
|
1401
|
+
titlePresence: "Imbas untuk membuktikan anda manusia sebenar",
|
|
1402
|
+
titleApprove: "Luluskan di telefon anda",
|
|
1403
|
+
bodyScan: "Imbas dengan kamera telefon atau aplikasi ZOREAL ID.",
|
|
1404
|
+
bodyApprove: "Luluskan log masuk dalam aplikasi ZOREAL ID anda.",
|
|
1405
|
+
bodyEnrolling: "Selesaikan persediaan ZOREAL ID di telefon anda, kemudian luluskan log masuk.",
|
|
1406
|
+
waiting: "Menunggu imbasan",
|
|
1407
|
+
waitingApproval: "Menunggu kelulusan",
|
|
1408
|
+
expiresIn: "Tamat tempoh dalam {time}",
|
|
1409
|
+
secured: "Pengesahan Proof-of-Human oleh ZOREAL",
|
|
1410
|
+
noIdTitle: "Belum ada ZOREAL ID?",
|
|
1411
|
+
noIdBody: "Imbas kod yang sama untuk memuat turun aplikasi dan cipta satu secara percuma. Hanya mengambil masa seminit.",
|
|
1412
|
+
cancel: "Batal",
|
|
1413
|
+
close: "Tutup",
|
|
1414
|
+
qrAlt: "Kod QR untuk log masuk dengan ZOREAL",
|
|
1415
|
+
buttonContinue: "Teruskan dengan ZOREAL"
|
|
1416
|
+
},
|
|
1417
|
+
// Nederlands
|
|
1418
|
+
nl: {
|
|
1419
|
+
title: "Scan om in te loggen",
|
|
1420
|
+
titleIdentify: "Scan om je identiteit te verifi\xEBren",
|
|
1421
|
+
titlePresence: "Scan om te bewijzen dat je een echt mens bent",
|
|
1422
|
+
titleApprove: "Keur goed op je telefoon",
|
|
1423
|
+
bodyScan: "Scan met de camera van je telefoon of de ZOREAL ID-app.",
|
|
1424
|
+
bodyApprove: "Keur de aanmelding goed in je ZOREAL ID-app.",
|
|
1425
|
+
bodyEnrolling: "Rond het instellen van ZOREAL ID op je telefoon af en keur daarna de aanmelding goed.",
|
|
1426
|
+
waiting: "Wachten op scan",
|
|
1427
|
+
waitingApproval: "Wachten op goedkeuring",
|
|
1428
|
+
expiresIn: "Verloopt over {time}",
|
|
1429
|
+
secured: "Proof-of-Human-verificatie door ZOREAL",
|
|
1430
|
+
noIdTitle: "Nog geen ZOREAL ID?",
|
|
1431
|
+
noIdBody: "Scan dezelfde code om de app te downloaden en gratis een account aan te maken. Dit duurt maar een minuut.",
|
|
1432
|
+
cancel: "Annuleren",
|
|
1433
|
+
close: "Sluiten",
|
|
1434
|
+
qrAlt: "QR-code om in te loggen met ZOREAL",
|
|
1435
|
+
buttonContinue: "Doorgaan met ZOREAL"
|
|
1436
|
+
},
|
|
1437
|
+
// Norsk
|
|
1438
|
+
no: {
|
|
1439
|
+
title: "Skann for \xE5 logge inn",
|
|
1440
|
+
titleIdentify: "Skann for \xE5 bekrefte identiteten din",
|
|
1441
|
+
titlePresence: "Skann for \xE5 bevise at du er et ekte menneske",
|
|
1442
|
+
titleApprove: "Godkjenn p\xE5 telefonen din",
|
|
1443
|
+
bodyScan: "Skann med telefonens kamera eller ZOREAL ID-appen.",
|
|
1444
|
+
bodyApprove: "Godkjenn innloggingen i ZOREAL ID-appen din.",
|
|
1445
|
+
bodyEnrolling: "Fullf\xF8r oppsettet av ZOREAL ID p\xE5 telefonen din, og godkjenn deretter innloggingen.",
|
|
1446
|
+
waiting: "Venter p\xE5 skanning",
|
|
1447
|
+
waitingApproval: "Venter p\xE5 godkjenning",
|
|
1448
|
+
expiresIn: "Utl\xF8per om {time}",
|
|
1449
|
+
secured: "Proof-of-Human-verifisering av ZOREAL",
|
|
1450
|
+
noIdTitle: "Har du ikke ZOREAL ID enn\xE5?",
|
|
1451
|
+
noIdBody: "Skann den samme koden for \xE5 laste ned appen og opprette en gratis. Det tar bare et minutt.",
|
|
1452
|
+
cancel: "Avbryt",
|
|
1453
|
+
close: "Lukk",
|
|
1454
|
+
qrAlt: "QR-kode for \xE5 logge inn med ZOREAL",
|
|
1455
|
+
buttonContinue: "Fortsett med ZOREAL"
|
|
1456
|
+
},
|
|
1457
|
+
// Polski
|
|
1458
|
+
pl: {
|
|
1459
|
+
title: "Zeskanuj, aby si\u0119 zalogowa\u0107",
|
|
1460
|
+
titleIdentify: "Zeskanuj, aby zweryfikowa\u0107 swoj\u0105 to\u017Csamo\u015B\u0107",
|
|
1461
|
+
titlePresence: "Zeskanuj, aby udowodni\u0107, \u017Ce jeste\u015B prawdziwym cz\u0142owiekiem",
|
|
1462
|
+
titleApprove: "Zatwierd\u017A w telefonie",
|
|
1463
|
+
bodyScan: "Zeskanuj aparatem telefonu lub aplikacj\u0105 ZOREAL ID.",
|
|
1464
|
+
bodyApprove: "Zatwierd\u017A logowanie w aplikacji ZOREAL ID.",
|
|
1465
|
+
bodyEnrolling: "Doko\u0144cz konfiguracj\u0119 ZOREAL ID w telefonie, a nast\u0119pnie zatwierd\u017A logowanie.",
|
|
1466
|
+
waiting: "Czekanie na skan",
|
|
1467
|
+
waitingApproval: "Czekanie na zatwierdzenie",
|
|
1468
|
+
expiresIn: "Wygasa za {time}",
|
|
1469
|
+
secured: "Weryfikacja Proof-of-Human od ZOREAL",
|
|
1470
|
+
noIdTitle: "Nie masz jeszcze ZOREAL ID?",
|
|
1471
|
+
noIdBody: "Zeskanuj ten sam kod, aby pobra\u0107 aplikacj\u0119 i bezp\u0142atnie utworzy\u0107 ZOREAL ID. Zajmie to tylko minut\u0119.",
|
|
1472
|
+
cancel: "Anuluj",
|
|
1473
|
+
close: "Zamknij",
|
|
1474
|
+
qrAlt: "Kod QR do logowania za pomoc\u0105 ZOREAL",
|
|
1475
|
+
buttonContinue: "Kontynuuj z ZOREAL"
|
|
1476
|
+
},
|
|
1477
|
+
// Português (BR)
|
|
1478
|
+
"pt-br": {
|
|
1479
|
+
title: "Escaneie para entrar",
|
|
1480
|
+
titleIdentify: "Escaneie para verificar sua identidade",
|
|
1481
|
+
titlePresence: "Escaneie para provar que voc\xEA \xE9 uma pessoa real",
|
|
1482
|
+
titleApprove: "Aprove no seu celular",
|
|
1483
|
+
bodyScan: "Escaneie com a c\xE2mera do seu celular ou com o app ZOREAL ID.",
|
|
1484
|
+
bodyApprove: "Aprove o login no app ZOREAL ID.",
|
|
1485
|
+
bodyEnrolling: "Termine de configurar o ZOREAL ID no seu celular e depois aprove o login.",
|
|
1486
|
+
waiting: "Aguardando escaneamento",
|
|
1487
|
+
waitingApproval: "Aguardando aprova\xE7\xE3o",
|
|
1488
|
+
expiresIn: "Expira em {time}",
|
|
1489
|
+
secured: "Verifica\xE7\xE3o Proof-of-Human da ZOREAL",
|
|
1490
|
+
noIdTitle: "Ainda n\xE3o tem um ZOREAL ID?",
|
|
1491
|
+
noIdBody: "Escaneie o mesmo c\xF3digo para baixar o app e criar um de gra\xE7a. Leva s\xF3 um minuto.",
|
|
1492
|
+
cancel: "Cancelar",
|
|
1493
|
+
close: "Fechar",
|
|
1494
|
+
qrAlt: "C\xF3digo QR para entrar com ZOREAL",
|
|
1495
|
+
buttonContinue: "Continuar com ZOREAL"
|
|
1496
|
+
},
|
|
1497
|
+
// Română
|
|
1498
|
+
ro: {
|
|
1499
|
+
title: "Scana\u021Bi pentru conectare",
|
|
1500
|
+
titleIdentify: "Scana\u021Bi pentru a v\u0103 verifica identitatea",
|
|
1501
|
+
titlePresence: "Scana\u021Bi pentru a dovedi c\u0103 sunte\u021Bi o persoan\u0103 real\u0103",
|
|
1502
|
+
titleApprove: "Aproba\u021Bi de pe telefon",
|
|
1503
|
+
bodyScan: "Scana\u021Bi cu camera telefonului sau cu aplica\u021Bia ZOREAL ID.",
|
|
1504
|
+
bodyApprove: "Aproba\u021Bi conectarea \xEEn aplica\u021Bia ZOREAL ID.",
|
|
1505
|
+
bodyEnrolling: "Finaliza\u021Bi configurarea ZOREAL ID pe telefon, apoi aproba\u021Bi conectarea.",
|
|
1506
|
+
waiting: "Se a\u0219teapt\u0103 scanarea",
|
|
1507
|
+
waitingApproval: "Se a\u0219teapt\u0103 aprobarea",
|
|
1508
|
+
expiresIn: "Expir\u0103 \xEEn {time}",
|
|
1509
|
+
secured: "Verificare Proof-of-Human de la ZOREAL",
|
|
1510
|
+
noIdTitle: "Nu ave\u021Bi \xEEnc\u0103 un ZOREAL ID?",
|
|
1511
|
+
noIdBody: "Scana\u021Bi acela\u0219i cod pentru a desc\u0103rca aplica\u021Bia \u0219i a crea unul gratuit. Dureaz\u0103 doar un minut.",
|
|
1512
|
+
cancel: "Anuleaz\u0103",
|
|
1513
|
+
close: "\xCEnchide",
|
|
1514
|
+
qrAlt: "Cod QR pentru conectare cu ZOREAL",
|
|
1515
|
+
buttonContinue: "Continua\u021Bi cu ZOREAL"
|
|
1516
|
+
},
|
|
1517
|
+
// Српски
|
|
1518
|
+
sr: {
|
|
1519
|
+
title: "\u0421\u043A\u0435\u043D\u0438\u0440\u0430\u0458\u0442\u0435 \u0437\u0430 \u043F\u0440\u0438\u0458\u0430\u0432\u0443",
|
|
1520
|
+
titleIdentify: "\u0421\u043A\u0435\u043D\u0438\u0440\u0430\u0458\u0442\u0435 \u0434\u0430 \u043F\u043E\u0442\u0432\u0440\u0434\u0438\u0442\u0435 \u0441\u0432\u043E\u0458 \u0438\u0434\u0435\u043D\u0442\u0438\u0442\u0435\u0442",
|
|
1521
|
+
titlePresence: "\u0421\u043A\u0435\u043D\u0438\u0440\u0430\u0458\u0442\u0435 \u0434\u0430 \u0434\u043E\u043A\u0430\u0436\u0435\u0442\u0435 \u0434\u0430 \u0441\u0442\u0435 \u043F\u0440\u0430\u0432\u0430 \u043E\u0441\u043E\u0431\u0430",
|
|
1522
|
+
titleApprove: "\u041E\u0434\u043E\u0431\u0440\u0438\u0442\u0435 \u043D\u0430 \u0441\u0432\u043E\u043C \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0443",
|
|
1523
|
+
bodyScan: "\u0421\u043A\u0435\u043D\u0438\u0440\u0430\u0458\u0442\u0435 \u043A\u0430\u043C\u0435\u0440\u043E\u043C \u0441\u0432\u043E\u0433 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u0438\u043B\u0438 \u0430\u043F\u043B\u0438\u043A\u0430\u0446\u0438\u0458\u043E\u043C ZOREAL ID.",
|
|
1524
|
+
bodyApprove: "\u041E\u0434\u043E\u0431\u0440\u0438\u0442\u0435 \u043F\u0440\u0438\u0458\u0430\u0432\u0443 \u0443 \u0430\u043F\u043B\u0438\u043A\u0430\u0446\u0438\u0458\u0438 ZOREAL ID.",
|
|
1525
|
+
bodyEnrolling: "\u0414\u043E\u0432\u0440\u0448\u0438\u0442\u0435 \u043F\u043E\u0434\u0435\u0448\u0430\u0432\u0430\u045A\u0435 ZOREAL ID-\u0430 \u043D\u0430 \u0441\u0432\u043E\u043C \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0443, \u043F\u0430 \u043E\u0434\u043E\u0431\u0440\u0438\u0442\u0435 \u043F\u0440\u0438\u0458\u0430\u0432\u0443.",
|
|
1526
|
+
waiting: "\u0427\u0435\u043A\u0430 \u0441\u0435 \u0441\u043A\u0435\u043D\u0438\u0440\u0430\u045A\u0435",
|
|
1527
|
+
waitingApproval: "\u0427\u0435\u043A\u0430 \u0441\u0435 \u043E\u0434\u043E\u0431\u0440\u0435\u045A\u0435",
|
|
1528
|
+
expiresIn: "\u0418\u0441\u0442\u0438\u0447\u0435 \u0437\u0430 {time}",
|
|
1529
|
+
secured: "ZOREAL Proof-of-Human \u0432\u0435\u0440\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u0458\u0430",
|
|
1530
|
+
noIdTitle: "\u041D\u0435\u043C\u0430\u0442\u0435 ZOREAL ID?",
|
|
1531
|
+
noIdBody: "\u0421\u043A\u0435\u043D\u0438\u0440\u0430\u0458\u0442\u0435 \u0438\u0441\u0442\u0438 \u043A\u043E\u0434 \u0434\u0430 \u043F\u0440\u0435\u0443\u0437\u043C\u0435\u0442\u0435 \u0430\u043F\u043B\u0438\u043A\u0430\u0446\u0438\u0458\u0443 \u0438 \u0431\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E \u0433\u0430 \u043D\u0430\u043F\u0440\u0430\u0432\u0438\u0442\u0435. \u0422\u0440\u0430\u0458\u0435 \u0441\u0430\u043C\u043E \u043C\u0438\u043D\u0443\u0442.",
|
|
1532
|
+
cancel: "\u041E\u0442\u043A\u0430\u0436\u0438",
|
|
1533
|
+
close: "\u0417\u0430\u0442\u0432\u043E\u0440\u0438",
|
|
1534
|
+
qrAlt: "QR \u043A\u043E\u0434 \u0437\u0430 \u043F\u0440\u0438\u0458\u0430\u0432\u0443 \u043F\u0440\u0435\u043A\u043E ZOREAL-\u0430",
|
|
1535
|
+
buttonContinue: "\u041D\u0430\u0441\u0442\u0430\u0432\u0438 \u0441\u0430 ZOREAL-\u043E\u043C"
|
|
1536
|
+
},
|
|
1537
|
+
// ไทย
|
|
1538
|
+
th: {
|
|
1539
|
+
title: "\u0E2A\u0E41\u0E01\u0E19\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E02\u0E49\u0E32\u0E2A\u0E39\u0E48\u0E23\u0E30\u0E1A\u0E1A",
|
|
1540
|
+
titleIdentify: "\u0E2A\u0E41\u0E01\u0E19\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E22\u0E37\u0E19\u0E22\u0E31\u0E19\u0E15\u0E31\u0E27\u0E15\u0E19\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13",
|
|
1541
|
+
titlePresence: "\u0E2A\u0E41\u0E01\u0E19\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E1E\u0E34\u0E2A\u0E39\u0E08\u0E19\u0E4C\u0E27\u0E48\u0E32\u0E04\u0E38\u0E13\u0E40\u0E1B\u0E47\u0E19\u0E21\u0E19\u0E38\u0E29\u0E22\u0E4C\u0E08\u0E23\u0E34\u0E07",
|
|
1542
|
+
titleApprove: "\u0E2D\u0E19\u0E38\u0E21\u0E31\u0E15\u0E34\u0E1A\u0E19\u0E42\u0E17\u0E23\u0E28\u0E31\u0E1E\u0E17\u0E4C\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13",
|
|
1543
|
+
bodyScan: "\u0E2A\u0E41\u0E01\u0E19\u0E14\u0E49\u0E27\u0E22\u0E01\u0E25\u0E49\u0E2D\u0E07\u0E42\u0E17\u0E23\u0E28\u0E31\u0E1E\u0E17\u0E4C\u0E2B\u0E23\u0E37\u0E2D\u0E41\u0E2D\u0E1B ZOREAL ID",
|
|
1544
|
+
bodyApprove: "\u0E2D\u0E19\u0E38\u0E21\u0E31\u0E15\u0E34\u0E01\u0E32\u0E23\u0E40\u0E02\u0E49\u0E32\u0E2A\u0E39\u0E48\u0E23\u0E30\u0E1A\u0E1A\u0E43\u0E19\u0E41\u0E2D\u0E1B ZOREAL ID \u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13",
|
|
1545
|
+
bodyEnrolling: "\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32 ZOREAL ID \u0E1A\u0E19\u0E42\u0E17\u0E23\u0E28\u0E31\u0E1E\u0E17\u0E4C\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13\u0E43\u0E2B\u0E49\u0E40\u0E2A\u0E23\u0E47\u0E08\u0E2A\u0E34\u0E49\u0E19 \u0E41\u0E25\u0E49\u0E27\u0E2D\u0E19\u0E38\u0E21\u0E31\u0E15\u0E34\u0E01\u0E32\u0E23\u0E40\u0E02\u0E49\u0E32\u0E2A\u0E39\u0E48\u0E23\u0E30\u0E1A\u0E1A",
|
|
1546
|
+
waiting: "\u0E23\u0E2D\u0E01\u0E32\u0E23\u0E2A\u0E41\u0E01\u0E19",
|
|
1547
|
+
waitingApproval: "\u0E23\u0E2D\u0E01\u0E32\u0E23\u0E2D\u0E19\u0E38\u0E21\u0E31\u0E15\u0E34",
|
|
1548
|
+
expiresIn: "\u0E2B\u0E21\u0E14\u0E2D\u0E32\u0E22\u0E38\u0E43\u0E19 {time}",
|
|
1549
|
+
secured: "\u0E01\u0E32\u0E23\u0E22\u0E37\u0E19\u0E22\u0E31\u0E19\u0E15\u0E31\u0E27\u0E15\u0E19 Proof-of-Human \u0E42\u0E14\u0E22 ZOREAL",
|
|
1550
|
+
noIdTitle: "\u0E22\u0E31\u0E07\u0E44\u0E21\u0E48\u0E21\u0E35 ZOREAL ID \u0E43\u0E0A\u0E48\u0E44\u0E2B\u0E21",
|
|
1551
|
+
noIdBody: "\u0E2A\u0E41\u0E01\u0E19\u0E42\u0E04\u0E49\u0E14\u0E40\u0E14\u0E35\u0E22\u0E27\u0E01\u0E31\u0E19\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E14\u0E32\u0E27\u0E19\u0E4C\u0E42\u0E2B\u0E25\u0E14\u0E41\u0E2D\u0E1B\u0E41\u0E25\u0E30\u0E2A\u0E23\u0E49\u0E32\u0E07\u0E1A\u0E31\u0E0D\u0E0A\u0E35\u0E1F\u0E23\u0E35 \u0E43\u0E0A\u0E49\u0E40\u0E27\u0E25\u0E32\u0E40\u0E1E\u0E35\u0E22\u0E07\u0E19\u0E32\u0E17\u0E35\u0E40\u0E14\u0E35\u0E22\u0E27",
|
|
1552
|
+
cancel: "\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01",
|
|
1553
|
+
close: "\u0E1B\u0E34\u0E14",
|
|
1554
|
+
qrAlt: "\u0E04\u0E34\u0E27\u0E2D\u0E32\u0E23\u0E4C\u0E42\u0E04\u0E49\u0E14\u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A\u0E40\u0E02\u0E49\u0E32\u0E2A\u0E39\u0E48\u0E23\u0E30\u0E1A\u0E1A\u0E14\u0E49\u0E27\u0E22 ZOREAL",
|
|
1555
|
+
buttonContinue: "\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E15\u0E48\u0E2D\u0E14\u0E49\u0E27\u0E22 ZOREAL"
|
|
1556
|
+
},
|
|
1557
|
+
// Tagalog
|
|
1558
|
+
tl: {
|
|
1559
|
+
title: "I-scan para mag-sign in",
|
|
1560
|
+
titleIdentify: "I-scan para i-verify ang iyong pagkakakilanlan",
|
|
1561
|
+
titlePresence: "I-scan para patunayang tunay kang tao",
|
|
1562
|
+
titleApprove: "I-approve sa iyong telepono",
|
|
1563
|
+
bodyScan: "I-scan gamit ang camera ng iyong telepono o ang ZOREAL ID app.",
|
|
1564
|
+
bodyApprove: "I-approve ang login sa iyong ZOREAL ID app.",
|
|
1565
|
+
bodyEnrolling: "Tapusin muna ang pag-set up ng ZOREAL ID sa iyong telepono, pagkatapos ay i-approve ang login.",
|
|
1566
|
+
waiting: "Naghihintay ng scan",
|
|
1567
|
+
waitingApproval: "Naghihintay ng approval",
|
|
1568
|
+
expiresIn: "Mag-e-expire sa {time}",
|
|
1569
|
+
secured: "Proof-of-Human verification mula sa ZOREAL",
|
|
1570
|
+
noIdTitle: "Wala ka pang ZOREAL ID?",
|
|
1571
|
+
noIdBody: "I-scan ang parehong code para i-download ang app at gumawa ng iyong ZOREAL ID nang libre. Isang minuto lang ito.",
|
|
1572
|
+
cancel: "Kanselahin",
|
|
1573
|
+
close: "Isara",
|
|
1574
|
+
qrAlt: "QR code para mag-sign in gamit ang ZOREAL",
|
|
1575
|
+
buttonContinue: "Magpatuloy gamit ang ZOREAL"
|
|
1576
|
+
},
|
|
1577
|
+
// Türkçe
|
|
1578
|
+
tr: {
|
|
1579
|
+
title: "Giri\u015F i\xE7in taray\u0131n",
|
|
1580
|
+
titleIdentify: "Kimli\u011Finizi do\u011Frulamak i\xE7in taray\u0131n",
|
|
1581
|
+
titlePresence: "Ger\xE7ek bir insan oldu\u011Funuzu kan\u0131tlamak i\xE7in taray\u0131n",
|
|
1582
|
+
titleApprove: "Telefonunuzdan onaylay\u0131n",
|
|
1583
|
+
bodyScan: "Telefonunuzun kameras\u0131yla veya ZOREAL ID uygulamas\u0131yla taray\u0131n.",
|
|
1584
|
+
bodyApprove: "Giri\u015Fi ZOREAL ID uygulaman\u0131zdan onaylay\u0131n.",
|
|
1585
|
+
bodyEnrolling: "Telefonunuzda ZOREAL ID kurulumunu tamamlay\u0131n, ard\u0131ndan giri\u015Fi onaylay\u0131n.",
|
|
1586
|
+
waiting: "Tarama bekleniyor",
|
|
1587
|
+
waitingApproval: "Onay bekleniyor",
|
|
1588
|
+
expiresIn: "{time} i\xE7inde sona erer",
|
|
1589
|
+
secured: "ZOREAL taraf\u0131ndan Proof-of-Human do\u011Frulamas\u0131",
|
|
1590
|
+
noIdTitle: "Hen\xFCz ZOREAL ID'niz yok mu?",
|
|
1591
|
+
noIdBody: "Uygulamay\u0131 indirmek ve \xFCcretsiz bir tane olu\u015Fturmak i\xE7in ayn\u0131 kodu taray\u0131n. Sadece bir dakikan\u0131z\u0131 al\u0131r.",
|
|
1592
|
+
cancel: "\u0130ptal",
|
|
1593
|
+
close: "Kapat",
|
|
1594
|
+
qrAlt: "ZOREAL ile giri\u015F yapmak i\xE7in QR kodu",
|
|
1595
|
+
buttonContinue: "ZOREAL ile devam et"
|
|
1596
|
+
},
|
|
1597
|
+
// Українська
|
|
1598
|
+
uk: {
|
|
1599
|
+
title: "\u0421\u043A\u0430\u043D\u0443\u0439\u0442\u0435 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0443",
|
|
1600
|
+
titleIdentify: "\u0421\u043A\u0430\u043D\u0443\u0439\u0442\u0435, \u0449\u043E\u0431 \u043F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0438 \u043E\u0441\u043E\u0431\u0443",
|
|
1601
|
+
titlePresence: "\u0421\u043A\u0430\u043D\u0443\u0439\u0442\u0435, \u0449\u043E\u0431 \u0434\u043E\u0432\u0435\u0441\u0442\u0438, \u0449\u043E \u0432\u0438 \u0441\u043F\u0440\u0430\u0432\u0436\u043D\u044F \u043B\u044E\u0434\u0438\u043D\u0430",
|
|
1602
|
+
titleApprove: "\u041F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u044C\u0442\u0435 \u043D\u0430 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0456",
|
|
1603
|
+
bodyScan: "\u0421\u043A\u0430\u043D\u0443\u0439\u0442\u0435 \u043A\u0430\u043C\u0435\u0440\u043E\u044E \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0443 \u0430\u0431\u043E \u0434\u043E\u0434\u0430\u0442\u043A\u043E\u043C ZOREAL ID.",
|
|
1604
|
+
bodyApprove: "\u041F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u044C\u0442\u0435 \u0432\u0445\u0456\u0434 \u0443 \u0434\u043E\u0434\u0430\u0442\u043A\u0443 ZOREAL ID.",
|
|
1605
|
+
bodyEnrolling: "\u0417\u0430\u0432\u0435\u0440\u0448\u0456\u0442\u044C \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F ZOREAL ID \u043D\u0430 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0456, \u0430 \u043F\u043E\u0442\u0456\u043C \u043F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u044C\u0442\u0435 \u0432\u0445\u0456\u0434.",
|
|
1606
|
+
waiting: "\u041E\u0447\u0456\u043A\u0443\u0432\u0430\u043D\u043D\u044F \u0441\u043A\u0430\u043D\u0443\u0432\u0430\u043D\u043D\u044F",
|
|
1607
|
+
waitingApproval: "\u041E\u0447\u0456\u043A\u0443\u0432\u0430\u043D\u043D\u044F \u043F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0436\u0435\u043D\u043D\u044F",
|
|
1608
|
+
expiresIn: "\u0421\u043F\u043B\u0438\u0432\u0430\u0454 \u0447\u0435\u0440\u0435\u0437 {time}",
|
|
1609
|
+
secured: "\u041F\u0435\u0440\u0435\u0432\u0456\u0440\u043A\u0430 Proof-of-Human \u0432\u0456\u0434 ZOREAL",
|
|
1610
|
+
noIdTitle: "\u0429\u0435 \u043D\u0435\u043C\u0430\u0454 ZOREAL ID?",
|
|
1611
|
+
noIdBody: "\u0421\u043A\u0430\u043D\u0443\u0439\u0442\u0435 \u0442\u043E\u0439 \u0441\u0430\u043C\u0438\u0439 \u043A\u043E\u0434, \u0449\u043E\u0431 \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0434\u043E\u0434\u0430\u0442\u043E\u043A \u0456 \u0431\u0435\u0437\u043A\u043E\u0448\u0442\u043E\u0432\u043D\u043E \u0441\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u0439\u043E\u0433\u043E. \u0426\u0435 \u0437\u0430\u0439\u043C\u0435 \u043B\u0438\u0448\u0435 \u0445\u0432\u0438\u043B\u0438\u043D\u0443.",
|
|
1612
|
+
cancel: "\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438",
|
|
1613
|
+
close: "\u0417\u0430\u043A\u0440\u0438\u0442\u0438",
|
|
1614
|
+
qrAlt: "QR-\u043A\u043E\u0434 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0443 \u0447\u0435\u0440\u0435\u0437 ZOREAL",
|
|
1615
|
+
buttonContinue: "\u041F\u0440\u043E\u0434\u043E\u0432\u0436\u0438\u0442\u0438 \u0437 ZOREAL"
|
|
1616
|
+
},
|
|
1617
|
+
// اردو
|
|
1618
|
+
ur: {
|
|
1619
|
+
title: "\u0644\u0627\u06AF \u0627\u0650\u0646 \u06A9\u0631\u0646\u06D2 \u06A9\u06D2 \u0644\u06CC\u06D2 \u0627\u0633\u06A9\u06CC\u0646 \u06A9\u0631\u06CC\u06BA",
|
|
1620
|
+
titleIdentify: "\u0627\u067E\u0646\u06CC \u0634\u0646\u0627\u062E\u062A \u06A9\u06CC \u062A\u0635\u062F\u06CC\u0642 \u06A9\u06D2 \u0644\u06CC\u06D2 \u0627\u0633\u06A9\u06CC\u0646 \u06A9\u0631\u06CC\u06BA",
|
|
1621
|
+
titlePresence: "\u06CC\u06C1 \u062B\u0627\u0628\u062A \u06A9\u0631\u0646\u06D2 \u06A9\u06D2 \u0644\u06CC\u06D2 \u0627\u0633\u06A9\u06CC\u0646 \u06A9\u0631\u06CC\u06BA \u06A9\u06C1 \u0622\u067E \u0627\u06CC\u06A9 \u062D\u0642\u06CC\u0642\u06CC \u0627\u0646\u0633\u0627\u0646 \u06C1\u06CC\u06BA",
|
|
1622
|
+
titleApprove: "\u0627\u067E\u0646\u06D2 \u0641\u0648\u0646 \u067E\u0631 \u0645\u0646\u0638\u0648\u0631\u06CC \u062F\u06CC\u06BA",
|
|
1623
|
+
bodyScan: "\u0627\u067E\u0646\u06D2 \u0641\u0648\u0646 \u06A9\u06D2 \u06A9\u06CC\u0645\u0631\u06D2 \u06CC\u0627 ZOREAL ID \u0627\u06CC\u067E \u0633\u06D2 \u0627\u0633\u06A9\u06CC\u0646 \u06A9\u0631\u06CC\u06BA\u06D4",
|
|
1624
|
+
bodyApprove: "\u0627\u067E\u0646\u06CC ZOREAL ID \u0627\u06CC\u067E \u0645\u06CC\u06BA \u0644\u0627\u06AF \u0627\u0650\u0646 \u06A9\u06CC \u0645\u0646\u0638\u0648\u0631\u06CC \u062F\u06CC\u06BA\u06D4",
|
|
1625
|
+
bodyEnrolling: "\u0627\u067E\u0646\u06D2 \u0641\u0648\u0646 \u067E\u0631 ZOREAL ID \u06A9\u06CC \u0633\u06CC\u0679 \u0627\u067E \u0645\u06A9\u0645\u0644 \u06A9\u0631\u06CC\u06BA\u060C \u067E\u06BE\u0631 \u0644\u0627\u06AF \u0627\u0650\u0646 \u06A9\u06CC \u0645\u0646\u0638\u0648\u0631\u06CC \u062F\u06CC\u06BA\u06D4",
|
|
1626
|
+
waiting: "\u0627\u0633\u06A9\u06CC\u0646 \u06A9\u0627 \u0627\u0646\u062A\u0638\u0627\u0631",
|
|
1627
|
+
waitingApproval: "\u0645\u0646\u0638\u0648\u0631\u06CC \u06A9\u0627 \u0627\u0646\u062A\u0638\u0627\u0631",
|
|
1628
|
+
expiresIn: "{time} \u0645\u06CC\u06BA \u062E\u062A\u0645 \u06C1\u0648\u06AF\u0627",
|
|
1629
|
+
secured: "ZOREAL \u06A9\u06CC \u062C\u0627\u0646\u0628 \u0633\u06D2 Proof-of-Human \u062A\u0635\u062F\u06CC\u0642",
|
|
1630
|
+
noIdTitle: "\u0627\u0628\u06BE\u06CC \u062A\u06A9 ZOREAL ID \u0646\u06C1\u06CC\u06BA \u06C1\u06D2\u061F",
|
|
1631
|
+
noIdBody: "\u0627\u06CC\u067E \u0688\u0627\u0624\u0646 \u0644\u0648\u0688 \u06A9\u0631\u0646\u06D2 \u0627\u0648\u0631 \u0645\u0641\u062A \u0645\u06CC\u06BA \u0627\u06CC\u06A9 \u0628\u0646\u0627\u0646\u06D2 \u06A9\u06D2 \u0644\u06CC\u06D2 \u0648\u06C1\u06CC \u06A9\u0648\u0688 \u0627\u0633\u06A9\u06CC\u0646 \u06A9\u0631\u06CC\u06BA\u06D4 \u0627\u0633 \u0645\u06CC\u06BA \u0635\u0631\u0641 \u0627\u06CC\u06A9 \u0645\u0646\u0679 \u0644\u06AF\u062A\u0627 \u06C1\u06D2\u06D4",
|
|
1632
|
+
cancel: "\u0645\u0646\u0633\u0648\u062E \u06A9\u0631\u06CC\u06BA",
|
|
1633
|
+
close: "\u0628\u0646\u062F \u06A9\u0631\u06CC\u06BA",
|
|
1634
|
+
qrAlt: "ZOREAL \u06A9\u06D2 \u0633\u0627\u062A\u06BE \u0644\u0627\u06AF \u0627\u0650\u0646 \u06A9\u0631\u0646\u06D2 \u06A9\u06D2 \u0644\u06CC\u06D2 QR \u06A9\u0648\u0688",
|
|
1635
|
+
buttonContinue: "ZOREAL \u06A9\u06D2 \u0633\u0627\u062A\u06BE \u062C\u0627\u0631\u06CC \u0631\u06A9\u06BE\u06CC\u06BA"
|
|
1636
|
+
},
|
|
1637
|
+
// Tiếng Việt
|
|
1638
|
+
vi: {
|
|
1639
|
+
title: "Qu\xE9t \u0111\u1EC3 \u0111\u0103ng nh\u1EADp",
|
|
1640
|
+
titleIdentify: "Qu\xE9t \u0111\u1EC3 x\xE1c minh danh t\xEDnh c\u1EE7a b\u1EA1n",
|
|
1641
|
+
titlePresence: "Qu\xE9t \u0111\u1EC3 ch\u1EE9ng minh b\u1EA1n l\xE0 ng\u01B0\u1EDDi th\u1EADt",
|
|
1642
|
+
titleApprove: "Ph\xEA duy\u1EC7t tr\xEAn \u0111i\u1EC7n tho\u1EA1i c\u1EE7a b\u1EA1n",
|
|
1643
|
+
bodyScan: "Qu\xE9t b\u1EB1ng camera \u0111i\u1EC7n tho\u1EA1i ho\u1EB7c \u1EE9ng d\u1EE5ng ZOREAL ID.",
|
|
1644
|
+
bodyApprove: "Ph\xEA duy\u1EC7t \u0111\u0103ng nh\u1EADp trong \u1EE9ng d\u1EE5ng ZOREAL ID c\u1EE7a b\u1EA1n.",
|
|
1645
|
+
bodyEnrolling: "Ho\xE0n t\u1EA5t thi\u1EBFt l\u1EADp ZOREAL ID tr\xEAn \u0111i\u1EC7n tho\u1EA1i, sau \u0111\xF3 ph\xEA duy\u1EC7t \u0111\u0103ng nh\u1EADp.",
|
|
1646
|
+
waiting: "\u0110ang ch\u1EDD qu\xE9t m\xE3",
|
|
1647
|
+
waitingApproval: "\u0110ang ch\u1EDD ph\xEA duy\u1EC7t",
|
|
1648
|
+
expiresIn: "H\u1EBFt h\u1EA1n sau {time}",
|
|
1649
|
+
secured: "X\xE1c minh Proof-of-Human b\u1EDFi ZOREAL",
|
|
1650
|
+
noIdTitle: "Ch\u01B0a c\xF3 ZOREAL ID?",
|
|
1651
|
+
noIdBody: "Qu\xE9t c\xF9ng m\xE3 n\xE0y \u0111\u1EC3 t\u1EA3i \u1EE9ng d\u1EE5ng v\xE0 t\u1EA1o t\xE0i kho\u1EA3n mi\u1EC5n ph\xED. Ch\u1EC9 m\u1EA5t m\u1ED9t ph\xFAt.",
|
|
1652
|
+
cancel: "H\u1EE7y",
|
|
1653
|
+
close: "\u0110\xF3ng",
|
|
1654
|
+
qrAlt: "M\xE3 QR \u0111\u1EC3 \u0111\u0103ng nh\u1EADp b\u1EB1ng ZOREAL",
|
|
1655
|
+
buttonContinue: "Ti\u1EBFp t\u1EE5c v\u1EDBi ZOREAL"
|
|
1656
|
+
}
|
|
1657
|
+
};
|
|
1658
|
+
var RTL = /* @__PURE__ */ new Set(["ar", "he", "iw", "ur"]);
|
|
1659
|
+
var ALIASES = {
|
|
1660
|
+
nb: "no",
|
|
1661
|
+
// Bokmål — what we actually wrote
|
|
1662
|
+
nn: "no",
|
|
1663
|
+
// Nynorsk reader, served Bokmål: closer than English
|
|
1664
|
+
fil: "tl",
|
|
1665
|
+
// Filipino / Tagalog
|
|
1666
|
+
iw: "he",
|
|
1667
|
+
// superseded code for Hebrew, still emitted by some platforms
|
|
1668
|
+
in: "id"
|
|
1669
|
+
// superseded code for Indonesian
|
|
1670
|
+
};
|
|
1671
|
+
var LATAM = /* @__PURE__ */ new Set([
|
|
1672
|
+
"ar",
|
|
1673
|
+
"bo",
|
|
1674
|
+
"cl",
|
|
1675
|
+
"co",
|
|
1676
|
+
"cr",
|
|
1677
|
+
"cu",
|
|
1678
|
+
"do",
|
|
1679
|
+
"ec",
|
|
1680
|
+
"gt",
|
|
1681
|
+
"hn",
|
|
1682
|
+
"mx",
|
|
1683
|
+
"ni",
|
|
1684
|
+
"pa",
|
|
1685
|
+
"pe",
|
|
1686
|
+
"pr",
|
|
1687
|
+
"py",
|
|
1688
|
+
"sv",
|
|
1689
|
+
"uy",
|
|
1690
|
+
"ve",
|
|
1691
|
+
"419"
|
|
1692
|
+
]);
|
|
1693
|
+
function lookup(locale) {
|
|
1694
|
+
const tag = locale.toLowerCase().replace(/_/g, "-");
|
|
1695
|
+
const parts = tag.split("-");
|
|
1696
|
+
const primary = ALIASES[parts[0]] ?? parts[0];
|
|
1697
|
+
const region = parts[1];
|
|
1698
|
+
if (primary === "zh") {
|
|
1699
|
+
const simplified = /(^|-)(hans|cn|sg|my)(-|$)/.test(tag);
|
|
1700
|
+
return TRANSLATIONS[simplified ? "zhs" : "zht"];
|
|
1701
|
+
}
|
|
1702
|
+
if (primary === "es" && region && LATAM.has(region)) return TRANSLATIONS["es-419"];
|
|
1703
|
+
if (primary === "pt" && region === "br") return TRANSLATIONS["pt-br"];
|
|
1704
|
+
return TRANSLATIONS[tag] ?? TRANSLATIONS[primary];
|
|
1705
|
+
}
|
|
1706
|
+
function browserLocales() {
|
|
1707
|
+
if (typeof navigator === "undefined") return [];
|
|
1708
|
+
const nav = navigator;
|
|
1709
|
+
if (nav.languages && nav.languages.length) return [...nav.languages];
|
|
1710
|
+
return nav.language ? [nav.language] : [];
|
|
1530
1711
|
}
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1712
|
+
function strings(locale) {
|
|
1713
|
+
if (locale) return lookup(locale) ?? en;
|
|
1714
|
+
for (const candidate of browserLocales()) {
|
|
1715
|
+
const hit = lookup(candidate);
|
|
1716
|
+
if (hit) return hit;
|
|
1717
|
+
}
|
|
1718
|
+
return en;
|
|
1534
1719
|
}
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
.${PREFIX}-card,
|
|
1540
|
-
.${PREFIX}-qr-overlay { animation: none }
|
|
1541
|
-
.${PREFIX}-dot i:first-child { animation: none; opacity: 0.35 }
|
|
1542
|
-
.${PREFIX}-qr,
|
|
1543
|
-
.${PREFIX}-cancel,
|
|
1544
|
-
.${PREFIX}-close,
|
|
1545
|
-
.${PREFIX}-timer { transition: none }
|
|
1546
|
-
/* No travelling light; the edge keeps its dim static glow instead. */
|
|
1547
|
-
.${PREFIX}-qr-beam::after,
|
|
1548
|
-
.${PREFIX}-qr-beam-glow-band::after { animation: none; opacity: 0 }
|
|
1549
|
-
.${PREFIX}-qr-beam::before { opacity: 0.55 }
|
|
1550
|
-
.${PREFIX}-qr-beam-glow-band::before { opacity: 0.7 }
|
|
1720
|
+
function isRtl(locale) {
|
|
1721
|
+
const tag = locale ?? browserLocales()[0];
|
|
1722
|
+
if (!tag) return false;
|
|
1723
|
+
return RTL.has(tag.toLowerCase().replace(/_/g, "-").split("-")[0]);
|
|
1551
1724
|
}
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
if (typeof document === "undefined") return;
|
|
1555
|
-
if (document.getElementById(STYLE_ELEMENT_ID)) return;
|
|
1556
|
-
const el2 = document.createElement("style");
|
|
1557
|
-
el2.id = STYLE_ELEMENT_ID;
|
|
1558
|
-
el2.textContent = CSS;
|
|
1559
|
-
document.head.appendChild(el2);
|
|
1725
|
+
function interpolate(template, time) {
|
|
1726
|
+
return template.replace("{time}", time);
|
|
1560
1727
|
}
|
|
1561
1728
|
|
|
1562
1729
|
// src/modal.ts
|
|
@@ -1573,9 +1740,9 @@ function el(tag, className, text) {
|
|
|
1573
1740
|
if (text !== void 0) node.textContent = text;
|
|
1574
1741
|
return node;
|
|
1575
1742
|
}
|
|
1576
|
-
var
|
|
1743
|
+
var SVG_NS2 = "http://www.w3.org/2000/svg";
|
|
1577
1744
|
function svg(viewBox, attrs = {}) {
|
|
1578
|
-
const node = document.createElementNS(
|
|
1745
|
+
const node = document.createElementNS(SVG_NS2, "svg");
|
|
1579
1746
|
node.setAttribute("viewBox", viewBox);
|
|
1580
1747
|
node.setAttribute("focusable", "false");
|
|
1581
1748
|
node.setAttribute("aria-hidden", "true");
|
|
@@ -1583,7 +1750,7 @@ function svg(viewBox, attrs = {}) {
|
|
|
1583
1750
|
return node;
|
|
1584
1751
|
}
|
|
1585
1752
|
function path(d, attrs = {}) {
|
|
1586
|
-
const node = document.createElementNS(
|
|
1753
|
+
const node = document.createElementNS(SVG_NS2, "path");
|
|
1587
1754
|
node.setAttribute("d", d);
|
|
1588
1755
|
for (const [k, v] of Object.entries(attrs)) node.setAttribute(k, v);
|
|
1589
1756
|
return node;
|
|
@@ -1621,7 +1788,7 @@ function lockup(height) {
|
|
|
1621
1788
|
node.setAttribute("role", "img");
|
|
1622
1789
|
node.setAttribute("aria-label", "ZOREAL");
|
|
1623
1790
|
node.appendChild(path(WORDMARK, { fill: "currentColor" }));
|
|
1624
|
-
const g = document.createElementNS(
|
|
1791
|
+
const g = document.createElementNS(SVG_NS2, "g");
|
|
1625
1792
|
g.setAttribute("fill", ZOREAL_BLUE);
|
|
1626
1793
|
g.setAttribute("fill-rule", "evenodd");
|
|
1627
1794
|
for (const d of MARK_PATHS) g.appendChild(path(d));
|
|
@@ -1940,10 +2107,13 @@ function startLogin(options) {
|
|
|
1940
2107
|
let stopRefresh = () => {
|
|
1941
2108
|
};
|
|
1942
2109
|
controller.signal.addEventListener("abort", () => stopRefresh());
|
|
2110
|
+
const releaseControl = options.control ? holdBusy(options.control) : () => {
|
|
2111
|
+
};
|
|
1943
2112
|
const teardown = () => {
|
|
1944
2113
|
stopRefresh();
|
|
1945
2114
|
modal?.close();
|
|
1946
2115
|
modal = null;
|
|
2116
|
+
releaseControl();
|
|
1947
2117
|
};
|
|
1948
2118
|
const run = async () => {
|
|
1949
2119
|
const verifier = generateVerifier();
|
|
@@ -1952,8 +2122,23 @@ function startLogin(options) {
|
|
|
1952
2122
|
try {
|
|
1953
2123
|
let code;
|
|
1954
2124
|
let selectBy = "device";
|
|
2125
|
+
let returnId = null;
|
|
1955
2126
|
if (useAppLink && typeof window !== "undefined") {
|
|
1956
2127
|
const requestId = generateRequestId();
|
|
2128
|
+
saveReturnFlow({
|
|
2129
|
+
v: 1,
|
|
2130
|
+
issuer,
|
|
2131
|
+
clientId: options.clientId,
|
|
2132
|
+
flow,
|
|
2133
|
+
verifier,
|
|
2134
|
+
nonce,
|
|
2135
|
+
state,
|
|
2136
|
+
scope: options.scope ?? "openid",
|
|
2137
|
+
appState: options.app_state,
|
|
2138
|
+
requestId,
|
|
2139
|
+
createdAt: Date.now()
|
|
2140
|
+
});
|
|
2141
|
+
returnId = requestId;
|
|
1957
2142
|
const startUrl = sameDeviceStartUrl(issuer, {
|
|
1958
2143
|
client_id: options.clientId,
|
|
1959
2144
|
scope: options.scope ?? "openid",
|
|
@@ -1966,7 +2151,8 @@ function startLogin(options) {
|
|
|
1966
2151
|
prompt: options.prompt,
|
|
1967
2152
|
locale: options.locale,
|
|
1968
2153
|
request_id: requestId,
|
|
1969
|
-
origin: window.location.origin
|
|
2154
|
+
origin: window.location.origin,
|
|
2155
|
+
return_to: returnToUrl()
|
|
1970
2156
|
});
|
|
1971
2157
|
selectBy = "app_link";
|
|
1972
2158
|
surface.requestId = requestId;
|
|
@@ -1988,6 +2174,9 @@ function startLogin(options) {
|
|
|
1988
2174
|
controller.signal,
|
|
1989
2175
|
{ tolerateUnknownUntil: Date.now() + 15e3 }
|
|
1990
2176
|
);
|
|
2177
|
+
if (isReturnDone(requestId)) {
|
|
2178
|
+
throw new DOMException("aborted", "AbortError");
|
|
2179
|
+
}
|
|
1991
2180
|
} else {
|
|
1992
2181
|
const started = await startPairing(
|
|
1993
2182
|
issuer,
|
|
@@ -2088,6 +2277,7 @@ function startLogin(options) {
|
|
|
2088
2277
|
}
|
|
2089
2278
|
teardown();
|
|
2090
2279
|
}
|
|
2280
|
+
if (returnId) markReturnDone(returnId);
|
|
2091
2281
|
if (flow === "auth-code") {
|
|
2092
2282
|
const response2 = {
|
|
2093
2283
|
code,
|
|
@@ -2141,6 +2331,70 @@ function startLogin(options) {
|
|
|
2141
2331
|
}
|
|
2142
2332
|
};
|
|
2143
2333
|
}
|
|
2334
|
+
function resumeLogin(options) {
|
|
2335
|
+
const id = pendingReturnId();
|
|
2336
|
+
if (!id) return null;
|
|
2337
|
+
const saved = peekReturnFlow(id);
|
|
2338
|
+
if (!saved || saved.clientId !== options.clientId) return null;
|
|
2339
|
+
forgetReturnFlow(id);
|
|
2340
|
+
const issuer = options.issuer ?? saved.issuer;
|
|
2341
|
+
const controller = new AbortController();
|
|
2342
|
+
const releaseControl = options.control ? holdBusy(options.control) : () => {
|
|
2343
|
+
};
|
|
2344
|
+
const promise = (async () => {
|
|
2345
|
+
const code = await pollUntilApproved(
|
|
2346
|
+
issuer,
|
|
2347
|
+
id,
|
|
2348
|
+
(s) => options.onState?.({ ...s, appLink: true }),
|
|
2349
|
+
controller.signal,
|
|
2350
|
+
{ tolerateUnknownUntil: Date.now() + 5e3 }
|
|
2351
|
+
);
|
|
2352
|
+
let response;
|
|
2353
|
+
if (saved.flow === "auth-code") {
|
|
2354
|
+
response = {
|
|
2355
|
+
code,
|
|
2356
|
+
scope: saved.scope,
|
|
2357
|
+
app_state: saved.appState,
|
|
2358
|
+
code_verifier: saved.verifier,
|
|
2359
|
+
nonce: saved.nonce
|
|
2360
|
+
};
|
|
2361
|
+
} else {
|
|
2362
|
+
const tokens = await exchangeCode(issuer, {
|
|
2363
|
+
code,
|
|
2364
|
+
code_verifier: saved.verifier,
|
|
2365
|
+
client_id: options.clientId
|
|
2366
|
+
});
|
|
2367
|
+
const claims = unsafeClaims(tokens.id_token);
|
|
2368
|
+
response = {
|
|
2369
|
+
credential: tokens.id_token,
|
|
2370
|
+
clientId: options.clientId,
|
|
2371
|
+
select_by: "app_link",
|
|
2372
|
+
acr: claims.acr ?? "zoreal.device"
|
|
2373
|
+
};
|
|
2374
|
+
}
|
|
2375
|
+
markReturnDone(id);
|
|
2376
|
+
return response;
|
|
2377
|
+
})();
|
|
2378
|
+
promise.then(releaseControl, releaseControl);
|
|
2379
|
+
promise.catch(() => {
|
|
2380
|
+
});
|
|
2381
|
+
return {
|
|
2382
|
+
promise,
|
|
2383
|
+
cancel: () => controller.abort(),
|
|
2384
|
+
get requestId() {
|
|
2385
|
+
return id;
|
|
2386
|
+
},
|
|
2387
|
+
get pairUrl() {
|
|
2388
|
+
return void 0;
|
|
2389
|
+
},
|
|
2390
|
+
get qrUrl() {
|
|
2391
|
+
return void 0;
|
|
2392
|
+
},
|
|
2393
|
+
get appLink() {
|
|
2394
|
+
return true;
|
|
2395
|
+
}
|
|
2396
|
+
};
|
|
2397
|
+
}
|
|
2144
2398
|
// Annotate the CommonJS export names for ESM import in node:
|
|
2145
2399
|
0 && (module.exports = {
|
|
2146
2400
|
DEFAULT_ISSUER,
|
|
@@ -2161,6 +2415,7 @@ function startLogin(options) {
|
|
|
2161
2415
|
mountPairingModal,
|
|
2162
2416
|
pollUntilApproved,
|
|
2163
2417
|
resolveIntent,
|
|
2418
|
+
resumeLogin,
|
|
2164
2419
|
startLogin,
|
|
2165
2420
|
startPairing,
|
|
2166
2421
|
unsafeClaims
|