@zoreal/oauth2-js 0.1.13 → 0.1.14

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/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.13";
63
+ var SDK_VERSION = "0.1.14";
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,9 +189,27 @@ 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.",
196
215
  bodyApprove: "Approve the login in your ZOREAL ID app.",
@@ -203,12 +222,15 @@ var en = {
203
222
  noIdBody: "Scan the same code to download the app and create one for free. It only takes a minute.",
204
223
  cancel: "Cancel",
205
224
  close: "Close",
206
- qrAlt: "QR code to sign in with ZOREAL"
225
+ qrAlt: "QR code to sign in with ZOREAL",
226
+ buttonContinue: "Continue with ZOREAL"
207
227
  };
208
228
  var TRANSLATIONS = {
209
229
  en,
210
230
  sv: {
211
231
  title: "Skanna f\xF6r att logga in",
232
+ titleIdentify: "Skanna f\xF6r att verifiera din identitet",
233
+ titlePresence: "Skanna f\xF6r att bevisa att du \xE4r en riktig m\xE4nniska",
212
234
  titleApprove: "Godk\xE4nn p\xE5 telefonen",
213
235
  bodyScan: "Skanna med telefonens kamera eller ZOREAL ID-appen.",
214
236
  bodyApprove: "Godk\xE4nn inloggningen i ZOREAL ID-appen.",
@@ -221,10 +243,13 @@ var TRANSLATIONS = {
221
243
  noIdBody: "Skanna samma kod f\xF6r att ladda ner appen och skapa ett gratis. Det tar bara en minut.",
222
244
  cancel: "Avbryt",
223
245
  close: "St\xE4ng",
224
- qrAlt: "QR-kod f\xF6r att logga in med ZOREAL"
246
+ qrAlt: "QR-kod f\xF6r att logga in med ZOREAL",
247
+ buttonContinue: "Forts\xE4tt med ZOREAL"
225
248
  },
226
249
  es: {
227
250
  title: "Escanea para iniciar sesi\xF3n",
251
+ titleIdentify: "Escanea para verificar tu identidad",
252
+ titlePresence: "Escanea para demostrar que eres una persona real",
228
253
  titleApprove: "Apru\xE9balo en tu tel\xE9fono",
229
254
  bodyScan: "Escanea con la c\xE1mara de tu tel\xE9fono o con la app ZOREAL ID.",
230
255
  bodyApprove: "Aprueba el inicio de sesi\xF3n en tu app ZOREAL ID.",
@@ -237,10 +262,13 @@ var TRANSLATIONS = {
237
262
  noIdBody: "Escanea el mismo c\xF3digo para descargar la app y crear una gratis. Solo toma un minuto.",
238
263
  cancel: "Cancelar",
239
264
  close: "Cerrar",
240
- qrAlt: "C\xF3digo QR para iniciar sesi\xF3n con ZOREAL"
265
+ qrAlt: "C\xF3digo QR para iniciar sesi\xF3n con ZOREAL",
266
+ buttonContinue: "Continuar con ZOREAL"
241
267
  },
242
268
  pt: {
243
269
  title: "Digitalize para entrar",
270
+ titleIdentify: "Digitalize para verificar a sua identidade",
271
+ titlePresence: "Digitalize para provar que \xE9 uma pessoa real",
244
272
  titleApprove: "Aprove no seu telefone",
245
273
  bodyScan: "Digitalize com a c\xE2mara do seu telefone ou com a app ZOREAL ID.",
246
274
  bodyApprove: "Aprove o login no app ZOREAL ID.",
@@ -253,10 +281,13 @@ var TRANSLATIONS = {
253
281
  noIdBody: "Digitalize o mesmo c\xF3digo para baixar o app e criar uma conta gr\xE1tis. Leva s\xF3 um minuto.",
254
282
  cancel: "Cancelar",
255
283
  close: "Fechar",
256
- qrAlt: "C\xF3digo QR para entrar com ZOREAL"
284
+ qrAlt: "C\xF3digo QR para entrar com ZOREAL",
285
+ buttonContinue: "Continuar com ZOREAL"
257
286
  },
258
287
  fr: {
259
288
  title: "Scannez pour vous connecter",
289
+ titleIdentify: "Scannez pour v\xE9rifier votre identit\xE9",
290
+ titlePresence: "Scannez pour prouver que vous \xEAtes bien un humain",
260
291
  titleApprove: "Approuvez sur votre t\xE9l\xE9phone",
261
292
  bodyScan: "Scannez avec l'appareil photo de votre t\xE9l\xE9phone ou l'app ZOREAL ID.",
262
293
  bodyApprove: "Approuvez la connexion dans votre app ZOREAL ID.",
@@ -269,10 +300,13 @@ var TRANSLATIONS = {
269
300
  noIdBody: "Scannez le m\xEAme code pour t\xE9l\xE9charger l'app et en cr\xE9er un gratuitement. Cela prend une minute.",
270
301
  cancel: "Annuler",
271
302
  close: "Fermer",
272
- qrAlt: "Code QR pour se connecter avec ZOREAL"
303
+ qrAlt: "Code QR pour se connecter avec ZOREAL",
304
+ buttonContinue: "Continuer avec ZOREAL"
273
305
  },
274
306
  de: {
275
307
  title: "Zum Anmelden scannen",
308
+ titleIdentify: "Scannen, um Ihre Identit\xE4t zu verifizieren",
309
+ titlePresence: "Scannen, um zu beweisen, dass Sie ein echter Mensch sind",
276
310
  titleApprove: "Auf dem Handy best\xE4tigen",
277
311
  bodyScan: "Mit der Handykamera oder der ZOREAL ID App scannen.",
278
312
  bodyApprove: "Anmeldung in der ZOREAL ID App best\xE4tigen.",
@@ -285,10 +319,13 @@ var TRANSLATIONS = {
285
319
  noIdBody: "Denselben Code scannen, um die App zu laden und kostenlos eine zu erstellen. Dauert nur eine Minute.",
286
320
  cancel: "Abbrechen",
287
321
  close: "Schlie\xDFen",
288
- qrAlt: "QR-Code f\xFCr die Anmeldung mit ZOREAL"
322
+ qrAlt: "QR-Code f\xFCr die Anmeldung mit ZOREAL",
323
+ buttonContinue: "Weiter mit ZOREAL"
289
324
  },
290
325
  ru: {
291
326
  title: "\u041E\u0442\u0441\u043A\u0430\u043D\u0438\u0440\u0443\u0439\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u0432\u043E\u0439\u0442\u0438",
327
+ 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",
328
+ 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
329
  titleApprove: "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u043D\u0430 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0435",
293
330
  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.",
294
331
  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.",
@@ -301,10 +338,13 @@ var TRANSLATIONS = {
301
338
  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
339
  cancel: "\u041E\u0442\u043C\u0435\u043D\u0430",
303
340
  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"
341
+ qrAlt: "QR-\u043A\u043E\u0434 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0430 \u0447\u0435\u0440\u0435\u0437 ZOREAL",
342
+ buttonContinue: "\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C \u0441 ZOREAL"
305
343
  },
306
344
  ja: {
307
345
  title: "\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u30ED\u30B0\u30A4\u30F3",
346
+ titleIdentify: "\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u672C\u4EBA\u78BA\u8A8D",
347
+ titlePresence: "\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u5B9F\u5728\u306E\u4EBA\u7269\u3067\u3042\u308B\u3053\u3068\u3092\u8A3C\u660E",
308
348
  titleApprove: "\u30B9\u30DE\u30FC\u30C8\u30D5\u30A9\u30F3\u3067\u627F\u8A8D",
309
349
  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",
310
350
  bodyApprove: "ZOREAL ID\u30A2\u30D7\u30EA\u3067\u30ED\u30B0\u30A4\u30F3\u3092\u627F\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
@@ -317,10 +357,13 @@ var TRANSLATIONS = {
317
357
  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
358
  cancel: "\u30AD\u30E3\u30F3\u30BB\u30EB",
319
359
  close: "\u9589\u3058\u308B",
320
- qrAlt: "ZOREAL\u3067\u30ED\u30B0\u30A4\u30F3\u3059\u308B\u305F\u3081\u306EQR\u30B3\u30FC\u30C9"
360
+ qrAlt: "ZOREAL\u3067\u30ED\u30B0\u30A4\u30F3\u3059\u308B\u305F\u3081\u306EQR\u30B3\u30FC\u30C9",
361
+ buttonContinue: "ZOREAL\u3067\u7D9A\u884C"
321
362
  },
322
363
  hi: {
323
364
  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",
365
+ 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",
366
+ 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
367
  titleApprove: "\u0905\u092A\u0928\u0947 \u092B\u094B\u0928 \u092A\u0930 \u0938\u094D\u0935\u0940\u0915\u0943\u0924 \u0915\u0930\u0947\u0902",
325
368
  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",
326
369
  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",
@@ -333,10 +376,13 @@ var TRANSLATIONS = {
333
376
  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
377
  cancel: "\u0930\u0926\u094D\u0926 \u0915\u0930\u0947\u0902",
335
378
  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"
379
+ qrAlt: "ZOREAL \u0938\u0947 \u0938\u093E\u0907\u0928 \u0907\u0928 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F QR \u0915\u094B\u0921",
380
+ buttonContinue: "ZOREAL \u0915\u0947 \u0938\u093E\u0925 \u091C\u093E\u0930\u0940 \u0930\u0916\u0947\u0902"
337
381
  },
338
382
  zhs: {
339
383
  title: "\u626B\u7801\u767B\u5F55",
384
+ titleIdentify: "\u626B\u7801\u9A8C\u8BC1\u8EAB\u4EFD",
385
+ titlePresence: "\u626B\u7801\u8BC1\u660E\u60A8\u662F\u771F\u4EBA",
340
386
  titleApprove: "\u5728\u624B\u673A\u4E0A\u6279\u51C6",
341
387
  bodyScan: "\u4F7F\u7528\u624B\u673A\u76F8\u673A\u6216 ZOREAL ID \u5E94\u7528\u626B\u63CF\u3002",
342
388
  bodyApprove: "\u8BF7\u5728 ZOREAL ID \u5E94\u7528\u4E2D\u6279\u51C6\u767B\u5F55\u3002",
@@ -349,10 +395,13 @@ var TRANSLATIONS = {
349
395
  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
396
  cancel: "\u53D6\u6D88",
351
397
  close: "\u5173\u95ED",
352
- qrAlt: "\u4F7F\u7528 ZOREAL \u767B\u5F55\u7684\u4E8C\u7EF4\u7801"
398
+ qrAlt: "\u4F7F\u7528 ZOREAL \u767B\u5F55\u7684\u4E8C\u7EF4\u7801",
399
+ buttonContinue: "\u4F7F\u7528 ZOREAL \u7EE7\u7EED"
353
400
  },
354
401
  zht: {
355
402
  title: "\u6383\u78BC\u767B\u5165",
403
+ titleIdentify: "\u6383\u78BC\u9A57\u8B49\u8EAB\u5206",
404
+ titlePresence: "\u6383\u78BC\u8B49\u660E\u60A8\u662F\u771F\u4EBA",
356
405
  titleApprove: "\u5728\u624B\u6A5F\u4E0A\u6838\u51C6",
357
406
  bodyScan: "\u4F7F\u7528\u624B\u6A5F\u76F8\u6A5F\u6216 ZOREAL ID \u61C9\u7528\u7A0B\u5F0F\u6383\u63CF\u3002",
358
407
  bodyApprove: "\u8ACB\u5728 ZOREAL ID \u61C9\u7528\u7A0B\u5F0F\u4E2D\u6838\u51C6\u767B\u5165\u3002",
@@ -365,10 +414,13 @@ var TRANSLATIONS = {
365
414
  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
415
  cancel: "\u53D6\u6D88",
367
416
  close: "\u95DC\u9589",
368
- qrAlt: "\u4F7F\u7528 ZOREAL \u767B\u5165\u7684 QR code"
417
+ qrAlt: "\u4F7F\u7528 ZOREAL \u767B\u5165\u7684 QR code",
418
+ buttonContinue: "\u4F7F\u7528 ZOREAL \u7E7C\u7E8C"
369
419
  },
370
420
  ar: {
371
421
  title: "\u0627\u0645\u0633\u062D \u0644\u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644",
422
+ titleIdentify: "\u0627\u0645\u0633\u062D \u0644\u0644\u062A\u062D\u0642\u0642 \u0645\u0646 \u0647\u0648\u064A\u062A\u0643",
423
+ 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
424
  titleApprove: "\u0648\u0627\u0641\u0642 \u0639\u0644\u0649 \u0647\u0627\u062A\u0641\u0643",
373
425
  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.",
374
426
  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.",
@@ -381,10 +433,13 @@ var TRANSLATIONS = {
381
433
  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
434
  cancel: "\u0625\u0644\u063A\u0627\u0621",
383
435
  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"
436
+ 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",
437
+ buttonContinue: "\u0627\u0644\u0645\u062A\u0627\u0628\u0639\u0629 \u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645 ZOREAL"
385
438
  },
386
439
  ko: {
387
440
  title: "\uC2A4\uCE94\uD558\uC5EC \uB85C\uADF8\uC778",
441
+ titleIdentify: "\uC2A4\uCE94\uD558\uC5EC \uC2E0\uC6D0 \uD655\uC778",
442
+ titlePresence: "\uC2A4\uCE94\uD558\uC5EC \uC2E4\uC81C \uC0AC\uB78C\uC784\uC744 \uC99D\uBA85",
388
443
  titleApprove: "\uD734\uB300\uD3F0\uC5D0\uC11C \uC2B9\uC778",
389
444
  bodyScan: "\uD734\uB300\uD3F0 \uCE74\uBA54\uB77C \uB610\uB294 ZOREAL ID \uC571\uC73C\uB85C \uC2A4\uCE94\uD558\uC138\uC694.",
390
445
  bodyApprove: "ZOREAL ID \uC571\uC5D0\uC11C \uB85C\uADF8\uC778\uC744 \uC2B9\uC778\uD558\uC138\uC694.",
@@ -397,11 +452,14 @@ var TRANSLATIONS = {
397
452
  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
453
  cancel: "\uCDE8\uC18C",
399
454
  close: "\uB2EB\uAE30",
400
- qrAlt: "ZOREAL\uB85C \uB85C\uADF8\uC778\uD558\uAE30 \uC704\uD55C QR \uCF54\uB4DC"
455
+ qrAlt: "ZOREAL\uB85C \uB85C\uADF8\uC778\uD558\uAE30 \uC704\uD55C QR \uCF54\uB4DC",
456
+ buttonContinue: "ZOREAL\uB85C \uACC4\uC18D"
401
457
  },
402
458
  // Български
403
459
  bg: {
404
460
  title: "\u0421\u043A\u0430\u043D\u0438\u0440\u0430\u0439\u0442\u0435 \u0437\u0430 \u0432\u0445\u043E\u0434",
461
+ 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",
462
+ 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
463
  titleApprove: "\u041F\u043E\u0442\u0432\u044A\u0440\u0434\u0435\u0442\u0435 \u043D\u0430 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u0441\u0438",
406
464
  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.",
407
465
  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.",
@@ -414,11 +472,14 @@ var TRANSLATIONS = {
414
472
  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
473
  cancel: "\u041E\u0442\u043A\u0430\u0437",
416
474
  close: "\u0417\u0430\u0442\u0432\u043E\u0440\u0438",
417
- qrAlt: "QR \u043A\u043E\u0434 \u0437\u0430 \u0432\u0445\u043E\u0434 \u0441\u044A\u0441 ZOREAL"
475
+ qrAlt: "QR \u043A\u043E\u0434 \u0437\u0430 \u0432\u0445\u043E\u0434 \u0441\u044A\u0441 ZOREAL",
476
+ buttonContinue: "\u041F\u0440\u043E\u0434\u044A\u043B\u0436\u0438 \u0441\u044A\u0441 ZOREAL"
418
477
  },
419
478
  // বাংলা
420
479
  bn: {
421
480
  title: "\u09B8\u09BE\u0987\u09A8 \u0987\u09A8 \u0995\u09B0\u09A4\u09C7 \u09B8\u09CD\u0995\u09CD\u09AF\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8",
481
+ 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",
482
+ 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
483
  titleApprove: "\u0986\u09AA\u09A8\u09BE\u09B0 \u09AB\u09CB\u09A8\u09C7 \u0985\u09A8\u09C1\u09AE\u09CB\u09A6\u09A8 \u0995\u09B0\u09C1\u09A8",
423
484
  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",
424
485
  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",
@@ -431,11 +492,14 @@ var TRANSLATIONS = {
431
492
  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
493
  cancel: "\u09AC\u09BE\u09A4\u09BF\u09B2",
433
494
  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"
495
+ 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",
496
+ buttonContinue: "ZOREAL \u09A6\u09BF\u09AF\u09BC\u09C7 \u099A\u09BE\u09B2\u09BF\u09AF\u09BC\u09C7 \u09AF\u09BE\u09A8"
435
497
  },
436
498
  // Bosanski
437
499
  bs: {
438
500
  title: "Skenirajte za prijavu",
501
+ titleIdentify: "Skenirajte da potvrdite svoj identitet",
502
+ titlePresence: "Skenirajte da doka\u017Eete da ste stvarna osoba",
439
503
  titleApprove: "Odobrite na svom telefonu",
440
504
  bodyScan: "Skenirajte kamerom svog telefona ili aplikacijom ZOREAL ID.",
441
505
  bodyApprove: "Odobrite prijavu u aplikaciji ZOREAL ID.",
@@ -448,11 +512,14 @@ var TRANSLATIONS = {
448
512
  noIdBody: "Skenirajte isti kod da preuzmete aplikaciju i besplatno ga napravite. Traje samo minutu.",
449
513
  cancel: "Otka\u017Ei",
450
514
  close: "Zatvori",
451
- qrAlt: "QR kod za prijavu putem ZOREAL-a"
515
+ qrAlt: "QR kod za prijavu putem ZOREAL-a",
516
+ buttonContinue: "Nastavi sa ZOREAL-om"
452
517
  },
453
518
  // Čeština
454
519
  cs: {
455
520
  title: "P\u0159ihlaste se naskenov\xE1n\xEDm",
521
+ titleIdentify: "Naskenujte pro ov\u011B\u0159en\xED toto\u017Enosti",
522
+ titlePresence: "Naskenujte a proka\u017Ete, \u017Ee jste skute\u010Dn\xFD \u010Dlov\u011Bk",
456
523
  titleApprove: "Potvr\u010Fte v telefonu",
457
524
  bodyScan: "Naskenujte fotoapar\xE1tem telefonu nebo aplikac\xED ZOREAL ID.",
458
525
  bodyApprove: "Potvr\u010Fte p\u0159ihl\xE1\u0161en\xED v aplikaci ZOREAL ID.",
@@ -465,11 +532,14 @@ var TRANSLATIONS = {
465
532
  noIdBody: "Naskenov\xE1n\xEDm stejn\xE9ho k\xF3du si st\xE1hnete aplikaci a zdarma vytvo\u0159\xEDte ZOREAL ID. Zabere to jen minutu.",
466
533
  cancel: "Zru\u0161it",
467
534
  close: "Zav\u0159\xEDt",
468
- qrAlt: "QR k\xF3d pro p\u0159ihl\xE1\u0161en\xED pomoc\xED ZOREAL"
535
+ qrAlt: "QR k\xF3d pro p\u0159ihl\xE1\u0161en\xED pomoc\xED ZOREAL",
536
+ buttonContinue: "Pokra\u010Dovat se ZOREAL"
469
537
  },
470
538
  // Dansk
471
539
  da: {
472
540
  title: "Scan for at logge ind",
541
+ titleIdentify: "Scan for at bekr\xE6fte din identitet",
542
+ titlePresence: "Scan for at bevise, at du er et rigtigt menneske",
473
543
  titleApprove: "Godkend p\xE5 din telefon",
474
544
  bodyScan: "Scan med telefonens kamera eller ZOREAL ID-appen.",
475
545
  bodyApprove: "Godkend login i din ZOREAL ID-app.",
@@ -482,11 +552,14 @@ var TRANSLATIONS = {
482
552
  noIdBody: "Scan den samme kode for at hente appen og oprette et gratis. Det tager kun et minut.",
483
553
  cancel: "Annuller",
484
554
  close: "Luk",
485
- qrAlt: "QR-kode til at logge ind med ZOREAL"
555
+ qrAlt: "QR-kode til at logge ind med ZOREAL",
556
+ buttonContinue: "Forts\xE6t med ZOREAL"
486
557
  },
487
558
  // Ελληνικά
488
559
  el: {
489
560
  title: "\u03A3\u03AC\u03C1\u03C9\u03C3\u03B7 \u03B3\u03B9\u03B1 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7",
561
+ 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",
562
+ 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
563
  titleApprove: "\u0388\u03B3\u03BA\u03C1\u03B9\u03C3\u03B7 \u03B1\u03C0\u03CC \u03C4\u03BF \u03BA\u03B9\u03BD\u03B7\u03C4\u03CC \u03C3\u03B1\u03C2",
491
564
  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.",
492
565
  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.",
@@ -499,11 +572,14 @@ var TRANSLATIONS = {
499
572
  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
573
  cancel: "\u0386\u03BA\u03C5\u03C1\u03BF",
501
574
  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"
575
+ qrAlt: "\u039A\u03C9\u03B4\u03B9\u03BA\u03CC\u03C2 QR \u03B3\u03B9\u03B1 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7 \u03BC\u03B5 ZOREAL",
576
+ buttonContinue: "\u03A3\u03C5\u03BD\u03AD\u03C7\u03B5\u03B9\u03B1 \u03BC\u03B5 ZOREAL"
503
577
  },
504
578
  // Español (LA)
505
579
  "es-419": {
506
580
  title: "Escanea para iniciar sesi\xF3n",
581
+ titleIdentify: "Escanea para verificar tu identidad",
582
+ titlePresence: "Escanea para demostrar que eres una persona real",
507
583
  titleApprove: "Aprueba desde tu celular",
508
584
  bodyScan: "Escanea con la c\xE1mara de tu celular o con la app ZOREAL ID.",
509
585
  bodyApprove: "Aprueba el inicio de sesi\xF3n en tu app ZOREAL ID.",
@@ -516,11 +592,14 @@ var TRANSLATIONS = {
516
592
  noIdBody: "Escanea el mismo c\xF3digo para descargar la app y crear uno gratis. Solo toma un minuto.",
517
593
  cancel: "Cancelar",
518
594
  close: "Cerrar",
519
- qrAlt: "C\xF3digo QR para iniciar sesi\xF3n con ZOREAL"
595
+ qrAlt: "C\xF3digo QR para iniciar sesi\xF3n con ZOREAL",
596
+ buttonContinue: "Continuar con ZOREAL"
520
597
  },
521
598
  // Suomi
522
599
  fi: {
523
600
  title: "Kirjaudu sis\xE4\xE4n skannaamalla",
601
+ titleIdentify: "Vahvista henkil\xF6llisyytesi skannaamalla",
602
+ titlePresence: "Todista skannaamalla, ett\xE4 olet oikea ihminen",
524
603
  titleApprove: "Hyv\xE4ksy puhelimessasi",
525
604
  bodyScan: "Skannaa puhelimesi kameralla tai ZOREAL ID -sovelluksella.",
526
605
  bodyApprove: "Hyv\xE4ksy kirjautuminen ZOREAL ID -sovelluksessasi.",
@@ -533,11 +612,14 @@ var TRANSLATIONS = {
533
612
  noIdBody: "Skannaa sama koodi ladataksesi sovelluksen ja luodaksesi tunnuksen ilmaiseksi. Se vie vain minuutin.",
534
613
  cancel: "Peruuta",
535
614
  close: "Sulje",
536
- qrAlt: "QR-koodi ZOREAL-kirjautumista varten"
615
+ qrAlt: "QR-koodi ZOREAL-kirjautumista varten",
616
+ buttonContinue: "Jatka ZOREALilla"
537
617
  },
538
618
  // עברית
539
619
  he: {
540
620
  title: "\u05E1\u05E8\u05D5\u05E7 \u05DB\u05D3\u05D9 \u05DC\u05D4\u05EA\u05D7\u05D1\u05E8",
621
+ titleIdentify: "\u05E1\u05E8\u05D5\u05E7 \u05DB\u05D3\u05D9 \u05DC\u05D0\u05DE\u05EA \u05D0\u05EA \u05D6\u05D4\u05D5\u05EA\u05DA",
622
+ 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
623
  titleApprove: "\u05D0\u05E9\u05E8 \u05D1\u05D8\u05DC\u05E4\u05D5\u05DF \u05E9\u05DC\u05DA",
542
624
  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.",
543
625
  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.",
@@ -550,11 +632,14 @@ var TRANSLATIONS = {
550
632
  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
633
  cancel: "\u05D1\u05D9\u05D8\u05D5\u05DC",
552
634
  close: "\u05E1\u05D2\u05D5\u05E8",
553
- qrAlt: "\u05E7\u05D5\u05D3 QR \u05DC\u05D4\u05EA\u05D7\u05D1\u05E8\u05D5\u05EA \u05E2\u05DD ZOREAL"
635
+ qrAlt: "\u05E7\u05D5\u05D3 QR \u05DC\u05D4\u05EA\u05D7\u05D1\u05E8\u05D5\u05EA \u05E2\u05DD ZOREAL",
636
+ buttonContinue: "\u05D4\u05DE\u05E9\u05DA \u05E2\u05DD ZOREAL"
554
637
  },
555
638
  // Hrvatski
556
639
  hr: {
557
640
  title: "Skenirajte za prijavu",
641
+ titleIdentify: "Skenirajte za potvrdu identiteta",
642
+ titlePresence: "Skenirajte kako biste dokazali da ste stvarna osoba",
558
643
  titleApprove: "Odobrite na svom mobitelu",
559
644
  bodyScan: "Skenirajte kamerom svog mobitela ili aplikacijom ZOREAL ID.",
560
645
  bodyApprove: "Odobrite prijavu u aplikaciji ZOREAL ID.",
@@ -567,11 +652,14 @@ var TRANSLATIONS = {
567
652
  noIdBody: "Skenirajte isti kod da preuzmete aplikaciju i besplatno ga izradite. Traje samo minutu.",
568
653
  cancel: "Odustani",
569
654
  close: "Zatvori",
570
- qrAlt: "QR kod za prijavu putem ZOREAL-a"
655
+ qrAlt: "QR kod za prijavu putem ZOREAL-a",
656
+ buttonContinue: "Nastavi sa ZOREAL-om"
571
657
  },
572
658
  // Magyar
573
659
  hu: {
574
660
  title: "Bejelentkez\xE9s beolvas\xE1ssal",
661
+ titleIdentify: "Olvassa be a szem\xE9lyazonoss\xE1ga igazol\xE1s\xE1hoz",
662
+ titlePresence: "Olvassa be annak igazol\xE1s\xE1hoz, hogy val\xF3di ember",
575
663
  titleApprove: "J\xF3v\xE1hagy\xE1s a telefonj\xE1n",
576
664
  bodyScan: "Olvassa be a telefonja kamer\xE1j\xE1val, vagy a ZOREAL ID alkalmaz\xE1ssal.",
577
665
  bodyApprove: "Hagyja j\xF3v\xE1 a bejelentkez\xE9st a ZOREAL ID alkalmaz\xE1sban.",
@@ -584,11 +672,14 @@ var TRANSLATIONS = {
584
672
  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
673
  cancel: "M\xE9gse",
586
674
  close: "Bez\xE1r\xE1s",
587
- qrAlt: "QR-k\xF3d a ZOREAL-lal val\xF3 bejelentkez\xE9shez"
675
+ qrAlt: "QR-k\xF3d a ZOREAL-lal val\xF3 bejelentkez\xE9shez",
676
+ buttonContinue: "Folytat\xE1s a ZOREAL-lal"
588
677
  },
589
678
  // Bahasa Indonesia
590
679
  id: {
591
680
  title: "Pindai untuk masuk",
681
+ titleIdentify: "Pindai untuk memverifikasi identitas Anda",
682
+ titlePresence: "Pindai untuk membuktikan bahwa Anda manusia sungguhan",
592
683
  titleApprove: "Setujui di ponsel Anda",
593
684
  bodyScan: "Pindai dengan kamera ponsel atau aplikasi ZOREAL ID.",
594
685
  bodyApprove: "Setujui proses masuk di aplikasi ZOREAL ID Anda.",
@@ -601,11 +692,14 @@ var TRANSLATIONS = {
601
692
  noIdBody: "Pindai kode yang sama untuk mengunduh aplikasi dan membuat akun secara gratis. Hanya butuh waktu satu menit.",
602
693
  cancel: "Batal",
603
694
  close: "Tutup",
604
- qrAlt: "Kode QR untuk masuk dengan ZOREAL"
695
+ qrAlt: "Kode QR untuk masuk dengan ZOREAL",
696
+ buttonContinue: "Lanjutkan dengan ZOREAL"
605
697
  },
606
698
  // Italiano
607
699
  it: {
608
700
  title: "Scansiona per accedere",
701
+ titleIdentify: "Scansiona per verificare la tua identit\xE0",
702
+ titlePresence: "Scansiona per dimostrare di essere una persona reale",
609
703
  titleApprove: "Approva sul tuo telefono",
610
704
  bodyScan: "Scansiona con la fotocamera del telefono o con l'app ZOREAL ID.",
611
705
  bodyApprove: "Approva l'accesso nell'app ZOREAL ID.",
@@ -618,11 +712,14 @@ var TRANSLATIONS = {
618
712
  noIdBody: "Scansiona lo stesso codice per scaricare l'app e crearne uno gratis. Basta un minuto.",
619
713
  cancel: "Annulla",
620
714
  close: "Chiudi",
621
- qrAlt: "Codice QR per accedere con ZOREAL"
715
+ qrAlt: "Codice QR per accedere con ZOREAL",
716
+ buttonContinue: "Continua con ZOREAL"
622
717
  },
623
718
  // Bahasa Melayu
624
719
  ms: {
625
720
  title: "Imbas untuk log masuk",
721
+ titleIdentify: "Imbas untuk mengesahkan identiti anda",
722
+ titlePresence: "Imbas untuk membuktikan anda manusia sebenar",
626
723
  titleApprove: "Luluskan di telefon anda",
627
724
  bodyScan: "Imbas dengan kamera telefon atau aplikasi ZOREAL ID.",
628
725
  bodyApprove: "Luluskan log masuk dalam aplikasi ZOREAL ID anda.",
@@ -635,11 +732,14 @@ var TRANSLATIONS = {
635
732
  noIdBody: "Imbas kod yang sama untuk memuat turun aplikasi dan cipta satu secara percuma. Hanya mengambil masa seminit.",
636
733
  cancel: "Batal",
637
734
  close: "Tutup",
638
- qrAlt: "Kod QR untuk log masuk dengan ZOREAL"
735
+ qrAlt: "Kod QR untuk log masuk dengan ZOREAL",
736
+ buttonContinue: "Teruskan dengan ZOREAL"
639
737
  },
640
738
  // Nederlands
641
739
  nl: {
642
740
  title: "Scan om in te loggen",
741
+ titleIdentify: "Scan om je identiteit te verifi\xEBren",
742
+ titlePresence: "Scan om te bewijzen dat je een echt mens bent",
643
743
  titleApprove: "Keur goed op je telefoon",
644
744
  bodyScan: "Scan met de camera van je telefoon of de ZOREAL ID-app.",
645
745
  bodyApprove: "Keur de aanmelding goed in je ZOREAL ID-app.",
@@ -652,11 +752,14 @@ var TRANSLATIONS = {
652
752
  noIdBody: "Scan dezelfde code om de app te downloaden en gratis een account aan te maken. Dit duurt maar een minuut.",
653
753
  cancel: "Annuleren",
654
754
  close: "Sluiten",
655
- qrAlt: "QR-code om in te loggen met ZOREAL"
755
+ qrAlt: "QR-code om in te loggen met ZOREAL",
756
+ buttonContinue: "Doorgaan met ZOREAL"
656
757
  },
657
758
  // Norsk
658
759
  no: {
659
760
  title: "Skann for \xE5 logge inn",
761
+ titleIdentify: "Skann for \xE5 bekrefte identiteten din",
762
+ titlePresence: "Skann for \xE5 bevise at du er et ekte menneske",
660
763
  titleApprove: "Godkjenn p\xE5 telefonen din",
661
764
  bodyScan: "Skann med telefonens kamera eller ZOREAL ID-appen.",
662
765
  bodyApprove: "Godkjenn innloggingen i ZOREAL ID-appen din.",
@@ -669,11 +772,14 @@ var TRANSLATIONS = {
669
772
  noIdBody: "Skann den samme koden for \xE5 laste ned appen og opprette en gratis. Det tar bare et minutt.",
670
773
  cancel: "Avbryt",
671
774
  close: "Lukk",
672
- qrAlt: "QR-kode for \xE5 logge inn med ZOREAL"
775
+ qrAlt: "QR-kode for \xE5 logge inn med ZOREAL",
776
+ buttonContinue: "Fortsett med ZOREAL"
673
777
  },
674
778
  // Polski
675
779
  pl: {
676
780
  title: "Zeskanuj, aby si\u0119 zalogowa\u0107",
781
+ titleIdentify: "Zeskanuj, aby zweryfikowa\u0107 swoj\u0105 to\u017Csamo\u015B\u0107",
782
+ titlePresence: "Zeskanuj, aby udowodni\u0107, \u017Ce jeste\u015B prawdziwym cz\u0142owiekiem",
677
783
  titleApprove: "Zatwierd\u017A w telefonie",
678
784
  bodyScan: "Zeskanuj aparatem telefonu lub aplikacj\u0105 ZOREAL ID.",
679
785
  bodyApprove: "Zatwierd\u017A logowanie w aplikacji ZOREAL ID.",
@@ -686,11 +792,14 @@ var TRANSLATIONS = {
686
792
  noIdBody: "Zeskanuj ten sam kod, aby pobra\u0107 aplikacj\u0119 i bezp\u0142atnie utworzy\u0107 ZOREAL ID. Zajmie to tylko minut\u0119.",
687
793
  cancel: "Anuluj",
688
794
  close: "Zamknij",
689
- qrAlt: "Kod QR do logowania za pomoc\u0105 ZOREAL"
795
+ qrAlt: "Kod QR do logowania za pomoc\u0105 ZOREAL",
796
+ buttonContinue: "Kontynuuj z ZOREAL"
690
797
  },
691
798
  // Português (BR)
692
799
  "pt-br": {
693
800
  title: "Escaneie para entrar",
801
+ titleIdentify: "Escaneie para verificar sua identidade",
802
+ titlePresence: "Escaneie para provar que voc\xEA \xE9 uma pessoa real",
694
803
  titleApprove: "Aprove no seu celular",
695
804
  bodyScan: "Escaneie com a c\xE2mera do seu celular ou com o app ZOREAL ID.",
696
805
  bodyApprove: "Aprove o login no app ZOREAL ID.",
@@ -703,11 +812,14 @@ var TRANSLATIONS = {
703
812
  noIdBody: "Escaneie o mesmo c\xF3digo para baixar o app e criar um de gra\xE7a. Leva s\xF3 um minuto.",
704
813
  cancel: "Cancelar",
705
814
  close: "Fechar",
706
- qrAlt: "C\xF3digo QR para entrar com ZOREAL"
815
+ qrAlt: "C\xF3digo QR para entrar com ZOREAL",
816
+ buttonContinue: "Continuar com ZOREAL"
707
817
  },
708
818
  // Română
709
819
  ro: {
710
820
  title: "Scana\u021Bi pentru conectare",
821
+ titleIdentify: "Scana\u021Bi pentru a v\u0103 verifica identitatea",
822
+ titlePresence: "Scana\u021Bi pentru a dovedi c\u0103 sunte\u021Bi o persoan\u0103 real\u0103",
711
823
  titleApprove: "Aproba\u021Bi de pe telefon",
712
824
  bodyScan: "Scana\u021Bi cu camera telefonului sau cu aplica\u021Bia ZOREAL ID.",
713
825
  bodyApprove: "Aproba\u021Bi conectarea \xEEn aplica\u021Bia ZOREAL ID.",
@@ -720,11 +832,14 @@ var TRANSLATIONS = {
720
832
  noIdBody: "Scana\u021Bi acela\u0219i cod pentru a desc\u0103rca aplica\u021Bia \u0219i a crea unul gratuit. Dureaz\u0103 doar un minut.",
721
833
  cancel: "Anuleaz\u0103",
722
834
  close: "\xCEnchide",
723
- qrAlt: "Cod QR pentru conectare cu ZOREAL"
835
+ qrAlt: "Cod QR pentru conectare cu ZOREAL",
836
+ buttonContinue: "Continua\u021Bi cu ZOREAL"
724
837
  },
725
838
  // Српски
726
839
  sr: {
727
840
  title: "\u0421\u043A\u0435\u043D\u0438\u0440\u0430\u0458\u0442\u0435 \u0437\u0430 \u043F\u0440\u0438\u0458\u0430\u0432\u0443",
841
+ 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",
842
+ 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
843
  titleApprove: "\u041E\u0434\u043E\u0431\u0440\u0438\u0442\u0435 \u043D\u0430 \u0441\u0432\u043E\u043C \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0443",
729
844
  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.",
730
845
  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.",
@@ -737,11 +852,14 @@ var TRANSLATIONS = {
737
852
  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
853
  cancel: "\u041E\u0442\u043A\u0430\u0436\u0438",
739
854
  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"
855
+ qrAlt: "QR \u043A\u043E\u0434 \u0437\u0430 \u043F\u0440\u0438\u0458\u0430\u0432\u0443 \u043F\u0440\u0435\u043A\u043E ZOREAL-\u0430",
856
+ buttonContinue: "\u041D\u0430\u0441\u0442\u0430\u0432\u0438 \u0441\u0430 ZOREAL-\u043E\u043C"
741
857
  },
742
858
  // ไทย
743
859
  th: {
744
860
  title: "\u0E2A\u0E41\u0E01\u0E19\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E02\u0E49\u0E32\u0E2A\u0E39\u0E48\u0E23\u0E30\u0E1A\u0E1A",
861
+ 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",
862
+ 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
863
  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
864
  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",
747
865
  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",
@@ -754,11 +872,14 @@ var TRANSLATIONS = {
754
872
  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
873
  cancel: "\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01",
756
874
  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"
875
+ 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",
876
+ buttonContinue: "\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E15\u0E48\u0E2D\u0E14\u0E49\u0E27\u0E22 ZOREAL"
758
877
  },
759
878
  // Tagalog
760
879
  tl: {
761
880
  title: "I-scan para mag-sign in",
881
+ titleIdentify: "I-scan para i-verify ang iyong pagkakakilanlan",
882
+ titlePresence: "I-scan para patunayang tunay kang tao",
762
883
  titleApprove: "I-approve sa iyong telepono",
763
884
  bodyScan: "I-scan gamit ang camera ng iyong telepono o ang ZOREAL ID app.",
764
885
  bodyApprove: "I-approve ang login sa iyong ZOREAL ID app.",
@@ -771,11 +892,14 @@ var TRANSLATIONS = {
771
892
  noIdBody: "I-scan ang parehong code para i-download ang app at gumawa ng iyong ZOREAL ID nang libre. Isang minuto lang ito.",
772
893
  cancel: "Kanselahin",
773
894
  close: "Isara",
774
- qrAlt: "QR code para mag-sign in gamit ang ZOREAL"
895
+ qrAlt: "QR code para mag-sign in gamit ang ZOREAL",
896
+ buttonContinue: "Magpatuloy gamit ang ZOREAL"
775
897
  },
776
898
  // Türkçe
777
899
  tr: {
778
900
  title: "Giri\u015F i\xE7in taray\u0131n",
901
+ titleIdentify: "Kimli\u011Finizi do\u011Frulamak i\xE7in taray\u0131n",
902
+ titlePresence: "Ger\xE7ek bir insan oldu\u011Funuzu kan\u0131tlamak i\xE7in taray\u0131n",
779
903
  titleApprove: "Telefonunuzdan onaylay\u0131n",
780
904
  bodyScan: "Telefonunuzun kameras\u0131yla veya ZOREAL ID uygulamas\u0131yla taray\u0131n.",
781
905
  bodyApprove: "Giri\u015Fi ZOREAL ID uygulaman\u0131zdan onaylay\u0131n.",
@@ -788,11 +912,14 @@ var TRANSLATIONS = {
788
912
  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
913
  cancel: "\u0130ptal",
790
914
  close: "Kapat",
791
- qrAlt: "ZOREAL ile giri\u015F yapmak i\xE7in QR kodu"
915
+ qrAlt: "ZOREAL ile giri\u015F yapmak i\xE7in QR kodu",
916
+ buttonContinue: "ZOREAL ile devam et"
792
917
  },
793
918
  // Українська
794
919
  uk: {
795
920
  title: "\u0421\u043A\u0430\u043D\u0443\u0439\u0442\u0435 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0443",
921
+ 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",
922
+ 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
923
  titleApprove: "\u041F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u044C\u0442\u0435 \u043D\u0430 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0456",
797
924
  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.",
798
925
  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.",
@@ -805,11 +932,14 @@ var TRANSLATIONS = {
805
932
  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
933
  cancel: "\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438",
807
934
  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"
935
+ qrAlt: "QR-\u043A\u043E\u0434 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0443 \u0447\u0435\u0440\u0435\u0437 ZOREAL",
936
+ buttonContinue: "\u041F\u0440\u043E\u0434\u043E\u0432\u0436\u0438\u0442\u0438 \u0437 ZOREAL"
809
937
  },
810
938
  // اردو
811
939
  ur: {
812
940
  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",
941
+ 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",
942
+ 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
943
  titleApprove: "\u0627\u067E\u0646\u06D2 \u0641\u0648\u0646 \u067E\u0631 \u0645\u0646\u0638\u0648\u0631\u06CC \u062F\u06CC\u06BA",
814
944
  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",
815
945
  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",
@@ -822,11 +952,14 @@ var TRANSLATIONS = {
822
952
  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
953
  cancel: "\u0645\u0646\u0633\u0648\u062E \u06A9\u0631\u06CC\u06BA",
824
954
  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"
955
+ 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",
956
+ buttonContinue: "ZOREAL \u06A9\u06D2 \u0633\u0627\u062A\u06BE \u062C\u0627\u0631\u06CC \u0631\u06A9\u06BE\u06CC\u06BA"
826
957
  },
827
958
  // Tiếng Việt
828
959
  vi: {
829
960
  title: "Qu\xE9t \u0111\u1EC3 \u0111\u0103ng nh\u1EADp",
961
+ titleIdentify: "Qu\xE9t \u0111\u1EC3 x\xE1c minh danh t\xEDnh c\u1EE7a b\u1EA1n",
962
+ titlePresence: "Qu\xE9t \u0111\u1EC3 ch\u1EE9ng minh b\u1EA1n l\xE0 ng\u01B0\u1EDDi th\u1EADt",
830
963
  titleApprove: "Ph\xEA duy\u1EC7t tr\xEAn \u0111i\u1EC7n tho\u1EA1i c\u1EE7a b\u1EA1n",
831
964
  bodyScan: "Qu\xE9t b\u1EB1ng camera \u0111i\u1EC7n tho\u1EA1i ho\u1EB7c \u1EE9ng d\u1EE5ng ZOREAL ID.",
832
965
  bodyApprove: "Ph\xEA duy\u1EC7t \u0111\u0103ng nh\u1EADp trong \u1EE9ng d\u1EE5ng ZOREAL ID c\u1EE7a b\u1EA1n.",
@@ -839,7 +972,8 @@ var TRANSLATIONS = {
839
972
  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
973
  cancel: "H\u1EE7y",
841
974
  close: "\u0110\xF3ng",
842
- qrAlt: "M\xE3 QR \u0111\u1EC3 \u0111\u0103ng nh\u1EADp b\u1EB1ng ZOREAL"
975
+ qrAlt: "M\xE3 QR \u0111\u1EC3 \u0111\u0103ng nh\u1EADp b\u1EB1ng ZOREAL",
976
+ buttonContinue: "Ti\u1EBFp t\u1EE5c v\u1EDBi ZOREAL"
843
977
  }
844
978
  };
845
979
  var RTL = /* @__PURE__ */ new Set(["ar", "he", "iw", "ur"]);
@@ -1259,7 +1393,11 @@ var CSS = `
1259
1393
  margin: 6px 0 0;
1260
1394
  font-size: 12px;
1261
1395
  color: var(--zrl-ink-mute);
1396
+ text-decoration: none;
1397
+ border-radius: 6px;
1398
+ transition: color 150ms ease-out;
1262
1399
  }
1400
+ .${PREFIX}-secured:hover { color: var(--zrl-ink); }
1263
1401
 
1264
1402
  .${PREFIX}-close {
1265
1403
  position: absolute;
@@ -1444,7 +1582,10 @@ function mountPairingModal(state, options) {
1444
1582
  const footer = el("div", cx("footer"));
1445
1583
  const cancelBtn = el("button", cx("cancel"), t.cancel);
1446
1584
  cancelBtn.type = "button";
1447
- const secured = el("p", cx("secured"));
1585
+ const secured = el("a", cx("secured"));
1586
+ secured.href = "https://zoreal.com";
1587
+ secured.target = "_blank";
1588
+ secured.rel = "noopener";
1448
1589
  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
1590
  footer.append(cancelBtn, secured);
1450
1591
  card.append(closeBtn, body, help, footer);
@@ -1476,7 +1617,7 @@ function mountPairingModal(state, options) {
1476
1617
  };
1477
1618
  const paint = (s) => {
1478
1619
  const settled = s.status === "claimed" || s.status === "enrolling";
1479
- title.textContent = settled ? t.titleApprove : t.title;
1620
+ title.textContent = settled ? t.titleApprove : titleFor(t, options.intent ?? "sign-in");
1480
1621
  bodyText.textContent = s.status === "enrolling" ? t.bodyEnrolling : settled ? t.bodyApprove : t.bodyScan;
1481
1622
  statusLabel.textContent = settled ? t.waitingApproval : t.waiting;
1482
1623
  qr.dataset.spent = String(settled);
@@ -1550,6 +1691,7 @@ function startLogin(options) {
1550
1691
  const issuer = options.issuer ?? DEFAULT_ISSUER;
1551
1692
  const controller = new AbortController();
1552
1693
  const useAppLink = options.display === "link" || options.display !== "qr" && isMobileUserAgent();
1694
+ const intent = resolveIntent(options.intent, options.scope, options.acr_values);
1553
1695
  const surface = {};
1554
1696
  const cancel = () => controller.abort();
1555
1697
  let modal = null;
@@ -1604,6 +1746,7 @@ function startLogin(options) {
1604
1746
  qrUrl: surface.qrUrl,
1605
1747
  qrRefreshSeconds,
1606
1748
  appLink: useAppLink,
1749
+ intent,
1607
1750
  cancel
1608
1751
  });
1609
1752
  let lastPolled = { status: "pending", expiresIn: started.expires_in };
@@ -1612,6 +1755,7 @@ function startLogin(options) {
1612
1755
  if ((options.pairingUI ?? "modal") === "modal" && !useAppLink) {
1613
1756
  modal = mountPairingModal(initial, {
1614
1757
  onCancel: cancel,
1758
+ intent,
1615
1759
  locale: options.locale,
1616
1760
  theme: options.theme,
1617
1761
  timeoutMs: options.pairingTimeoutMs
@@ -1739,6 +1883,7 @@ function startLogin(options) {
1739
1883
  isMobileUserAgent,
1740
1884
  mountPairingModal,
1741
1885
  pollUntilApproved,
1886
+ resolveIntent,
1742
1887
  startLogin,
1743
1888
  startPairing,
1744
1889
  unsafeClaims