@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.js CHANGED
@@ -14,7 +14,7 @@ function unsafeClaims(idToken) {
14
14
 
15
15
  // src/wire.ts
16
16
  var WIRE_VERSION = 1;
17
- var SDK_VERSION = "0.1.13";
17
+ var SDK_VERSION = "0.1.14";
18
18
  var SDK_NAME = "@zoreal/oauth2-js";
19
19
  var DEFAULT_ISSUER = "https://id.zoreal.com";
20
20
  var POLL_INTERVAL_MS = 2e3;
@@ -143,9 +143,27 @@ function isMobileUserAgent() {
143
143
  return /android|iphone|ipad|ipod/i.test(navigator.userAgent);
144
144
  }
145
145
 
146
+ // src/intent.ts
147
+ var SIGN_IN_SCOPES = /* @__PURE__ */ new Set(["openid", "email", "profile.name"]);
148
+ function resolveIntent(intent, scope, acrValues) {
149
+ if (intent) return intent;
150
+ const scopes = (scope ?? "openid").split(/\s+/).filter(Boolean);
151
+ if (scopes.some((s) => !SIGN_IN_SCOPES.has(s))) return "identify";
152
+ const acr = typeof acrValues === "string" ? acrValues.split(/\s+/) : acrValues ?? [];
153
+ if (scopes.every((s) => s === "openid") && acr.includes("zoreal.live")) return "presence";
154
+ return "sign-in";
155
+ }
156
+ function titleFor(t, intent) {
157
+ if (intent === "identify") return t.titleIdentify;
158
+ if (intent === "presence") return t.titlePresence;
159
+ return t.title;
160
+ }
161
+
146
162
  // src/i18n.ts
147
163
  var en = {
148
164
  title: "Scan to sign in",
165
+ titleIdentify: "Scan to verify your identity",
166
+ titlePresence: "Scan to prove you are a real human",
149
167
  titleApprove: "Approve on your phone",
150
168
  bodyScan: "Scan with your phone camera or the ZOREAL ID app.",
151
169
  bodyApprove: "Approve the login in your ZOREAL ID app.",
@@ -158,12 +176,15 @@ var en = {
158
176
  noIdBody: "Scan the same code to download the app and create one for free. It only takes a minute.",
159
177
  cancel: "Cancel",
160
178
  close: "Close",
161
- qrAlt: "QR code to sign in with ZOREAL"
179
+ qrAlt: "QR code to sign in with ZOREAL",
180
+ buttonContinue: "Continue with ZOREAL"
162
181
  };
163
182
  var TRANSLATIONS = {
164
183
  en,
165
184
  sv: {
166
185
  title: "Skanna f\xF6r att logga in",
186
+ titleIdentify: "Skanna f\xF6r att verifiera din identitet",
187
+ titlePresence: "Skanna f\xF6r att bevisa att du \xE4r en riktig m\xE4nniska",
167
188
  titleApprove: "Godk\xE4nn p\xE5 telefonen",
168
189
  bodyScan: "Skanna med telefonens kamera eller ZOREAL ID-appen.",
169
190
  bodyApprove: "Godk\xE4nn inloggningen i ZOREAL ID-appen.",
@@ -176,10 +197,13 @@ var TRANSLATIONS = {
176
197
  noIdBody: "Skanna samma kod f\xF6r att ladda ner appen och skapa ett gratis. Det tar bara en minut.",
177
198
  cancel: "Avbryt",
178
199
  close: "St\xE4ng",
179
- qrAlt: "QR-kod f\xF6r att logga in med ZOREAL"
200
+ qrAlt: "QR-kod f\xF6r att logga in med ZOREAL",
201
+ buttonContinue: "Forts\xE4tt med ZOREAL"
180
202
  },
181
203
  es: {
182
204
  title: "Escanea para iniciar sesi\xF3n",
205
+ titleIdentify: "Escanea para verificar tu identidad",
206
+ titlePresence: "Escanea para demostrar que eres una persona real",
183
207
  titleApprove: "Apru\xE9balo en tu tel\xE9fono",
184
208
  bodyScan: "Escanea con la c\xE1mara de tu tel\xE9fono o con la app ZOREAL ID.",
185
209
  bodyApprove: "Aprueba el inicio de sesi\xF3n en tu app ZOREAL ID.",
@@ -192,10 +216,13 @@ var TRANSLATIONS = {
192
216
  noIdBody: "Escanea el mismo c\xF3digo para descargar la app y crear una gratis. Solo toma un minuto.",
193
217
  cancel: "Cancelar",
194
218
  close: "Cerrar",
195
- qrAlt: "C\xF3digo QR para iniciar sesi\xF3n con ZOREAL"
219
+ qrAlt: "C\xF3digo QR para iniciar sesi\xF3n con ZOREAL",
220
+ buttonContinue: "Continuar con ZOREAL"
196
221
  },
197
222
  pt: {
198
223
  title: "Digitalize para entrar",
224
+ titleIdentify: "Digitalize para verificar a sua identidade",
225
+ titlePresence: "Digitalize para provar que \xE9 uma pessoa real",
199
226
  titleApprove: "Aprove no seu telefone",
200
227
  bodyScan: "Digitalize com a c\xE2mara do seu telefone ou com a app ZOREAL ID.",
201
228
  bodyApprove: "Aprove o login no app ZOREAL ID.",
@@ -208,10 +235,13 @@ var TRANSLATIONS = {
208
235
  noIdBody: "Digitalize o mesmo c\xF3digo para baixar o app e criar uma conta gr\xE1tis. Leva s\xF3 um minuto.",
209
236
  cancel: "Cancelar",
210
237
  close: "Fechar",
211
- qrAlt: "C\xF3digo QR para entrar com ZOREAL"
238
+ qrAlt: "C\xF3digo QR para entrar com ZOREAL",
239
+ buttonContinue: "Continuar com ZOREAL"
212
240
  },
213
241
  fr: {
214
242
  title: "Scannez pour vous connecter",
243
+ titleIdentify: "Scannez pour v\xE9rifier votre identit\xE9",
244
+ titlePresence: "Scannez pour prouver que vous \xEAtes bien un humain",
215
245
  titleApprove: "Approuvez sur votre t\xE9l\xE9phone",
216
246
  bodyScan: "Scannez avec l'appareil photo de votre t\xE9l\xE9phone ou l'app ZOREAL ID.",
217
247
  bodyApprove: "Approuvez la connexion dans votre app ZOREAL ID.",
@@ -224,10 +254,13 @@ var TRANSLATIONS = {
224
254
  noIdBody: "Scannez le m\xEAme code pour t\xE9l\xE9charger l'app et en cr\xE9er un gratuitement. Cela prend une minute.",
225
255
  cancel: "Annuler",
226
256
  close: "Fermer",
227
- qrAlt: "Code QR pour se connecter avec ZOREAL"
257
+ qrAlt: "Code QR pour se connecter avec ZOREAL",
258
+ buttonContinue: "Continuer avec ZOREAL"
228
259
  },
229
260
  de: {
230
261
  title: "Zum Anmelden scannen",
262
+ titleIdentify: "Scannen, um Ihre Identit\xE4t zu verifizieren",
263
+ titlePresence: "Scannen, um zu beweisen, dass Sie ein echter Mensch sind",
231
264
  titleApprove: "Auf dem Handy best\xE4tigen",
232
265
  bodyScan: "Mit der Handykamera oder der ZOREAL ID App scannen.",
233
266
  bodyApprove: "Anmeldung in der ZOREAL ID App best\xE4tigen.",
@@ -240,10 +273,13 @@ var TRANSLATIONS = {
240
273
  noIdBody: "Denselben Code scannen, um die App zu laden und kostenlos eine zu erstellen. Dauert nur eine Minute.",
241
274
  cancel: "Abbrechen",
242
275
  close: "Schlie\xDFen",
243
- qrAlt: "QR-Code f\xFCr die Anmeldung mit ZOREAL"
276
+ qrAlt: "QR-Code f\xFCr die Anmeldung mit ZOREAL",
277
+ buttonContinue: "Weiter mit ZOREAL"
244
278
  },
245
279
  ru: {
246
280
  title: "\u041E\u0442\u0441\u043A\u0430\u043D\u0438\u0440\u0443\u0439\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u0432\u043E\u0439\u0442\u0438",
281
+ 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",
282
+ 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",
247
283
  titleApprove: "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u043D\u0430 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0435",
248
284
  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.",
249
285
  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.",
@@ -256,10 +292,13 @@ var TRANSLATIONS = {
256
292
  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.",
257
293
  cancel: "\u041E\u0442\u043C\u0435\u043D\u0430",
258
294
  close: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C",
259
- qrAlt: "QR-\u043A\u043E\u0434 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0430 \u0447\u0435\u0440\u0435\u0437 ZOREAL"
295
+ qrAlt: "QR-\u043A\u043E\u0434 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0430 \u0447\u0435\u0440\u0435\u0437 ZOREAL",
296
+ buttonContinue: "\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C \u0441 ZOREAL"
260
297
  },
261
298
  ja: {
262
299
  title: "\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u30ED\u30B0\u30A4\u30F3",
300
+ titleIdentify: "\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u672C\u4EBA\u78BA\u8A8D",
301
+ titlePresence: "\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u5B9F\u5728\u306E\u4EBA\u7269\u3067\u3042\u308B\u3053\u3068\u3092\u8A3C\u660E",
263
302
  titleApprove: "\u30B9\u30DE\u30FC\u30C8\u30D5\u30A9\u30F3\u3067\u627F\u8A8D",
264
303
  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",
265
304
  bodyApprove: "ZOREAL ID\u30A2\u30D7\u30EA\u3067\u30ED\u30B0\u30A4\u30F3\u3092\u627F\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
@@ -272,10 +311,13 @@ var TRANSLATIONS = {
272
311
  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",
273
312
  cancel: "\u30AD\u30E3\u30F3\u30BB\u30EB",
274
313
  close: "\u9589\u3058\u308B",
275
- qrAlt: "ZOREAL\u3067\u30ED\u30B0\u30A4\u30F3\u3059\u308B\u305F\u3081\u306EQR\u30B3\u30FC\u30C9"
314
+ qrAlt: "ZOREAL\u3067\u30ED\u30B0\u30A4\u30F3\u3059\u308B\u305F\u3081\u306EQR\u30B3\u30FC\u30C9",
315
+ buttonContinue: "ZOREAL\u3067\u7D9A\u884C"
276
316
  },
277
317
  hi: {
278
318
  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",
319
+ 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",
320
+ 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",
279
321
  titleApprove: "\u0905\u092A\u0928\u0947 \u092B\u094B\u0928 \u092A\u0930 \u0938\u094D\u0935\u0940\u0915\u0943\u0924 \u0915\u0930\u0947\u0902",
280
322
  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",
281
323
  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",
@@ -288,10 +330,13 @@ var TRANSLATIONS = {
288
330
  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",
289
331
  cancel: "\u0930\u0926\u094D\u0926 \u0915\u0930\u0947\u0902",
290
332
  close: "\u092C\u0902\u0926 \u0915\u0930\u0947\u0902",
291
- qrAlt: "ZOREAL \u0938\u0947 \u0938\u093E\u0907\u0928 \u0907\u0928 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F QR \u0915\u094B\u0921"
333
+ qrAlt: "ZOREAL \u0938\u0947 \u0938\u093E\u0907\u0928 \u0907\u0928 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F QR \u0915\u094B\u0921",
334
+ buttonContinue: "ZOREAL \u0915\u0947 \u0938\u093E\u0925 \u091C\u093E\u0930\u0940 \u0930\u0916\u0947\u0902"
292
335
  },
293
336
  zhs: {
294
337
  title: "\u626B\u7801\u767B\u5F55",
338
+ titleIdentify: "\u626B\u7801\u9A8C\u8BC1\u8EAB\u4EFD",
339
+ titlePresence: "\u626B\u7801\u8BC1\u660E\u60A8\u662F\u771F\u4EBA",
295
340
  titleApprove: "\u5728\u624B\u673A\u4E0A\u6279\u51C6",
296
341
  bodyScan: "\u4F7F\u7528\u624B\u673A\u76F8\u673A\u6216 ZOREAL ID \u5E94\u7528\u626B\u63CF\u3002",
297
342
  bodyApprove: "\u8BF7\u5728 ZOREAL ID \u5E94\u7528\u4E2D\u6279\u51C6\u767B\u5F55\u3002",
@@ -304,10 +349,13 @@ var TRANSLATIONS = {
304
349
  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",
305
350
  cancel: "\u53D6\u6D88",
306
351
  close: "\u5173\u95ED",
307
- qrAlt: "\u4F7F\u7528 ZOREAL \u767B\u5F55\u7684\u4E8C\u7EF4\u7801"
352
+ qrAlt: "\u4F7F\u7528 ZOREAL \u767B\u5F55\u7684\u4E8C\u7EF4\u7801",
353
+ buttonContinue: "\u4F7F\u7528 ZOREAL \u7EE7\u7EED"
308
354
  },
309
355
  zht: {
310
356
  title: "\u6383\u78BC\u767B\u5165",
357
+ titleIdentify: "\u6383\u78BC\u9A57\u8B49\u8EAB\u5206",
358
+ titlePresence: "\u6383\u78BC\u8B49\u660E\u60A8\u662F\u771F\u4EBA",
311
359
  titleApprove: "\u5728\u624B\u6A5F\u4E0A\u6838\u51C6",
312
360
  bodyScan: "\u4F7F\u7528\u624B\u6A5F\u76F8\u6A5F\u6216 ZOREAL ID \u61C9\u7528\u7A0B\u5F0F\u6383\u63CF\u3002",
313
361
  bodyApprove: "\u8ACB\u5728 ZOREAL ID \u61C9\u7528\u7A0B\u5F0F\u4E2D\u6838\u51C6\u767B\u5165\u3002",
@@ -320,10 +368,13 @@ var TRANSLATIONS = {
320
368
  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",
321
369
  cancel: "\u53D6\u6D88",
322
370
  close: "\u95DC\u9589",
323
- qrAlt: "\u4F7F\u7528 ZOREAL \u767B\u5165\u7684 QR code"
371
+ qrAlt: "\u4F7F\u7528 ZOREAL \u767B\u5165\u7684 QR code",
372
+ buttonContinue: "\u4F7F\u7528 ZOREAL \u7E7C\u7E8C"
324
373
  },
325
374
  ar: {
326
375
  title: "\u0627\u0645\u0633\u062D \u0644\u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644",
376
+ titleIdentify: "\u0627\u0645\u0633\u062D \u0644\u0644\u062A\u062D\u0642\u0642 \u0645\u0646 \u0647\u0648\u064A\u062A\u0643",
377
+ titlePresence: "\u0627\u0645\u0633\u062D \u0644\u0625\u062B\u0628\u0627\u062A \u0623\u0646\u0643 \u0625\u0646\u0633\u0627\u0646 \u062D\u0642\u064A\u0642\u064A",
327
378
  titleApprove: "\u0648\u0627\u0641\u0642 \u0639\u0644\u0649 \u0647\u0627\u062A\u0641\u0643",
328
379
  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.",
329
380
  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.",
@@ -336,10 +387,13 @@ var TRANSLATIONS = {
336
387
  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.",
337
388
  cancel: "\u0625\u0644\u063A\u0627\u0621",
338
389
  close: "\u0625\u063A\u0644\u0627\u0642",
339
- 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"
390
+ 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",
391
+ buttonContinue: "\u0627\u0644\u0645\u062A\u0627\u0628\u0639\u0629 \u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645 ZOREAL"
340
392
  },
341
393
  ko: {
342
394
  title: "\uC2A4\uCE94\uD558\uC5EC \uB85C\uADF8\uC778",
395
+ titleIdentify: "\uC2A4\uCE94\uD558\uC5EC \uC2E0\uC6D0 \uD655\uC778",
396
+ titlePresence: "\uC2A4\uCE94\uD558\uC5EC \uC2E4\uC81C \uC0AC\uB78C\uC784\uC744 \uC99D\uBA85",
343
397
  titleApprove: "\uD734\uB300\uD3F0\uC5D0\uC11C \uC2B9\uC778",
344
398
  bodyScan: "\uD734\uB300\uD3F0 \uCE74\uBA54\uB77C \uB610\uB294 ZOREAL ID \uC571\uC73C\uB85C \uC2A4\uCE94\uD558\uC138\uC694.",
345
399
  bodyApprove: "ZOREAL ID \uC571\uC5D0\uC11C \uB85C\uADF8\uC778\uC744 \uC2B9\uC778\uD558\uC138\uC694.",
@@ -352,11 +406,14 @@ var TRANSLATIONS = {
352
406
  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.",
353
407
  cancel: "\uCDE8\uC18C",
354
408
  close: "\uB2EB\uAE30",
355
- qrAlt: "ZOREAL\uB85C \uB85C\uADF8\uC778\uD558\uAE30 \uC704\uD55C QR \uCF54\uB4DC"
409
+ qrAlt: "ZOREAL\uB85C \uB85C\uADF8\uC778\uD558\uAE30 \uC704\uD55C QR \uCF54\uB4DC",
410
+ buttonContinue: "ZOREAL\uB85C \uACC4\uC18D"
356
411
  },
357
412
  // Български
358
413
  bg: {
359
414
  title: "\u0421\u043A\u0430\u043D\u0438\u0440\u0430\u0439\u0442\u0435 \u0437\u0430 \u0432\u0445\u043E\u0434",
415
+ 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",
416
+ 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",
360
417
  titleApprove: "\u041F\u043E\u0442\u0432\u044A\u0440\u0434\u0435\u0442\u0435 \u043D\u0430 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u0441\u0438",
361
418
  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.",
362
419
  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.",
@@ -369,11 +426,14 @@ var TRANSLATIONS = {
369
426
  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.",
370
427
  cancel: "\u041E\u0442\u043A\u0430\u0437",
371
428
  close: "\u0417\u0430\u0442\u0432\u043E\u0440\u0438",
372
- qrAlt: "QR \u043A\u043E\u0434 \u0437\u0430 \u0432\u0445\u043E\u0434 \u0441\u044A\u0441 ZOREAL"
429
+ qrAlt: "QR \u043A\u043E\u0434 \u0437\u0430 \u0432\u0445\u043E\u0434 \u0441\u044A\u0441 ZOREAL",
430
+ buttonContinue: "\u041F\u0440\u043E\u0434\u044A\u043B\u0436\u0438 \u0441\u044A\u0441 ZOREAL"
373
431
  },
374
432
  // বাংলা
375
433
  bn: {
376
434
  title: "\u09B8\u09BE\u0987\u09A8 \u0987\u09A8 \u0995\u09B0\u09A4\u09C7 \u09B8\u09CD\u0995\u09CD\u09AF\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8",
435
+ 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",
436
+ 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",
377
437
  titleApprove: "\u0986\u09AA\u09A8\u09BE\u09B0 \u09AB\u09CB\u09A8\u09C7 \u0985\u09A8\u09C1\u09AE\u09CB\u09A6\u09A8 \u0995\u09B0\u09C1\u09A8",
378
438
  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",
379
439
  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",
@@ -386,11 +446,14 @@ var TRANSLATIONS = {
386
446
  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",
387
447
  cancel: "\u09AC\u09BE\u09A4\u09BF\u09B2",
388
448
  close: "\u09AC\u09A8\u09CD\u09A7",
389
- 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"
449
+ 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",
450
+ buttonContinue: "ZOREAL \u09A6\u09BF\u09AF\u09BC\u09C7 \u099A\u09BE\u09B2\u09BF\u09AF\u09BC\u09C7 \u09AF\u09BE\u09A8"
390
451
  },
391
452
  // Bosanski
392
453
  bs: {
393
454
  title: "Skenirajte za prijavu",
455
+ titleIdentify: "Skenirajte da potvrdite svoj identitet",
456
+ titlePresence: "Skenirajte da doka\u017Eete da ste stvarna osoba",
394
457
  titleApprove: "Odobrite na svom telefonu",
395
458
  bodyScan: "Skenirajte kamerom svog telefona ili aplikacijom ZOREAL ID.",
396
459
  bodyApprove: "Odobrite prijavu u aplikaciji ZOREAL ID.",
@@ -403,11 +466,14 @@ var TRANSLATIONS = {
403
466
  noIdBody: "Skenirajte isti kod da preuzmete aplikaciju i besplatno ga napravite. Traje samo minutu.",
404
467
  cancel: "Otka\u017Ei",
405
468
  close: "Zatvori",
406
- qrAlt: "QR kod za prijavu putem ZOREAL-a"
469
+ qrAlt: "QR kod za prijavu putem ZOREAL-a",
470
+ buttonContinue: "Nastavi sa ZOREAL-om"
407
471
  },
408
472
  // Čeština
409
473
  cs: {
410
474
  title: "P\u0159ihlaste se naskenov\xE1n\xEDm",
475
+ titleIdentify: "Naskenujte pro ov\u011B\u0159en\xED toto\u017Enosti",
476
+ titlePresence: "Naskenujte a proka\u017Ete, \u017Ee jste skute\u010Dn\xFD \u010Dlov\u011Bk",
411
477
  titleApprove: "Potvr\u010Fte v telefonu",
412
478
  bodyScan: "Naskenujte fotoapar\xE1tem telefonu nebo aplikac\xED ZOREAL ID.",
413
479
  bodyApprove: "Potvr\u010Fte p\u0159ihl\xE1\u0161en\xED v aplikaci ZOREAL ID.",
@@ -420,11 +486,14 @@ var TRANSLATIONS = {
420
486
  noIdBody: "Naskenov\xE1n\xEDm stejn\xE9ho k\xF3du si st\xE1hnete aplikaci a zdarma vytvo\u0159\xEDte ZOREAL ID. Zabere to jen minutu.",
421
487
  cancel: "Zru\u0161it",
422
488
  close: "Zav\u0159\xEDt",
423
- qrAlt: "QR k\xF3d pro p\u0159ihl\xE1\u0161en\xED pomoc\xED ZOREAL"
489
+ qrAlt: "QR k\xF3d pro p\u0159ihl\xE1\u0161en\xED pomoc\xED ZOREAL",
490
+ buttonContinue: "Pokra\u010Dovat se ZOREAL"
424
491
  },
425
492
  // Dansk
426
493
  da: {
427
494
  title: "Scan for at logge ind",
495
+ titleIdentify: "Scan for at bekr\xE6fte din identitet",
496
+ titlePresence: "Scan for at bevise, at du er et rigtigt menneske",
428
497
  titleApprove: "Godkend p\xE5 din telefon",
429
498
  bodyScan: "Scan med telefonens kamera eller ZOREAL ID-appen.",
430
499
  bodyApprove: "Godkend login i din ZOREAL ID-app.",
@@ -437,11 +506,14 @@ var TRANSLATIONS = {
437
506
  noIdBody: "Scan den samme kode for at hente appen og oprette et gratis. Det tager kun et minut.",
438
507
  cancel: "Annuller",
439
508
  close: "Luk",
440
- qrAlt: "QR-kode til at logge ind med ZOREAL"
509
+ qrAlt: "QR-kode til at logge ind med ZOREAL",
510
+ buttonContinue: "Forts\xE6t med ZOREAL"
441
511
  },
442
512
  // Ελληνικά
443
513
  el: {
444
514
  title: "\u03A3\u03AC\u03C1\u03C9\u03C3\u03B7 \u03B3\u03B9\u03B1 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7",
515
+ 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",
516
+ 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",
445
517
  titleApprove: "\u0388\u03B3\u03BA\u03C1\u03B9\u03C3\u03B7 \u03B1\u03C0\u03CC \u03C4\u03BF \u03BA\u03B9\u03BD\u03B7\u03C4\u03CC \u03C3\u03B1\u03C2",
446
518
  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.",
447
519
  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.",
@@ -454,11 +526,14 @@ var TRANSLATIONS = {
454
526
  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.",
455
527
  cancel: "\u0386\u03BA\u03C5\u03C1\u03BF",
456
528
  close: "\u039A\u03BB\u03B5\u03AF\u03C3\u03B9\u03BC\u03BF",
457
- qrAlt: "\u039A\u03C9\u03B4\u03B9\u03BA\u03CC\u03C2 QR \u03B3\u03B9\u03B1 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7 \u03BC\u03B5 ZOREAL"
529
+ qrAlt: "\u039A\u03C9\u03B4\u03B9\u03BA\u03CC\u03C2 QR \u03B3\u03B9\u03B1 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7 \u03BC\u03B5 ZOREAL",
530
+ buttonContinue: "\u03A3\u03C5\u03BD\u03AD\u03C7\u03B5\u03B9\u03B1 \u03BC\u03B5 ZOREAL"
458
531
  },
459
532
  // Español (LA)
460
533
  "es-419": {
461
534
  title: "Escanea para iniciar sesi\xF3n",
535
+ titleIdentify: "Escanea para verificar tu identidad",
536
+ titlePresence: "Escanea para demostrar que eres una persona real",
462
537
  titleApprove: "Aprueba desde tu celular",
463
538
  bodyScan: "Escanea con la c\xE1mara de tu celular o con la app ZOREAL ID.",
464
539
  bodyApprove: "Aprueba el inicio de sesi\xF3n en tu app ZOREAL ID.",
@@ -471,11 +546,14 @@ var TRANSLATIONS = {
471
546
  noIdBody: "Escanea el mismo c\xF3digo para descargar la app y crear uno gratis. Solo toma un minuto.",
472
547
  cancel: "Cancelar",
473
548
  close: "Cerrar",
474
- qrAlt: "C\xF3digo QR para iniciar sesi\xF3n con ZOREAL"
549
+ qrAlt: "C\xF3digo QR para iniciar sesi\xF3n con ZOREAL",
550
+ buttonContinue: "Continuar con ZOREAL"
475
551
  },
476
552
  // Suomi
477
553
  fi: {
478
554
  title: "Kirjaudu sis\xE4\xE4n skannaamalla",
555
+ titleIdentify: "Vahvista henkil\xF6llisyytesi skannaamalla",
556
+ titlePresence: "Todista skannaamalla, ett\xE4 olet oikea ihminen",
479
557
  titleApprove: "Hyv\xE4ksy puhelimessasi",
480
558
  bodyScan: "Skannaa puhelimesi kameralla tai ZOREAL ID -sovelluksella.",
481
559
  bodyApprove: "Hyv\xE4ksy kirjautuminen ZOREAL ID -sovelluksessasi.",
@@ -488,11 +566,14 @@ var TRANSLATIONS = {
488
566
  noIdBody: "Skannaa sama koodi ladataksesi sovelluksen ja luodaksesi tunnuksen ilmaiseksi. Se vie vain minuutin.",
489
567
  cancel: "Peruuta",
490
568
  close: "Sulje",
491
- qrAlt: "QR-koodi ZOREAL-kirjautumista varten"
569
+ qrAlt: "QR-koodi ZOREAL-kirjautumista varten",
570
+ buttonContinue: "Jatka ZOREALilla"
492
571
  },
493
572
  // עברית
494
573
  he: {
495
574
  title: "\u05E1\u05E8\u05D5\u05E7 \u05DB\u05D3\u05D9 \u05DC\u05D4\u05EA\u05D7\u05D1\u05E8",
575
+ titleIdentify: "\u05E1\u05E8\u05D5\u05E7 \u05DB\u05D3\u05D9 \u05DC\u05D0\u05DE\u05EA \u05D0\u05EA \u05D6\u05D4\u05D5\u05EA\u05DA",
576
+ 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",
496
577
  titleApprove: "\u05D0\u05E9\u05E8 \u05D1\u05D8\u05DC\u05E4\u05D5\u05DF \u05E9\u05DC\u05DA",
497
578
  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.",
498
579
  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.",
@@ -505,11 +586,14 @@ var TRANSLATIONS = {
505
586
  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.",
506
587
  cancel: "\u05D1\u05D9\u05D8\u05D5\u05DC",
507
588
  close: "\u05E1\u05D2\u05D5\u05E8",
508
- qrAlt: "\u05E7\u05D5\u05D3 QR \u05DC\u05D4\u05EA\u05D7\u05D1\u05E8\u05D5\u05EA \u05E2\u05DD ZOREAL"
589
+ qrAlt: "\u05E7\u05D5\u05D3 QR \u05DC\u05D4\u05EA\u05D7\u05D1\u05E8\u05D5\u05EA \u05E2\u05DD ZOREAL",
590
+ buttonContinue: "\u05D4\u05DE\u05E9\u05DA \u05E2\u05DD ZOREAL"
509
591
  },
510
592
  // Hrvatski
511
593
  hr: {
512
594
  title: "Skenirajte za prijavu",
595
+ titleIdentify: "Skenirajte za potvrdu identiteta",
596
+ titlePresence: "Skenirajte kako biste dokazali da ste stvarna osoba",
513
597
  titleApprove: "Odobrite na svom mobitelu",
514
598
  bodyScan: "Skenirajte kamerom svog mobitela ili aplikacijom ZOREAL ID.",
515
599
  bodyApprove: "Odobrite prijavu u aplikaciji ZOREAL ID.",
@@ -522,11 +606,14 @@ var TRANSLATIONS = {
522
606
  noIdBody: "Skenirajte isti kod da preuzmete aplikaciju i besplatno ga izradite. Traje samo minutu.",
523
607
  cancel: "Odustani",
524
608
  close: "Zatvori",
525
- qrAlt: "QR kod za prijavu putem ZOREAL-a"
609
+ qrAlt: "QR kod za prijavu putem ZOREAL-a",
610
+ buttonContinue: "Nastavi sa ZOREAL-om"
526
611
  },
527
612
  // Magyar
528
613
  hu: {
529
614
  title: "Bejelentkez\xE9s beolvas\xE1ssal",
615
+ titleIdentify: "Olvassa be a szem\xE9lyazonoss\xE1ga igazol\xE1s\xE1hoz",
616
+ titlePresence: "Olvassa be annak igazol\xE1s\xE1hoz, hogy val\xF3di ember",
530
617
  titleApprove: "J\xF3v\xE1hagy\xE1s a telefonj\xE1n",
531
618
  bodyScan: "Olvassa be a telefonja kamer\xE1j\xE1val, vagy a ZOREAL ID alkalmaz\xE1ssal.",
532
619
  bodyApprove: "Hagyja j\xF3v\xE1 a bejelentkez\xE9st a ZOREAL ID alkalmaz\xE1sban.",
@@ -539,11 +626,14 @@ var TRANSLATIONS = {
539
626
  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.",
540
627
  cancel: "M\xE9gse",
541
628
  close: "Bez\xE1r\xE1s",
542
- qrAlt: "QR-k\xF3d a ZOREAL-lal val\xF3 bejelentkez\xE9shez"
629
+ qrAlt: "QR-k\xF3d a ZOREAL-lal val\xF3 bejelentkez\xE9shez",
630
+ buttonContinue: "Folytat\xE1s a ZOREAL-lal"
543
631
  },
544
632
  // Bahasa Indonesia
545
633
  id: {
546
634
  title: "Pindai untuk masuk",
635
+ titleIdentify: "Pindai untuk memverifikasi identitas Anda",
636
+ titlePresence: "Pindai untuk membuktikan bahwa Anda manusia sungguhan",
547
637
  titleApprove: "Setujui di ponsel Anda",
548
638
  bodyScan: "Pindai dengan kamera ponsel atau aplikasi ZOREAL ID.",
549
639
  bodyApprove: "Setujui proses masuk di aplikasi ZOREAL ID Anda.",
@@ -556,11 +646,14 @@ var TRANSLATIONS = {
556
646
  noIdBody: "Pindai kode yang sama untuk mengunduh aplikasi dan membuat akun secara gratis. Hanya butuh waktu satu menit.",
557
647
  cancel: "Batal",
558
648
  close: "Tutup",
559
- qrAlt: "Kode QR untuk masuk dengan ZOREAL"
649
+ qrAlt: "Kode QR untuk masuk dengan ZOREAL",
650
+ buttonContinue: "Lanjutkan dengan ZOREAL"
560
651
  },
561
652
  // Italiano
562
653
  it: {
563
654
  title: "Scansiona per accedere",
655
+ titleIdentify: "Scansiona per verificare la tua identit\xE0",
656
+ titlePresence: "Scansiona per dimostrare di essere una persona reale",
564
657
  titleApprove: "Approva sul tuo telefono",
565
658
  bodyScan: "Scansiona con la fotocamera del telefono o con l'app ZOREAL ID.",
566
659
  bodyApprove: "Approva l'accesso nell'app ZOREAL ID.",
@@ -573,11 +666,14 @@ var TRANSLATIONS = {
573
666
  noIdBody: "Scansiona lo stesso codice per scaricare l'app e crearne uno gratis. Basta un minuto.",
574
667
  cancel: "Annulla",
575
668
  close: "Chiudi",
576
- qrAlt: "Codice QR per accedere con ZOREAL"
669
+ qrAlt: "Codice QR per accedere con ZOREAL",
670
+ buttonContinue: "Continua con ZOREAL"
577
671
  },
578
672
  // Bahasa Melayu
579
673
  ms: {
580
674
  title: "Imbas untuk log masuk",
675
+ titleIdentify: "Imbas untuk mengesahkan identiti anda",
676
+ titlePresence: "Imbas untuk membuktikan anda manusia sebenar",
581
677
  titleApprove: "Luluskan di telefon anda",
582
678
  bodyScan: "Imbas dengan kamera telefon atau aplikasi ZOREAL ID.",
583
679
  bodyApprove: "Luluskan log masuk dalam aplikasi ZOREAL ID anda.",
@@ -590,11 +686,14 @@ var TRANSLATIONS = {
590
686
  noIdBody: "Imbas kod yang sama untuk memuat turun aplikasi dan cipta satu secara percuma. Hanya mengambil masa seminit.",
591
687
  cancel: "Batal",
592
688
  close: "Tutup",
593
- qrAlt: "Kod QR untuk log masuk dengan ZOREAL"
689
+ qrAlt: "Kod QR untuk log masuk dengan ZOREAL",
690
+ buttonContinue: "Teruskan dengan ZOREAL"
594
691
  },
595
692
  // Nederlands
596
693
  nl: {
597
694
  title: "Scan om in te loggen",
695
+ titleIdentify: "Scan om je identiteit te verifi\xEBren",
696
+ titlePresence: "Scan om te bewijzen dat je een echt mens bent",
598
697
  titleApprove: "Keur goed op je telefoon",
599
698
  bodyScan: "Scan met de camera van je telefoon of de ZOREAL ID-app.",
600
699
  bodyApprove: "Keur de aanmelding goed in je ZOREAL ID-app.",
@@ -607,11 +706,14 @@ var TRANSLATIONS = {
607
706
  noIdBody: "Scan dezelfde code om de app te downloaden en gratis een account aan te maken. Dit duurt maar een minuut.",
608
707
  cancel: "Annuleren",
609
708
  close: "Sluiten",
610
- qrAlt: "QR-code om in te loggen met ZOREAL"
709
+ qrAlt: "QR-code om in te loggen met ZOREAL",
710
+ buttonContinue: "Doorgaan met ZOREAL"
611
711
  },
612
712
  // Norsk
613
713
  no: {
614
714
  title: "Skann for \xE5 logge inn",
715
+ titleIdentify: "Skann for \xE5 bekrefte identiteten din",
716
+ titlePresence: "Skann for \xE5 bevise at du er et ekte menneske",
615
717
  titleApprove: "Godkjenn p\xE5 telefonen din",
616
718
  bodyScan: "Skann med telefonens kamera eller ZOREAL ID-appen.",
617
719
  bodyApprove: "Godkjenn innloggingen i ZOREAL ID-appen din.",
@@ -624,11 +726,14 @@ var TRANSLATIONS = {
624
726
  noIdBody: "Skann den samme koden for \xE5 laste ned appen og opprette en gratis. Det tar bare et minutt.",
625
727
  cancel: "Avbryt",
626
728
  close: "Lukk",
627
- qrAlt: "QR-kode for \xE5 logge inn med ZOREAL"
729
+ qrAlt: "QR-kode for \xE5 logge inn med ZOREAL",
730
+ buttonContinue: "Fortsett med ZOREAL"
628
731
  },
629
732
  // Polski
630
733
  pl: {
631
734
  title: "Zeskanuj, aby si\u0119 zalogowa\u0107",
735
+ titleIdentify: "Zeskanuj, aby zweryfikowa\u0107 swoj\u0105 to\u017Csamo\u015B\u0107",
736
+ titlePresence: "Zeskanuj, aby udowodni\u0107, \u017Ce jeste\u015B prawdziwym cz\u0142owiekiem",
632
737
  titleApprove: "Zatwierd\u017A w telefonie",
633
738
  bodyScan: "Zeskanuj aparatem telefonu lub aplikacj\u0105 ZOREAL ID.",
634
739
  bodyApprove: "Zatwierd\u017A logowanie w aplikacji ZOREAL ID.",
@@ -641,11 +746,14 @@ var TRANSLATIONS = {
641
746
  noIdBody: "Zeskanuj ten sam kod, aby pobra\u0107 aplikacj\u0119 i bezp\u0142atnie utworzy\u0107 ZOREAL ID. Zajmie to tylko minut\u0119.",
642
747
  cancel: "Anuluj",
643
748
  close: "Zamknij",
644
- qrAlt: "Kod QR do logowania za pomoc\u0105 ZOREAL"
749
+ qrAlt: "Kod QR do logowania za pomoc\u0105 ZOREAL",
750
+ buttonContinue: "Kontynuuj z ZOREAL"
645
751
  },
646
752
  // Português (BR)
647
753
  "pt-br": {
648
754
  title: "Escaneie para entrar",
755
+ titleIdentify: "Escaneie para verificar sua identidade",
756
+ titlePresence: "Escaneie para provar que voc\xEA \xE9 uma pessoa real",
649
757
  titleApprove: "Aprove no seu celular",
650
758
  bodyScan: "Escaneie com a c\xE2mera do seu celular ou com o app ZOREAL ID.",
651
759
  bodyApprove: "Aprove o login no app ZOREAL ID.",
@@ -658,11 +766,14 @@ var TRANSLATIONS = {
658
766
  noIdBody: "Escaneie o mesmo c\xF3digo para baixar o app e criar um de gra\xE7a. Leva s\xF3 um minuto.",
659
767
  cancel: "Cancelar",
660
768
  close: "Fechar",
661
- qrAlt: "C\xF3digo QR para entrar com ZOREAL"
769
+ qrAlt: "C\xF3digo QR para entrar com ZOREAL",
770
+ buttonContinue: "Continuar com ZOREAL"
662
771
  },
663
772
  // Română
664
773
  ro: {
665
774
  title: "Scana\u021Bi pentru conectare",
775
+ titleIdentify: "Scana\u021Bi pentru a v\u0103 verifica identitatea",
776
+ titlePresence: "Scana\u021Bi pentru a dovedi c\u0103 sunte\u021Bi o persoan\u0103 real\u0103",
666
777
  titleApprove: "Aproba\u021Bi de pe telefon",
667
778
  bodyScan: "Scana\u021Bi cu camera telefonului sau cu aplica\u021Bia ZOREAL ID.",
668
779
  bodyApprove: "Aproba\u021Bi conectarea \xEEn aplica\u021Bia ZOREAL ID.",
@@ -675,11 +786,14 @@ var TRANSLATIONS = {
675
786
  noIdBody: "Scana\u021Bi acela\u0219i cod pentru a desc\u0103rca aplica\u021Bia \u0219i a crea unul gratuit. Dureaz\u0103 doar un minut.",
676
787
  cancel: "Anuleaz\u0103",
677
788
  close: "\xCEnchide",
678
- qrAlt: "Cod QR pentru conectare cu ZOREAL"
789
+ qrAlt: "Cod QR pentru conectare cu ZOREAL",
790
+ buttonContinue: "Continua\u021Bi cu ZOREAL"
679
791
  },
680
792
  // Српски
681
793
  sr: {
682
794
  title: "\u0421\u043A\u0435\u043D\u0438\u0440\u0430\u0458\u0442\u0435 \u0437\u0430 \u043F\u0440\u0438\u0458\u0430\u0432\u0443",
795
+ 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",
796
+ 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",
683
797
  titleApprove: "\u041E\u0434\u043E\u0431\u0440\u0438\u0442\u0435 \u043D\u0430 \u0441\u0432\u043E\u043C \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0443",
684
798
  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.",
685
799
  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.",
@@ -692,11 +806,14 @@ var TRANSLATIONS = {
692
806
  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.",
693
807
  cancel: "\u041E\u0442\u043A\u0430\u0436\u0438",
694
808
  close: "\u0417\u0430\u0442\u0432\u043E\u0440\u0438",
695
- qrAlt: "QR \u043A\u043E\u0434 \u0437\u0430 \u043F\u0440\u0438\u0458\u0430\u0432\u0443 \u043F\u0440\u0435\u043A\u043E ZOREAL-\u0430"
809
+ qrAlt: "QR \u043A\u043E\u0434 \u0437\u0430 \u043F\u0440\u0438\u0458\u0430\u0432\u0443 \u043F\u0440\u0435\u043A\u043E ZOREAL-\u0430",
810
+ buttonContinue: "\u041D\u0430\u0441\u0442\u0430\u0432\u0438 \u0441\u0430 ZOREAL-\u043E\u043C"
696
811
  },
697
812
  // ไทย
698
813
  th: {
699
814
  title: "\u0E2A\u0E41\u0E01\u0E19\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E02\u0E49\u0E32\u0E2A\u0E39\u0E48\u0E23\u0E30\u0E1A\u0E1A",
815
+ 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",
816
+ 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",
700
817
  titleApprove: "\u0E2D\u0E19\u0E38\u0E21\u0E31\u0E15\u0E34\u0E1A\u0E19\u0E42\u0E17\u0E23\u0E28\u0E31\u0E1E\u0E17\u0E4C\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13",
701
818
  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",
702
819
  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",
@@ -709,11 +826,14 @@ var TRANSLATIONS = {
709
826
  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",
710
827
  cancel: "\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01",
711
828
  close: "\u0E1B\u0E34\u0E14",
712
- 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"
829
+ 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",
830
+ buttonContinue: "\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E15\u0E48\u0E2D\u0E14\u0E49\u0E27\u0E22 ZOREAL"
713
831
  },
714
832
  // Tagalog
715
833
  tl: {
716
834
  title: "I-scan para mag-sign in",
835
+ titleIdentify: "I-scan para i-verify ang iyong pagkakakilanlan",
836
+ titlePresence: "I-scan para patunayang tunay kang tao",
717
837
  titleApprove: "I-approve sa iyong telepono",
718
838
  bodyScan: "I-scan gamit ang camera ng iyong telepono o ang ZOREAL ID app.",
719
839
  bodyApprove: "I-approve ang login sa iyong ZOREAL ID app.",
@@ -726,11 +846,14 @@ var TRANSLATIONS = {
726
846
  noIdBody: "I-scan ang parehong code para i-download ang app at gumawa ng iyong ZOREAL ID nang libre. Isang minuto lang ito.",
727
847
  cancel: "Kanselahin",
728
848
  close: "Isara",
729
- qrAlt: "QR code para mag-sign in gamit ang ZOREAL"
849
+ qrAlt: "QR code para mag-sign in gamit ang ZOREAL",
850
+ buttonContinue: "Magpatuloy gamit ang ZOREAL"
730
851
  },
731
852
  // Türkçe
732
853
  tr: {
733
854
  title: "Giri\u015F i\xE7in taray\u0131n",
855
+ titleIdentify: "Kimli\u011Finizi do\u011Frulamak i\xE7in taray\u0131n",
856
+ titlePresence: "Ger\xE7ek bir insan oldu\u011Funuzu kan\u0131tlamak i\xE7in taray\u0131n",
734
857
  titleApprove: "Telefonunuzdan onaylay\u0131n",
735
858
  bodyScan: "Telefonunuzun kameras\u0131yla veya ZOREAL ID uygulamas\u0131yla taray\u0131n.",
736
859
  bodyApprove: "Giri\u015Fi ZOREAL ID uygulaman\u0131zdan onaylay\u0131n.",
@@ -743,11 +866,14 @@ var TRANSLATIONS = {
743
866
  noIdBody: "Uygulamay\u0131 indirmek ve \xFCcretsiz bir tane olu\u015Fturmak i\xE7in ayn\u0131 kodu taray\u0131n. Sadece bir dakikan\u0131z\u0131 al\u0131r.",
744
867
  cancel: "\u0130ptal",
745
868
  close: "Kapat",
746
- qrAlt: "ZOREAL ile giri\u015F yapmak i\xE7in QR kodu"
869
+ qrAlt: "ZOREAL ile giri\u015F yapmak i\xE7in QR kodu",
870
+ buttonContinue: "ZOREAL ile devam et"
747
871
  },
748
872
  // Українська
749
873
  uk: {
750
874
  title: "\u0421\u043A\u0430\u043D\u0443\u0439\u0442\u0435 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0443",
875
+ 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",
876
+ 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",
751
877
  titleApprove: "\u041F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u044C\u0442\u0435 \u043D\u0430 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0456",
752
878
  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.",
753
879
  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.",
@@ -760,11 +886,14 @@ var TRANSLATIONS = {
760
886
  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.",
761
887
  cancel: "\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438",
762
888
  close: "\u0417\u0430\u043A\u0440\u0438\u0442\u0438",
763
- qrAlt: "QR-\u043A\u043E\u0434 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0443 \u0447\u0435\u0440\u0435\u0437 ZOREAL"
889
+ qrAlt: "QR-\u043A\u043E\u0434 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0443 \u0447\u0435\u0440\u0435\u0437 ZOREAL",
890
+ buttonContinue: "\u041F\u0440\u043E\u0434\u043E\u0432\u0436\u0438\u0442\u0438 \u0437 ZOREAL"
764
891
  },
765
892
  // اردو
766
893
  ur: {
767
894
  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",
895
+ 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",
896
+ 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",
768
897
  titleApprove: "\u0627\u067E\u0646\u06D2 \u0641\u0648\u0646 \u067E\u0631 \u0645\u0646\u0638\u0648\u0631\u06CC \u062F\u06CC\u06BA",
769
898
  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",
770
899
  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",
@@ -777,11 +906,14 @@ var TRANSLATIONS = {
777
906
  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",
778
907
  cancel: "\u0645\u0646\u0633\u0648\u062E \u06A9\u0631\u06CC\u06BA",
779
908
  close: "\u0628\u0646\u062F \u06A9\u0631\u06CC\u06BA",
780
- 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"
909
+ 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",
910
+ buttonContinue: "ZOREAL \u06A9\u06D2 \u0633\u0627\u062A\u06BE \u062C\u0627\u0631\u06CC \u0631\u06A9\u06BE\u06CC\u06BA"
781
911
  },
782
912
  // Tiếng Việt
783
913
  vi: {
784
914
  title: "Qu\xE9t \u0111\u1EC3 \u0111\u0103ng nh\u1EADp",
915
+ titleIdentify: "Qu\xE9t \u0111\u1EC3 x\xE1c minh danh t\xEDnh c\u1EE7a b\u1EA1n",
916
+ titlePresence: "Qu\xE9t \u0111\u1EC3 ch\u1EE9ng minh b\u1EA1n l\xE0 ng\u01B0\u1EDDi th\u1EADt",
785
917
  titleApprove: "Ph\xEA duy\u1EC7t tr\xEAn \u0111i\u1EC7n tho\u1EA1i c\u1EE7a b\u1EA1n",
786
918
  bodyScan: "Qu\xE9t b\u1EB1ng camera \u0111i\u1EC7n tho\u1EA1i ho\u1EB7c \u1EE9ng d\u1EE5ng ZOREAL ID.",
787
919
  bodyApprove: "Ph\xEA duy\u1EC7t \u0111\u0103ng nh\u1EADp trong \u1EE9ng d\u1EE5ng ZOREAL ID c\u1EE7a b\u1EA1n.",
@@ -794,7 +926,8 @@ var TRANSLATIONS = {
794
926
  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.",
795
927
  cancel: "H\u1EE7y",
796
928
  close: "\u0110\xF3ng",
797
- qrAlt: "M\xE3 QR \u0111\u1EC3 \u0111\u0103ng nh\u1EADp b\u1EB1ng ZOREAL"
929
+ qrAlt: "M\xE3 QR \u0111\u1EC3 \u0111\u0103ng nh\u1EADp b\u1EB1ng ZOREAL",
930
+ buttonContinue: "Ti\u1EBFp t\u1EE5c v\u1EDBi ZOREAL"
798
931
  }
799
932
  };
800
933
  var RTL = /* @__PURE__ */ new Set(["ar", "he", "iw", "ur"]);
@@ -1214,7 +1347,11 @@ var CSS = `
1214
1347
  margin: 6px 0 0;
1215
1348
  font-size: 12px;
1216
1349
  color: var(--zrl-ink-mute);
1350
+ text-decoration: none;
1351
+ border-radius: 6px;
1352
+ transition: color 150ms ease-out;
1217
1353
  }
1354
+ .${PREFIX}-secured:hover { color: var(--zrl-ink); }
1218
1355
 
1219
1356
  .${PREFIX}-close {
1220
1357
  position: absolute;
@@ -1399,7 +1536,10 @@ function mountPairingModal(state, options) {
1399
1536
  const footer = el("div", cx("footer"));
1400
1537
  const cancelBtn = el("button", cx("cancel"), t.cancel);
1401
1538
  cancelBtn.type = "button";
1402
- const secured = el("p", cx("secured"));
1539
+ const secured = el("a", cx("secured"));
1540
+ secured.href = "https://zoreal.com";
1541
+ secured.target = "_blank";
1542
+ secured.rel = "noopener";
1403
1543
  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));
1404
1544
  footer.append(cancelBtn, secured);
1405
1545
  card.append(closeBtn, body, help, footer);
@@ -1431,7 +1571,7 @@ function mountPairingModal(state, options) {
1431
1571
  };
1432
1572
  const paint = (s) => {
1433
1573
  const settled = s.status === "claimed" || s.status === "enrolling";
1434
- title.textContent = settled ? t.titleApprove : t.title;
1574
+ title.textContent = settled ? t.titleApprove : titleFor(t, options.intent ?? "sign-in");
1435
1575
  bodyText.textContent = s.status === "enrolling" ? t.bodyEnrolling : settled ? t.bodyApprove : t.bodyScan;
1436
1576
  statusLabel.textContent = settled ? t.waitingApproval : t.waiting;
1437
1577
  qr.dataset.spent = String(settled);
@@ -1505,6 +1645,7 @@ function startLogin(options) {
1505
1645
  const issuer = options.issuer ?? DEFAULT_ISSUER;
1506
1646
  const controller = new AbortController();
1507
1647
  const useAppLink = options.display === "link" || options.display !== "qr" && isMobileUserAgent();
1648
+ const intent = resolveIntent(options.intent, options.scope, options.acr_values);
1508
1649
  const surface = {};
1509
1650
  const cancel = () => controller.abort();
1510
1651
  let modal = null;
@@ -1559,6 +1700,7 @@ function startLogin(options) {
1559
1700
  qrUrl: surface.qrUrl,
1560
1701
  qrRefreshSeconds,
1561
1702
  appLink: useAppLink,
1703
+ intent,
1562
1704
  cancel
1563
1705
  });
1564
1706
  let lastPolled = { status: "pending", expiresIn: started.expires_in };
@@ -1567,6 +1709,7 @@ function startLogin(options) {
1567
1709
  if ((options.pairingUI ?? "modal") === "modal" && !useAppLink) {
1568
1710
  modal = mountPairingModal(initial, {
1569
1711
  onCancel: cancel,
1712
+ intent,
1570
1713
  locale: options.locale,
1571
1714
  theme: options.theme,
1572
1715
  timeoutMs: options.pairingTimeoutMs
@@ -1693,6 +1836,7 @@ export {
1693
1836
  isMobileUserAgent,
1694
1837
  mountPairingModal,
1695
1838
  pollUntilApproved,
1839
+ resolveIntent,
1696
1840
  startLogin,
1697
1841
  startPairing,
1698
1842
  unsafeClaims