@zoreal/oauth2-react 0.2.12 → 0.2.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/README.md +4 -3
- package/dist/index.cjs +356 -63
- 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 +356 -64
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -27,6 +27,7 @@ __export(index_exports, {
|
|
|
27
27
|
ZorealOAuthProvider: () => ZorealOAuthProvider,
|
|
28
28
|
hasGrantedAllScopesZoreal: () => hasGrantedAllScopesZoreal,
|
|
29
29
|
hasGrantedAnyScopeZoreal: () => hasGrantedAnyScopeZoreal,
|
|
30
|
+
resolveIntent: () => resolveIntent,
|
|
30
31
|
useZorealAutoLogin: () => useZorealAutoLogin,
|
|
31
32
|
useZorealLogin: () => useZorealLogin,
|
|
32
33
|
useZorealOAuth: () => useZorealOAuth,
|
|
@@ -39,7 +40,7 @@ var import_react2 = require("react");
|
|
|
39
40
|
|
|
40
41
|
// src/wire.ts
|
|
41
42
|
var WIRE_VERSION = 1;
|
|
42
|
-
var SDK_VERSION = "0.2.
|
|
43
|
+
var SDK_VERSION = "0.2.14";
|
|
43
44
|
var DEFAULT_ISSUER = "https://id.zoreal.com";
|
|
44
45
|
var POLL_INTERVAL_MS = 2e3;
|
|
45
46
|
var POLL_INTERVAL_ENROLLING_MS = 5e3;
|
|
@@ -119,8 +120,11 @@ function ZorealLockup({ height = 22, className }) {
|
|
|
119
120
|
// src/i18n.ts
|
|
120
121
|
var en = {
|
|
121
122
|
title: "Scan to sign in",
|
|
123
|
+
titleIdentify: "Scan to verify your identity",
|
|
124
|
+
titlePresence: "Scan to prove you are a real human",
|
|
122
125
|
titleApprove: "Approve on your phone",
|
|
123
126
|
bodyScan: "Scan with your phone camera or the ZOREAL ID app.",
|
|
127
|
+
bodyLink: "Approve this sign-in in the ZOREAL ID app on this phone.",
|
|
124
128
|
bodyApprove: "Approve the login in your ZOREAL ID app.",
|
|
125
129
|
bodyEnrolling: "Finish setting up ZOREAL ID on your phone, then approve the login.",
|
|
126
130
|
waiting: "Waiting for scan",
|
|
@@ -131,14 +135,19 @@ var en = {
|
|
|
131
135
|
noIdBody: "Scan the same code to download the app and create one for free. It only takes a minute.",
|
|
132
136
|
cancel: "Cancel",
|
|
133
137
|
close: "Close",
|
|
134
|
-
qrAlt: "QR code to sign in with ZOREAL"
|
|
138
|
+
qrAlt: "QR code to sign in with ZOREAL",
|
|
139
|
+
buttonContinue: "Continue with ZOREAL",
|
|
140
|
+
openApp: "Open ZOREAL ID"
|
|
135
141
|
};
|
|
136
142
|
var TRANSLATIONS = {
|
|
137
143
|
en,
|
|
138
144
|
sv: {
|
|
139
145
|
title: "Skanna f\xF6r att logga in",
|
|
146
|
+
titleIdentify: "Skanna f\xF6r att verifiera din identitet",
|
|
147
|
+
titlePresence: "Skanna f\xF6r att bevisa att du \xE4r en riktig m\xE4nniska",
|
|
140
148
|
titleApprove: "Godk\xE4nn p\xE5 telefonen",
|
|
141
149
|
bodyScan: "Skanna med telefonens kamera eller ZOREAL ID-appen.",
|
|
150
|
+
bodyLink: "Godk\xE4nn inloggningen i ZOREAL ID-appen p\xE5 den h\xE4r telefonen.",
|
|
142
151
|
bodyApprove: "Godk\xE4nn inloggningen i ZOREAL ID-appen.",
|
|
143
152
|
bodyEnrolling: "Slutf\xF6r konfigurationen av ZOREAL ID p\xE5 telefonen och godk\xE4nn sedan inloggningen.",
|
|
144
153
|
waiting: "V\xE4ntar p\xE5 skanning",
|
|
@@ -149,12 +158,17 @@ var TRANSLATIONS = {
|
|
|
149
158
|
noIdBody: "Skanna samma kod f\xF6r att ladda ner appen och skapa ett gratis. Det tar bara en minut.",
|
|
150
159
|
cancel: "Avbryt",
|
|
151
160
|
close: "St\xE4ng",
|
|
152
|
-
qrAlt: "QR-kod f\xF6r att logga in med ZOREAL"
|
|
161
|
+
qrAlt: "QR-kod f\xF6r att logga in med ZOREAL",
|
|
162
|
+
buttonContinue: "Forts\xE4tt med ZOREAL",
|
|
163
|
+
openApp: "\xD6ppna ZOREAL ID"
|
|
153
164
|
},
|
|
154
165
|
es: {
|
|
155
166
|
title: "Escanea para iniciar sesi\xF3n",
|
|
167
|
+
titleIdentify: "Escanea para verificar tu identidad",
|
|
168
|
+
titlePresence: "Escanea para demostrar que eres una persona real",
|
|
156
169
|
titleApprove: "Apru\xE9balo en tu tel\xE9fono",
|
|
157
170
|
bodyScan: "Escanea con la c\xE1mara de tu tel\xE9fono o con la app ZOREAL ID.",
|
|
171
|
+
bodyLink: "Aprueba este inicio de sesi\xF3n en la app ZOREAL ID de este tel\xE9fono.",
|
|
158
172
|
bodyApprove: "Aprueba el inicio de sesi\xF3n en tu app ZOREAL ID.",
|
|
159
173
|
bodyEnrolling: "Termina de configurar ZOREAL ID en tu tel\xE9fono y luego aprueba el inicio de sesi\xF3n.",
|
|
160
174
|
waiting: "Esperando el escaneo",
|
|
@@ -165,12 +179,17 @@ var TRANSLATIONS = {
|
|
|
165
179
|
noIdBody: "Escanea el mismo c\xF3digo para descargar la app y crear una gratis. Solo toma un minuto.",
|
|
166
180
|
cancel: "Cancelar",
|
|
167
181
|
close: "Cerrar",
|
|
168
|
-
qrAlt: "C\xF3digo QR para iniciar sesi\xF3n con ZOREAL"
|
|
182
|
+
qrAlt: "C\xF3digo QR para iniciar sesi\xF3n con ZOREAL",
|
|
183
|
+
buttonContinue: "Continuar con ZOREAL",
|
|
184
|
+
openApp: "Abrir ZOREAL ID"
|
|
169
185
|
},
|
|
170
186
|
pt: {
|
|
171
187
|
title: "Digitalize para entrar",
|
|
188
|
+
titleIdentify: "Digitalize para verificar a sua identidade",
|
|
189
|
+
titlePresence: "Digitalize para provar que \xE9 uma pessoa real",
|
|
172
190
|
titleApprove: "Aprove no seu telefone",
|
|
173
191
|
bodyScan: "Digitalize com a c\xE2mara do seu telefone ou com a app ZOREAL ID.",
|
|
192
|
+
bodyLink: "Aprove este in\xEDcio de sess\xE3o na app ZOREAL ID neste telem\xF3vel.",
|
|
174
193
|
bodyApprove: "Aprove o login no app ZOREAL ID.",
|
|
175
194
|
bodyEnrolling: "Termine de configurar o ZOREAL ID no seu telefone e depois aprove o login.",
|
|
176
195
|
waiting: "Aguardando digitaliza\xE7\xE3o",
|
|
@@ -181,12 +200,17 @@ var TRANSLATIONS = {
|
|
|
181
200
|
noIdBody: "Digitalize o mesmo c\xF3digo para baixar o app e criar uma conta gr\xE1tis. Leva s\xF3 um minuto.",
|
|
182
201
|
cancel: "Cancelar",
|
|
183
202
|
close: "Fechar",
|
|
184
|
-
qrAlt: "C\xF3digo QR para entrar com ZOREAL"
|
|
203
|
+
qrAlt: "C\xF3digo QR para entrar com ZOREAL",
|
|
204
|
+
buttonContinue: "Continuar com ZOREAL",
|
|
205
|
+
openApp: "Abrir ZOREAL ID"
|
|
185
206
|
},
|
|
186
207
|
fr: {
|
|
187
208
|
title: "Scannez pour vous connecter",
|
|
209
|
+
titleIdentify: "Scannez pour v\xE9rifier votre identit\xE9",
|
|
210
|
+
titlePresence: "Scannez pour prouver que vous \xEAtes bien un humain",
|
|
188
211
|
titleApprove: "Approuvez sur votre t\xE9l\xE9phone",
|
|
189
212
|
bodyScan: "Scannez avec l'appareil photo de votre t\xE9l\xE9phone ou l'app ZOREAL ID.",
|
|
213
|
+
bodyLink: "Approuvez cette connexion dans l'app ZOREAL ID sur ce t\xE9l\xE9phone.",
|
|
190
214
|
bodyApprove: "Approuvez la connexion dans votre app ZOREAL ID.",
|
|
191
215
|
bodyEnrolling: "Terminez la configuration de ZOREAL ID sur votre t\xE9l\xE9phone, puis approuvez la connexion.",
|
|
192
216
|
waiting: "En attente du scan",
|
|
@@ -197,12 +221,17 @@ var TRANSLATIONS = {
|
|
|
197
221
|
noIdBody: "Scannez le m\xEAme code pour t\xE9l\xE9charger l'app et en cr\xE9er un gratuitement. Cela prend une minute.",
|
|
198
222
|
cancel: "Annuler",
|
|
199
223
|
close: "Fermer",
|
|
200
|
-
qrAlt: "Code QR pour se connecter avec ZOREAL"
|
|
224
|
+
qrAlt: "Code QR pour se connecter avec ZOREAL",
|
|
225
|
+
buttonContinue: "Continuer avec ZOREAL",
|
|
226
|
+
openApp: "Ouvrir ZOREAL ID"
|
|
201
227
|
},
|
|
202
228
|
de: {
|
|
203
229
|
title: "Zum Anmelden scannen",
|
|
230
|
+
titleIdentify: "Scannen, um Ihre Identit\xE4t zu verifizieren",
|
|
231
|
+
titlePresence: "Scannen, um zu beweisen, dass Sie ein echter Mensch sind",
|
|
204
232
|
titleApprove: "Auf dem Handy best\xE4tigen",
|
|
205
233
|
bodyScan: "Mit der Handykamera oder der ZOREAL ID App scannen.",
|
|
234
|
+
bodyLink: "Best\xE4tigen Sie diese Anmeldung in der ZOREAL ID-App auf diesem Telefon.",
|
|
206
235
|
bodyApprove: "Anmeldung in der ZOREAL ID App best\xE4tigen.",
|
|
207
236
|
bodyEnrolling: "ZOREAL ID auf dem Handy fertig einrichten und dann die Anmeldung best\xE4tigen.",
|
|
208
237
|
waiting: "Warten auf Scan",
|
|
@@ -213,12 +242,17 @@ var TRANSLATIONS = {
|
|
|
213
242
|
noIdBody: "Denselben Code scannen, um die App zu laden und kostenlos eine zu erstellen. Dauert nur eine Minute.",
|
|
214
243
|
cancel: "Abbrechen",
|
|
215
244
|
close: "Schlie\xDFen",
|
|
216
|
-
qrAlt: "QR-Code f\xFCr die Anmeldung mit ZOREAL"
|
|
245
|
+
qrAlt: "QR-Code f\xFCr die Anmeldung mit ZOREAL",
|
|
246
|
+
buttonContinue: "Weiter mit ZOREAL",
|
|
247
|
+
openApp: "ZOREAL ID \xF6ffnen"
|
|
217
248
|
},
|
|
218
249
|
ru: {
|
|
219
250
|
title: "\u041E\u0442\u0441\u043A\u0430\u043D\u0438\u0440\u0443\u0439\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u0432\u043E\u0439\u0442\u0438",
|
|
251
|
+
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",
|
|
252
|
+
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",
|
|
220
253
|
titleApprove: "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u043D\u0430 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0435",
|
|
221
254
|
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.",
|
|
255
|
+
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.",
|
|
222
256
|
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.",
|
|
223
257
|
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.",
|
|
224
258
|
waiting: "\u041E\u0436\u0438\u0434\u0430\u043D\u0438\u0435 \u0441\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F",
|
|
@@ -229,12 +263,17 @@ var TRANSLATIONS = {
|
|
|
229
263
|
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.",
|
|
230
264
|
cancel: "\u041E\u0442\u043C\u0435\u043D\u0430",
|
|
231
265
|
close: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C",
|
|
232
|
-
qrAlt: "QR-\u043A\u043E\u0434 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0430 \u0447\u0435\u0440\u0435\u0437 ZOREAL"
|
|
266
|
+
qrAlt: "QR-\u043A\u043E\u0434 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0430 \u0447\u0435\u0440\u0435\u0437 ZOREAL",
|
|
267
|
+
buttonContinue: "\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C \u0441 ZOREAL",
|
|
268
|
+
openApp: "\u041E\u0442\u043A\u0440\u044B\u0442\u044C ZOREAL ID"
|
|
233
269
|
},
|
|
234
270
|
ja: {
|
|
235
271
|
title: "\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u30ED\u30B0\u30A4\u30F3",
|
|
272
|
+
titleIdentify: "\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u672C\u4EBA\u78BA\u8A8D",
|
|
273
|
+
titlePresence: "\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u5B9F\u5728\u306E\u4EBA\u7269\u3067\u3042\u308B\u3053\u3068\u3092\u8A3C\u660E",
|
|
236
274
|
titleApprove: "\u30B9\u30DE\u30FC\u30C8\u30D5\u30A9\u30F3\u3067\u627F\u8A8D",
|
|
237
275
|
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",
|
|
276
|
+
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",
|
|
238
277
|
bodyApprove: "ZOREAL ID\u30A2\u30D7\u30EA\u3067\u30ED\u30B0\u30A4\u30F3\u3092\u627F\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
239
278
|
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",
|
|
240
279
|
waiting: "\u30B9\u30AD\u30E3\u30F3\u5F85\u3061",
|
|
@@ -245,12 +284,17 @@ var TRANSLATIONS = {
|
|
|
245
284
|
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",
|
|
246
285
|
cancel: "\u30AD\u30E3\u30F3\u30BB\u30EB",
|
|
247
286
|
close: "\u9589\u3058\u308B",
|
|
248
|
-
qrAlt: "ZOREAL\u3067\u30ED\u30B0\u30A4\u30F3\u3059\u308B\u305F\u3081\u306EQR\u30B3\u30FC\u30C9"
|
|
287
|
+
qrAlt: "ZOREAL\u3067\u30ED\u30B0\u30A4\u30F3\u3059\u308B\u305F\u3081\u306EQR\u30B3\u30FC\u30C9",
|
|
288
|
+
buttonContinue: "ZOREAL\u3067\u7D9A\u884C",
|
|
289
|
+
openApp: "ZOREAL ID\u3092\u958B\u304F"
|
|
249
290
|
},
|
|
250
291
|
hi: {
|
|
251
292
|
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",
|
|
293
|
+
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",
|
|
294
|
+
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",
|
|
252
295
|
titleApprove: "\u0905\u092A\u0928\u0947 \u092B\u094B\u0928 \u092A\u0930 \u0938\u094D\u0935\u0940\u0915\u0943\u0924 \u0915\u0930\u0947\u0902",
|
|
253
296
|
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",
|
|
297
|
+
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",
|
|
254
298
|
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",
|
|
255
299
|
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",
|
|
256
300
|
waiting: "\u0938\u094D\u0915\u0948\u0928 \u0915\u0940 \u092A\u094D\u0930\u0924\u0940\u0915\u094D\u0937\u093E \u0939\u0948",
|
|
@@ -261,12 +305,17 @@ var TRANSLATIONS = {
|
|
|
261
305
|
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",
|
|
262
306
|
cancel: "\u0930\u0926\u094D\u0926 \u0915\u0930\u0947\u0902",
|
|
263
307
|
close: "\u092C\u0902\u0926 \u0915\u0930\u0947\u0902",
|
|
264
|
-
qrAlt: "ZOREAL \u0938\u0947 \u0938\u093E\u0907\u0928 \u0907\u0928 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F QR \u0915\u094B\u0921"
|
|
308
|
+
qrAlt: "ZOREAL \u0938\u0947 \u0938\u093E\u0907\u0928 \u0907\u0928 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F QR \u0915\u094B\u0921",
|
|
309
|
+
buttonContinue: "ZOREAL \u0915\u0947 \u0938\u093E\u0925 \u091C\u093E\u0930\u0940 \u0930\u0916\u0947\u0902",
|
|
310
|
+
openApp: "ZOREAL ID \u0916\u094B\u0932\u0947\u0902"
|
|
265
311
|
},
|
|
266
312
|
zhs: {
|
|
267
313
|
title: "\u626B\u7801\u767B\u5F55",
|
|
314
|
+
titleIdentify: "\u626B\u7801\u9A8C\u8BC1\u8EAB\u4EFD",
|
|
315
|
+
titlePresence: "\u626B\u7801\u8BC1\u660E\u60A8\u662F\u771F\u4EBA",
|
|
268
316
|
titleApprove: "\u5728\u624B\u673A\u4E0A\u6279\u51C6",
|
|
269
317
|
bodyScan: "\u4F7F\u7528\u624B\u673A\u76F8\u673A\u6216 ZOREAL ID \u5E94\u7528\u626B\u63CF\u3002",
|
|
318
|
+
bodyLink: "\u8BF7\u5728\u672C\u624B\u673A\u7684 ZOREAL ID \u5E94\u7528\u4E2D\u6279\u51C6\u6B64\u6B21\u767B\u5F55\u3002",
|
|
270
319
|
bodyApprove: "\u8BF7\u5728 ZOREAL ID \u5E94\u7528\u4E2D\u6279\u51C6\u767B\u5F55\u3002",
|
|
271
320
|
bodyEnrolling: "\u8BF7\u5728\u624B\u673A\u4E0A\u5B8C\u6210 ZOREAL ID \u8BBE\u7F6E\uFF0C\u7136\u540E\u6279\u51C6\u767B\u5F55\u3002",
|
|
272
321
|
waiting: "\u7B49\u5F85\u626B\u63CF",
|
|
@@ -277,12 +326,17 @@ var TRANSLATIONS = {
|
|
|
277
326
|
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",
|
|
278
327
|
cancel: "\u53D6\u6D88",
|
|
279
328
|
close: "\u5173\u95ED",
|
|
280
|
-
qrAlt: "\u4F7F\u7528 ZOREAL \u767B\u5F55\u7684\u4E8C\u7EF4\u7801"
|
|
329
|
+
qrAlt: "\u4F7F\u7528 ZOREAL \u767B\u5F55\u7684\u4E8C\u7EF4\u7801",
|
|
330
|
+
buttonContinue: "\u4F7F\u7528 ZOREAL \u7EE7\u7EED",
|
|
331
|
+
openApp: "\u6253\u5F00 ZOREAL ID"
|
|
281
332
|
},
|
|
282
333
|
zht: {
|
|
283
334
|
title: "\u6383\u78BC\u767B\u5165",
|
|
335
|
+
titleIdentify: "\u6383\u78BC\u9A57\u8B49\u8EAB\u5206",
|
|
336
|
+
titlePresence: "\u6383\u78BC\u8B49\u660E\u60A8\u662F\u771F\u4EBA",
|
|
284
337
|
titleApprove: "\u5728\u624B\u6A5F\u4E0A\u6838\u51C6",
|
|
285
338
|
bodyScan: "\u4F7F\u7528\u624B\u6A5F\u76F8\u6A5F\u6216 ZOREAL ID \u61C9\u7528\u7A0B\u5F0F\u6383\u63CF\u3002",
|
|
339
|
+
bodyLink: "\u8ACB\u5728\u672C\u624B\u6A5F\u7684 ZOREAL ID \u61C9\u7528\u7A0B\u5F0F\u4E2D\u6838\u51C6\u6B64\u6B21\u767B\u5165\u3002",
|
|
286
340
|
bodyApprove: "\u8ACB\u5728 ZOREAL ID \u61C9\u7528\u7A0B\u5F0F\u4E2D\u6838\u51C6\u767B\u5165\u3002",
|
|
287
341
|
bodyEnrolling: "\u8ACB\u5728\u624B\u6A5F\u4E0A\u5B8C\u6210 ZOREAL ID \u8A2D\u5B9A\uFF0C\u7136\u5F8C\u6838\u51C6\u767B\u5165\u3002",
|
|
288
342
|
waiting: "\u7B49\u5F85\u6383\u63CF",
|
|
@@ -293,12 +347,17 @@ var TRANSLATIONS = {
|
|
|
293
347
|
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",
|
|
294
348
|
cancel: "\u53D6\u6D88",
|
|
295
349
|
close: "\u95DC\u9589",
|
|
296
|
-
qrAlt: "\u4F7F\u7528 ZOREAL \u767B\u5165\u7684 QR code"
|
|
350
|
+
qrAlt: "\u4F7F\u7528 ZOREAL \u767B\u5165\u7684 QR code",
|
|
351
|
+
buttonContinue: "\u4F7F\u7528 ZOREAL \u7E7C\u7E8C",
|
|
352
|
+
openApp: "\u958B\u555F ZOREAL ID"
|
|
297
353
|
},
|
|
298
354
|
ar: {
|
|
299
355
|
title: "\u0627\u0645\u0633\u062D \u0644\u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644",
|
|
356
|
+
titleIdentify: "\u0627\u0645\u0633\u062D \u0644\u0644\u062A\u062D\u0642\u0642 \u0645\u0646 \u0647\u0648\u064A\u062A\u0643",
|
|
357
|
+
titlePresence: "\u0627\u0645\u0633\u062D \u0644\u0625\u062B\u0628\u0627\u062A \u0623\u0646\u0643 \u0625\u0646\u0633\u0627\u0646 \u062D\u0642\u064A\u0642\u064A",
|
|
300
358
|
titleApprove: "\u0648\u0627\u0641\u0642 \u0639\u0644\u0649 \u0647\u0627\u062A\u0641\u0643",
|
|
301
359
|
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.",
|
|
360
|
+
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.",
|
|
302
361
|
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.",
|
|
303
362
|
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.",
|
|
304
363
|
waiting: "\u0641\u064A \u0627\u0646\u062A\u0638\u0627\u0631 \u0627\u0644\u0645\u0633\u062D",
|
|
@@ -309,12 +368,17 @@ var TRANSLATIONS = {
|
|
|
309
368
|
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.",
|
|
310
369
|
cancel: "\u0625\u0644\u063A\u0627\u0621",
|
|
311
370
|
close: "\u0625\u063A\u0644\u0627\u0642",
|
|
312
|
-
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"
|
|
371
|
+
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",
|
|
372
|
+
buttonContinue: "\u0627\u0644\u0645\u062A\u0627\u0628\u0639\u0629 \u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645 ZOREAL",
|
|
373
|
+
openApp: "\u0641\u062A\u062D ZOREAL ID"
|
|
313
374
|
},
|
|
314
375
|
ko: {
|
|
315
376
|
title: "\uC2A4\uCE94\uD558\uC5EC \uB85C\uADF8\uC778",
|
|
377
|
+
titleIdentify: "\uC2A4\uCE94\uD558\uC5EC \uC2E0\uC6D0 \uD655\uC778",
|
|
378
|
+
titlePresence: "\uC2A4\uCE94\uD558\uC5EC \uC2E4\uC81C \uC0AC\uB78C\uC784\uC744 \uC99D\uBA85",
|
|
316
379
|
titleApprove: "\uD734\uB300\uD3F0\uC5D0\uC11C \uC2B9\uC778",
|
|
317
380
|
bodyScan: "\uD734\uB300\uD3F0 \uCE74\uBA54\uB77C \uB610\uB294 ZOREAL ID \uC571\uC73C\uB85C \uC2A4\uCE94\uD558\uC138\uC694.",
|
|
381
|
+
bodyLink: "\uC774 \uD734\uB300\uD3F0\uC758 ZOREAL ID \uC571\uC5D0\uC11C \uC774 \uB85C\uADF8\uC778\uC744 \uC2B9\uC778\uD558\uC138\uC694.",
|
|
318
382
|
bodyApprove: "ZOREAL ID \uC571\uC5D0\uC11C \uB85C\uADF8\uC778\uC744 \uC2B9\uC778\uD558\uC138\uC694.",
|
|
319
383
|
bodyEnrolling: "\uD734\uB300\uD3F0\uC5D0\uC11C ZOREAL ID \uC124\uC815\uC744 \uC644\uB8CC\uD55C \uD6C4 \uB85C\uADF8\uC778\uC744 \uC2B9\uC778\uD558\uC138\uC694.",
|
|
320
384
|
waiting: "\uC2A4\uCE94 \uB300\uAE30 \uC911",
|
|
@@ -325,13 +389,18 @@ var TRANSLATIONS = {
|
|
|
325
389
|
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.",
|
|
326
390
|
cancel: "\uCDE8\uC18C",
|
|
327
391
|
close: "\uB2EB\uAE30",
|
|
328
|
-
qrAlt: "ZOREAL\uB85C \uB85C\uADF8\uC778\uD558\uAE30 \uC704\uD55C QR \uCF54\uB4DC"
|
|
392
|
+
qrAlt: "ZOREAL\uB85C \uB85C\uADF8\uC778\uD558\uAE30 \uC704\uD55C QR \uCF54\uB4DC",
|
|
393
|
+
buttonContinue: "ZOREAL\uB85C \uACC4\uC18D",
|
|
394
|
+
openApp: "ZOREAL ID \uC5F4\uAE30"
|
|
329
395
|
},
|
|
330
396
|
// Български
|
|
331
397
|
bg: {
|
|
332
398
|
title: "\u0421\u043A\u0430\u043D\u0438\u0440\u0430\u0439\u0442\u0435 \u0437\u0430 \u0432\u0445\u043E\u0434",
|
|
399
|
+
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",
|
|
400
|
+
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",
|
|
333
401
|
titleApprove: "\u041F\u043E\u0442\u0432\u044A\u0440\u0434\u0435\u0442\u0435 \u043D\u0430 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u0441\u0438",
|
|
334
402
|
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.",
|
|
403
|
+
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.",
|
|
335
404
|
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.",
|
|
336
405
|
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.",
|
|
337
406
|
waiting: "\u0418\u0437\u0447\u0430\u043A\u0432\u0430\u043D\u0435 \u043D\u0430 \u0441\u043A\u0430\u043D\u0438\u0440\u0430\u043D\u0435",
|
|
@@ -342,13 +411,18 @@ var TRANSLATIONS = {
|
|
|
342
411
|
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.",
|
|
343
412
|
cancel: "\u041E\u0442\u043A\u0430\u0437",
|
|
344
413
|
close: "\u0417\u0430\u0442\u0432\u043E\u0440\u0438",
|
|
345
|
-
qrAlt: "QR \u043A\u043E\u0434 \u0437\u0430 \u0432\u0445\u043E\u0434 \u0441\u044A\u0441 ZOREAL"
|
|
414
|
+
qrAlt: "QR \u043A\u043E\u0434 \u0437\u0430 \u0432\u0445\u043E\u0434 \u0441\u044A\u0441 ZOREAL",
|
|
415
|
+
buttonContinue: "\u041F\u0440\u043E\u0434\u044A\u043B\u0436\u0438 \u0441\u044A\u0441 ZOREAL",
|
|
416
|
+
openApp: "\u041E\u0442\u0432\u043E\u0440\u0438 ZOREAL ID"
|
|
346
417
|
},
|
|
347
418
|
// বাংলা
|
|
348
419
|
bn: {
|
|
349
420
|
title: "\u09B8\u09BE\u0987\u09A8 \u0987\u09A8 \u0995\u09B0\u09A4\u09C7 \u09B8\u09CD\u0995\u09CD\u09AF\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8",
|
|
421
|
+
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",
|
|
422
|
+
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",
|
|
350
423
|
titleApprove: "\u0986\u09AA\u09A8\u09BE\u09B0 \u09AB\u09CB\u09A8\u09C7 \u0985\u09A8\u09C1\u09AE\u09CB\u09A6\u09A8 \u0995\u09B0\u09C1\u09A8",
|
|
351
424
|
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",
|
|
425
|
+
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",
|
|
352
426
|
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",
|
|
353
427
|
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",
|
|
354
428
|
waiting: "\u09B8\u09CD\u0995\u09CD\u09AF\u09BE\u09A8\u09C7\u09B0 \u0985\u09AA\u09C7\u0995\u09CD\u09B7\u09BE\u09AF\u09BC",
|
|
@@ -359,13 +433,18 @@ var TRANSLATIONS = {
|
|
|
359
433
|
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",
|
|
360
434
|
cancel: "\u09AC\u09BE\u09A4\u09BF\u09B2",
|
|
361
435
|
close: "\u09AC\u09A8\u09CD\u09A7",
|
|
362
|
-
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"
|
|
436
|
+
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",
|
|
437
|
+
buttonContinue: "ZOREAL \u09A6\u09BF\u09AF\u09BC\u09C7 \u099A\u09BE\u09B2\u09BF\u09AF\u09BC\u09C7 \u09AF\u09BE\u09A8",
|
|
438
|
+
openApp: "ZOREAL ID \u0996\u09C1\u09B2\u09C1\u09A8"
|
|
363
439
|
},
|
|
364
440
|
// Bosanski
|
|
365
441
|
bs: {
|
|
366
442
|
title: "Skenirajte za prijavu",
|
|
443
|
+
titleIdentify: "Skenirajte da potvrdite svoj identitet",
|
|
444
|
+
titlePresence: "Skenirajte da doka\u017Eete da ste stvarna osoba",
|
|
367
445
|
titleApprove: "Odobrite na svom telefonu",
|
|
368
446
|
bodyScan: "Skenirajte kamerom svog telefona ili aplikacijom ZOREAL ID.",
|
|
447
|
+
bodyLink: "Odobrite ovu prijavu u aplikaciji ZOREAL ID na ovom telefonu.",
|
|
369
448
|
bodyApprove: "Odobrite prijavu u aplikaciji ZOREAL ID.",
|
|
370
449
|
bodyEnrolling: "Zavr\u0161ite pode\u0161avanje ZOREAL ID-a na svom telefonu, a zatim odobrite prijavu.",
|
|
371
450
|
waiting: "\u010Ceka se skeniranje",
|
|
@@ -376,13 +455,18 @@ var TRANSLATIONS = {
|
|
|
376
455
|
noIdBody: "Skenirajte isti kod da preuzmete aplikaciju i besplatno ga napravite. Traje samo minutu.",
|
|
377
456
|
cancel: "Otka\u017Ei",
|
|
378
457
|
close: "Zatvori",
|
|
379
|
-
qrAlt: "QR kod za prijavu putem ZOREAL-a"
|
|
458
|
+
qrAlt: "QR kod za prijavu putem ZOREAL-a",
|
|
459
|
+
buttonContinue: "Nastavi sa ZOREAL-om",
|
|
460
|
+
openApp: "Otvori ZOREAL ID"
|
|
380
461
|
},
|
|
381
462
|
// Čeština
|
|
382
463
|
cs: {
|
|
383
464
|
title: "P\u0159ihlaste se naskenov\xE1n\xEDm",
|
|
465
|
+
titleIdentify: "Naskenujte pro ov\u011B\u0159en\xED toto\u017Enosti",
|
|
466
|
+
titlePresence: "Naskenujte a proka\u017Ete, \u017Ee jste skute\u010Dn\xFD \u010Dlov\u011Bk",
|
|
384
467
|
titleApprove: "Potvr\u010Fte v telefonu",
|
|
385
468
|
bodyScan: "Naskenujte fotoapar\xE1tem telefonu nebo aplikac\xED ZOREAL ID.",
|
|
469
|
+
bodyLink: "Schvalte toto p\u0159ihl\xE1\u0161en\xED v aplikaci ZOREAL ID na tomto telefonu.",
|
|
386
470
|
bodyApprove: "Potvr\u010Fte p\u0159ihl\xE1\u0161en\xED v aplikaci ZOREAL ID.",
|
|
387
471
|
bodyEnrolling: "Dokon\u010Dete nastaven\xED ZOREAL ID v telefonu a pot\xE9 potvr\u010Fte p\u0159ihl\xE1\u0161en\xED.",
|
|
388
472
|
waiting: "\u010Cek\xE1n\xED na naskenov\xE1n\xED",
|
|
@@ -393,13 +477,18 @@ var TRANSLATIONS = {
|
|
|
393
477
|
noIdBody: "Naskenov\xE1n\xEDm stejn\xE9ho k\xF3du si st\xE1hnete aplikaci a zdarma vytvo\u0159\xEDte ZOREAL ID. Zabere to jen minutu.",
|
|
394
478
|
cancel: "Zru\u0161it",
|
|
395
479
|
close: "Zav\u0159\xEDt",
|
|
396
|
-
qrAlt: "QR k\xF3d pro p\u0159ihl\xE1\u0161en\xED pomoc\xED ZOREAL"
|
|
480
|
+
qrAlt: "QR k\xF3d pro p\u0159ihl\xE1\u0161en\xED pomoc\xED ZOREAL",
|
|
481
|
+
buttonContinue: "Pokra\u010Dovat se ZOREAL",
|
|
482
|
+
openApp: "Otev\u0159\xEDt ZOREAL ID"
|
|
397
483
|
},
|
|
398
484
|
// Dansk
|
|
399
485
|
da: {
|
|
400
486
|
title: "Scan for at logge ind",
|
|
487
|
+
titleIdentify: "Scan for at bekr\xE6fte din identitet",
|
|
488
|
+
titlePresence: "Scan for at bevise, at du er et rigtigt menneske",
|
|
401
489
|
titleApprove: "Godkend p\xE5 din telefon",
|
|
402
490
|
bodyScan: "Scan med telefonens kamera eller ZOREAL ID-appen.",
|
|
491
|
+
bodyLink: "Godkend dette login i ZOREAL ID-appen p\xE5 denne telefon.",
|
|
403
492
|
bodyApprove: "Godkend login i din ZOREAL ID-app.",
|
|
404
493
|
bodyEnrolling: "F\xE6rdigg\xF8r ops\xE6tningen af ZOREAL ID p\xE5 din telefon, og godkend derefter login.",
|
|
405
494
|
waiting: "Venter p\xE5 scanning",
|
|
@@ -410,13 +499,18 @@ var TRANSLATIONS = {
|
|
|
410
499
|
noIdBody: "Scan den samme kode for at hente appen og oprette et gratis. Det tager kun et minut.",
|
|
411
500
|
cancel: "Annuller",
|
|
412
501
|
close: "Luk",
|
|
413
|
-
qrAlt: "QR-kode til at logge ind med ZOREAL"
|
|
502
|
+
qrAlt: "QR-kode til at logge ind med ZOREAL",
|
|
503
|
+
buttonContinue: "Forts\xE6t med ZOREAL",
|
|
504
|
+
openApp: "\xC5bn ZOREAL ID"
|
|
414
505
|
},
|
|
415
506
|
// Ελληνικά
|
|
416
507
|
el: {
|
|
417
508
|
title: "\u03A3\u03AC\u03C1\u03C9\u03C3\u03B7 \u03B3\u03B9\u03B1 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7",
|
|
509
|
+
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",
|
|
510
|
+
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",
|
|
418
511
|
titleApprove: "\u0388\u03B3\u03BA\u03C1\u03B9\u03C3\u03B7 \u03B1\u03C0\u03CC \u03C4\u03BF \u03BA\u03B9\u03BD\u03B7\u03C4\u03CC \u03C3\u03B1\u03C2",
|
|
419
512
|
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.",
|
|
513
|
+
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.",
|
|
420
514
|
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.",
|
|
421
515
|
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.",
|
|
422
516
|
waiting: "\u0391\u03BD\u03B1\u03BC\u03BF\u03BD\u03AE \u03C3\u03AC\u03C1\u03C9\u03C3\u03B7\u03C2",
|
|
@@ -427,13 +521,18 @@ var TRANSLATIONS = {
|
|
|
427
521
|
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.",
|
|
428
522
|
cancel: "\u0386\u03BA\u03C5\u03C1\u03BF",
|
|
429
523
|
close: "\u039A\u03BB\u03B5\u03AF\u03C3\u03B9\u03BC\u03BF",
|
|
430
|
-
qrAlt: "\u039A\u03C9\u03B4\u03B9\u03BA\u03CC\u03C2 QR \u03B3\u03B9\u03B1 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7 \u03BC\u03B5 ZOREAL"
|
|
524
|
+
qrAlt: "\u039A\u03C9\u03B4\u03B9\u03BA\u03CC\u03C2 QR \u03B3\u03B9\u03B1 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7 \u03BC\u03B5 ZOREAL",
|
|
525
|
+
buttonContinue: "\u03A3\u03C5\u03BD\u03AD\u03C7\u03B5\u03B9\u03B1 \u03BC\u03B5 ZOREAL",
|
|
526
|
+
openApp: "\u0386\u03BD\u03BF\u03B9\u03B3\u03BC\u03B1 ZOREAL ID"
|
|
431
527
|
},
|
|
432
528
|
// Español (LA)
|
|
433
529
|
"es-419": {
|
|
434
530
|
title: "Escanea para iniciar sesi\xF3n",
|
|
531
|
+
titleIdentify: "Escanea para verificar tu identidad",
|
|
532
|
+
titlePresence: "Escanea para demostrar que eres una persona real",
|
|
435
533
|
titleApprove: "Aprueba desde tu celular",
|
|
436
534
|
bodyScan: "Escanea con la c\xE1mara de tu celular o con la app ZOREAL ID.",
|
|
535
|
+
bodyLink: "Aprueba este inicio de sesi\xF3n en la app ZOREAL ID de este tel\xE9fono.",
|
|
437
536
|
bodyApprove: "Aprueba el inicio de sesi\xF3n en tu app ZOREAL ID.",
|
|
438
537
|
bodyEnrolling: "Termina de configurar ZOREAL ID en tu celular y luego aprueba el inicio de sesi\xF3n.",
|
|
439
538
|
waiting: "Esperando escaneo",
|
|
@@ -444,13 +543,18 @@ var TRANSLATIONS = {
|
|
|
444
543
|
noIdBody: "Escanea el mismo c\xF3digo para descargar la app y crear uno gratis. Solo toma un minuto.",
|
|
445
544
|
cancel: "Cancelar",
|
|
446
545
|
close: "Cerrar",
|
|
447
|
-
qrAlt: "C\xF3digo QR para iniciar sesi\xF3n con ZOREAL"
|
|
546
|
+
qrAlt: "C\xF3digo QR para iniciar sesi\xF3n con ZOREAL",
|
|
547
|
+
buttonContinue: "Continuar con ZOREAL",
|
|
548
|
+
openApp: "Abrir ZOREAL ID"
|
|
448
549
|
},
|
|
449
550
|
// Suomi
|
|
450
551
|
fi: {
|
|
451
552
|
title: "Kirjaudu sis\xE4\xE4n skannaamalla",
|
|
553
|
+
titleIdentify: "Vahvista henkil\xF6llisyytesi skannaamalla",
|
|
554
|
+
titlePresence: "Todista skannaamalla, ett\xE4 olet oikea ihminen",
|
|
452
555
|
titleApprove: "Hyv\xE4ksy puhelimessasi",
|
|
453
556
|
bodyScan: "Skannaa puhelimesi kameralla tai ZOREAL ID -sovelluksella.",
|
|
557
|
+
bodyLink: "Hyv\xE4ksy t\xE4m\xE4 kirjautuminen ZOREAL ID -sovelluksessa t\xE4ll\xE4 puhelimella.",
|
|
454
558
|
bodyApprove: "Hyv\xE4ksy kirjautuminen ZOREAL ID -sovelluksessasi.",
|
|
455
559
|
bodyEnrolling: "Viimeistele ZOREAL ID -sovelluksen k\xE4ytt\xF6\xF6notto puhelimellasi ja hyv\xE4ksy sitten kirjautuminen.",
|
|
456
560
|
waiting: "Odotetaan skannausta",
|
|
@@ -461,13 +565,18 @@ var TRANSLATIONS = {
|
|
|
461
565
|
noIdBody: "Skannaa sama koodi ladataksesi sovelluksen ja luodaksesi tunnuksen ilmaiseksi. Se vie vain minuutin.",
|
|
462
566
|
cancel: "Peruuta",
|
|
463
567
|
close: "Sulje",
|
|
464
|
-
qrAlt: "QR-koodi ZOREAL-kirjautumista varten"
|
|
568
|
+
qrAlt: "QR-koodi ZOREAL-kirjautumista varten",
|
|
569
|
+
buttonContinue: "Jatka ZOREALilla",
|
|
570
|
+
openApp: "Avaa ZOREAL ID"
|
|
465
571
|
},
|
|
466
572
|
// עברית
|
|
467
573
|
he: {
|
|
468
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",
|
|
469
577
|
titleApprove: "\u05D0\u05E9\u05E8 \u05D1\u05D8\u05DC\u05E4\u05D5\u05DF \u05E9\u05DC\u05DA",
|
|
470
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.",
|
|
579
|
+
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.",
|
|
471
580
|
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.",
|
|
472
581
|
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.",
|
|
473
582
|
waiting: "\u05DE\u05DE\u05EA\u05D9\u05DF \u05DC\u05E1\u05E8\u05D9\u05E7\u05D4",
|
|
@@ -478,13 +587,18 @@ var TRANSLATIONS = {
|
|
|
478
587
|
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.",
|
|
479
588
|
cancel: "\u05D1\u05D9\u05D8\u05D5\u05DC",
|
|
480
589
|
close: "\u05E1\u05D2\u05D5\u05E8",
|
|
481
|
-
qrAlt: "\u05E7\u05D5\u05D3 QR \u05DC\u05D4\u05EA\u05D7\u05D1\u05E8\u05D5\u05EA \u05E2\u05DD ZOREAL"
|
|
590
|
+
qrAlt: "\u05E7\u05D5\u05D3 QR \u05DC\u05D4\u05EA\u05D7\u05D1\u05E8\u05D5\u05EA \u05E2\u05DD ZOREAL",
|
|
591
|
+
buttonContinue: "\u05D4\u05DE\u05E9\u05DA \u05E2\u05DD ZOREAL",
|
|
592
|
+
openApp: "\u05E4\u05EA\u05D7 \u05D0\u05EA ZOREAL ID"
|
|
482
593
|
},
|
|
483
594
|
// Hrvatski
|
|
484
595
|
hr: {
|
|
485
596
|
title: "Skenirajte za prijavu",
|
|
597
|
+
titleIdentify: "Skenirajte za potvrdu identiteta",
|
|
598
|
+
titlePresence: "Skenirajte kako biste dokazali da ste stvarna osoba",
|
|
486
599
|
titleApprove: "Odobrite na svom mobitelu",
|
|
487
600
|
bodyScan: "Skenirajte kamerom svog mobitela ili aplikacijom ZOREAL ID.",
|
|
601
|
+
bodyLink: "Odobrite ovu prijavu u aplikaciji ZOREAL ID na ovom telefonu.",
|
|
488
602
|
bodyApprove: "Odobrite prijavu u aplikaciji ZOREAL ID.",
|
|
489
603
|
bodyEnrolling: "Dovr\u0161ite postavljanje ZOREAL ID-a na svom mobitelu, a zatim odobrite prijavu.",
|
|
490
604
|
waiting: "\u010Ceka se skeniranje",
|
|
@@ -495,13 +609,18 @@ var TRANSLATIONS = {
|
|
|
495
609
|
noIdBody: "Skenirajte isti kod da preuzmete aplikaciju i besplatno ga izradite. Traje samo minutu.",
|
|
496
610
|
cancel: "Odustani",
|
|
497
611
|
close: "Zatvori",
|
|
498
|
-
qrAlt: "QR kod za prijavu putem ZOREAL-a"
|
|
612
|
+
qrAlt: "QR kod za prijavu putem ZOREAL-a",
|
|
613
|
+
buttonContinue: "Nastavi sa ZOREAL-om",
|
|
614
|
+
openApp: "Otvori ZOREAL ID"
|
|
499
615
|
},
|
|
500
616
|
// Magyar
|
|
501
617
|
hu: {
|
|
502
618
|
title: "Bejelentkez\xE9s beolvas\xE1ssal",
|
|
619
|
+
titleIdentify: "Olvassa be a szem\xE9lyazonoss\xE1ga igazol\xE1s\xE1hoz",
|
|
620
|
+
titlePresence: "Olvassa be annak igazol\xE1s\xE1hoz, hogy val\xF3di ember",
|
|
503
621
|
titleApprove: "J\xF3v\xE1hagy\xE1s a telefonj\xE1n",
|
|
504
622
|
bodyScan: "Olvassa be a telefonja kamer\xE1j\xE1val, vagy a ZOREAL ID alkalmaz\xE1ssal.",
|
|
623
|
+
bodyLink: "Hagyja j\xF3v\xE1 ezt a bejelentkez\xE9st a ZOREAL ID alkalmaz\xE1sban ezen a telefonon.",
|
|
505
624
|
bodyApprove: "Hagyja j\xF3v\xE1 a bejelentkez\xE9st a ZOREAL ID alkalmaz\xE1sban.",
|
|
506
625
|
bodyEnrolling: "Fejezze be a ZOREAL ID be\xE1ll\xEDt\xE1s\xE1t a telefonj\xE1n, majd hagyja j\xF3v\xE1 a bejelentkez\xE9st.",
|
|
507
626
|
waiting: "V\xE1rakoz\xE1s beolvas\xE1sra",
|
|
@@ -512,13 +631,18 @@ var TRANSLATIONS = {
|
|
|
512
631
|
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.",
|
|
513
632
|
cancel: "M\xE9gse",
|
|
514
633
|
close: "Bez\xE1r\xE1s",
|
|
515
|
-
qrAlt: "QR-k\xF3d a ZOREAL-lal val\xF3 bejelentkez\xE9shez"
|
|
634
|
+
qrAlt: "QR-k\xF3d a ZOREAL-lal val\xF3 bejelentkez\xE9shez",
|
|
635
|
+
buttonContinue: "Folytat\xE1s a ZOREAL-lal",
|
|
636
|
+
openApp: "ZOREAL ID megnyit\xE1sa"
|
|
516
637
|
},
|
|
517
638
|
// Bahasa Indonesia
|
|
518
639
|
id: {
|
|
519
640
|
title: "Pindai untuk masuk",
|
|
641
|
+
titleIdentify: "Pindai untuk memverifikasi identitas Anda",
|
|
642
|
+
titlePresence: "Pindai untuk membuktikan bahwa Anda manusia sungguhan",
|
|
520
643
|
titleApprove: "Setujui di ponsel Anda",
|
|
521
644
|
bodyScan: "Pindai dengan kamera ponsel atau aplikasi ZOREAL ID.",
|
|
645
|
+
bodyLink: "Setujui masuk ini di aplikasi ZOREAL ID pada ponsel ini.",
|
|
522
646
|
bodyApprove: "Setujui proses masuk di aplikasi ZOREAL ID Anda.",
|
|
523
647
|
bodyEnrolling: "Selesaikan pengaturan ZOREAL ID di ponsel Anda, lalu setujui proses masuk.",
|
|
524
648
|
waiting: "Menunggu pemindaian",
|
|
@@ -529,13 +653,18 @@ var TRANSLATIONS = {
|
|
|
529
653
|
noIdBody: "Pindai kode yang sama untuk mengunduh aplikasi dan membuat akun secara gratis. Hanya butuh waktu satu menit.",
|
|
530
654
|
cancel: "Batal",
|
|
531
655
|
close: "Tutup",
|
|
532
|
-
qrAlt: "Kode QR untuk masuk dengan ZOREAL"
|
|
656
|
+
qrAlt: "Kode QR untuk masuk dengan ZOREAL",
|
|
657
|
+
buttonContinue: "Lanjutkan dengan ZOREAL",
|
|
658
|
+
openApp: "Buka ZOREAL ID"
|
|
533
659
|
},
|
|
534
660
|
// Italiano
|
|
535
661
|
it: {
|
|
536
662
|
title: "Scansiona per accedere",
|
|
663
|
+
titleIdentify: "Scansiona per verificare la tua identit\xE0",
|
|
664
|
+
titlePresence: "Scansiona per dimostrare di essere una persona reale",
|
|
537
665
|
titleApprove: "Approva sul tuo telefono",
|
|
538
666
|
bodyScan: "Scansiona con la fotocamera del telefono o con l'app ZOREAL ID.",
|
|
667
|
+
bodyLink: "Approva questo accesso nell'app ZOREAL ID su questo telefono.",
|
|
539
668
|
bodyApprove: "Approva l'accesso nell'app ZOREAL ID.",
|
|
540
669
|
bodyEnrolling: "Completa la configurazione di ZOREAL ID sul telefono, poi approva l'accesso.",
|
|
541
670
|
waiting: "In attesa della scansione",
|
|
@@ -546,13 +675,18 @@ var TRANSLATIONS = {
|
|
|
546
675
|
noIdBody: "Scansiona lo stesso codice per scaricare l'app e crearne uno gratis. Basta un minuto.",
|
|
547
676
|
cancel: "Annulla",
|
|
548
677
|
close: "Chiudi",
|
|
549
|
-
qrAlt: "Codice QR per accedere con ZOREAL"
|
|
678
|
+
qrAlt: "Codice QR per accedere con ZOREAL",
|
|
679
|
+
buttonContinue: "Continua con ZOREAL",
|
|
680
|
+
openApp: "Apri ZOREAL ID"
|
|
550
681
|
},
|
|
551
682
|
// Bahasa Melayu
|
|
552
683
|
ms: {
|
|
553
684
|
title: "Imbas untuk log masuk",
|
|
685
|
+
titleIdentify: "Imbas untuk mengesahkan identiti anda",
|
|
686
|
+
titlePresence: "Imbas untuk membuktikan anda manusia sebenar",
|
|
554
687
|
titleApprove: "Luluskan di telefon anda",
|
|
555
688
|
bodyScan: "Imbas dengan kamera telefon atau aplikasi ZOREAL ID.",
|
|
689
|
+
bodyLink: "Luluskan log masuk ini dalam aplikasi ZOREAL ID pada telefon ini.",
|
|
556
690
|
bodyApprove: "Luluskan log masuk dalam aplikasi ZOREAL ID anda.",
|
|
557
691
|
bodyEnrolling: "Selesaikan persediaan ZOREAL ID di telefon anda, kemudian luluskan log masuk.",
|
|
558
692
|
waiting: "Menunggu imbasan",
|
|
@@ -563,13 +697,18 @@ var TRANSLATIONS = {
|
|
|
563
697
|
noIdBody: "Imbas kod yang sama untuk memuat turun aplikasi dan cipta satu secara percuma. Hanya mengambil masa seminit.",
|
|
564
698
|
cancel: "Batal",
|
|
565
699
|
close: "Tutup",
|
|
566
|
-
qrAlt: "Kod QR untuk log masuk dengan ZOREAL"
|
|
700
|
+
qrAlt: "Kod QR untuk log masuk dengan ZOREAL",
|
|
701
|
+
buttonContinue: "Teruskan dengan ZOREAL",
|
|
702
|
+
openApp: "Buka ZOREAL ID"
|
|
567
703
|
},
|
|
568
704
|
// Nederlands
|
|
569
705
|
nl: {
|
|
570
706
|
title: "Scan om in te loggen",
|
|
707
|
+
titleIdentify: "Scan om je identiteit te verifi\xEBren",
|
|
708
|
+
titlePresence: "Scan om te bewijzen dat je een echt mens bent",
|
|
571
709
|
titleApprove: "Keur goed op je telefoon",
|
|
572
710
|
bodyScan: "Scan met de camera van je telefoon of de ZOREAL ID-app.",
|
|
711
|
+
bodyLink: "Keur deze aanmelding goed in de ZOREAL ID-app op deze telefoon.",
|
|
573
712
|
bodyApprove: "Keur de aanmelding goed in je ZOREAL ID-app.",
|
|
574
713
|
bodyEnrolling: "Rond het instellen van ZOREAL ID op je telefoon af en keur daarna de aanmelding goed.",
|
|
575
714
|
waiting: "Wachten op scan",
|
|
@@ -580,13 +719,18 @@ var TRANSLATIONS = {
|
|
|
580
719
|
noIdBody: "Scan dezelfde code om de app te downloaden en gratis een account aan te maken. Dit duurt maar een minuut.",
|
|
581
720
|
cancel: "Annuleren",
|
|
582
721
|
close: "Sluiten",
|
|
583
|
-
qrAlt: "QR-code om in te loggen met ZOREAL"
|
|
722
|
+
qrAlt: "QR-code om in te loggen met ZOREAL",
|
|
723
|
+
buttonContinue: "Doorgaan met ZOREAL",
|
|
724
|
+
openApp: "ZOREAL ID openen"
|
|
584
725
|
},
|
|
585
726
|
// Norsk
|
|
586
727
|
no: {
|
|
587
728
|
title: "Skann for \xE5 logge inn",
|
|
729
|
+
titleIdentify: "Skann for \xE5 bekrefte identiteten din",
|
|
730
|
+
titlePresence: "Skann for \xE5 bevise at du er et ekte menneske",
|
|
588
731
|
titleApprove: "Godkjenn p\xE5 telefonen din",
|
|
589
732
|
bodyScan: "Skann med telefonens kamera eller ZOREAL ID-appen.",
|
|
733
|
+
bodyLink: "Godkjenn denne innloggingen i ZOREAL ID-appen p\xE5 denne telefonen.",
|
|
590
734
|
bodyApprove: "Godkjenn innloggingen i ZOREAL ID-appen din.",
|
|
591
735
|
bodyEnrolling: "Fullf\xF8r oppsettet av ZOREAL ID p\xE5 telefonen din, og godkjenn deretter innloggingen.",
|
|
592
736
|
waiting: "Venter p\xE5 skanning",
|
|
@@ -597,13 +741,18 @@ var TRANSLATIONS = {
|
|
|
597
741
|
noIdBody: "Skann den samme koden for \xE5 laste ned appen og opprette en gratis. Det tar bare et minutt.",
|
|
598
742
|
cancel: "Avbryt",
|
|
599
743
|
close: "Lukk",
|
|
600
|
-
qrAlt: "QR-kode for \xE5 logge inn med ZOREAL"
|
|
744
|
+
qrAlt: "QR-kode for \xE5 logge inn med ZOREAL",
|
|
745
|
+
buttonContinue: "Fortsett med ZOREAL",
|
|
746
|
+
openApp: "\xC5pne ZOREAL ID"
|
|
601
747
|
},
|
|
602
748
|
// Polski
|
|
603
749
|
pl: {
|
|
604
750
|
title: "Zeskanuj, aby si\u0119 zalogowa\u0107",
|
|
751
|
+
titleIdentify: "Zeskanuj, aby zweryfikowa\u0107 swoj\u0105 to\u017Csamo\u015B\u0107",
|
|
752
|
+
titlePresence: "Zeskanuj, aby udowodni\u0107, \u017Ce jeste\u015B prawdziwym cz\u0142owiekiem",
|
|
605
753
|
titleApprove: "Zatwierd\u017A w telefonie",
|
|
606
754
|
bodyScan: "Zeskanuj aparatem telefonu lub aplikacj\u0105 ZOREAL ID.",
|
|
755
|
+
bodyLink: "Zatwierd\u017A to logowanie w aplikacji ZOREAL ID na tym telefonie.",
|
|
607
756
|
bodyApprove: "Zatwierd\u017A logowanie w aplikacji ZOREAL ID.",
|
|
608
757
|
bodyEnrolling: "Doko\u0144cz konfiguracj\u0119 ZOREAL ID w telefonie, a nast\u0119pnie zatwierd\u017A logowanie.",
|
|
609
758
|
waiting: "Czekanie na skan",
|
|
@@ -614,13 +763,18 @@ var TRANSLATIONS = {
|
|
|
614
763
|
noIdBody: "Zeskanuj ten sam kod, aby pobra\u0107 aplikacj\u0119 i bezp\u0142atnie utworzy\u0107 ZOREAL ID. Zajmie to tylko minut\u0119.",
|
|
615
764
|
cancel: "Anuluj",
|
|
616
765
|
close: "Zamknij",
|
|
617
|
-
qrAlt: "Kod QR do logowania za pomoc\u0105 ZOREAL"
|
|
766
|
+
qrAlt: "Kod QR do logowania za pomoc\u0105 ZOREAL",
|
|
767
|
+
buttonContinue: "Kontynuuj z ZOREAL",
|
|
768
|
+
openApp: "Otw\xF3rz ZOREAL ID"
|
|
618
769
|
},
|
|
619
770
|
// Português (BR)
|
|
620
771
|
"pt-br": {
|
|
621
772
|
title: "Escaneie para entrar",
|
|
773
|
+
titleIdentify: "Escaneie para verificar sua identidade",
|
|
774
|
+
titlePresence: "Escaneie para provar que voc\xEA \xE9 uma pessoa real",
|
|
622
775
|
titleApprove: "Aprove no seu celular",
|
|
623
776
|
bodyScan: "Escaneie com a c\xE2mera do seu celular ou com o app ZOREAL ID.",
|
|
777
|
+
bodyLink: "Aprove este login no app ZOREAL ID neste celular.",
|
|
624
778
|
bodyApprove: "Aprove o login no app ZOREAL ID.",
|
|
625
779
|
bodyEnrolling: "Termine de configurar o ZOREAL ID no seu celular e depois aprove o login.",
|
|
626
780
|
waiting: "Aguardando escaneamento",
|
|
@@ -631,13 +785,18 @@ var TRANSLATIONS = {
|
|
|
631
785
|
noIdBody: "Escaneie o mesmo c\xF3digo para baixar o app e criar um de gra\xE7a. Leva s\xF3 um minuto.",
|
|
632
786
|
cancel: "Cancelar",
|
|
633
787
|
close: "Fechar",
|
|
634
|
-
qrAlt: "C\xF3digo QR para entrar com ZOREAL"
|
|
788
|
+
qrAlt: "C\xF3digo QR para entrar com ZOREAL",
|
|
789
|
+
buttonContinue: "Continuar com ZOREAL",
|
|
790
|
+
openApp: "Abrir ZOREAL ID"
|
|
635
791
|
},
|
|
636
792
|
// Română
|
|
637
793
|
ro: {
|
|
638
794
|
title: "Scana\u021Bi pentru conectare",
|
|
795
|
+
titleIdentify: "Scana\u021Bi pentru a v\u0103 verifica identitatea",
|
|
796
|
+
titlePresence: "Scana\u021Bi pentru a dovedi c\u0103 sunte\u021Bi o persoan\u0103 real\u0103",
|
|
639
797
|
titleApprove: "Aproba\u021Bi de pe telefon",
|
|
640
798
|
bodyScan: "Scana\u021Bi cu camera telefonului sau cu aplica\u021Bia ZOREAL ID.",
|
|
799
|
+
bodyLink: "Aproba\u021Bi aceast\u0103 conectare \xEEn aplica\u021Bia ZOREAL ID de pe acest telefon.",
|
|
641
800
|
bodyApprove: "Aproba\u021Bi conectarea \xEEn aplica\u021Bia ZOREAL ID.",
|
|
642
801
|
bodyEnrolling: "Finaliza\u021Bi configurarea ZOREAL ID pe telefon, apoi aproba\u021Bi conectarea.",
|
|
643
802
|
waiting: "Se a\u0219teapt\u0103 scanarea",
|
|
@@ -648,13 +807,18 @@ var TRANSLATIONS = {
|
|
|
648
807
|
noIdBody: "Scana\u021Bi acela\u0219i cod pentru a desc\u0103rca aplica\u021Bia \u0219i a crea unul gratuit. Dureaz\u0103 doar un minut.",
|
|
649
808
|
cancel: "Anuleaz\u0103",
|
|
650
809
|
close: "\xCEnchide",
|
|
651
|
-
qrAlt: "Cod QR pentru conectare cu ZOREAL"
|
|
810
|
+
qrAlt: "Cod QR pentru conectare cu ZOREAL",
|
|
811
|
+
buttonContinue: "Continua\u021Bi cu ZOREAL",
|
|
812
|
+
openApp: "Deschide\u021Bi ZOREAL ID"
|
|
652
813
|
},
|
|
653
814
|
// Српски
|
|
654
815
|
sr: {
|
|
655
816
|
title: "\u0421\u043A\u0435\u043D\u0438\u0440\u0430\u0458\u0442\u0435 \u0437\u0430 \u043F\u0440\u0438\u0458\u0430\u0432\u0443",
|
|
817
|
+
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",
|
|
818
|
+
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",
|
|
656
819
|
titleApprove: "\u041E\u0434\u043E\u0431\u0440\u0438\u0442\u0435 \u043D\u0430 \u0441\u0432\u043E\u043C \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0443",
|
|
657
820
|
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.",
|
|
821
|
+
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.",
|
|
658
822
|
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.",
|
|
659
823
|
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.",
|
|
660
824
|
waiting: "\u0427\u0435\u043A\u0430 \u0441\u0435 \u0441\u043A\u0435\u043D\u0438\u0440\u0430\u045A\u0435",
|
|
@@ -665,13 +829,18 @@ var TRANSLATIONS = {
|
|
|
665
829
|
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.",
|
|
666
830
|
cancel: "\u041E\u0442\u043A\u0430\u0436\u0438",
|
|
667
831
|
close: "\u0417\u0430\u0442\u0432\u043E\u0440\u0438",
|
|
668
|
-
qrAlt: "QR \u043A\u043E\u0434 \u0437\u0430 \u043F\u0440\u0438\u0458\u0430\u0432\u0443 \u043F\u0440\u0435\u043A\u043E ZOREAL-\u0430"
|
|
832
|
+
qrAlt: "QR \u043A\u043E\u0434 \u0437\u0430 \u043F\u0440\u0438\u0458\u0430\u0432\u0443 \u043F\u0440\u0435\u043A\u043E ZOREAL-\u0430",
|
|
833
|
+
buttonContinue: "\u041D\u0430\u0441\u0442\u0430\u0432\u0438 \u0441\u0430 ZOREAL-\u043E\u043C",
|
|
834
|
+
openApp: "\u041E\u0442\u0432\u043E\u0440\u0438 ZOREAL ID"
|
|
669
835
|
},
|
|
670
836
|
// ไทย
|
|
671
837
|
th: {
|
|
672
838
|
title: "\u0E2A\u0E41\u0E01\u0E19\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E02\u0E49\u0E32\u0E2A\u0E39\u0E48\u0E23\u0E30\u0E1A\u0E1A",
|
|
839
|
+
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",
|
|
840
|
+
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",
|
|
673
841
|
titleApprove: "\u0E2D\u0E19\u0E38\u0E21\u0E31\u0E15\u0E34\u0E1A\u0E19\u0E42\u0E17\u0E23\u0E28\u0E31\u0E1E\u0E17\u0E4C\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13",
|
|
674
842
|
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",
|
|
843
|
+
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",
|
|
675
844
|
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",
|
|
676
845
|
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",
|
|
677
846
|
waiting: "\u0E23\u0E2D\u0E01\u0E32\u0E23\u0E2A\u0E41\u0E01\u0E19",
|
|
@@ -682,13 +851,18 @@ var TRANSLATIONS = {
|
|
|
682
851
|
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",
|
|
683
852
|
cancel: "\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01",
|
|
684
853
|
close: "\u0E1B\u0E34\u0E14",
|
|
685
|
-
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"
|
|
854
|
+
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",
|
|
855
|
+
buttonContinue: "\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E15\u0E48\u0E2D\u0E14\u0E49\u0E27\u0E22 ZOREAL",
|
|
856
|
+
openApp: "\u0E40\u0E1B\u0E34\u0E14 ZOREAL ID"
|
|
686
857
|
},
|
|
687
858
|
// Tagalog
|
|
688
859
|
tl: {
|
|
689
860
|
title: "I-scan para mag-sign in",
|
|
861
|
+
titleIdentify: "I-scan para i-verify ang iyong pagkakakilanlan",
|
|
862
|
+
titlePresence: "I-scan para patunayang tunay kang tao",
|
|
690
863
|
titleApprove: "I-approve sa iyong telepono",
|
|
691
864
|
bodyScan: "I-scan gamit ang camera ng iyong telepono o ang ZOREAL ID app.",
|
|
865
|
+
bodyLink: "Aprubahan ang pag-sign in na ito sa ZOREAL ID app sa teleponong ito.",
|
|
692
866
|
bodyApprove: "I-approve ang login sa iyong ZOREAL ID app.",
|
|
693
867
|
bodyEnrolling: "Tapusin muna ang pag-set up ng ZOREAL ID sa iyong telepono, pagkatapos ay i-approve ang login.",
|
|
694
868
|
waiting: "Naghihintay ng scan",
|
|
@@ -699,13 +873,18 @@ var TRANSLATIONS = {
|
|
|
699
873
|
noIdBody: "I-scan ang parehong code para i-download ang app at gumawa ng iyong ZOREAL ID nang libre. Isang minuto lang ito.",
|
|
700
874
|
cancel: "Kanselahin",
|
|
701
875
|
close: "Isara",
|
|
702
|
-
qrAlt: "QR code para mag-sign in gamit ang ZOREAL"
|
|
876
|
+
qrAlt: "QR code para mag-sign in gamit ang ZOREAL",
|
|
877
|
+
buttonContinue: "Magpatuloy gamit ang ZOREAL",
|
|
878
|
+
openApp: "Buksan ang ZOREAL ID"
|
|
703
879
|
},
|
|
704
880
|
// Türkçe
|
|
705
881
|
tr: {
|
|
706
882
|
title: "Giri\u015F i\xE7in taray\u0131n",
|
|
883
|
+
titleIdentify: "Kimli\u011Finizi do\u011Frulamak i\xE7in taray\u0131n",
|
|
884
|
+
titlePresence: "Ger\xE7ek bir insan oldu\u011Funuzu kan\u0131tlamak i\xE7in taray\u0131n",
|
|
707
885
|
titleApprove: "Telefonunuzdan onaylay\u0131n",
|
|
708
886
|
bodyScan: "Telefonunuzun kameras\u0131yla veya ZOREAL ID uygulamas\u0131yla taray\u0131n.",
|
|
887
|
+
bodyLink: "Bu giri\u015Fi bu telefondaki ZOREAL ID uygulamas\u0131nda onaylay\u0131n.",
|
|
709
888
|
bodyApprove: "Giri\u015Fi ZOREAL ID uygulaman\u0131zdan onaylay\u0131n.",
|
|
710
889
|
bodyEnrolling: "Telefonunuzda ZOREAL ID kurulumunu tamamlay\u0131n, ard\u0131ndan giri\u015Fi onaylay\u0131n.",
|
|
711
890
|
waiting: "Tarama bekleniyor",
|
|
@@ -716,13 +895,18 @@ var TRANSLATIONS = {
|
|
|
716
895
|
noIdBody: "Uygulamay\u0131 indirmek ve \xFCcretsiz bir tane olu\u015Fturmak i\xE7in ayn\u0131 kodu taray\u0131n. Sadece bir dakikan\u0131z\u0131 al\u0131r.",
|
|
717
896
|
cancel: "\u0130ptal",
|
|
718
897
|
close: "Kapat",
|
|
719
|
-
qrAlt: "ZOREAL ile giri\u015F yapmak i\xE7in QR kodu"
|
|
898
|
+
qrAlt: "ZOREAL ile giri\u015F yapmak i\xE7in QR kodu",
|
|
899
|
+
buttonContinue: "ZOREAL ile devam et",
|
|
900
|
+
openApp: "ZOREAL ID'yi a\xE7"
|
|
720
901
|
},
|
|
721
902
|
// Українська
|
|
722
903
|
uk: {
|
|
723
904
|
title: "\u0421\u043A\u0430\u043D\u0443\u0439\u0442\u0435 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0443",
|
|
905
|
+
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",
|
|
906
|
+
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",
|
|
724
907
|
titleApprove: "\u041F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u044C\u0442\u0435 \u043D\u0430 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0456",
|
|
725
908
|
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.",
|
|
909
|
+
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.",
|
|
726
910
|
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.",
|
|
727
911
|
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.",
|
|
728
912
|
waiting: "\u041E\u0447\u0456\u043A\u0443\u0432\u0430\u043D\u043D\u044F \u0441\u043A\u0430\u043D\u0443\u0432\u0430\u043D\u043D\u044F",
|
|
@@ -733,13 +917,18 @@ var TRANSLATIONS = {
|
|
|
733
917
|
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.",
|
|
734
918
|
cancel: "\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438",
|
|
735
919
|
close: "\u0417\u0430\u043A\u0440\u0438\u0442\u0438",
|
|
736
|
-
qrAlt: "QR-\u043A\u043E\u0434 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0443 \u0447\u0435\u0440\u0435\u0437 ZOREAL"
|
|
920
|
+
qrAlt: "QR-\u043A\u043E\u0434 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0443 \u0447\u0435\u0440\u0435\u0437 ZOREAL",
|
|
921
|
+
buttonContinue: "\u041F\u0440\u043E\u0434\u043E\u0432\u0436\u0438\u0442\u0438 \u0437 ZOREAL",
|
|
922
|
+
openApp: "\u0412\u0456\u0434\u043A\u0440\u0438\u0442\u0438 ZOREAL ID"
|
|
737
923
|
},
|
|
738
924
|
// اردو
|
|
739
925
|
ur: {
|
|
740
926
|
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",
|
|
927
|
+
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",
|
|
928
|
+
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",
|
|
741
929
|
titleApprove: "\u0627\u067E\u0646\u06D2 \u0641\u0648\u0646 \u067E\u0631 \u0645\u0646\u0638\u0648\u0631\u06CC \u062F\u06CC\u06BA",
|
|
742
930
|
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",
|
|
931
|
+
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",
|
|
743
932
|
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",
|
|
744
933
|
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",
|
|
745
934
|
waiting: "\u0627\u0633\u06A9\u06CC\u0646 \u06A9\u0627 \u0627\u0646\u062A\u0638\u0627\u0631",
|
|
@@ -750,13 +939,18 @@ var TRANSLATIONS = {
|
|
|
750
939
|
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",
|
|
751
940
|
cancel: "\u0645\u0646\u0633\u0648\u062E \u06A9\u0631\u06CC\u06BA",
|
|
752
941
|
close: "\u0628\u0646\u062F \u06A9\u0631\u06CC\u06BA",
|
|
753
|
-
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"
|
|
942
|
+
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",
|
|
943
|
+
buttonContinue: "ZOREAL \u06A9\u06D2 \u0633\u0627\u062A\u06BE \u062C\u0627\u0631\u06CC \u0631\u06A9\u06BE\u06CC\u06BA",
|
|
944
|
+
openApp: "ZOREAL ID \u06A9\u06BE\u0648\u0644\u06CC\u06BA"
|
|
754
945
|
},
|
|
755
946
|
// Tiếng Việt
|
|
756
947
|
vi: {
|
|
757
948
|
title: "Qu\xE9t \u0111\u1EC3 \u0111\u0103ng nh\u1EADp",
|
|
949
|
+
titleIdentify: "Qu\xE9t \u0111\u1EC3 x\xE1c minh danh t\xEDnh c\u1EE7a b\u1EA1n",
|
|
950
|
+
titlePresence: "Qu\xE9t \u0111\u1EC3 ch\u1EE9ng minh b\u1EA1n l\xE0 ng\u01B0\u1EDDi th\u1EADt",
|
|
758
951
|
titleApprove: "Ph\xEA duy\u1EC7t tr\xEAn \u0111i\u1EC7n tho\u1EA1i c\u1EE7a b\u1EA1n",
|
|
759
952
|
bodyScan: "Qu\xE9t b\u1EB1ng camera \u0111i\u1EC7n tho\u1EA1i ho\u1EB7c \u1EE9ng d\u1EE5ng ZOREAL ID.",
|
|
953
|
+
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.",
|
|
760
954
|
bodyApprove: "Ph\xEA duy\u1EC7t \u0111\u0103ng nh\u1EADp trong \u1EE9ng d\u1EE5ng ZOREAL ID c\u1EE7a b\u1EA1n.",
|
|
761
955
|
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.",
|
|
762
956
|
waiting: "\u0110ang ch\u1EDD qu\xE9t m\xE3",
|
|
@@ -767,7 +961,9 @@ var TRANSLATIONS = {
|
|
|
767
961
|
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.",
|
|
768
962
|
cancel: "H\u1EE7y",
|
|
769
963
|
close: "\u0110\xF3ng",
|
|
770
|
-
qrAlt: "M\xE3 QR \u0111\u1EC3 \u0111\u0103ng nh\u1EADp b\u1EB1ng ZOREAL"
|
|
964
|
+
qrAlt: "M\xE3 QR \u0111\u1EC3 \u0111\u0103ng nh\u1EADp b\u1EB1ng ZOREAL",
|
|
965
|
+
buttonContinue: "Ti\u1EBFp t\u1EE5c v\u1EDBi ZOREAL",
|
|
966
|
+
openApp: "M\u1EDF ZOREAL ID"
|
|
771
967
|
}
|
|
772
968
|
};
|
|
773
969
|
var RTL = /* @__PURE__ */ new Set(["ar", "he", "iw", "ur"]);
|
|
@@ -841,6 +1037,22 @@ function interpolate(template, time) {
|
|
|
841
1037
|
return template.replace("{time}", time);
|
|
842
1038
|
}
|
|
843
1039
|
|
|
1040
|
+
// src/intent.ts
|
|
1041
|
+
var SIGN_IN_SCOPES = /* @__PURE__ */ new Set(["openid", "email", "profile.name"]);
|
|
1042
|
+
function resolveIntent(intent, scope, acrValues) {
|
|
1043
|
+
if (intent) return intent;
|
|
1044
|
+
const scopes = (scope ?? "openid").split(/\s+/).filter(Boolean);
|
|
1045
|
+
if (scopes.some((s) => !SIGN_IN_SCOPES.has(s))) return "identify";
|
|
1046
|
+
const acr = typeof acrValues === "string" ? acrValues.split(/\s+/) : acrValues ?? [];
|
|
1047
|
+
if (scopes.every((s) => s === "openid") && acr.includes("zoreal.live")) return "presence";
|
|
1048
|
+
return "sign-in";
|
|
1049
|
+
}
|
|
1050
|
+
function titleFor(t, intent) {
|
|
1051
|
+
if (intent === "identify") return t.titleIdentify;
|
|
1052
|
+
if (intent === "presence") return t.titlePresence;
|
|
1053
|
+
return t.title;
|
|
1054
|
+
}
|
|
1055
|
+
|
|
844
1056
|
// src/styles.ts
|
|
845
1057
|
var PREFIX = "zrl";
|
|
846
1058
|
var cx = (name) => `${PREFIX}-${name}`;
|
|
@@ -1072,12 +1284,58 @@ var CSS = `
|
|
|
1072
1284
|
dim glow. Paused rather than removed, so it does not jump back to its start
|
|
1073
1285
|
on the way out. */
|
|
1074
1286
|
.${PREFIX}-qr-well[data-spent="true"] .${PREFIX}-qr-beam::after,
|
|
1075
|
-
.${PREFIX}-qr-well[data-spent="true"] .${PREFIX}-qr-beam-glow-band::after
|
|
1287
|
+
.${PREFIX}-qr-well[data-spent="true"] .${PREFIX}-qr-beam-glow-band::after,
|
|
1288
|
+
.${PREFIX}-link-well[data-ready="true"] .${PREFIX}-qr-beam::after,
|
|
1289
|
+
.${PREFIX}-link-well[data-ready="true"] .${PREFIX}-qr-beam-glow-band::after {
|
|
1076
1290
|
animation-play-state: paused;
|
|
1077
1291
|
opacity: 0;
|
|
1078
1292
|
}
|
|
1079
|
-
.${PREFIX}-qr-well[data-spent="true"] .${PREFIX}-qr-beam::before
|
|
1080
|
-
.${PREFIX}-
|
|
1293
|
+
.${PREFIX}-qr-well[data-spent="true"] .${PREFIX}-qr-beam::before,
|
|
1294
|
+
.${PREFIX}-link-well[data-ready="true"] .${PREFIX}-qr-beam::before { opacity: 0.55; }
|
|
1295
|
+
.${PREFIX}-qr-well[data-spent="true"] .${PREFIX}-qr-beam-glow-band::before,
|
|
1296
|
+
.${PREFIX}-link-well[data-ready="true"] .${PREFIX}-qr-beam-glow-band::before { opacity: 0.7; }
|
|
1297
|
+
|
|
1298
|
+
/* Same device: no code to scan. A round well with the mark carries the same
|
|
1299
|
+
light while the sign-in is being created, and settles once the link below
|
|
1300
|
+
it is ready to tap. A circle keeps the sweep even all the way round. */
|
|
1301
|
+
.${PREFIX}-link-well {
|
|
1302
|
+
position: relative;
|
|
1303
|
+
display: grid;
|
|
1304
|
+
place-items: center;
|
|
1305
|
+
box-sizing: border-box;
|
|
1306
|
+
width: 112px;
|
|
1307
|
+
height: 112px;
|
|
1308
|
+
margin: 20px auto 0;
|
|
1309
|
+
border: 1px solid var(--zrl-line);
|
|
1310
|
+
border-radius: 999px;
|
|
1311
|
+
background: var(--zrl-surface-sunken);
|
|
1312
|
+
--zrl-radius: 56px;
|
|
1313
|
+
--zrl-beam-time: 4s;
|
|
1314
|
+
}
|
|
1315
|
+
.${PREFIX}-link-well svg { position: relative; }
|
|
1316
|
+
|
|
1317
|
+
/* The control that opens the app: a real link, because a browser hands a
|
|
1318
|
+
link to an app only from a tap. It has no address until the sign-in
|
|
1319
|
+
exists, and reads as disabled until then. */
|
|
1320
|
+
.${PREFIX}-open {
|
|
1321
|
+
display: block;
|
|
1322
|
+
box-sizing: border-box;
|
|
1323
|
+
width: 100%;
|
|
1324
|
+
margin: 20px 0 0;
|
|
1325
|
+
padding: 12px 16px;
|
|
1326
|
+
border-radius: 12px;
|
|
1327
|
+
background: var(--zrl-accent);
|
|
1328
|
+
color: #ffffff;
|
|
1329
|
+
font: inherit;
|
|
1330
|
+
font-size: 15px;
|
|
1331
|
+
font-weight: 600;
|
|
1332
|
+
text-align: center;
|
|
1333
|
+
text-decoration: none;
|
|
1334
|
+
cursor: pointer;
|
|
1335
|
+
transition: opacity 200ms ease-out, transform 150ms ease-out;
|
|
1336
|
+
}
|
|
1337
|
+
.${PREFIX}-open:active { transform: scale(0.99); }
|
|
1338
|
+
.${PREFIX}-open[aria-disabled="true"] { opacity: 0.45; cursor: default; pointer-events: none; }
|
|
1081
1339
|
|
|
1082
1340
|
.${PREFIX}-qr {
|
|
1083
1341
|
display: block;
|
|
@@ -1187,7 +1445,11 @@ var CSS = `
|
|
|
1187
1445
|
margin: 6px 0 0;
|
|
1188
1446
|
font-size: 12px;
|
|
1189
1447
|
color: var(--zrl-ink-mute);
|
|
1448
|
+
text-decoration: none;
|
|
1449
|
+
border-radius: 6px;
|
|
1450
|
+
transition: color 150ms ease-out;
|
|
1190
1451
|
}
|
|
1452
|
+
.${PREFIX}-secured:hover { color: var(--zrl-ink); }
|
|
1191
1453
|
|
|
1192
1454
|
.${PREFIX}-close {
|
|
1193
1455
|
position: absolute;
|
|
@@ -1274,7 +1536,8 @@ function PairingModal({
|
|
|
1274
1536
|
onCancel,
|
|
1275
1537
|
locale,
|
|
1276
1538
|
theme = "auto",
|
|
1277
|
-
timeoutMs = DEFAULT_PAIRING_TIMEOUT_MS
|
|
1539
|
+
timeoutMs = DEFAULT_PAIRING_TIMEOUT_MS,
|
|
1540
|
+
intent = "sign-in"
|
|
1278
1541
|
}) {
|
|
1279
1542
|
const t = strings(locale);
|
|
1280
1543
|
const titleId = (0, import_react.useId)();
|
|
@@ -1282,9 +1545,11 @@ function PairingModal({
|
|
|
1282
1545
|
const deadlineRef = (0, import_react.useRef)(0);
|
|
1283
1546
|
const [remaining, setRemaining] = (0, import_react.useState)(Math.round(timeoutMs / 1e3));
|
|
1284
1547
|
const settled = state.status === "claimed" || state.status === "enrolling";
|
|
1548
|
+
const linkMode = state.appLink === true;
|
|
1549
|
+
const ready = linkMode && Boolean(state.pairUrl);
|
|
1285
1550
|
const [frameUrl, setFrameUrl] = (0, import_react.useState)(qrUrl);
|
|
1286
1551
|
(0, import_react.useEffect)(() => {
|
|
1287
|
-
if (settled || frameUrl === qrUrl) return;
|
|
1552
|
+
if (linkMode || settled || frameUrl === qrUrl) return;
|
|
1288
1553
|
let abandoned = false;
|
|
1289
1554
|
const next = new Image();
|
|
1290
1555
|
next.onload = () => {
|
|
@@ -1298,7 +1563,7 @@ function PairingModal({
|
|
|
1298
1563
|
next.onload = null;
|
|
1299
1564
|
next.onerror = null;
|
|
1300
1565
|
};
|
|
1301
|
-
}, [qrUrl, settled, frameUrl]);
|
|
1566
|
+
}, [qrUrl, settled, frameUrl, linkMode]);
|
|
1302
1567
|
const onCancelRef = (0, import_react.useRef)(onCancel);
|
|
1303
1568
|
onCancelRef.current = onCancel;
|
|
1304
1569
|
(0, import_react.useEffect)(() => {
|
|
@@ -1332,7 +1597,7 @@ function PairingModal({
|
|
|
1332
1597
|
};
|
|
1333
1598
|
}, []);
|
|
1334
1599
|
if (typeof document === "undefined") return null;
|
|
1335
|
-
const body = state.status === "enrolling" ? t.bodyEnrolling : settled ? t.bodyApprove : t.bodyScan;
|
|
1600
|
+
const body = state.status === "enrolling" ? t.bodyEnrolling : settled ? t.bodyApprove : linkMode ? t.bodyLink : t.bodyScan;
|
|
1336
1601
|
return (0, import_react_dom.createPortal)(
|
|
1337
1602
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: `${cx("root")} ${cx("scrim")}`, "data-theme": theme, onClick: onCancel, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
|
|
1338
1603
|
"div",
|
|
@@ -1347,15 +1612,32 @@ function PairingModal({
|
|
|
1347
1612
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("button", { ref: closeRef, type: "button", className: cx("close"), "aria-label": t.close, onClick: onCancel, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(IconClose, {}) }),
|
|
1348
1613
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: cx("body"), children: [
|
|
1349
1614
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ZorealLockup, { height: 44, className: cx("lockup") }),
|
|
1350
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("h2", { id: titleId, className: cx("title"), children: settled ? t.titleApprove : t
|
|
1615
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("h2", { id: titleId, className: cx("title"), children: settled ? t.titleApprove : titleFor(t, intent) }),
|
|
1351
1616
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("p", { className: cx("body-text"), children: body }),
|
|
1352
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
|
|
1617
|
+
linkMode ? /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
|
|
1618
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: cx("link-well"), "data-ready": ready, children: [
|
|
1619
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: cx("qr-beam-glow"), "aria-hidden": true, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: cx("qr-beam-glow-band") }) }),
|
|
1620
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: cx("qr-beam"), "aria-hidden": true }),
|
|
1621
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ZorealMark, { size: 48 })
|
|
1622
|
+
] }),
|
|
1623
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
1624
|
+
"a",
|
|
1625
|
+
{
|
|
1626
|
+
className: cx("open"),
|
|
1627
|
+
href: ready ? state.pairUrl : void 0,
|
|
1628
|
+
target: "_blank",
|
|
1629
|
+
rel: "noopener",
|
|
1630
|
+
"aria-disabled": ready ? void 0 : true,
|
|
1631
|
+
children: t.openApp
|
|
1632
|
+
}
|
|
1633
|
+
)
|
|
1634
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: cx("qr-well"), "data-spent": settled, children: [
|
|
1353
1635
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: cx("qr-beam-glow"), "aria-hidden": true, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: cx("qr-beam-glow-band") }) }),
|
|
1354
1636
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: cx("qr-beam"), "aria-hidden": true }),
|
|
1355
1637
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("img", { className: cx("qr"), "data-spent": settled, src: frameUrl, alt: t.qrAlt, width: 180, height: 180 }),
|
|
1356
1638
|
settled && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: cx("qr-overlay"), children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: cx("qr-badge"), children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(IconPhone, {}) }) })
|
|
1357
1639
|
] }),
|
|
1358
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: cx("status"), children: [
|
|
1640
|
+
(!linkMode || settled) && /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: cx("status"), children: [
|
|
1359
1641
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("span", { className: cx("dot"), children: [
|
|
1360
1642
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("i", {}),
|
|
1361
1643
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("i", {})
|
|
@@ -1364,13 +1646,13 @@ function PairingModal({
|
|
|
1364
1646
|
] }),
|
|
1365
1647
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("p", { className: cx("timer"), "data-urgent": remaining <= URGENT_SECONDS, children: interpolate(t.expiresIn, mmss(remaining)) })
|
|
1366
1648
|
] }),
|
|
1367
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: cx("help"), children: [
|
|
1649
|
+
!linkMode && /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: cx("help"), children: [
|
|
1368
1650
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("p", { className: cx("help-title"), children: t.noIdTitle }),
|
|
1369
1651
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("p", { className: cx("help-body"), children: t.noIdBody })
|
|
1370
1652
|
] }),
|
|
1371
1653
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: cx("footer"), children: [
|
|
1372
1654
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("button", { type: "button", className: cx("cancel"), onClick: onCancel, children: t.cancel }),
|
|
1373
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("
|
|
1655
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("a", { className: cx("secured"), href: "https://zoreal.com", target: "_blank", rel: "noopener", children: [
|
|
1374
1656
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(IconShield, {}),
|
|
1375
1657
|
t.secured
|
|
1376
1658
|
] })
|
|
@@ -1411,6 +1693,7 @@ function ZorealOAuthProvider({
|
|
|
1411
1693
|
{
|
|
1412
1694
|
state: pairing.state,
|
|
1413
1695
|
qrUrl: pairing.qrUrl,
|
|
1696
|
+
intent: pairing.intent,
|
|
1414
1697
|
onCancel: pairing.cancel,
|
|
1415
1698
|
locale,
|
|
1416
1699
|
theme,
|
|
@@ -1662,7 +1945,20 @@ function useZorealFlow(options) {
|
|
|
1662
1945
|
const nonce = generateState();
|
|
1663
1946
|
const display = resolveDisplay(opts.display);
|
|
1664
1947
|
const useAppLink = display === "link";
|
|
1948
|
+
const intent = resolveIntent(opts.intent, opts.scope, opts.acr_values);
|
|
1665
1949
|
try {
|
|
1950
|
+
if (useAppLink) {
|
|
1951
|
+
const cancel = () => {
|
|
1952
|
+
controller.abort();
|
|
1953
|
+
publishRef.current?.(null);
|
|
1954
|
+
};
|
|
1955
|
+
publishRef.current?.({
|
|
1956
|
+
state: { status: "pending", appLink: true, intent, cancel },
|
|
1957
|
+
qrUrl: "",
|
|
1958
|
+
intent,
|
|
1959
|
+
cancel
|
|
1960
|
+
});
|
|
1961
|
+
}
|
|
1666
1962
|
const started = await startPairing(issuer, {
|
|
1667
1963
|
client_id: clientId,
|
|
1668
1964
|
scope: opts.scope ?? "openid",
|
|
@@ -1692,6 +1988,7 @@ function useZorealFlow(options) {
|
|
|
1692
1988
|
const surface = {
|
|
1693
1989
|
pairUrl: started.pair_url,
|
|
1694
1990
|
appLink: useAppLink,
|
|
1991
|
+
intent,
|
|
1695
1992
|
cancel,
|
|
1696
1993
|
// The app link has no QR and therefore no cadence to report.
|
|
1697
1994
|
...useAppLink ? null : { qrRefreshSeconds }
|
|
@@ -1706,13 +2003,8 @@ function useZorealFlow(options) {
|
|
|
1706
2003
|
cancel
|
|
1707
2004
|
};
|
|
1708
2005
|
setPairing(active);
|
|
1709
|
-
|
|
1710
|
-
publishRef.current?.({ state: active.state, qrUrl, cancel });
|
|
1711
|
-
}
|
|
2006
|
+
publishRef.current?.({ state: active.state, qrUrl, intent, cancel });
|
|
1712
2007
|
opts.onPairingStateChange?.(active.state);
|
|
1713
|
-
if (useAppLink) {
|
|
1714
|
-
window.location.assign(started.pair_url);
|
|
1715
|
-
}
|
|
1716
2008
|
code = await pollUntilApproved(
|
|
1717
2009
|
issuer,
|
|
1718
2010
|
started.request_id,
|
|
@@ -1722,9 +2014,7 @@ function useZorealFlow(options) {
|
|
|
1722
2014
|
setPairing(
|
|
1723
2015
|
(p) => p && p.requestId === started.request_id ? { ...p, qrUrl, state: enriched } : p
|
|
1724
2016
|
);
|
|
1725
|
-
|
|
1726
|
-
publishRef.current?.({ state: enriched, qrUrl, cancel });
|
|
1727
|
-
}
|
|
2017
|
+
publishRef.current?.({ state: enriched, qrUrl, intent, cancel });
|
|
1728
2018
|
opts.onPairingStateChange?.(enriched);
|
|
1729
2019
|
},
|
|
1730
2020
|
controller.signal,
|
|
@@ -1798,7 +2088,7 @@ function useZorealLogin(options) {
|
|
|
1798
2088
|
// src/ZorealLogin.tsx
|
|
1799
2089
|
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
1800
2090
|
var TEXTS = {
|
|
1801
|
-
continue_with:
|
|
2091
|
+
continue_with: null,
|
|
1802
2092
|
signin_with: "Sign in with ZOREAL",
|
|
1803
2093
|
signup_with: "Sign up with ZOREAL",
|
|
1804
2094
|
signin: "Sign in",
|
|
@@ -1825,6 +2115,8 @@ function ZorealLogin(props) {
|
|
|
1825
2115
|
flow = "browser-direct",
|
|
1826
2116
|
...request
|
|
1827
2117
|
} = props;
|
|
2118
|
+
const { locale } = useZorealOAuth();
|
|
2119
|
+
const label = TEXTS[text] ?? strings(locale).buttonContinue;
|
|
1828
2120
|
const { login } = useZorealFlow({
|
|
1829
2121
|
...request,
|
|
1830
2122
|
flow,
|
|
@@ -1863,7 +2155,7 @@ function ZorealLogin(props) {
|
|
|
1863
2155
|
},
|
|
1864
2156
|
children: [
|
|
1865
2157
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ZorealMark, { size: Math.round(s.font * 1.25) }),
|
|
1866
|
-
type === "standard" &&
|
|
2158
|
+
type === "standard" && label
|
|
1867
2159
|
]
|
|
1868
2160
|
}
|
|
1869
2161
|
) });
|
|
@@ -1916,6 +2208,7 @@ function hasGrantedAnyScopeZoreal(response, firstScope, ...restScopes) {
|
|
|
1916
2208
|
ZorealOAuthProvider,
|
|
1917
2209
|
hasGrantedAllScopesZoreal,
|
|
1918
2210
|
hasGrantedAnyScopeZoreal,
|
|
2211
|
+
resolveIntent,
|
|
1919
2212
|
useZorealAutoLogin,
|
|
1920
2213
|
useZorealLogin,
|
|
1921
2214
|
useZorealOAuth,
|