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