@zoreal/oauth2-js 0.1.13 → 0.1.15
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 +3 -2
- package/dist/index.cjs +377 -60
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +26 -2
- package/dist/index.d.ts +26 -2
- package/dist/index.js +376 -60
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -37,6 +37,7 @@ __export(index_exports, {
|
|
|
37
37
|
isMobileUserAgent: () => isMobileUserAgent,
|
|
38
38
|
mountPairingModal: () => mountPairingModal,
|
|
39
39
|
pollUntilApproved: () => pollUntilApproved,
|
|
40
|
+
resolveIntent: () => resolveIntent,
|
|
40
41
|
startLogin: () => startLogin,
|
|
41
42
|
startPairing: () => startPairing,
|
|
42
43
|
unsafeClaims: () => unsafeClaims
|
|
@@ -59,7 +60,7 @@ function unsafeClaims(idToken) {
|
|
|
59
60
|
|
|
60
61
|
// src/wire.ts
|
|
61
62
|
var WIRE_VERSION = 1;
|
|
62
|
-
var SDK_VERSION = "0.1.
|
|
63
|
+
var SDK_VERSION = "0.1.15";
|
|
63
64
|
var SDK_NAME = "@zoreal/oauth2-js";
|
|
64
65
|
var DEFAULT_ISSUER = "https://id.zoreal.com";
|
|
65
66
|
var POLL_INTERVAL_MS = 2e3;
|
|
@@ -188,11 +189,30 @@ function isMobileUserAgent() {
|
|
|
188
189
|
return /android|iphone|ipad|ipod/i.test(navigator.userAgent);
|
|
189
190
|
}
|
|
190
191
|
|
|
192
|
+
// src/intent.ts
|
|
193
|
+
var SIGN_IN_SCOPES = /* @__PURE__ */ new Set(["openid", "email", "profile.name"]);
|
|
194
|
+
function resolveIntent(intent, scope, acrValues) {
|
|
195
|
+
if (intent) return intent;
|
|
196
|
+
const scopes = (scope ?? "openid").split(/\s+/).filter(Boolean);
|
|
197
|
+
if (scopes.some((s) => !SIGN_IN_SCOPES.has(s))) return "identify";
|
|
198
|
+
const acr = typeof acrValues === "string" ? acrValues.split(/\s+/) : acrValues ?? [];
|
|
199
|
+
if (scopes.every((s) => s === "openid") && acr.includes("zoreal.live")) return "presence";
|
|
200
|
+
return "sign-in";
|
|
201
|
+
}
|
|
202
|
+
function titleFor(t, intent) {
|
|
203
|
+
if (intent === "identify") return t.titleIdentify;
|
|
204
|
+
if (intent === "presence") return t.titlePresence;
|
|
205
|
+
return t.title;
|
|
206
|
+
}
|
|
207
|
+
|
|
191
208
|
// src/i18n.ts
|
|
192
209
|
var en = {
|
|
193
210
|
title: "Scan to sign in",
|
|
211
|
+
titleIdentify: "Scan to verify your identity",
|
|
212
|
+
titlePresence: "Scan to prove you are a real human",
|
|
194
213
|
titleApprove: "Approve on your phone",
|
|
195
214
|
bodyScan: "Scan with your phone camera or the ZOREAL ID app.",
|
|
215
|
+
bodyLink: "Approve this sign-in in the ZOREAL ID app on this phone.",
|
|
196
216
|
bodyApprove: "Approve the login in your ZOREAL ID app.",
|
|
197
217
|
bodyEnrolling: "Finish setting up ZOREAL ID on your phone, then approve the login.",
|
|
198
218
|
waiting: "Waiting for scan",
|
|
@@ -203,14 +223,19 @@ var en = {
|
|
|
203
223
|
noIdBody: "Scan the same code to download the app and create one for free. It only takes a minute.",
|
|
204
224
|
cancel: "Cancel",
|
|
205
225
|
close: "Close",
|
|
206
|
-
qrAlt: "QR code to sign in with ZOREAL"
|
|
226
|
+
qrAlt: "QR code to sign in with ZOREAL",
|
|
227
|
+
buttonContinue: "Continue with ZOREAL",
|
|
228
|
+
openApp: "Open ZOREAL ID"
|
|
207
229
|
};
|
|
208
230
|
var TRANSLATIONS = {
|
|
209
231
|
en,
|
|
210
232
|
sv: {
|
|
211
233
|
title: "Skanna f\xF6r att logga in",
|
|
234
|
+
titleIdentify: "Skanna f\xF6r att verifiera din identitet",
|
|
235
|
+
titlePresence: "Skanna f\xF6r att bevisa att du \xE4r en riktig m\xE4nniska",
|
|
212
236
|
titleApprove: "Godk\xE4nn p\xE5 telefonen",
|
|
213
237
|
bodyScan: "Skanna med telefonens kamera eller ZOREAL ID-appen.",
|
|
238
|
+
bodyLink: "Godk\xE4nn inloggningen i ZOREAL ID-appen p\xE5 den h\xE4r telefonen.",
|
|
214
239
|
bodyApprove: "Godk\xE4nn inloggningen i ZOREAL ID-appen.",
|
|
215
240
|
bodyEnrolling: "Slutf\xF6r konfigurationen av ZOREAL ID p\xE5 telefonen och godk\xE4nn sedan inloggningen.",
|
|
216
241
|
waiting: "V\xE4ntar p\xE5 skanning",
|
|
@@ -221,12 +246,17 @@ var TRANSLATIONS = {
|
|
|
221
246
|
noIdBody: "Skanna samma kod f\xF6r att ladda ner appen och skapa ett gratis. Det tar bara en minut.",
|
|
222
247
|
cancel: "Avbryt",
|
|
223
248
|
close: "St\xE4ng",
|
|
224
|
-
qrAlt: "QR-kod f\xF6r att logga in med ZOREAL"
|
|
249
|
+
qrAlt: "QR-kod f\xF6r att logga in med ZOREAL",
|
|
250
|
+
buttonContinue: "Forts\xE4tt med ZOREAL",
|
|
251
|
+
openApp: "\xD6ppna ZOREAL ID"
|
|
225
252
|
},
|
|
226
253
|
es: {
|
|
227
254
|
title: "Escanea para iniciar sesi\xF3n",
|
|
255
|
+
titleIdentify: "Escanea para verificar tu identidad",
|
|
256
|
+
titlePresence: "Escanea para demostrar que eres una persona real",
|
|
228
257
|
titleApprove: "Apru\xE9balo en tu tel\xE9fono",
|
|
229
258
|
bodyScan: "Escanea con la c\xE1mara de tu tel\xE9fono o con la app ZOREAL ID.",
|
|
259
|
+
bodyLink: "Aprueba este inicio de sesi\xF3n en la app ZOREAL ID de este tel\xE9fono.",
|
|
230
260
|
bodyApprove: "Aprueba el inicio de sesi\xF3n en tu app ZOREAL ID.",
|
|
231
261
|
bodyEnrolling: "Termina de configurar ZOREAL ID en tu tel\xE9fono y luego aprueba el inicio de sesi\xF3n.",
|
|
232
262
|
waiting: "Esperando el escaneo",
|
|
@@ -237,12 +267,17 @@ var TRANSLATIONS = {
|
|
|
237
267
|
noIdBody: "Escanea el mismo c\xF3digo para descargar la app y crear una gratis. Solo toma un minuto.",
|
|
238
268
|
cancel: "Cancelar",
|
|
239
269
|
close: "Cerrar",
|
|
240
|
-
qrAlt: "C\xF3digo QR para iniciar sesi\xF3n con ZOREAL"
|
|
270
|
+
qrAlt: "C\xF3digo QR para iniciar sesi\xF3n con ZOREAL",
|
|
271
|
+
buttonContinue: "Continuar con ZOREAL",
|
|
272
|
+
openApp: "Abrir ZOREAL ID"
|
|
241
273
|
},
|
|
242
274
|
pt: {
|
|
243
275
|
title: "Digitalize para entrar",
|
|
276
|
+
titleIdentify: "Digitalize para verificar a sua identidade",
|
|
277
|
+
titlePresence: "Digitalize para provar que \xE9 uma pessoa real",
|
|
244
278
|
titleApprove: "Aprove no seu telefone",
|
|
245
279
|
bodyScan: "Digitalize com a c\xE2mara do seu telefone ou com a app ZOREAL ID.",
|
|
280
|
+
bodyLink: "Aprove este in\xEDcio de sess\xE3o na app ZOREAL ID neste telem\xF3vel.",
|
|
246
281
|
bodyApprove: "Aprove o login no app ZOREAL ID.",
|
|
247
282
|
bodyEnrolling: "Termine de configurar o ZOREAL ID no seu telefone e depois aprove o login.",
|
|
248
283
|
waiting: "Aguardando digitaliza\xE7\xE3o",
|
|
@@ -253,12 +288,17 @@ var TRANSLATIONS = {
|
|
|
253
288
|
noIdBody: "Digitalize o mesmo c\xF3digo para baixar o app e criar uma conta gr\xE1tis. Leva s\xF3 um minuto.",
|
|
254
289
|
cancel: "Cancelar",
|
|
255
290
|
close: "Fechar",
|
|
256
|
-
qrAlt: "C\xF3digo QR para entrar com ZOREAL"
|
|
291
|
+
qrAlt: "C\xF3digo QR para entrar com ZOREAL",
|
|
292
|
+
buttonContinue: "Continuar com ZOREAL",
|
|
293
|
+
openApp: "Abrir ZOREAL ID"
|
|
257
294
|
},
|
|
258
295
|
fr: {
|
|
259
296
|
title: "Scannez pour vous connecter",
|
|
297
|
+
titleIdentify: "Scannez pour v\xE9rifier votre identit\xE9",
|
|
298
|
+
titlePresence: "Scannez pour prouver que vous \xEAtes bien un humain",
|
|
260
299
|
titleApprove: "Approuvez sur votre t\xE9l\xE9phone",
|
|
261
300
|
bodyScan: "Scannez avec l'appareil photo de votre t\xE9l\xE9phone ou l'app ZOREAL ID.",
|
|
301
|
+
bodyLink: "Approuvez cette connexion dans l'app ZOREAL ID sur ce t\xE9l\xE9phone.",
|
|
262
302
|
bodyApprove: "Approuvez la connexion dans votre app ZOREAL ID.",
|
|
263
303
|
bodyEnrolling: "Terminez la configuration de ZOREAL ID sur votre t\xE9l\xE9phone, puis approuvez la connexion.",
|
|
264
304
|
waiting: "En attente du scan",
|
|
@@ -269,12 +309,17 @@ var TRANSLATIONS = {
|
|
|
269
309
|
noIdBody: "Scannez le m\xEAme code pour t\xE9l\xE9charger l'app et en cr\xE9er un gratuitement. Cela prend une minute.",
|
|
270
310
|
cancel: "Annuler",
|
|
271
311
|
close: "Fermer",
|
|
272
|
-
qrAlt: "Code QR pour se connecter avec ZOREAL"
|
|
312
|
+
qrAlt: "Code QR pour se connecter avec ZOREAL",
|
|
313
|
+
buttonContinue: "Continuer avec ZOREAL",
|
|
314
|
+
openApp: "Ouvrir ZOREAL ID"
|
|
273
315
|
},
|
|
274
316
|
de: {
|
|
275
317
|
title: "Zum Anmelden scannen",
|
|
318
|
+
titleIdentify: "Scannen, um Ihre Identit\xE4t zu verifizieren",
|
|
319
|
+
titlePresence: "Scannen, um zu beweisen, dass Sie ein echter Mensch sind",
|
|
276
320
|
titleApprove: "Auf dem Handy best\xE4tigen",
|
|
277
321
|
bodyScan: "Mit der Handykamera oder der ZOREAL ID App scannen.",
|
|
322
|
+
bodyLink: "Best\xE4tigen Sie diese Anmeldung in der ZOREAL ID-App auf diesem Telefon.",
|
|
278
323
|
bodyApprove: "Anmeldung in der ZOREAL ID App best\xE4tigen.",
|
|
279
324
|
bodyEnrolling: "ZOREAL ID auf dem Handy fertig einrichten und dann die Anmeldung best\xE4tigen.",
|
|
280
325
|
waiting: "Warten auf Scan",
|
|
@@ -285,12 +330,17 @@ var TRANSLATIONS = {
|
|
|
285
330
|
noIdBody: "Denselben Code scannen, um die App zu laden und kostenlos eine zu erstellen. Dauert nur eine Minute.",
|
|
286
331
|
cancel: "Abbrechen",
|
|
287
332
|
close: "Schlie\xDFen",
|
|
288
|
-
qrAlt: "QR-Code f\xFCr die Anmeldung mit ZOREAL"
|
|
333
|
+
qrAlt: "QR-Code f\xFCr die Anmeldung mit ZOREAL",
|
|
334
|
+
buttonContinue: "Weiter mit ZOREAL",
|
|
335
|
+
openApp: "ZOREAL ID \xF6ffnen"
|
|
289
336
|
},
|
|
290
337
|
ru: {
|
|
291
338
|
title: "\u041E\u0442\u0441\u043A\u0430\u043D\u0438\u0440\u0443\u0439\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u0432\u043E\u0439\u0442\u0438",
|
|
339
|
+
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",
|
|
340
|
+
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",
|
|
292
341
|
titleApprove: "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u043D\u0430 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0435",
|
|
293
342
|
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.",
|
|
343
|
+
bodyLink: "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u044D\u0442\u043E\u0442 \u0432\u0445\u043E\u0434 \u0432 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 ZOREAL ID \u043D\u0430 \u044D\u0442\u043E\u043C \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0435.",
|
|
294
344
|
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.",
|
|
295
345
|
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.",
|
|
296
346
|
waiting: "\u041E\u0436\u0438\u0434\u0430\u043D\u0438\u0435 \u0441\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F",
|
|
@@ -301,12 +351,17 @@ var TRANSLATIONS = {
|
|
|
301
351
|
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.",
|
|
302
352
|
cancel: "\u041E\u0442\u043C\u0435\u043D\u0430",
|
|
303
353
|
close: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C",
|
|
304
|
-
qrAlt: "QR-\u043A\u043E\u0434 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0430 \u0447\u0435\u0440\u0435\u0437 ZOREAL"
|
|
354
|
+
qrAlt: "QR-\u043A\u043E\u0434 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0430 \u0447\u0435\u0440\u0435\u0437 ZOREAL",
|
|
355
|
+
buttonContinue: "\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C \u0441 ZOREAL",
|
|
356
|
+
openApp: "\u041E\u0442\u043A\u0440\u044B\u0442\u044C ZOREAL ID"
|
|
305
357
|
},
|
|
306
358
|
ja: {
|
|
307
359
|
title: "\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u30ED\u30B0\u30A4\u30F3",
|
|
360
|
+
titleIdentify: "\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u672C\u4EBA\u78BA\u8A8D",
|
|
361
|
+
titlePresence: "\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u5B9F\u5728\u306E\u4EBA\u7269\u3067\u3042\u308B\u3053\u3068\u3092\u8A3C\u660E",
|
|
308
362
|
titleApprove: "\u30B9\u30DE\u30FC\u30C8\u30D5\u30A9\u30F3\u3067\u627F\u8A8D",
|
|
309
363
|
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",
|
|
364
|
+
bodyLink: "\u3053\u306E\u30B9\u30DE\u30FC\u30C8\u30D5\u30A9\u30F3\u306EZOREAL ID\u30A2\u30D7\u30EA\u3067\u3053\u306E\u30ED\u30B0\u30A4\u30F3\u3092\u627F\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
310
365
|
bodyApprove: "ZOREAL ID\u30A2\u30D7\u30EA\u3067\u30ED\u30B0\u30A4\u30F3\u3092\u627F\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
311
366
|
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",
|
|
312
367
|
waiting: "\u30B9\u30AD\u30E3\u30F3\u5F85\u3061",
|
|
@@ -317,12 +372,17 @@ var TRANSLATIONS = {
|
|
|
317
372
|
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",
|
|
318
373
|
cancel: "\u30AD\u30E3\u30F3\u30BB\u30EB",
|
|
319
374
|
close: "\u9589\u3058\u308B",
|
|
320
|
-
qrAlt: "ZOREAL\u3067\u30ED\u30B0\u30A4\u30F3\u3059\u308B\u305F\u3081\u306EQR\u30B3\u30FC\u30C9"
|
|
375
|
+
qrAlt: "ZOREAL\u3067\u30ED\u30B0\u30A4\u30F3\u3059\u308B\u305F\u3081\u306EQR\u30B3\u30FC\u30C9",
|
|
376
|
+
buttonContinue: "ZOREAL\u3067\u7D9A\u884C",
|
|
377
|
+
openApp: "ZOREAL ID\u3092\u958B\u304F"
|
|
321
378
|
},
|
|
322
379
|
hi: {
|
|
323
380
|
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",
|
|
381
|
+
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",
|
|
382
|
+
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",
|
|
324
383
|
titleApprove: "\u0905\u092A\u0928\u0947 \u092B\u094B\u0928 \u092A\u0930 \u0938\u094D\u0935\u0940\u0915\u0943\u0924 \u0915\u0930\u0947\u0902",
|
|
325
384
|
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",
|
|
385
|
+
bodyLink: "\u0907\u0938 \u092B\u093C\u094B\u0928 \u092A\u0930 ZOREAL ID \u0910\u092A \u092E\u0947\u0902 \u0907\u0938 \u0938\u093E\u0907\u0928 \u0907\u0928 \u0915\u094B \u0938\u094D\u0935\u0940\u0915\u0943\u0924 \u0915\u0930\u0947\u0902\u0964",
|
|
326
386
|
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",
|
|
327
387
|
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",
|
|
328
388
|
waiting: "\u0938\u094D\u0915\u0948\u0928 \u0915\u0940 \u092A\u094D\u0930\u0924\u0940\u0915\u094D\u0937\u093E \u0939\u0948",
|
|
@@ -333,12 +393,17 @@ var TRANSLATIONS = {
|
|
|
333
393
|
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",
|
|
334
394
|
cancel: "\u0930\u0926\u094D\u0926 \u0915\u0930\u0947\u0902",
|
|
335
395
|
close: "\u092C\u0902\u0926 \u0915\u0930\u0947\u0902",
|
|
336
|
-
qrAlt: "ZOREAL \u0938\u0947 \u0938\u093E\u0907\u0928 \u0907\u0928 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F QR \u0915\u094B\u0921"
|
|
396
|
+
qrAlt: "ZOREAL \u0938\u0947 \u0938\u093E\u0907\u0928 \u0907\u0928 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F QR \u0915\u094B\u0921",
|
|
397
|
+
buttonContinue: "ZOREAL \u0915\u0947 \u0938\u093E\u0925 \u091C\u093E\u0930\u0940 \u0930\u0916\u0947\u0902",
|
|
398
|
+
openApp: "ZOREAL ID \u0916\u094B\u0932\u0947\u0902"
|
|
337
399
|
},
|
|
338
400
|
zhs: {
|
|
339
401
|
title: "\u626B\u7801\u767B\u5F55",
|
|
402
|
+
titleIdentify: "\u626B\u7801\u9A8C\u8BC1\u8EAB\u4EFD",
|
|
403
|
+
titlePresence: "\u626B\u7801\u8BC1\u660E\u60A8\u662F\u771F\u4EBA",
|
|
340
404
|
titleApprove: "\u5728\u624B\u673A\u4E0A\u6279\u51C6",
|
|
341
405
|
bodyScan: "\u4F7F\u7528\u624B\u673A\u76F8\u673A\u6216 ZOREAL ID \u5E94\u7528\u626B\u63CF\u3002",
|
|
406
|
+
bodyLink: "\u8BF7\u5728\u672C\u624B\u673A\u7684 ZOREAL ID \u5E94\u7528\u4E2D\u6279\u51C6\u6B64\u6B21\u767B\u5F55\u3002",
|
|
342
407
|
bodyApprove: "\u8BF7\u5728 ZOREAL ID \u5E94\u7528\u4E2D\u6279\u51C6\u767B\u5F55\u3002",
|
|
343
408
|
bodyEnrolling: "\u8BF7\u5728\u624B\u673A\u4E0A\u5B8C\u6210 ZOREAL ID \u8BBE\u7F6E\uFF0C\u7136\u540E\u6279\u51C6\u767B\u5F55\u3002",
|
|
344
409
|
waiting: "\u7B49\u5F85\u626B\u63CF",
|
|
@@ -349,12 +414,17 @@ var TRANSLATIONS = {
|
|
|
349
414
|
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",
|
|
350
415
|
cancel: "\u53D6\u6D88",
|
|
351
416
|
close: "\u5173\u95ED",
|
|
352
|
-
qrAlt: "\u4F7F\u7528 ZOREAL \u767B\u5F55\u7684\u4E8C\u7EF4\u7801"
|
|
417
|
+
qrAlt: "\u4F7F\u7528 ZOREAL \u767B\u5F55\u7684\u4E8C\u7EF4\u7801",
|
|
418
|
+
buttonContinue: "\u4F7F\u7528 ZOREAL \u7EE7\u7EED",
|
|
419
|
+
openApp: "\u6253\u5F00 ZOREAL ID"
|
|
353
420
|
},
|
|
354
421
|
zht: {
|
|
355
422
|
title: "\u6383\u78BC\u767B\u5165",
|
|
423
|
+
titleIdentify: "\u6383\u78BC\u9A57\u8B49\u8EAB\u5206",
|
|
424
|
+
titlePresence: "\u6383\u78BC\u8B49\u660E\u60A8\u662F\u771F\u4EBA",
|
|
356
425
|
titleApprove: "\u5728\u624B\u6A5F\u4E0A\u6838\u51C6",
|
|
357
426
|
bodyScan: "\u4F7F\u7528\u624B\u6A5F\u76F8\u6A5F\u6216 ZOREAL ID \u61C9\u7528\u7A0B\u5F0F\u6383\u63CF\u3002",
|
|
427
|
+
bodyLink: "\u8ACB\u5728\u672C\u624B\u6A5F\u7684 ZOREAL ID \u61C9\u7528\u7A0B\u5F0F\u4E2D\u6838\u51C6\u6B64\u6B21\u767B\u5165\u3002",
|
|
358
428
|
bodyApprove: "\u8ACB\u5728 ZOREAL ID \u61C9\u7528\u7A0B\u5F0F\u4E2D\u6838\u51C6\u767B\u5165\u3002",
|
|
359
429
|
bodyEnrolling: "\u8ACB\u5728\u624B\u6A5F\u4E0A\u5B8C\u6210 ZOREAL ID \u8A2D\u5B9A\uFF0C\u7136\u5F8C\u6838\u51C6\u767B\u5165\u3002",
|
|
360
430
|
waiting: "\u7B49\u5F85\u6383\u63CF",
|
|
@@ -365,12 +435,17 @@ var TRANSLATIONS = {
|
|
|
365
435
|
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",
|
|
366
436
|
cancel: "\u53D6\u6D88",
|
|
367
437
|
close: "\u95DC\u9589",
|
|
368
|
-
qrAlt: "\u4F7F\u7528 ZOREAL \u767B\u5165\u7684 QR code"
|
|
438
|
+
qrAlt: "\u4F7F\u7528 ZOREAL \u767B\u5165\u7684 QR code",
|
|
439
|
+
buttonContinue: "\u4F7F\u7528 ZOREAL \u7E7C\u7E8C",
|
|
440
|
+
openApp: "\u958B\u555F ZOREAL ID"
|
|
369
441
|
},
|
|
370
442
|
ar: {
|
|
371
443
|
title: "\u0627\u0645\u0633\u062D \u0644\u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644",
|
|
444
|
+
titleIdentify: "\u0627\u0645\u0633\u062D \u0644\u0644\u062A\u062D\u0642\u0642 \u0645\u0646 \u0647\u0648\u064A\u062A\u0643",
|
|
445
|
+
titlePresence: "\u0627\u0645\u0633\u062D \u0644\u0625\u062B\u0628\u0627\u062A \u0623\u0646\u0643 \u0625\u0646\u0633\u0627\u0646 \u062D\u0642\u064A\u0642\u064A",
|
|
372
446
|
titleApprove: "\u0648\u0627\u0641\u0642 \u0639\u0644\u0649 \u0647\u0627\u062A\u0641\u0643",
|
|
373
447
|
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.",
|
|
448
|
+
bodyLink: "\u0648\u0627\u0641\u0642 \u0639\u0644\u0649 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644 \u0647\u0630\u0627 \u0641\u064A \u062A\u0637\u0628\u064A\u0642 ZOREAL ID \u0639\u0644\u0649 \u0647\u0630\u0627 \u0627\u0644\u0647\u0627\u062A\u0641.",
|
|
374
449
|
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.",
|
|
375
450
|
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.",
|
|
376
451
|
waiting: "\u0641\u064A \u0627\u0646\u062A\u0638\u0627\u0631 \u0627\u0644\u0645\u0633\u062D",
|
|
@@ -381,12 +456,17 @@ var TRANSLATIONS = {
|
|
|
381
456
|
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.",
|
|
382
457
|
cancel: "\u0625\u0644\u063A\u0627\u0621",
|
|
383
458
|
close: "\u0625\u063A\u0644\u0627\u0642",
|
|
384
|
-
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"
|
|
459
|
+
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",
|
|
460
|
+
buttonContinue: "\u0627\u0644\u0645\u062A\u0627\u0628\u0639\u0629 \u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645 ZOREAL",
|
|
461
|
+
openApp: "\u0641\u062A\u062D ZOREAL ID"
|
|
385
462
|
},
|
|
386
463
|
ko: {
|
|
387
464
|
title: "\uC2A4\uCE94\uD558\uC5EC \uB85C\uADF8\uC778",
|
|
465
|
+
titleIdentify: "\uC2A4\uCE94\uD558\uC5EC \uC2E0\uC6D0 \uD655\uC778",
|
|
466
|
+
titlePresence: "\uC2A4\uCE94\uD558\uC5EC \uC2E4\uC81C \uC0AC\uB78C\uC784\uC744 \uC99D\uBA85",
|
|
388
467
|
titleApprove: "\uD734\uB300\uD3F0\uC5D0\uC11C \uC2B9\uC778",
|
|
389
468
|
bodyScan: "\uD734\uB300\uD3F0 \uCE74\uBA54\uB77C \uB610\uB294 ZOREAL ID \uC571\uC73C\uB85C \uC2A4\uCE94\uD558\uC138\uC694.",
|
|
469
|
+
bodyLink: "\uC774 \uD734\uB300\uD3F0\uC758 ZOREAL ID \uC571\uC5D0\uC11C \uC774 \uB85C\uADF8\uC778\uC744 \uC2B9\uC778\uD558\uC138\uC694.",
|
|
390
470
|
bodyApprove: "ZOREAL ID \uC571\uC5D0\uC11C \uB85C\uADF8\uC778\uC744 \uC2B9\uC778\uD558\uC138\uC694.",
|
|
391
471
|
bodyEnrolling: "\uD734\uB300\uD3F0\uC5D0\uC11C ZOREAL ID \uC124\uC815\uC744 \uC644\uB8CC\uD55C \uD6C4 \uB85C\uADF8\uC778\uC744 \uC2B9\uC778\uD558\uC138\uC694.",
|
|
392
472
|
waiting: "\uC2A4\uCE94 \uB300\uAE30 \uC911",
|
|
@@ -397,13 +477,18 @@ var TRANSLATIONS = {
|
|
|
397
477
|
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.",
|
|
398
478
|
cancel: "\uCDE8\uC18C",
|
|
399
479
|
close: "\uB2EB\uAE30",
|
|
400
|
-
qrAlt: "ZOREAL\uB85C \uB85C\uADF8\uC778\uD558\uAE30 \uC704\uD55C QR \uCF54\uB4DC"
|
|
480
|
+
qrAlt: "ZOREAL\uB85C \uB85C\uADF8\uC778\uD558\uAE30 \uC704\uD55C QR \uCF54\uB4DC",
|
|
481
|
+
buttonContinue: "ZOREAL\uB85C \uACC4\uC18D",
|
|
482
|
+
openApp: "ZOREAL ID \uC5F4\uAE30"
|
|
401
483
|
},
|
|
402
484
|
// Български
|
|
403
485
|
bg: {
|
|
404
486
|
title: "\u0421\u043A\u0430\u043D\u0438\u0440\u0430\u0439\u0442\u0435 \u0437\u0430 \u0432\u0445\u043E\u0434",
|
|
487
|
+
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",
|
|
488
|
+
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",
|
|
405
489
|
titleApprove: "\u041F\u043E\u0442\u0432\u044A\u0440\u0434\u0435\u0442\u0435 \u043D\u0430 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u0441\u0438",
|
|
406
490
|
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.",
|
|
491
|
+
bodyLink: "\u041E\u0434\u043E\u0431\u0440\u0435\u0442\u0435 \u0442\u043E\u0437\u0438 \u0432\u0445\u043E\u0434 \u0432 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435\u0442\u043E ZOREAL ID \u043D\u0430 \u0442\u043E\u0437\u0438 \u0442\u0435\u043B\u0435\u0444\u043E\u043D.",
|
|
407
492
|
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.",
|
|
408
493
|
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.",
|
|
409
494
|
waiting: "\u0418\u0437\u0447\u0430\u043A\u0432\u0430\u043D\u0435 \u043D\u0430 \u0441\u043A\u0430\u043D\u0438\u0440\u0430\u043D\u0435",
|
|
@@ -414,13 +499,18 @@ var TRANSLATIONS = {
|
|
|
414
499
|
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.",
|
|
415
500
|
cancel: "\u041E\u0442\u043A\u0430\u0437",
|
|
416
501
|
close: "\u0417\u0430\u0442\u0432\u043E\u0440\u0438",
|
|
417
|
-
qrAlt: "QR \u043A\u043E\u0434 \u0437\u0430 \u0432\u0445\u043E\u0434 \u0441\u044A\u0441 ZOREAL"
|
|
502
|
+
qrAlt: "QR \u043A\u043E\u0434 \u0437\u0430 \u0432\u0445\u043E\u0434 \u0441\u044A\u0441 ZOREAL",
|
|
503
|
+
buttonContinue: "\u041F\u0440\u043E\u0434\u044A\u043B\u0436\u0438 \u0441\u044A\u0441 ZOREAL",
|
|
504
|
+
openApp: "\u041E\u0442\u0432\u043E\u0440\u0438 ZOREAL ID"
|
|
418
505
|
},
|
|
419
506
|
// বাংলা
|
|
420
507
|
bn: {
|
|
421
508
|
title: "\u09B8\u09BE\u0987\u09A8 \u0987\u09A8 \u0995\u09B0\u09A4\u09C7 \u09B8\u09CD\u0995\u09CD\u09AF\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8",
|
|
509
|
+
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",
|
|
510
|
+
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",
|
|
422
511
|
titleApprove: "\u0986\u09AA\u09A8\u09BE\u09B0 \u09AB\u09CB\u09A8\u09C7 \u0985\u09A8\u09C1\u09AE\u09CB\u09A6\u09A8 \u0995\u09B0\u09C1\u09A8",
|
|
423
512
|
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",
|
|
513
|
+
bodyLink: "\u098F\u0987 \u09AB\u09CB\u09A8\u09C7\u09B0 ZOREAL ID \u0985\u09CD\u09AF\u09BE\u09AA\u09C7 \u098F\u0987 \u09B8\u09BE\u0987\u09A8 \u0987\u09A8 \u0985\u09A8\u09C1\u09AE\u09CB\u09A6\u09A8 \u0995\u09B0\u09C1\u09A8\u0964",
|
|
424
514
|
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",
|
|
425
515
|
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",
|
|
426
516
|
waiting: "\u09B8\u09CD\u0995\u09CD\u09AF\u09BE\u09A8\u09C7\u09B0 \u0985\u09AA\u09C7\u0995\u09CD\u09B7\u09BE\u09AF\u09BC",
|
|
@@ -431,13 +521,18 @@ var TRANSLATIONS = {
|
|
|
431
521
|
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",
|
|
432
522
|
cancel: "\u09AC\u09BE\u09A4\u09BF\u09B2",
|
|
433
523
|
close: "\u09AC\u09A8\u09CD\u09A7",
|
|
434
|
-
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"
|
|
524
|
+
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",
|
|
525
|
+
buttonContinue: "ZOREAL \u09A6\u09BF\u09AF\u09BC\u09C7 \u099A\u09BE\u09B2\u09BF\u09AF\u09BC\u09C7 \u09AF\u09BE\u09A8",
|
|
526
|
+
openApp: "ZOREAL ID \u0996\u09C1\u09B2\u09C1\u09A8"
|
|
435
527
|
},
|
|
436
528
|
// Bosanski
|
|
437
529
|
bs: {
|
|
438
530
|
title: "Skenirajte za prijavu",
|
|
531
|
+
titleIdentify: "Skenirajte da potvrdite svoj identitet",
|
|
532
|
+
titlePresence: "Skenirajte da doka\u017Eete da ste stvarna osoba",
|
|
439
533
|
titleApprove: "Odobrite na svom telefonu",
|
|
440
534
|
bodyScan: "Skenirajte kamerom svog telefona ili aplikacijom ZOREAL ID.",
|
|
535
|
+
bodyLink: "Odobrite ovu prijavu u aplikaciji ZOREAL ID na ovom telefonu.",
|
|
441
536
|
bodyApprove: "Odobrite prijavu u aplikaciji ZOREAL ID.",
|
|
442
537
|
bodyEnrolling: "Zavr\u0161ite pode\u0161avanje ZOREAL ID-a na svom telefonu, a zatim odobrite prijavu.",
|
|
443
538
|
waiting: "\u010Ceka se skeniranje",
|
|
@@ -448,13 +543,18 @@ var TRANSLATIONS = {
|
|
|
448
543
|
noIdBody: "Skenirajte isti kod da preuzmete aplikaciju i besplatno ga napravite. Traje samo minutu.",
|
|
449
544
|
cancel: "Otka\u017Ei",
|
|
450
545
|
close: "Zatvori",
|
|
451
|
-
qrAlt: "QR kod za prijavu putem ZOREAL-a"
|
|
546
|
+
qrAlt: "QR kod za prijavu putem ZOREAL-a",
|
|
547
|
+
buttonContinue: "Nastavi sa ZOREAL-om",
|
|
548
|
+
openApp: "Otvori ZOREAL ID"
|
|
452
549
|
},
|
|
453
550
|
// Čeština
|
|
454
551
|
cs: {
|
|
455
552
|
title: "P\u0159ihlaste se naskenov\xE1n\xEDm",
|
|
553
|
+
titleIdentify: "Naskenujte pro ov\u011B\u0159en\xED toto\u017Enosti",
|
|
554
|
+
titlePresence: "Naskenujte a proka\u017Ete, \u017Ee jste skute\u010Dn\xFD \u010Dlov\u011Bk",
|
|
456
555
|
titleApprove: "Potvr\u010Fte v telefonu",
|
|
457
556
|
bodyScan: "Naskenujte fotoapar\xE1tem telefonu nebo aplikac\xED ZOREAL ID.",
|
|
557
|
+
bodyLink: "Schvalte toto p\u0159ihl\xE1\u0161en\xED v aplikaci ZOREAL ID na tomto telefonu.",
|
|
458
558
|
bodyApprove: "Potvr\u010Fte p\u0159ihl\xE1\u0161en\xED v aplikaci ZOREAL ID.",
|
|
459
559
|
bodyEnrolling: "Dokon\u010Dete nastaven\xED ZOREAL ID v telefonu a pot\xE9 potvr\u010Fte p\u0159ihl\xE1\u0161en\xED.",
|
|
460
560
|
waiting: "\u010Cek\xE1n\xED na naskenov\xE1n\xED",
|
|
@@ -465,13 +565,18 @@ var TRANSLATIONS = {
|
|
|
465
565
|
noIdBody: "Naskenov\xE1n\xEDm stejn\xE9ho k\xF3du si st\xE1hnete aplikaci a zdarma vytvo\u0159\xEDte ZOREAL ID. Zabere to jen minutu.",
|
|
466
566
|
cancel: "Zru\u0161it",
|
|
467
567
|
close: "Zav\u0159\xEDt",
|
|
468
|
-
qrAlt: "QR k\xF3d pro p\u0159ihl\xE1\u0161en\xED pomoc\xED ZOREAL"
|
|
568
|
+
qrAlt: "QR k\xF3d pro p\u0159ihl\xE1\u0161en\xED pomoc\xED ZOREAL",
|
|
569
|
+
buttonContinue: "Pokra\u010Dovat se ZOREAL",
|
|
570
|
+
openApp: "Otev\u0159\xEDt ZOREAL ID"
|
|
469
571
|
},
|
|
470
572
|
// Dansk
|
|
471
573
|
da: {
|
|
472
574
|
title: "Scan for at logge ind",
|
|
575
|
+
titleIdentify: "Scan for at bekr\xE6fte din identitet",
|
|
576
|
+
titlePresence: "Scan for at bevise, at du er et rigtigt menneske",
|
|
473
577
|
titleApprove: "Godkend p\xE5 din telefon",
|
|
474
578
|
bodyScan: "Scan med telefonens kamera eller ZOREAL ID-appen.",
|
|
579
|
+
bodyLink: "Godkend dette login i ZOREAL ID-appen p\xE5 denne telefon.",
|
|
475
580
|
bodyApprove: "Godkend login i din ZOREAL ID-app.",
|
|
476
581
|
bodyEnrolling: "F\xE6rdigg\xF8r ops\xE6tningen af ZOREAL ID p\xE5 din telefon, og godkend derefter login.",
|
|
477
582
|
waiting: "Venter p\xE5 scanning",
|
|
@@ -482,13 +587,18 @@ var TRANSLATIONS = {
|
|
|
482
587
|
noIdBody: "Scan den samme kode for at hente appen og oprette et gratis. Det tager kun et minut.",
|
|
483
588
|
cancel: "Annuller",
|
|
484
589
|
close: "Luk",
|
|
485
|
-
qrAlt: "QR-kode til at logge ind med ZOREAL"
|
|
590
|
+
qrAlt: "QR-kode til at logge ind med ZOREAL",
|
|
591
|
+
buttonContinue: "Forts\xE6t med ZOREAL",
|
|
592
|
+
openApp: "\xC5bn ZOREAL ID"
|
|
486
593
|
},
|
|
487
594
|
// Ελληνικά
|
|
488
595
|
el: {
|
|
489
596
|
title: "\u03A3\u03AC\u03C1\u03C9\u03C3\u03B7 \u03B3\u03B9\u03B1 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7",
|
|
597
|
+
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",
|
|
598
|
+
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",
|
|
490
599
|
titleApprove: "\u0388\u03B3\u03BA\u03C1\u03B9\u03C3\u03B7 \u03B1\u03C0\u03CC \u03C4\u03BF \u03BA\u03B9\u03BD\u03B7\u03C4\u03CC \u03C3\u03B1\u03C2",
|
|
491
600
|
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.",
|
|
601
|
+
bodyLink: "\u0395\u03B3\u03BA\u03C1\u03AF\u03BD\u03B5\u03C4\u03B5 \u03B1\u03C5\u03C4\u03AE \u03C4\u03B7 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7 \u03C3\u03C4\u03B7\u03BD \u03B5\u03C6\u03B1\u03C1\u03BC\u03BF\u03B3\u03AE ZOREAL ID \u03C3\u03B5 \u03B1\u03C5\u03C4\u03CC \u03C4\u03BF \u03C4\u03B7\u03BB\u03AD\u03C6\u03C9\u03BD\u03BF.",
|
|
492
602
|
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.",
|
|
493
603
|
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.",
|
|
494
604
|
waiting: "\u0391\u03BD\u03B1\u03BC\u03BF\u03BD\u03AE \u03C3\u03AC\u03C1\u03C9\u03C3\u03B7\u03C2",
|
|
@@ -499,13 +609,18 @@ var TRANSLATIONS = {
|
|
|
499
609
|
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.",
|
|
500
610
|
cancel: "\u0386\u03BA\u03C5\u03C1\u03BF",
|
|
501
611
|
close: "\u039A\u03BB\u03B5\u03AF\u03C3\u03B9\u03BC\u03BF",
|
|
502
|
-
qrAlt: "\u039A\u03C9\u03B4\u03B9\u03BA\u03CC\u03C2 QR \u03B3\u03B9\u03B1 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7 \u03BC\u03B5 ZOREAL"
|
|
612
|
+
qrAlt: "\u039A\u03C9\u03B4\u03B9\u03BA\u03CC\u03C2 QR \u03B3\u03B9\u03B1 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7 \u03BC\u03B5 ZOREAL",
|
|
613
|
+
buttonContinue: "\u03A3\u03C5\u03BD\u03AD\u03C7\u03B5\u03B9\u03B1 \u03BC\u03B5 ZOREAL",
|
|
614
|
+
openApp: "\u0386\u03BD\u03BF\u03B9\u03B3\u03BC\u03B1 ZOREAL ID"
|
|
503
615
|
},
|
|
504
616
|
// Español (LA)
|
|
505
617
|
"es-419": {
|
|
506
618
|
title: "Escanea para iniciar sesi\xF3n",
|
|
619
|
+
titleIdentify: "Escanea para verificar tu identidad",
|
|
620
|
+
titlePresence: "Escanea para demostrar que eres una persona real",
|
|
507
621
|
titleApprove: "Aprueba desde tu celular",
|
|
508
622
|
bodyScan: "Escanea con la c\xE1mara de tu celular o con la app ZOREAL ID.",
|
|
623
|
+
bodyLink: "Aprueba este inicio de sesi\xF3n en la app ZOREAL ID de este tel\xE9fono.",
|
|
509
624
|
bodyApprove: "Aprueba el inicio de sesi\xF3n en tu app ZOREAL ID.",
|
|
510
625
|
bodyEnrolling: "Termina de configurar ZOREAL ID en tu celular y luego aprueba el inicio de sesi\xF3n.",
|
|
511
626
|
waiting: "Esperando escaneo",
|
|
@@ -516,13 +631,18 @@ var TRANSLATIONS = {
|
|
|
516
631
|
noIdBody: "Escanea el mismo c\xF3digo para descargar la app y crear uno gratis. Solo toma un minuto.",
|
|
517
632
|
cancel: "Cancelar",
|
|
518
633
|
close: "Cerrar",
|
|
519
|
-
qrAlt: "C\xF3digo QR para iniciar sesi\xF3n con ZOREAL"
|
|
634
|
+
qrAlt: "C\xF3digo QR para iniciar sesi\xF3n con ZOREAL",
|
|
635
|
+
buttonContinue: "Continuar con ZOREAL",
|
|
636
|
+
openApp: "Abrir ZOREAL ID"
|
|
520
637
|
},
|
|
521
638
|
// Suomi
|
|
522
639
|
fi: {
|
|
523
640
|
title: "Kirjaudu sis\xE4\xE4n skannaamalla",
|
|
641
|
+
titleIdentify: "Vahvista henkil\xF6llisyytesi skannaamalla",
|
|
642
|
+
titlePresence: "Todista skannaamalla, ett\xE4 olet oikea ihminen",
|
|
524
643
|
titleApprove: "Hyv\xE4ksy puhelimessasi",
|
|
525
644
|
bodyScan: "Skannaa puhelimesi kameralla tai ZOREAL ID -sovelluksella.",
|
|
645
|
+
bodyLink: "Hyv\xE4ksy t\xE4m\xE4 kirjautuminen ZOREAL ID -sovelluksessa t\xE4ll\xE4 puhelimella.",
|
|
526
646
|
bodyApprove: "Hyv\xE4ksy kirjautuminen ZOREAL ID -sovelluksessasi.",
|
|
527
647
|
bodyEnrolling: "Viimeistele ZOREAL ID -sovelluksen k\xE4ytt\xF6\xF6notto puhelimellasi ja hyv\xE4ksy sitten kirjautuminen.",
|
|
528
648
|
waiting: "Odotetaan skannausta",
|
|
@@ -533,13 +653,18 @@ var TRANSLATIONS = {
|
|
|
533
653
|
noIdBody: "Skannaa sama koodi ladataksesi sovelluksen ja luodaksesi tunnuksen ilmaiseksi. Se vie vain minuutin.",
|
|
534
654
|
cancel: "Peruuta",
|
|
535
655
|
close: "Sulje",
|
|
536
|
-
qrAlt: "QR-koodi ZOREAL-kirjautumista varten"
|
|
656
|
+
qrAlt: "QR-koodi ZOREAL-kirjautumista varten",
|
|
657
|
+
buttonContinue: "Jatka ZOREALilla",
|
|
658
|
+
openApp: "Avaa ZOREAL ID"
|
|
537
659
|
},
|
|
538
660
|
// עברית
|
|
539
661
|
he: {
|
|
540
662
|
title: "\u05E1\u05E8\u05D5\u05E7 \u05DB\u05D3\u05D9 \u05DC\u05D4\u05EA\u05D7\u05D1\u05E8",
|
|
663
|
+
titleIdentify: "\u05E1\u05E8\u05D5\u05E7 \u05DB\u05D3\u05D9 \u05DC\u05D0\u05DE\u05EA \u05D0\u05EA \u05D6\u05D4\u05D5\u05EA\u05DA",
|
|
664
|
+
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",
|
|
541
665
|
titleApprove: "\u05D0\u05E9\u05E8 \u05D1\u05D8\u05DC\u05E4\u05D5\u05DF \u05E9\u05DC\u05DA",
|
|
542
666
|
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.",
|
|
667
|
+
bodyLink: "\u05D0\u05E9\u05E8 \u05D0\u05EA \u05D4\u05D4\u05EA\u05D7\u05D1\u05E8\u05D5\u05EA \u05D4\u05D6\u05D5 \u05D1\u05D0\u05E4\u05DC\u05D9\u05E7\u05E6\u05D9\u05D9\u05EA ZOREAL ID \u05D1\u05D8\u05DC\u05E4\u05D5\u05DF \u05D4\u05D6\u05D4.",
|
|
543
668
|
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.",
|
|
544
669
|
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.",
|
|
545
670
|
waiting: "\u05DE\u05DE\u05EA\u05D9\u05DF \u05DC\u05E1\u05E8\u05D9\u05E7\u05D4",
|
|
@@ -550,13 +675,18 @@ var TRANSLATIONS = {
|
|
|
550
675
|
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.",
|
|
551
676
|
cancel: "\u05D1\u05D9\u05D8\u05D5\u05DC",
|
|
552
677
|
close: "\u05E1\u05D2\u05D5\u05E8",
|
|
553
|
-
qrAlt: "\u05E7\u05D5\u05D3 QR \u05DC\u05D4\u05EA\u05D7\u05D1\u05E8\u05D5\u05EA \u05E2\u05DD ZOREAL"
|
|
678
|
+
qrAlt: "\u05E7\u05D5\u05D3 QR \u05DC\u05D4\u05EA\u05D7\u05D1\u05E8\u05D5\u05EA \u05E2\u05DD ZOREAL",
|
|
679
|
+
buttonContinue: "\u05D4\u05DE\u05E9\u05DA \u05E2\u05DD ZOREAL",
|
|
680
|
+
openApp: "\u05E4\u05EA\u05D7 \u05D0\u05EA ZOREAL ID"
|
|
554
681
|
},
|
|
555
682
|
// Hrvatski
|
|
556
683
|
hr: {
|
|
557
684
|
title: "Skenirajte za prijavu",
|
|
685
|
+
titleIdentify: "Skenirajte za potvrdu identiteta",
|
|
686
|
+
titlePresence: "Skenirajte kako biste dokazali da ste stvarna osoba",
|
|
558
687
|
titleApprove: "Odobrite na svom mobitelu",
|
|
559
688
|
bodyScan: "Skenirajte kamerom svog mobitela ili aplikacijom ZOREAL ID.",
|
|
689
|
+
bodyLink: "Odobrite ovu prijavu u aplikaciji ZOREAL ID na ovom telefonu.",
|
|
560
690
|
bodyApprove: "Odobrite prijavu u aplikaciji ZOREAL ID.",
|
|
561
691
|
bodyEnrolling: "Dovr\u0161ite postavljanje ZOREAL ID-a na svom mobitelu, a zatim odobrite prijavu.",
|
|
562
692
|
waiting: "\u010Ceka se skeniranje",
|
|
@@ -567,13 +697,18 @@ var TRANSLATIONS = {
|
|
|
567
697
|
noIdBody: "Skenirajte isti kod da preuzmete aplikaciju i besplatno ga izradite. Traje samo minutu.",
|
|
568
698
|
cancel: "Odustani",
|
|
569
699
|
close: "Zatvori",
|
|
570
|
-
qrAlt: "QR kod za prijavu putem ZOREAL-a"
|
|
700
|
+
qrAlt: "QR kod za prijavu putem ZOREAL-a",
|
|
701
|
+
buttonContinue: "Nastavi sa ZOREAL-om",
|
|
702
|
+
openApp: "Otvori ZOREAL ID"
|
|
571
703
|
},
|
|
572
704
|
// Magyar
|
|
573
705
|
hu: {
|
|
574
706
|
title: "Bejelentkez\xE9s beolvas\xE1ssal",
|
|
707
|
+
titleIdentify: "Olvassa be a szem\xE9lyazonoss\xE1ga igazol\xE1s\xE1hoz",
|
|
708
|
+
titlePresence: "Olvassa be annak igazol\xE1s\xE1hoz, hogy val\xF3di ember",
|
|
575
709
|
titleApprove: "J\xF3v\xE1hagy\xE1s a telefonj\xE1n",
|
|
576
710
|
bodyScan: "Olvassa be a telefonja kamer\xE1j\xE1val, vagy a ZOREAL ID alkalmaz\xE1ssal.",
|
|
711
|
+
bodyLink: "Hagyja j\xF3v\xE1 ezt a bejelentkez\xE9st a ZOREAL ID alkalmaz\xE1sban ezen a telefonon.",
|
|
577
712
|
bodyApprove: "Hagyja j\xF3v\xE1 a bejelentkez\xE9st a ZOREAL ID alkalmaz\xE1sban.",
|
|
578
713
|
bodyEnrolling: "Fejezze be a ZOREAL ID be\xE1ll\xEDt\xE1s\xE1t a telefonj\xE1n, majd hagyja j\xF3v\xE1 a bejelentkez\xE9st.",
|
|
579
714
|
waiting: "V\xE1rakoz\xE1s beolvas\xE1sra",
|
|
@@ -584,13 +719,18 @@ var TRANSLATIONS = {
|
|
|
584
719
|
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.",
|
|
585
720
|
cancel: "M\xE9gse",
|
|
586
721
|
close: "Bez\xE1r\xE1s",
|
|
587
|
-
qrAlt: "QR-k\xF3d a ZOREAL-lal val\xF3 bejelentkez\xE9shez"
|
|
722
|
+
qrAlt: "QR-k\xF3d a ZOREAL-lal val\xF3 bejelentkez\xE9shez",
|
|
723
|
+
buttonContinue: "Folytat\xE1s a ZOREAL-lal",
|
|
724
|
+
openApp: "ZOREAL ID megnyit\xE1sa"
|
|
588
725
|
},
|
|
589
726
|
// Bahasa Indonesia
|
|
590
727
|
id: {
|
|
591
728
|
title: "Pindai untuk masuk",
|
|
729
|
+
titleIdentify: "Pindai untuk memverifikasi identitas Anda",
|
|
730
|
+
titlePresence: "Pindai untuk membuktikan bahwa Anda manusia sungguhan",
|
|
592
731
|
titleApprove: "Setujui di ponsel Anda",
|
|
593
732
|
bodyScan: "Pindai dengan kamera ponsel atau aplikasi ZOREAL ID.",
|
|
733
|
+
bodyLink: "Setujui masuk ini di aplikasi ZOREAL ID pada ponsel ini.",
|
|
594
734
|
bodyApprove: "Setujui proses masuk di aplikasi ZOREAL ID Anda.",
|
|
595
735
|
bodyEnrolling: "Selesaikan pengaturan ZOREAL ID di ponsel Anda, lalu setujui proses masuk.",
|
|
596
736
|
waiting: "Menunggu pemindaian",
|
|
@@ -601,13 +741,18 @@ var TRANSLATIONS = {
|
|
|
601
741
|
noIdBody: "Pindai kode yang sama untuk mengunduh aplikasi dan membuat akun secara gratis. Hanya butuh waktu satu menit.",
|
|
602
742
|
cancel: "Batal",
|
|
603
743
|
close: "Tutup",
|
|
604
|
-
qrAlt: "Kode QR untuk masuk dengan ZOREAL"
|
|
744
|
+
qrAlt: "Kode QR untuk masuk dengan ZOREAL",
|
|
745
|
+
buttonContinue: "Lanjutkan dengan ZOREAL",
|
|
746
|
+
openApp: "Buka ZOREAL ID"
|
|
605
747
|
},
|
|
606
748
|
// Italiano
|
|
607
749
|
it: {
|
|
608
750
|
title: "Scansiona per accedere",
|
|
751
|
+
titleIdentify: "Scansiona per verificare la tua identit\xE0",
|
|
752
|
+
titlePresence: "Scansiona per dimostrare di essere una persona reale",
|
|
609
753
|
titleApprove: "Approva sul tuo telefono",
|
|
610
754
|
bodyScan: "Scansiona con la fotocamera del telefono o con l'app ZOREAL ID.",
|
|
755
|
+
bodyLink: "Approva questo accesso nell'app ZOREAL ID su questo telefono.",
|
|
611
756
|
bodyApprove: "Approva l'accesso nell'app ZOREAL ID.",
|
|
612
757
|
bodyEnrolling: "Completa la configurazione di ZOREAL ID sul telefono, poi approva l'accesso.",
|
|
613
758
|
waiting: "In attesa della scansione",
|
|
@@ -618,13 +763,18 @@ var TRANSLATIONS = {
|
|
|
618
763
|
noIdBody: "Scansiona lo stesso codice per scaricare l'app e crearne uno gratis. Basta un minuto.",
|
|
619
764
|
cancel: "Annulla",
|
|
620
765
|
close: "Chiudi",
|
|
621
|
-
qrAlt: "Codice QR per accedere con ZOREAL"
|
|
766
|
+
qrAlt: "Codice QR per accedere con ZOREAL",
|
|
767
|
+
buttonContinue: "Continua con ZOREAL",
|
|
768
|
+
openApp: "Apri ZOREAL ID"
|
|
622
769
|
},
|
|
623
770
|
// Bahasa Melayu
|
|
624
771
|
ms: {
|
|
625
772
|
title: "Imbas untuk log masuk",
|
|
773
|
+
titleIdentify: "Imbas untuk mengesahkan identiti anda",
|
|
774
|
+
titlePresence: "Imbas untuk membuktikan anda manusia sebenar",
|
|
626
775
|
titleApprove: "Luluskan di telefon anda",
|
|
627
776
|
bodyScan: "Imbas dengan kamera telefon atau aplikasi ZOREAL ID.",
|
|
777
|
+
bodyLink: "Luluskan log masuk ini dalam aplikasi ZOREAL ID pada telefon ini.",
|
|
628
778
|
bodyApprove: "Luluskan log masuk dalam aplikasi ZOREAL ID anda.",
|
|
629
779
|
bodyEnrolling: "Selesaikan persediaan ZOREAL ID di telefon anda, kemudian luluskan log masuk.",
|
|
630
780
|
waiting: "Menunggu imbasan",
|
|
@@ -635,13 +785,18 @@ var TRANSLATIONS = {
|
|
|
635
785
|
noIdBody: "Imbas kod yang sama untuk memuat turun aplikasi dan cipta satu secara percuma. Hanya mengambil masa seminit.",
|
|
636
786
|
cancel: "Batal",
|
|
637
787
|
close: "Tutup",
|
|
638
|
-
qrAlt: "Kod QR untuk log masuk dengan ZOREAL"
|
|
788
|
+
qrAlt: "Kod QR untuk log masuk dengan ZOREAL",
|
|
789
|
+
buttonContinue: "Teruskan dengan ZOREAL",
|
|
790
|
+
openApp: "Buka ZOREAL ID"
|
|
639
791
|
},
|
|
640
792
|
// Nederlands
|
|
641
793
|
nl: {
|
|
642
794
|
title: "Scan om in te loggen",
|
|
795
|
+
titleIdentify: "Scan om je identiteit te verifi\xEBren",
|
|
796
|
+
titlePresence: "Scan om te bewijzen dat je een echt mens bent",
|
|
643
797
|
titleApprove: "Keur goed op je telefoon",
|
|
644
798
|
bodyScan: "Scan met de camera van je telefoon of de ZOREAL ID-app.",
|
|
799
|
+
bodyLink: "Keur deze aanmelding goed in de ZOREAL ID-app op deze telefoon.",
|
|
645
800
|
bodyApprove: "Keur de aanmelding goed in je ZOREAL ID-app.",
|
|
646
801
|
bodyEnrolling: "Rond het instellen van ZOREAL ID op je telefoon af en keur daarna de aanmelding goed.",
|
|
647
802
|
waiting: "Wachten op scan",
|
|
@@ -652,13 +807,18 @@ var TRANSLATIONS = {
|
|
|
652
807
|
noIdBody: "Scan dezelfde code om de app te downloaden en gratis een account aan te maken. Dit duurt maar een minuut.",
|
|
653
808
|
cancel: "Annuleren",
|
|
654
809
|
close: "Sluiten",
|
|
655
|
-
qrAlt: "QR-code om in te loggen met ZOREAL"
|
|
810
|
+
qrAlt: "QR-code om in te loggen met ZOREAL",
|
|
811
|
+
buttonContinue: "Doorgaan met ZOREAL",
|
|
812
|
+
openApp: "ZOREAL ID openen"
|
|
656
813
|
},
|
|
657
814
|
// Norsk
|
|
658
815
|
no: {
|
|
659
816
|
title: "Skann for \xE5 logge inn",
|
|
817
|
+
titleIdentify: "Skann for \xE5 bekrefte identiteten din",
|
|
818
|
+
titlePresence: "Skann for \xE5 bevise at du er et ekte menneske",
|
|
660
819
|
titleApprove: "Godkjenn p\xE5 telefonen din",
|
|
661
820
|
bodyScan: "Skann med telefonens kamera eller ZOREAL ID-appen.",
|
|
821
|
+
bodyLink: "Godkjenn denne innloggingen i ZOREAL ID-appen p\xE5 denne telefonen.",
|
|
662
822
|
bodyApprove: "Godkjenn innloggingen i ZOREAL ID-appen din.",
|
|
663
823
|
bodyEnrolling: "Fullf\xF8r oppsettet av ZOREAL ID p\xE5 telefonen din, og godkjenn deretter innloggingen.",
|
|
664
824
|
waiting: "Venter p\xE5 skanning",
|
|
@@ -669,13 +829,18 @@ var TRANSLATIONS = {
|
|
|
669
829
|
noIdBody: "Skann den samme koden for \xE5 laste ned appen og opprette en gratis. Det tar bare et minutt.",
|
|
670
830
|
cancel: "Avbryt",
|
|
671
831
|
close: "Lukk",
|
|
672
|
-
qrAlt: "QR-kode for \xE5 logge inn med ZOREAL"
|
|
832
|
+
qrAlt: "QR-kode for \xE5 logge inn med ZOREAL",
|
|
833
|
+
buttonContinue: "Fortsett med ZOREAL",
|
|
834
|
+
openApp: "\xC5pne ZOREAL ID"
|
|
673
835
|
},
|
|
674
836
|
// Polski
|
|
675
837
|
pl: {
|
|
676
838
|
title: "Zeskanuj, aby si\u0119 zalogowa\u0107",
|
|
839
|
+
titleIdentify: "Zeskanuj, aby zweryfikowa\u0107 swoj\u0105 to\u017Csamo\u015B\u0107",
|
|
840
|
+
titlePresence: "Zeskanuj, aby udowodni\u0107, \u017Ce jeste\u015B prawdziwym cz\u0142owiekiem",
|
|
677
841
|
titleApprove: "Zatwierd\u017A w telefonie",
|
|
678
842
|
bodyScan: "Zeskanuj aparatem telefonu lub aplikacj\u0105 ZOREAL ID.",
|
|
843
|
+
bodyLink: "Zatwierd\u017A to logowanie w aplikacji ZOREAL ID na tym telefonie.",
|
|
679
844
|
bodyApprove: "Zatwierd\u017A logowanie w aplikacji ZOREAL ID.",
|
|
680
845
|
bodyEnrolling: "Doko\u0144cz konfiguracj\u0119 ZOREAL ID w telefonie, a nast\u0119pnie zatwierd\u017A logowanie.",
|
|
681
846
|
waiting: "Czekanie na skan",
|
|
@@ -686,13 +851,18 @@ var TRANSLATIONS = {
|
|
|
686
851
|
noIdBody: "Zeskanuj ten sam kod, aby pobra\u0107 aplikacj\u0119 i bezp\u0142atnie utworzy\u0107 ZOREAL ID. Zajmie to tylko minut\u0119.",
|
|
687
852
|
cancel: "Anuluj",
|
|
688
853
|
close: "Zamknij",
|
|
689
|
-
qrAlt: "Kod QR do logowania za pomoc\u0105 ZOREAL"
|
|
854
|
+
qrAlt: "Kod QR do logowania za pomoc\u0105 ZOREAL",
|
|
855
|
+
buttonContinue: "Kontynuuj z ZOREAL",
|
|
856
|
+
openApp: "Otw\xF3rz ZOREAL ID"
|
|
690
857
|
},
|
|
691
858
|
// Português (BR)
|
|
692
859
|
"pt-br": {
|
|
693
860
|
title: "Escaneie para entrar",
|
|
861
|
+
titleIdentify: "Escaneie para verificar sua identidade",
|
|
862
|
+
titlePresence: "Escaneie para provar que voc\xEA \xE9 uma pessoa real",
|
|
694
863
|
titleApprove: "Aprove no seu celular",
|
|
695
864
|
bodyScan: "Escaneie com a c\xE2mera do seu celular ou com o app ZOREAL ID.",
|
|
865
|
+
bodyLink: "Aprove este login no app ZOREAL ID neste celular.",
|
|
696
866
|
bodyApprove: "Aprove o login no app ZOREAL ID.",
|
|
697
867
|
bodyEnrolling: "Termine de configurar o ZOREAL ID no seu celular e depois aprove o login.",
|
|
698
868
|
waiting: "Aguardando escaneamento",
|
|
@@ -703,13 +873,18 @@ var TRANSLATIONS = {
|
|
|
703
873
|
noIdBody: "Escaneie o mesmo c\xF3digo para baixar o app e criar um de gra\xE7a. Leva s\xF3 um minuto.",
|
|
704
874
|
cancel: "Cancelar",
|
|
705
875
|
close: "Fechar",
|
|
706
|
-
qrAlt: "C\xF3digo QR para entrar com ZOREAL"
|
|
876
|
+
qrAlt: "C\xF3digo QR para entrar com ZOREAL",
|
|
877
|
+
buttonContinue: "Continuar com ZOREAL",
|
|
878
|
+
openApp: "Abrir ZOREAL ID"
|
|
707
879
|
},
|
|
708
880
|
// Română
|
|
709
881
|
ro: {
|
|
710
882
|
title: "Scana\u021Bi pentru conectare",
|
|
883
|
+
titleIdentify: "Scana\u021Bi pentru a v\u0103 verifica identitatea",
|
|
884
|
+
titlePresence: "Scana\u021Bi pentru a dovedi c\u0103 sunte\u021Bi o persoan\u0103 real\u0103",
|
|
711
885
|
titleApprove: "Aproba\u021Bi de pe telefon",
|
|
712
886
|
bodyScan: "Scana\u021Bi cu camera telefonului sau cu aplica\u021Bia ZOREAL ID.",
|
|
887
|
+
bodyLink: "Aproba\u021Bi aceast\u0103 conectare \xEEn aplica\u021Bia ZOREAL ID de pe acest telefon.",
|
|
713
888
|
bodyApprove: "Aproba\u021Bi conectarea \xEEn aplica\u021Bia ZOREAL ID.",
|
|
714
889
|
bodyEnrolling: "Finaliza\u021Bi configurarea ZOREAL ID pe telefon, apoi aproba\u021Bi conectarea.",
|
|
715
890
|
waiting: "Se a\u0219teapt\u0103 scanarea",
|
|
@@ -720,13 +895,18 @@ var TRANSLATIONS = {
|
|
|
720
895
|
noIdBody: "Scana\u021Bi acela\u0219i cod pentru a desc\u0103rca aplica\u021Bia \u0219i a crea unul gratuit. Dureaz\u0103 doar un minut.",
|
|
721
896
|
cancel: "Anuleaz\u0103",
|
|
722
897
|
close: "\xCEnchide",
|
|
723
|
-
qrAlt: "Cod QR pentru conectare cu ZOREAL"
|
|
898
|
+
qrAlt: "Cod QR pentru conectare cu ZOREAL",
|
|
899
|
+
buttonContinue: "Continua\u021Bi cu ZOREAL",
|
|
900
|
+
openApp: "Deschide\u021Bi ZOREAL ID"
|
|
724
901
|
},
|
|
725
902
|
// Српски
|
|
726
903
|
sr: {
|
|
727
904
|
title: "\u0421\u043A\u0435\u043D\u0438\u0440\u0430\u0458\u0442\u0435 \u0437\u0430 \u043F\u0440\u0438\u0458\u0430\u0432\u0443",
|
|
905
|
+
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",
|
|
906
|
+
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",
|
|
728
907
|
titleApprove: "\u041E\u0434\u043E\u0431\u0440\u0438\u0442\u0435 \u043D\u0430 \u0441\u0432\u043E\u043C \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0443",
|
|
729
908
|
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.",
|
|
909
|
+
bodyLink: "\u041E\u0434\u043E\u0431\u0440\u0438\u0442\u0435 \u043E\u0432\u0443 \u043F\u0440\u0438\u0458\u0430\u0432\u0443 \u0443 \u0430\u043F\u043B\u0438\u043A\u0430\u0446\u0438\u0458\u0438 ZOREAL ID \u043D\u0430 \u043E\u0432\u043E\u043C \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0443.",
|
|
730
910
|
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.",
|
|
731
911
|
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.",
|
|
732
912
|
waiting: "\u0427\u0435\u043A\u0430 \u0441\u0435 \u0441\u043A\u0435\u043D\u0438\u0440\u0430\u045A\u0435",
|
|
@@ -737,13 +917,18 @@ var TRANSLATIONS = {
|
|
|
737
917
|
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.",
|
|
738
918
|
cancel: "\u041E\u0442\u043A\u0430\u0436\u0438",
|
|
739
919
|
close: "\u0417\u0430\u0442\u0432\u043E\u0440\u0438",
|
|
740
|
-
qrAlt: "QR \u043A\u043E\u0434 \u0437\u0430 \u043F\u0440\u0438\u0458\u0430\u0432\u0443 \u043F\u0440\u0435\u043A\u043E ZOREAL-\u0430"
|
|
920
|
+
qrAlt: "QR \u043A\u043E\u0434 \u0437\u0430 \u043F\u0440\u0438\u0458\u0430\u0432\u0443 \u043F\u0440\u0435\u043A\u043E ZOREAL-\u0430",
|
|
921
|
+
buttonContinue: "\u041D\u0430\u0441\u0442\u0430\u0432\u0438 \u0441\u0430 ZOREAL-\u043E\u043C",
|
|
922
|
+
openApp: "\u041E\u0442\u0432\u043E\u0440\u0438 ZOREAL ID"
|
|
741
923
|
},
|
|
742
924
|
// ไทย
|
|
743
925
|
th: {
|
|
744
926
|
title: "\u0E2A\u0E41\u0E01\u0E19\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E02\u0E49\u0E32\u0E2A\u0E39\u0E48\u0E23\u0E30\u0E1A\u0E1A",
|
|
927
|
+
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",
|
|
928
|
+
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",
|
|
745
929
|
titleApprove: "\u0E2D\u0E19\u0E38\u0E21\u0E31\u0E15\u0E34\u0E1A\u0E19\u0E42\u0E17\u0E23\u0E28\u0E31\u0E1E\u0E17\u0E4C\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13",
|
|
746
930
|
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",
|
|
931
|
+
bodyLink: "\u0E2D\u0E19\u0E38\u0E21\u0E31\u0E15\u0E34\u0E01\u0E32\u0E23\u0E40\u0E02\u0E49\u0E32\u0E2A\u0E39\u0E48\u0E23\u0E30\u0E1A\u0E1A\u0E19\u0E35\u0E49\u0E43\u0E19\u0E41\u0E2D\u0E1B ZOREAL ID \u0E1A\u0E19\u0E42\u0E17\u0E23\u0E28\u0E31\u0E1E\u0E17\u0E4C\u0E40\u0E04\u0E23\u0E37\u0E48\u0E2D\u0E07\u0E19\u0E35\u0E49",
|
|
747
932
|
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",
|
|
748
933
|
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",
|
|
749
934
|
waiting: "\u0E23\u0E2D\u0E01\u0E32\u0E23\u0E2A\u0E41\u0E01\u0E19",
|
|
@@ -754,13 +939,18 @@ var TRANSLATIONS = {
|
|
|
754
939
|
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",
|
|
755
940
|
cancel: "\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01",
|
|
756
941
|
close: "\u0E1B\u0E34\u0E14",
|
|
757
|
-
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"
|
|
942
|
+
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",
|
|
943
|
+
buttonContinue: "\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E15\u0E48\u0E2D\u0E14\u0E49\u0E27\u0E22 ZOREAL",
|
|
944
|
+
openApp: "\u0E40\u0E1B\u0E34\u0E14 ZOREAL ID"
|
|
758
945
|
},
|
|
759
946
|
// Tagalog
|
|
760
947
|
tl: {
|
|
761
948
|
title: "I-scan para mag-sign in",
|
|
949
|
+
titleIdentify: "I-scan para i-verify ang iyong pagkakakilanlan",
|
|
950
|
+
titlePresence: "I-scan para patunayang tunay kang tao",
|
|
762
951
|
titleApprove: "I-approve sa iyong telepono",
|
|
763
952
|
bodyScan: "I-scan gamit ang camera ng iyong telepono o ang ZOREAL ID app.",
|
|
953
|
+
bodyLink: "Aprubahan ang pag-sign in na ito sa ZOREAL ID app sa teleponong ito.",
|
|
764
954
|
bodyApprove: "I-approve ang login sa iyong ZOREAL ID app.",
|
|
765
955
|
bodyEnrolling: "Tapusin muna ang pag-set up ng ZOREAL ID sa iyong telepono, pagkatapos ay i-approve ang login.",
|
|
766
956
|
waiting: "Naghihintay ng scan",
|
|
@@ -771,13 +961,18 @@ var TRANSLATIONS = {
|
|
|
771
961
|
noIdBody: "I-scan ang parehong code para i-download ang app at gumawa ng iyong ZOREAL ID nang libre. Isang minuto lang ito.",
|
|
772
962
|
cancel: "Kanselahin",
|
|
773
963
|
close: "Isara",
|
|
774
|
-
qrAlt: "QR code para mag-sign in gamit ang ZOREAL"
|
|
964
|
+
qrAlt: "QR code para mag-sign in gamit ang ZOREAL",
|
|
965
|
+
buttonContinue: "Magpatuloy gamit ang ZOREAL",
|
|
966
|
+
openApp: "Buksan ang ZOREAL ID"
|
|
775
967
|
},
|
|
776
968
|
// Türkçe
|
|
777
969
|
tr: {
|
|
778
970
|
title: "Giri\u015F i\xE7in taray\u0131n",
|
|
971
|
+
titleIdentify: "Kimli\u011Finizi do\u011Frulamak i\xE7in taray\u0131n",
|
|
972
|
+
titlePresence: "Ger\xE7ek bir insan oldu\u011Funuzu kan\u0131tlamak i\xE7in taray\u0131n",
|
|
779
973
|
titleApprove: "Telefonunuzdan onaylay\u0131n",
|
|
780
974
|
bodyScan: "Telefonunuzun kameras\u0131yla veya ZOREAL ID uygulamas\u0131yla taray\u0131n.",
|
|
975
|
+
bodyLink: "Bu giri\u015Fi bu telefondaki ZOREAL ID uygulamas\u0131nda onaylay\u0131n.",
|
|
781
976
|
bodyApprove: "Giri\u015Fi ZOREAL ID uygulaman\u0131zdan onaylay\u0131n.",
|
|
782
977
|
bodyEnrolling: "Telefonunuzda ZOREAL ID kurulumunu tamamlay\u0131n, ard\u0131ndan giri\u015Fi onaylay\u0131n.",
|
|
783
978
|
waiting: "Tarama bekleniyor",
|
|
@@ -788,13 +983,18 @@ var TRANSLATIONS = {
|
|
|
788
983
|
noIdBody: "Uygulamay\u0131 indirmek ve \xFCcretsiz bir tane olu\u015Fturmak i\xE7in ayn\u0131 kodu taray\u0131n. Sadece bir dakikan\u0131z\u0131 al\u0131r.",
|
|
789
984
|
cancel: "\u0130ptal",
|
|
790
985
|
close: "Kapat",
|
|
791
|
-
qrAlt: "ZOREAL ile giri\u015F yapmak i\xE7in QR kodu"
|
|
986
|
+
qrAlt: "ZOREAL ile giri\u015F yapmak i\xE7in QR kodu",
|
|
987
|
+
buttonContinue: "ZOREAL ile devam et",
|
|
988
|
+
openApp: "ZOREAL ID'yi a\xE7"
|
|
792
989
|
},
|
|
793
990
|
// Українська
|
|
794
991
|
uk: {
|
|
795
992
|
title: "\u0421\u043A\u0430\u043D\u0443\u0439\u0442\u0435 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0443",
|
|
993
|
+
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",
|
|
994
|
+
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",
|
|
796
995
|
titleApprove: "\u041F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u044C\u0442\u0435 \u043D\u0430 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0456",
|
|
797
996
|
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.",
|
|
997
|
+
bodyLink: "\u041F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u044C\u0442\u0435 \u0446\u0435\u0439 \u0432\u0445\u0456\u0434 \u0443 \u0437\u0430\u0441\u0442\u043E\u0441\u0443\u043D\u043A\u0443 ZOREAL ID \u043D\u0430 \u0446\u044C\u043E\u043C\u0443 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0456.",
|
|
798
998
|
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.",
|
|
799
999
|
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.",
|
|
800
1000
|
waiting: "\u041E\u0447\u0456\u043A\u0443\u0432\u0430\u043D\u043D\u044F \u0441\u043A\u0430\u043D\u0443\u0432\u0430\u043D\u043D\u044F",
|
|
@@ -805,13 +1005,18 @@ var TRANSLATIONS = {
|
|
|
805
1005
|
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.",
|
|
806
1006
|
cancel: "\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438",
|
|
807
1007
|
close: "\u0417\u0430\u043A\u0440\u0438\u0442\u0438",
|
|
808
|
-
qrAlt: "QR-\u043A\u043E\u0434 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0443 \u0447\u0435\u0440\u0435\u0437 ZOREAL"
|
|
1008
|
+
qrAlt: "QR-\u043A\u043E\u0434 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0443 \u0447\u0435\u0440\u0435\u0437 ZOREAL",
|
|
1009
|
+
buttonContinue: "\u041F\u0440\u043E\u0434\u043E\u0432\u0436\u0438\u0442\u0438 \u0437 ZOREAL",
|
|
1010
|
+
openApp: "\u0412\u0456\u0434\u043A\u0440\u0438\u0442\u0438 ZOREAL ID"
|
|
809
1011
|
},
|
|
810
1012
|
// اردو
|
|
811
1013
|
ur: {
|
|
812
1014
|
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",
|
|
1015
|
+
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",
|
|
1016
|
+
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",
|
|
813
1017
|
titleApprove: "\u0627\u067E\u0646\u06D2 \u0641\u0648\u0646 \u067E\u0631 \u0645\u0646\u0638\u0648\u0631\u06CC \u062F\u06CC\u06BA",
|
|
814
1018
|
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",
|
|
1019
|
+
bodyLink: "\u0627\u0633 \u0641\u0648\u0646 \u067E\u0631 ZOREAL ID \u0627\u06CC\u067E \u0645\u06CC\u06BA \u0627\u0633 \u0644\u0627\u06AF \u0627\u0650\u0646 \u06A9\u06CC \u0645\u0646\u0638\u0648\u0631\u06CC \u062F\u06CC\u06BA\u06D4",
|
|
815
1020
|
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",
|
|
816
1021
|
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",
|
|
817
1022
|
waiting: "\u0627\u0633\u06A9\u06CC\u0646 \u06A9\u0627 \u0627\u0646\u062A\u0638\u0627\u0631",
|
|
@@ -822,13 +1027,18 @@ var TRANSLATIONS = {
|
|
|
822
1027
|
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",
|
|
823
1028
|
cancel: "\u0645\u0646\u0633\u0648\u062E \u06A9\u0631\u06CC\u06BA",
|
|
824
1029
|
close: "\u0628\u0646\u062F \u06A9\u0631\u06CC\u06BA",
|
|
825
|
-
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"
|
|
1030
|
+
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",
|
|
1031
|
+
buttonContinue: "ZOREAL \u06A9\u06D2 \u0633\u0627\u062A\u06BE \u062C\u0627\u0631\u06CC \u0631\u06A9\u06BE\u06CC\u06BA",
|
|
1032
|
+
openApp: "ZOREAL ID \u06A9\u06BE\u0648\u0644\u06CC\u06BA"
|
|
826
1033
|
},
|
|
827
1034
|
// Tiếng Việt
|
|
828
1035
|
vi: {
|
|
829
1036
|
title: "Qu\xE9t \u0111\u1EC3 \u0111\u0103ng nh\u1EADp",
|
|
1037
|
+
titleIdentify: "Qu\xE9t \u0111\u1EC3 x\xE1c minh danh t\xEDnh c\u1EE7a b\u1EA1n",
|
|
1038
|
+
titlePresence: "Qu\xE9t \u0111\u1EC3 ch\u1EE9ng minh b\u1EA1n l\xE0 ng\u01B0\u1EDDi th\u1EADt",
|
|
830
1039
|
titleApprove: "Ph\xEA duy\u1EC7t tr\xEAn \u0111i\u1EC7n tho\u1EA1i c\u1EE7a b\u1EA1n",
|
|
831
1040
|
bodyScan: "Qu\xE9t b\u1EB1ng camera \u0111i\u1EC7n tho\u1EA1i ho\u1EB7c \u1EE9ng d\u1EE5ng ZOREAL ID.",
|
|
1041
|
+
bodyLink: "Ph\xEA duy\u1EC7t l\u1EA7n \u0111\u0103ng nh\u1EADp n\xE0y trong \u1EE9ng d\u1EE5ng ZOREAL ID tr\xEAn \u0111i\u1EC7n tho\u1EA1i n\xE0y.",
|
|
832
1042
|
bodyApprove: "Ph\xEA duy\u1EC7t \u0111\u0103ng nh\u1EADp trong \u1EE9ng d\u1EE5ng ZOREAL ID c\u1EE7a b\u1EA1n.",
|
|
833
1043
|
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.",
|
|
834
1044
|
waiting: "\u0110ang ch\u1EDD qu\xE9t m\xE3",
|
|
@@ -839,7 +1049,9 @@ var TRANSLATIONS = {
|
|
|
839
1049
|
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.",
|
|
840
1050
|
cancel: "H\u1EE7y",
|
|
841
1051
|
close: "\u0110\xF3ng",
|
|
842
|
-
qrAlt: "M\xE3 QR \u0111\u1EC3 \u0111\u0103ng nh\u1EADp b\u1EB1ng ZOREAL"
|
|
1052
|
+
qrAlt: "M\xE3 QR \u0111\u1EC3 \u0111\u0103ng nh\u1EADp b\u1EB1ng ZOREAL",
|
|
1053
|
+
buttonContinue: "Ti\u1EBFp t\u1EE5c v\u1EDBi ZOREAL",
|
|
1054
|
+
openApp: "M\u1EDF ZOREAL ID"
|
|
843
1055
|
}
|
|
844
1056
|
};
|
|
845
1057
|
var RTL = /* @__PURE__ */ new Set(["ar", "he", "iw", "ur"]);
|
|
@@ -1144,12 +1356,58 @@ var CSS = `
|
|
|
1144
1356
|
dim glow. Paused rather than removed, so it does not jump back to its start
|
|
1145
1357
|
on the way out. */
|
|
1146
1358
|
.${PREFIX}-qr-well[data-spent="true"] .${PREFIX}-qr-beam::after,
|
|
1147
|
-
.${PREFIX}-qr-well[data-spent="true"] .${PREFIX}-qr-beam-glow-band::after
|
|
1359
|
+
.${PREFIX}-qr-well[data-spent="true"] .${PREFIX}-qr-beam-glow-band::after,
|
|
1360
|
+
.${PREFIX}-link-well[data-ready="true"] .${PREFIX}-qr-beam::after,
|
|
1361
|
+
.${PREFIX}-link-well[data-ready="true"] .${PREFIX}-qr-beam-glow-band::after {
|
|
1148
1362
|
animation-play-state: paused;
|
|
1149
1363
|
opacity: 0;
|
|
1150
1364
|
}
|
|
1151
|
-
.${PREFIX}-qr-well[data-spent="true"] .${PREFIX}-qr-beam::before
|
|
1152
|
-
.${PREFIX}-
|
|
1365
|
+
.${PREFIX}-qr-well[data-spent="true"] .${PREFIX}-qr-beam::before,
|
|
1366
|
+
.${PREFIX}-link-well[data-ready="true"] .${PREFIX}-qr-beam::before { opacity: 0.55; }
|
|
1367
|
+
.${PREFIX}-qr-well[data-spent="true"] .${PREFIX}-qr-beam-glow-band::before,
|
|
1368
|
+
.${PREFIX}-link-well[data-ready="true"] .${PREFIX}-qr-beam-glow-band::before { opacity: 0.7; }
|
|
1369
|
+
|
|
1370
|
+
/* Same device: no code to scan. A round well with the mark carries the same
|
|
1371
|
+
light while the sign-in is being created, and settles once the link below
|
|
1372
|
+
it is ready to tap. A circle keeps the sweep even all the way round. */
|
|
1373
|
+
.${PREFIX}-link-well {
|
|
1374
|
+
position: relative;
|
|
1375
|
+
display: grid;
|
|
1376
|
+
place-items: center;
|
|
1377
|
+
box-sizing: border-box;
|
|
1378
|
+
width: 112px;
|
|
1379
|
+
height: 112px;
|
|
1380
|
+
margin: 20px auto 0;
|
|
1381
|
+
border: 1px solid var(--zrl-line);
|
|
1382
|
+
border-radius: 999px;
|
|
1383
|
+
background: var(--zrl-surface-sunken);
|
|
1384
|
+
--zrl-radius: 56px;
|
|
1385
|
+
--zrl-beam-time: 4s;
|
|
1386
|
+
}
|
|
1387
|
+
.${PREFIX}-link-well svg { position: relative; }
|
|
1388
|
+
|
|
1389
|
+
/* The control that opens the app: a real link, because a browser hands a
|
|
1390
|
+
link to an app only from a tap. It has no address until the sign-in
|
|
1391
|
+
exists, and reads as disabled until then. */
|
|
1392
|
+
.${PREFIX}-open {
|
|
1393
|
+
display: block;
|
|
1394
|
+
box-sizing: border-box;
|
|
1395
|
+
width: 100%;
|
|
1396
|
+
margin: 20px 0 0;
|
|
1397
|
+
padding: 12px 16px;
|
|
1398
|
+
border-radius: 12px;
|
|
1399
|
+
background: var(--zrl-accent);
|
|
1400
|
+
color: #ffffff;
|
|
1401
|
+
font: inherit;
|
|
1402
|
+
font-size: 15px;
|
|
1403
|
+
font-weight: 600;
|
|
1404
|
+
text-align: center;
|
|
1405
|
+
text-decoration: none;
|
|
1406
|
+
cursor: pointer;
|
|
1407
|
+
transition: opacity 200ms ease-out, transform 150ms ease-out;
|
|
1408
|
+
}
|
|
1409
|
+
.${PREFIX}-open:active { transform: scale(0.99); }
|
|
1410
|
+
.${PREFIX}-open[aria-disabled="true"] { opacity: 0.45; cursor: default; pointer-events: none; }
|
|
1153
1411
|
|
|
1154
1412
|
.${PREFIX}-qr {
|
|
1155
1413
|
display: block;
|
|
@@ -1259,7 +1517,11 @@ var CSS = `
|
|
|
1259
1517
|
margin: 6px 0 0;
|
|
1260
1518
|
font-size: 12px;
|
|
1261
1519
|
color: var(--zrl-ink-mute);
|
|
1520
|
+
text-decoration: none;
|
|
1521
|
+
border-radius: 6px;
|
|
1522
|
+
transition: color 150ms ease-out;
|
|
1262
1523
|
}
|
|
1524
|
+
.${PREFIX}-secured:hover { color: var(--zrl-ink); }
|
|
1263
1525
|
|
|
1264
1526
|
.${PREFIX}-close {
|
|
1265
1527
|
position: absolute;
|
|
@@ -1375,6 +1637,15 @@ var MARK_PATHS = [
|
|
|
1375
1637
|
"M49.4,39.9c-3.3.6-6.9,0-10-1.8l-.8-.5h0c-.8-.5-1.1-1.5-.6-2.3s1.5-1.1,2.3-.6l.8.5c2.8,1.6,6,1.9,9,1.2,1-.3,2-.7,3-1.2h0c.8-.5,1.8-.2,2.3.6.5.9.2,1.9-.6,2.4,0,0-.1,0-.2,0-.2.1-.5.3-.7.4-1.4.7-2.8,1.1-4.4,1.4Z",
|
|
1376
1638
|
"M35.8,34c-.5.8-1.5,1.1-2.3.6s-1.1-1.5-.6-2.3,1.5-1.1,2.3-.6,1.1,1.5.6,2.3Z"
|
|
1377
1639
|
];
|
|
1640
|
+
function markOnly(size) {
|
|
1641
|
+
const node = svg("0 0 76 76", { width: String(size), height: String(size) });
|
|
1642
|
+
const g = document.createElementNS(SVG_NS, "g");
|
|
1643
|
+
g.setAttribute("fill", ZOREAL_BLUE);
|
|
1644
|
+
g.setAttribute("fill-rule", "evenodd");
|
|
1645
|
+
for (const d of MARK_PATHS) g.appendChild(path(d));
|
|
1646
|
+
node.appendChild(g);
|
|
1647
|
+
return node;
|
|
1648
|
+
}
|
|
1378
1649
|
function lockup(height) {
|
|
1379
1650
|
const node = svg("0 0 240 58.5", {
|
|
1380
1651
|
height: String(height),
|
|
@@ -1415,13 +1686,17 @@ function mountPairingModal(state, options) {
|
|
|
1415
1686
|
const title = el("h2", cx("title"));
|
|
1416
1687
|
title.id = titleId;
|
|
1417
1688
|
const bodyText = el("p", cx("body-text"));
|
|
1689
|
+
const linkMode = state.appLink === true;
|
|
1690
|
+
const light = () => {
|
|
1691
|
+
const glow = el("span", cx("qr-beam-glow"));
|
|
1692
|
+
glow.setAttribute("aria-hidden", "true");
|
|
1693
|
+
glow.appendChild(el("span", cx("qr-beam-glow-band")));
|
|
1694
|
+
const beam = el("span", cx("qr-beam"));
|
|
1695
|
+
beam.setAttribute("aria-hidden", "true");
|
|
1696
|
+
return [glow, beam];
|
|
1697
|
+
};
|
|
1418
1698
|
const well = el("div", cx("qr-well"));
|
|
1419
|
-
|
|
1420
|
-
glow.setAttribute("aria-hidden", "true");
|
|
1421
|
-
glow.appendChild(el("span", cx("qr-beam-glow-band")));
|
|
1422
|
-
const beam = el("span", cx("qr-beam"));
|
|
1423
|
-
beam.setAttribute("aria-hidden", "true");
|
|
1424
|
-
well.append(glow, beam);
|
|
1699
|
+
well.append(...light());
|
|
1425
1700
|
const qr = el("img", cx("qr"));
|
|
1426
1701
|
qr.alt = t.qrAlt;
|
|
1427
1702
|
qr.width = 180;
|
|
@@ -1438,19 +1713,36 @@ function mountPairingModal(state, options) {
|
|
|
1438
1713
|
const statusLabel = el("span");
|
|
1439
1714
|
status.append(dot, statusLabel);
|
|
1440
1715
|
const timer = el("p", cx("timer"));
|
|
1441
|
-
|
|
1716
|
+
const linkWell = el("div", cx("link-well"));
|
|
1717
|
+
linkWell.append(...light(), markOnly(48));
|
|
1718
|
+
const open = el("a", cx("open"), t.openApp);
|
|
1719
|
+
open.target = "_blank";
|
|
1720
|
+
open.rel = "noopener";
|
|
1721
|
+
open.setAttribute("aria-disabled", "true");
|
|
1722
|
+
if (linkMode) body.append(mark, title, bodyText, linkWell, open, status, timer);
|
|
1723
|
+
else body.append(mark, title, bodyText, well, status, timer);
|
|
1442
1724
|
const help = el("div", cx("help"));
|
|
1443
1725
|
help.append(el("p", cx("help-title"), t.noIdTitle), el("p", cx("help-body"), t.noIdBody));
|
|
1444
1726
|
const footer = el("div", cx("footer"));
|
|
1445
1727
|
const cancelBtn = el("button", cx("cancel"), t.cancel);
|
|
1446
1728
|
cancelBtn.type = "button";
|
|
1447
|
-
const secured = el("
|
|
1729
|
+
const secured = el("a", cx("secured"));
|
|
1730
|
+
secured.href = "https://zoreal.com";
|
|
1731
|
+
secured.target = "_blank";
|
|
1732
|
+
secured.rel = "noopener";
|
|
1448
1733
|
secured.append(strokeIcon(13, ["M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z", "m9 12 2 2 4-4"]), document.createTextNode(t.secured));
|
|
1449
1734
|
footer.append(cancelBtn, secured);
|
|
1450
|
-
card.append(closeBtn, body,
|
|
1735
|
+
if (linkMode) card.append(closeBtn, body, footer);
|
|
1736
|
+
else card.append(closeBtn, body, help, footer);
|
|
1451
1737
|
scrim.appendChild(card);
|
|
1452
|
-
|
|
1453
|
-
|
|
1738
|
+
let deadline = Date.now() + timeoutMs;
|
|
1739
|
+
let serverBound = false;
|
|
1740
|
+
const bindDeadline = (s) => {
|
|
1741
|
+
if (serverBound || typeof s.expiresIn !== "number") return;
|
|
1742
|
+
serverBound = true;
|
|
1743
|
+
deadline = Date.now() + Math.min(timeoutMs, s.expiresIn * 1e3);
|
|
1744
|
+
};
|
|
1745
|
+
bindDeadline(state);
|
|
1454
1746
|
let shown = state.qrUrl;
|
|
1455
1747
|
let loading = null;
|
|
1456
1748
|
const spent = () => qr.dataset.spent === "true";
|
|
@@ -1476,9 +1768,19 @@ function mountPairingModal(state, options) {
|
|
|
1476
1768
|
};
|
|
1477
1769
|
const paint = (s) => {
|
|
1478
1770
|
const settled = s.status === "claimed" || s.status === "enrolling";
|
|
1479
|
-
|
|
1480
|
-
|
|
1771
|
+
bindDeadline(s);
|
|
1772
|
+
title.textContent = settled ? t.titleApprove : titleFor(t, options.intent ?? "sign-in");
|
|
1773
|
+
bodyText.textContent = s.status === "enrolling" ? t.bodyEnrolling : settled ? t.bodyApprove : linkMode ? t.bodyLink : t.bodyScan;
|
|
1481
1774
|
statusLabel.textContent = settled ? t.waitingApproval : t.waiting;
|
|
1775
|
+
status.style.display = linkMode && !settled ? "none" : "";
|
|
1776
|
+
if (linkMode) {
|
|
1777
|
+
if (s.pairUrl && !open.hasAttribute("href")) {
|
|
1778
|
+
open.href = s.pairUrl;
|
|
1779
|
+
open.removeAttribute("aria-disabled");
|
|
1780
|
+
linkWell.dataset.ready = "true";
|
|
1781
|
+
}
|
|
1782
|
+
return;
|
|
1783
|
+
}
|
|
1482
1784
|
qr.dataset.spent = String(settled);
|
|
1483
1785
|
well.dataset.spent = String(settled);
|
|
1484
1786
|
overlay.style.display = settled ? "" : "none";
|
|
@@ -1550,6 +1852,7 @@ function startLogin(options) {
|
|
|
1550
1852
|
const issuer = options.issuer ?? DEFAULT_ISSUER;
|
|
1551
1853
|
const controller = new AbortController();
|
|
1552
1854
|
const useAppLink = options.display === "link" || options.display !== "qr" && isMobileUserAgent();
|
|
1855
|
+
const intent = resolveIntent(options.intent, options.scope, options.acr_values);
|
|
1553
1856
|
const surface = {};
|
|
1554
1857
|
const cancel = () => controller.abort();
|
|
1555
1858
|
let modal = null;
|
|
@@ -1566,6 +1869,18 @@ function startLogin(options) {
|
|
|
1566
1869
|
const state = generateState();
|
|
1567
1870
|
const nonce = generateState();
|
|
1568
1871
|
try {
|
|
1872
|
+
if ((options.pairingUI ?? "modal") === "modal" && useAppLink) {
|
|
1873
|
+
modal = mountPairingModal(
|
|
1874
|
+
{ status: "pending", appLink: true, intent, cancel },
|
|
1875
|
+
{
|
|
1876
|
+
onCancel: cancel,
|
|
1877
|
+
intent,
|
|
1878
|
+
locale: options.locale,
|
|
1879
|
+
theme: options.theme,
|
|
1880
|
+
timeoutMs: options.pairingTimeoutMs
|
|
1881
|
+
}
|
|
1882
|
+
);
|
|
1883
|
+
}
|
|
1569
1884
|
const started = await startPairing(
|
|
1570
1885
|
issuer,
|
|
1571
1886
|
{
|
|
@@ -1604,22 +1919,23 @@ function startLogin(options) {
|
|
|
1604
1919
|
qrUrl: surface.qrUrl,
|
|
1605
1920
|
qrRefreshSeconds,
|
|
1606
1921
|
appLink: useAppLink,
|
|
1922
|
+
intent,
|
|
1607
1923
|
cancel
|
|
1608
1924
|
});
|
|
1609
1925
|
let lastPolled = { status: "pending", expiresIn: started.expires_in };
|
|
1610
1926
|
const initial = withSurface(lastPolled);
|
|
1611
1927
|
options.onState?.(initial);
|
|
1612
|
-
if (
|
|
1928
|
+
if (modal) {
|
|
1929
|
+
modal.update(initial);
|
|
1930
|
+
} else if ((options.pairingUI ?? "modal") === "modal") {
|
|
1613
1931
|
modal = mountPairingModal(initial, {
|
|
1614
1932
|
onCancel: cancel,
|
|
1933
|
+
intent,
|
|
1615
1934
|
locale: options.locale,
|
|
1616
1935
|
theme: options.theme,
|
|
1617
1936
|
timeoutMs: options.pairingTimeoutMs
|
|
1618
1937
|
});
|
|
1619
1938
|
}
|
|
1620
|
-
if (useAppLink && typeof window !== "undefined") {
|
|
1621
|
-
window.location.assign(started.pair_url);
|
|
1622
|
-
}
|
|
1623
1939
|
if (qrRefreshSeconds !== void 0) {
|
|
1624
1940
|
const periodMs = qrRefreshSeconds * 1e3;
|
|
1625
1941
|
let due = Date.now() + periodMs;
|
|
@@ -1739,6 +2055,7 @@ function startLogin(options) {
|
|
|
1739
2055
|
isMobileUserAgent,
|
|
1740
2056
|
mountPairingModal,
|
|
1741
2057
|
pollUntilApproved,
|
|
2058
|
+
resolveIntent,
|
|
1742
2059
|
startLogin,
|
|
1743
2060
|
startPairing,
|
|
1744
2061
|
unsafeClaims
|