@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.js
CHANGED
|
@@ -5,7 +5,7 @@ import { createContext, useContext, useMemo, useState as useState2 } from "react
|
|
|
5
5
|
|
|
6
6
|
// src/wire.ts
|
|
7
7
|
var WIRE_VERSION = 1;
|
|
8
|
-
var SDK_VERSION = "0.2.
|
|
8
|
+
var SDK_VERSION = "0.2.14";
|
|
9
9
|
var DEFAULT_ISSUER = "https://id.zoreal.com";
|
|
10
10
|
var POLL_INTERVAL_MS = 2e3;
|
|
11
11
|
var POLL_INTERVAL_ENROLLING_MS = 5e3;
|
|
@@ -85,8 +85,11 @@ function ZorealLockup({ height = 22, className }) {
|
|
|
85
85
|
// src/i18n.ts
|
|
86
86
|
var en = {
|
|
87
87
|
title: "Scan to sign in",
|
|
88
|
+
titleIdentify: "Scan to verify your identity",
|
|
89
|
+
titlePresence: "Scan to prove you are a real human",
|
|
88
90
|
titleApprove: "Approve on your phone",
|
|
89
91
|
bodyScan: "Scan with your phone camera or the ZOREAL ID app.",
|
|
92
|
+
bodyLink: "Approve this sign-in in the ZOREAL ID app on this phone.",
|
|
90
93
|
bodyApprove: "Approve the login in your ZOREAL ID app.",
|
|
91
94
|
bodyEnrolling: "Finish setting up ZOREAL ID on your phone, then approve the login.",
|
|
92
95
|
waiting: "Waiting for scan",
|
|
@@ -97,14 +100,19 @@ var en = {
|
|
|
97
100
|
noIdBody: "Scan the same code to download the app and create one for free. It only takes a minute.",
|
|
98
101
|
cancel: "Cancel",
|
|
99
102
|
close: "Close",
|
|
100
|
-
qrAlt: "QR code to sign in with ZOREAL"
|
|
103
|
+
qrAlt: "QR code to sign in with ZOREAL",
|
|
104
|
+
buttonContinue: "Continue with ZOREAL",
|
|
105
|
+
openApp: "Open ZOREAL ID"
|
|
101
106
|
};
|
|
102
107
|
var TRANSLATIONS = {
|
|
103
108
|
en,
|
|
104
109
|
sv: {
|
|
105
110
|
title: "Skanna f\xF6r att logga in",
|
|
111
|
+
titleIdentify: "Skanna f\xF6r att verifiera din identitet",
|
|
112
|
+
titlePresence: "Skanna f\xF6r att bevisa att du \xE4r en riktig m\xE4nniska",
|
|
106
113
|
titleApprove: "Godk\xE4nn p\xE5 telefonen",
|
|
107
114
|
bodyScan: "Skanna med telefonens kamera eller ZOREAL ID-appen.",
|
|
115
|
+
bodyLink: "Godk\xE4nn inloggningen i ZOREAL ID-appen p\xE5 den h\xE4r telefonen.",
|
|
108
116
|
bodyApprove: "Godk\xE4nn inloggningen i ZOREAL ID-appen.",
|
|
109
117
|
bodyEnrolling: "Slutf\xF6r konfigurationen av ZOREAL ID p\xE5 telefonen och godk\xE4nn sedan inloggningen.",
|
|
110
118
|
waiting: "V\xE4ntar p\xE5 skanning",
|
|
@@ -115,12 +123,17 @@ var TRANSLATIONS = {
|
|
|
115
123
|
noIdBody: "Skanna samma kod f\xF6r att ladda ner appen och skapa ett gratis. Det tar bara en minut.",
|
|
116
124
|
cancel: "Avbryt",
|
|
117
125
|
close: "St\xE4ng",
|
|
118
|
-
qrAlt: "QR-kod f\xF6r att logga in med ZOREAL"
|
|
126
|
+
qrAlt: "QR-kod f\xF6r att logga in med ZOREAL",
|
|
127
|
+
buttonContinue: "Forts\xE4tt med ZOREAL",
|
|
128
|
+
openApp: "\xD6ppna ZOREAL ID"
|
|
119
129
|
},
|
|
120
130
|
es: {
|
|
121
131
|
title: "Escanea para iniciar sesi\xF3n",
|
|
132
|
+
titleIdentify: "Escanea para verificar tu identidad",
|
|
133
|
+
titlePresence: "Escanea para demostrar que eres una persona real",
|
|
122
134
|
titleApprove: "Apru\xE9balo en tu tel\xE9fono",
|
|
123
135
|
bodyScan: "Escanea con la c\xE1mara de tu tel\xE9fono o con la app ZOREAL ID.",
|
|
136
|
+
bodyLink: "Aprueba este inicio de sesi\xF3n en la app ZOREAL ID de este tel\xE9fono.",
|
|
124
137
|
bodyApprove: "Aprueba el inicio de sesi\xF3n en tu app ZOREAL ID.",
|
|
125
138
|
bodyEnrolling: "Termina de configurar ZOREAL ID en tu tel\xE9fono y luego aprueba el inicio de sesi\xF3n.",
|
|
126
139
|
waiting: "Esperando el escaneo",
|
|
@@ -131,12 +144,17 @@ var TRANSLATIONS = {
|
|
|
131
144
|
noIdBody: "Escanea el mismo c\xF3digo para descargar la app y crear una gratis. Solo toma un minuto.",
|
|
132
145
|
cancel: "Cancelar",
|
|
133
146
|
close: "Cerrar",
|
|
134
|
-
qrAlt: "C\xF3digo QR para iniciar sesi\xF3n con ZOREAL"
|
|
147
|
+
qrAlt: "C\xF3digo QR para iniciar sesi\xF3n con ZOREAL",
|
|
148
|
+
buttonContinue: "Continuar con ZOREAL",
|
|
149
|
+
openApp: "Abrir ZOREAL ID"
|
|
135
150
|
},
|
|
136
151
|
pt: {
|
|
137
152
|
title: "Digitalize para entrar",
|
|
153
|
+
titleIdentify: "Digitalize para verificar a sua identidade",
|
|
154
|
+
titlePresence: "Digitalize para provar que \xE9 uma pessoa real",
|
|
138
155
|
titleApprove: "Aprove no seu telefone",
|
|
139
156
|
bodyScan: "Digitalize com a c\xE2mara do seu telefone ou com a app ZOREAL ID.",
|
|
157
|
+
bodyLink: "Aprove este in\xEDcio de sess\xE3o na app ZOREAL ID neste telem\xF3vel.",
|
|
140
158
|
bodyApprove: "Aprove o login no app ZOREAL ID.",
|
|
141
159
|
bodyEnrolling: "Termine de configurar o ZOREAL ID no seu telefone e depois aprove o login.",
|
|
142
160
|
waiting: "Aguardando digitaliza\xE7\xE3o",
|
|
@@ -147,12 +165,17 @@ var TRANSLATIONS = {
|
|
|
147
165
|
noIdBody: "Digitalize o mesmo c\xF3digo para baixar o app e criar uma conta gr\xE1tis. Leva s\xF3 um minuto.",
|
|
148
166
|
cancel: "Cancelar",
|
|
149
167
|
close: "Fechar",
|
|
150
|
-
qrAlt: "C\xF3digo QR para entrar com ZOREAL"
|
|
168
|
+
qrAlt: "C\xF3digo QR para entrar com ZOREAL",
|
|
169
|
+
buttonContinue: "Continuar com ZOREAL",
|
|
170
|
+
openApp: "Abrir ZOREAL ID"
|
|
151
171
|
},
|
|
152
172
|
fr: {
|
|
153
173
|
title: "Scannez pour vous connecter",
|
|
174
|
+
titleIdentify: "Scannez pour v\xE9rifier votre identit\xE9",
|
|
175
|
+
titlePresence: "Scannez pour prouver que vous \xEAtes bien un humain",
|
|
154
176
|
titleApprove: "Approuvez sur votre t\xE9l\xE9phone",
|
|
155
177
|
bodyScan: "Scannez avec l'appareil photo de votre t\xE9l\xE9phone ou l'app ZOREAL ID.",
|
|
178
|
+
bodyLink: "Approuvez cette connexion dans l'app ZOREAL ID sur ce t\xE9l\xE9phone.",
|
|
156
179
|
bodyApprove: "Approuvez la connexion dans votre app ZOREAL ID.",
|
|
157
180
|
bodyEnrolling: "Terminez la configuration de ZOREAL ID sur votre t\xE9l\xE9phone, puis approuvez la connexion.",
|
|
158
181
|
waiting: "En attente du scan",
|
|
@@ -163,12 +186,17 @@ var TRANSLATIONS = {
|
|
|
163
186
|
noIdBody: "Scannez le m\xEAme code pour t\xE9l\xE9charger l'app et en cr\xE9er un gratuitement. Cela prend une minute.",
|
|
164
187
|
cancel: "Annuler",
|
|
165
188
|
close: "Fermer",
|
|
166
|
-
qrAlt: "Code QR pour se connecter avec ZOREAL"
|
|
189
|
+
qrAlt: "Code QR pour se connecter avec ZOREAL",
|
|
190
|
+
buttonContinue: "Continuer avec ZOREAL",
|
|
191
|
+
openApp: "Ouvrir ZOREAL ID"
|
|
167
192
|
},
|
|
168
193
|
de: {
|
|
169
194
|
title: "Zum Anmelden scannen",
|
|
195
|
+
titleIdentify: "Scannen, um Ihre Identit\xE4t zu verifizieren",
|
|
196
|
+
titlePresence: "Scannen, um zu beweisen, dass Sie ein echter Mensch sind",
|
|
170
197
|
titleApprove: "Auf dem Handy best\xE4tigen",
|
|
171
198
|
bodyScan: "Mit der Handykamera oder der ZOREAL ID App scannen.",
|
|
199
|
+
bodyLink: "Best\xE4tigen Sie diese Anmeldung in der ZOREAL ID-App auf diesem Telefon.",
|
|
172
200
|
bodyApprove: "Anmeldung in der ZOREAL ID App best\xE4tigen.",
|
|
173
201
|
bodyEnrolling: "ZOREAL ID auf dem Handy fertig einrichten und dann die Anmeldung best\xE4tigen.",
|
|
174
202
|
waiting: "Warten auf Scan",
|
|
@@ -179,12 +207,17 @@ var TRANSLATIONS = {
|
|
|
179
207
|
noIdBody: "Denselben Code scannen, um die App zu laden und kostenlos eine zu erstellen. Dauert nur eine Minute.",
|
|
180
208
|
cancel: "Abbrechen",
|
|
181
209
|
close: "Schlie\xDFen",
|
|
182
|
-
qrAlt: "QR-Code f\xFCr die Anmeldung mit ZOREAL"
|
|
210
|
+
qrAlt: "QR-Code f\xFCr die Anmeldung mit ZOREAL",
|
|
211
|
+
buttonContinue: "Weiter mit ZOREAL",
|
|
212
|
+
openApp: "ZOREAL ID \xF6ffnen"
|
|
183
213
|
},
|
|
184
214
|
ru: {
|
|
185
215
|
title: "\u041E\u0442\u0441\u043A\u0430\u043D\u0438\u0440\u0443\u0439\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u0432\u043E\u0439\u0442\u0438",
|
|
216
|
+
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",
|
|
217
|
+
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",
|
|
186
218
|
titleApprove: "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u043D\u0430 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0435",
|
|
187
219
|
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.",
|
|
220
|
+
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.",
|
|
188
221
|
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.",
|
|
189
222
|
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.",
|
|
190
223
|
waiting: "\u041E\u0436\u0438\u0434\u0430\u043D\u0438\u0435 \u0441\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F",
|
|
@@ -195,12 +228,17 @@ var TRANSLATIONS = {
|
|
|
195
228
|
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.",
|
|
196
229
|
cancel: "\u041E\u0442\u043C\u0435\u043D\u0430",
|
|
197
230
|
close: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C",
|
|
198
|
-
qrAlt: "QR-\u043A\u043E\u0434 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0430 \u0447\u0435\u0440\u0435\u0437 ZOREAL"
|
|
231
|
+
qrAlt: "QR-\u043A\u043E\u0434 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0430 \u0447\u0435\u0440\u0435\u0437 ZOREAL",
|
|
232
|
+
buttonContinue: "\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C \u0441 ZOREAL",
|
|
233
|
+
openApp: "\u041E\u0442\u043A\u0440\u044B\u0442\u044C ZOREAL ID"
|
|
199
234
|
},
|
|
200
235
|
ja: {
|
|
201
236
|
title: "\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u30ED\u30B0\u30A4\u30F3",
|
|
237
|
+
titleIdentify: "\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u672C\u4EBA\u78BA\u8A8D",
|
|
238
|
+
titlePresence: "\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u5B9F\u5728\u306E\u4EBA\u7269\u3067\u3042\u308B\u3053\u3068\u3092\u8A3C\u660E",
|
|
202
239
|
titleApprove: "\u30B9\u30DE\u30FC\u30C8\u30D5\u30A9\u30F3\u3067\u627F\u8A8D",
|
|
203
240
|
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",
|
|
241
|
+
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",
|
|
204
242
|
bodyApprove: "ZOREAL ID\u30A2\u30D7\u30EA\u3067\u30ED\u30B0\u30A4\u30F3\u3092\u627F\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
205
243
|
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",
|
|
206
244
|
waiting: "\u30B9\u30AD\u30E3\u30F3\u5F85\u3061",
|
|
@@ -211,12 +249,17 @@ var TRANSLATIONS = {
|
|
|
211
249
|
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",
|
|
212
250
|
cancel: "\u30AD\u30E3\u30F3\u30BB\u30EB",
|
|
213
251
|
close: "\u9589\u3058\u308B",
|
|
214
|
-
qrAlt: "ZOREAL\u3067\u30ED\u30B0\u30A4\u30F3\u3059\u308B\u305F\u3081\u306EQR\u30B3\u30FC\u30C9"
|
|
252
|
+
qrAlt: "ZOREAL\u3067\u30ED\u30B0\u30A4\u30F3\u3059\u308B\u305F\u3081\u306EQR\u30B3\u30FC\u30C9",
|
|
253
|
+
buttonContinue: "ZOREAL\u3067\u7D9A\u884C",
|
|
254
|
+
openApp: "ZOREAL ID\u3092\u958B\u304F"
|
|
215
255
|
},
|
|
216
256
|
hi: {
|
|
217
257
|
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",
|
|
258
|
+
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",
|
|
259
|
+
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",
|
|
218
260
|
titleApprove: "\u0905\u092A\u0928\u0947 \u092B\u094B\u0928 \u092A\u0930 \u0938\u094D\u0935\u0940\u0915\u0943\u0924 \u0915\u0930\u0947\u0902",
|
|
219
261
|
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",
|
|
262
|
+
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",
|
|
220
263
|
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",
|
|
221
264
|
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",
|
|
222
265
|
waiting: "\u0938\u094D\u0915\u0948\u0928 \u0915\u0940 \u092A\u094D\u0930\u0924\u0940\u0915\u094D\u0937\u093E \u0939\u0948",
|
|
@@ -227,12 +270,17 @@ var TRANSLATIONS = {
|
|
|
227
270
|
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",
|
|
228
271
|
cancel: "\u0930\u0926\u094D\u0926 \u0915\u0930\u0947\u0902",
|
|
229
272
|
close: "\u092C\u0902\u0926 \u0915\u0930\u0947\u0902",
|
|
230
|
-
qrAlt: "ZOREAL \u0938\u0947 \u0938\u093E\u0907\u0928 \u0907\u0928 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F QR \u0915\u094B\u0921"
|
|
273
|
+
qrAlt: "ZOREAL \u0938\u0947 \u0938\u093E\u0907\u0928 \u0907\u0928 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F QR \u0915\u094B\u0921",
|
|
274
|
+
buttonContinue: "ZOREAL \u0915\u0947 \u0938\u093E\u0925 \u091C\u093E\u0930\u0940 \u0930\u0916\u0947\u0902",
|
|
275
|
+
openApp: "ZOREAL ID \u0916\u094B\u0932\u0947\u0902"
|
|
231
276
|
},
|
|
232
277
|
zhs: {
|
|
233
278
|
title: "\u626B\u7801\u767B\u5F55",
|
|
279
|
+
titleIdentify: "\u626B\u7801\u9A8C\u8BC1\u8EAB\u4EFD",
|
|
280
|
+
titlePresence: "\u626B\u7801\u8BC1\u660E\u60A8\u662F\u771F\u4EBA",
|
|
234
281
|
titleApprove: "\u5728\u624B\u673A\u4E0A\u6279\u51C6",
|
|
235
282
|
bodyScan: "\u4F7F\u7528\u624B\u673A\u76F8\u673A\u6216 ZOREAL ID \u5E94\u7528\u626B\u63CF\u3002",
|
|
283
|
+
bodyLink: "\u8BF7\u5728\u672C\u624B\u673A\u7684 ZOREAL ID \u5E94\u7528\u4E2D\u6279\u51C6\u6B64\u6B21\u767B\u5F55\u3002",
|
|
236
284
|
bodyApprove: "\u8BF7\u5728 ZOREAL ID \u5E94\u7528\u4E2D\u6279\u51C6\u767B\u5F55\u3002",
|
|
237
285
|
bodyEnrolling: "\u8BF7\u5728\u624B\u673A\u4E0A\u5B8C\u6210 ZOREAL ID \u8BBE\u7F6E\uFF0C\u7136\u540E\u6279\u51C6\u767B\u5F55\u3002",
|
|
238
286
|
waiting: "\u7B49\u5F85\u626B\u63CF",
|
|
@@ -243,12 +291,17 @@ var TRANSLATIONS = {
|
|
|
243
291
|
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",
|
|
244
292
|
cancel: "\u53D6\u6D88",
|
|
245
293
|
close: "\u5173\u95ED",
|
|
246
|
-
qrAlt: "\u4F7F\u7528 ZOREAL \u767B\u5F55\u7684\u4E8C\u7EF4\u7801"
|
|
294
|
+
qrAlt: "\u4F7F\u7528 ZOREAL \u767B\u5F55\u7684\u4E8C\u7EF4\u7801",
|
|
295
|
+
buttonContinue: "\u4F7F\u7528 ZOREAL \u7EE7\u7EED",
|
|
296
|
+
openApp: "\u6253\u5F00 ZOREAL ID"
|
|
247
297
|
},
|
|
248
298
|
zht: {
|
|
249
299
|
title: "\u6383\u78BC\u767B\u5165",
|
|
300
|
+
titleIdentify: "\u6383\u78BC\u9A57\u8B49\u8EAB\u5206",
|
|
301
|
+
titlePresence: "\u6383\u78BC\u8B49\u660E\u60A8\u662F\u771F\u4EBA",
|
|
250
302
|
titleApprove: "\u5728\u624B\u6A5F\u4E0A\u6838\u51C6",
|
|
251
303
|
bodyScan: "\u4F7F\u7528\u624B\u6A5F\u76F8\u6A5F\u6216 ZOREAL ID \u61C9\u7528\u7A0B\u5F0F\u6383\u63CF\u3002",
|
|
304
|
+
bodyLink: "\u8ACB\u5728\u672C\u624B\u6A5F\u7684 ZOREAL ID \u61C9\u7528\u7A0B\u5F0F\u4E2D\u6838\u51C6\u6B64\u6B21\u767B\u5165\u3002",
|
|
252
305
|
bodyApprove: "\u8ACB\u5728 ZOREAL ID \u61C9\u7528\u7A0B\u5F0F\u4E2D\u6838\u51C6\u767B\u5165\u3002",
|
|
253
306
|
bodyEnrolling: "\u8ACB\u5728\u624B\u6A5F\u4E0A\u5B8C\u6210 ZOREAL ID \u8A2D\u5B9A\uFF0C\u7136\u5F8C\u6838\u51C6\u767B\u5165\u3002",
|
|
254
307
|
waiting: "\u7B49\u5F85\u6383\u63CF",
|
|
@@ -259,12 +312,17 @@ var TRANSLATIONS = {
|
|
|
259
312
|
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",
|
|
260
313
|
cancel: "\u53D6\u6D88",
|
|
261
314
|
close: "\u95DC\u9589",
|
|
262
|
-
qrAlt: "\u4F7F\u7528 ZOREAL \u767B\u5165\u7684 QR code"
|
|
315
|
+
qrAlt: "\u4F7F\u7528 ZOREAL \u767B\u5165\u7684 QR code",
|
|
316
|
+
buttonContinue: "\u4F7F\u7528 ZOREAL \u7E7C\u7E8C",
|
|
317
|
+
openApp: "\u958B\u555F ZOREAL ID"
|
|
263
318
|
},
|
|
264
319
|
ar: {
|
|
265
320
|
title: "\u0627\u0645\u0633\u062D \u0644\u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644",
|
|
321
|
+
titleIdentify: "\u0627\u0645\u0633\u062D \u0644\u0644\u062A\u062D\u0642\u0642 \u0645\u0646 \u0647\u0648\u064A\u062A\u0643",
|
|
322
|
+
titlePresence: "\u0627\u0645\u0633\u062D \u0644\u0625\u062B\u0628\u0627\u062A \u0623\u0646\u0643 \u0625\u0646\u0633\u0627\u0646 \u062D\u0642\u064A\u0642\u064A",
|
|
266
323
|
titleApprove: "\u0648\u0627\u0641\u0642 \u0639\u0644\u0649 \u0647\u0627\u062A\u0641\u0643",
|
|
267
324
|
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.",
|
|
325
|
+
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.",
|
|
268
326
|
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.",
|
|
269
327
|
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.",
|
|
270
328
|
waiting: "\u0641\u064A \u0627\u0646\u062A\u0638\u0627\u0631 \u0627\u0644\u0645\u0633\u062D",
|
|
@@ -275,12 +333,17 @@ var TRANSLATIONS = {
|
|
|
275
333
|
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.",
|
|
276
334
|
cancel: "\u0625\u0644\u063A\u0627\u0621",
|
|
277
335
|
close: "\u0625\u063A\u0644\u0627\u0642",
|
|
278
|
-
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"
|
|
336
|
+
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",
|
|
337
|
+
buttonContinue: "\u0627\u0644\u0645\u062A\u0627\u0628\u0639\u0629 \u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645 ZOREAL",
|
|
338
|
+
openApp: "\u0641\u062A\u062D ZOREAL ID"
|
|
279
339
|
},
|
|
280
340
|
ko: {
|
|
281
341
|
title: "\uC2A4\uCE94\uD558\uC5EC \uB85C\uADF8\uC778",
|
|
342
|
+
titleIdentify: "\uC2A4\uCE94\uD558\uC5EC \uC2E0\uC6D0 \uD655\uC778",
|
|
343
|
+
titlePresence: "\uC2A4\uCE94\uD558\uC5EC \uC2E4\uC81C \uC0AC\uB78C\uC784\uC744 \uC99D\uBA85",
|
|
282
344
|
titleApprove: "\uD734\uB300\uD3F0\uC5D0\uC11C \uC2B9\uC778",
|
|
283
345
|
bodyScan: "\uD734\uB300\uD3F0 \uCE74\uBA54\uB77C \uB610\uB294 ZOREAL ID \uC571\uC73C\uB85C \uC2A4\uCE94\uD558\uC138\uC694.",
|
|
346
|
+
bodyLink: "\uC774 \uD734\uB300\uD3F0\uC758 ZOREAL ID \uC571\uC5D0\uC11C \uC774 \uB85C\uADF8\uC778\uC744 \uC2B9\uC778\uD558\uC138\uC694.",
|
|
284
347
|
bodyApprove: "ZOREAL ID \uC571\uC5D0\uC11C \uB85C\uADF8\uC778\uC744 \uC2B9\uC778\uD558\uC138\uC694.",
|
|
285
348
|
bodyEnrolling: "\uD734\uB300\uD3F0\uC5D0\uC11C ZOREAL ID \uC124\uC815\uC744 \uC644\uB8CC\uD55C \uD6C4 \uB85C\uADF8\uC778\uC744 \uC2B9\uC778\uD558\uC138\uC694.",
|
|
286
349
|
waiting: "\uC2A4\uCE94 \uB300\uAE30 \uC911",
|
|
@@ -291,13 +354,18 @@ var TRANSLATIONS = {
|
|
|
291
354
|
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.",
|
|
292
355
|
cancel: "\uCDE8\uC18C",
|
|
293
356
|
close: "\uB2EB\uAE30",
|
|
294
|
-
qrAlt: "ZOREAL\uB85C \uB85C\uADF8\uC778\uD558\uAE30 \uC704\uD55C QR \uCF54\uB4DC"
|
|
357
|
+
qrAlt: "ZOREAL\uB85C \uB85C\uADF8\uC778\uD558\uAE30 \uC704\uD55C QR \uCF54\uB4DC",
|
|
358
|
+
buttonContinue: "ZOREAL\uB85C \uACC4\uC18D",
|
|
359
|
+
openApp: "ZOREAL ID \uC5F4\uAE30"
|
|
295
360
|
},
|
|
296
361
|
// Български
|
|
297
362
|
bg: {
|
|
298
363
|
title: "\u0421\u043A\u0430\u043D\u0438\u0440\u0430\u0439\u0442\u0435 \u0437\u0430 \u0432\u0445\u043E\u0434",
|
|
364
|
+
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",
|
|
365
|
+
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",
|
|
299
366
|
titleApprove: "\u041F\u043E\u0442\u0432\u044A\u0440\u0434\u0435\u0442\u0435 \u043D\u0430 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u0441\u0438",
|
|
300
367
|
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.",
|
|
368
|
+
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.",
|
|
301
369
|
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.",
|
|
302
370
|
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.",
|
|
303
371
|
waiting: "\u0418\u0437\u0447\u0430\u043A\u0432\u0430\u043D\u0435 \u043D\u0430 \u0441\u043A\u0430\u043D\u0438\u0440\u0430\u043D\u0435",
|
|
@@ -308,13 +376,18 @@ var TRANSLATIONS = {
|
|
|
308
376
|
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.",
|
|
309
377
|
cancel: "\u041E\u0442\u043A\u0430\u0437",
|
|
310
378
|
close: "\u0417\u0430\u0442\u0432\u043E\u0440\u0438",
|
|
311
|
-
qrAlt: "QR \u043A\u043E\u0434 \u0437\u0430 \u0432\u0445\u043E\u0434 \u0441\u044A\u0441 ZOREAL"
|
|
379
|
+
qrAlt: "QR \u043A\u043E\u0434 \u0437\u0430 \u0432\u0445\u043E\u0434 \u0441\u044A\u0441 ZOREAL",
|
|
380
|
+
buttonContinue: "\u041F\u0440\u043E\u0434\u044A\u043B\u0436\u0438 \u0441\u044A\u0441 ZOREAL",
|
|
381
|
+
openApp: "\u041E\u0442\u0432\u043E\u0440\u0438 ZOREAL ID"
|
|
312
382
|
},
|
|
313
383
|
// বাংলা
|
|
314
384
|
bn: {
|
|
315
385
|
title: "\u09B8\u09BE\u0987\u09A8 \u0987\u09A8 \u0995\u09B0\u09A4\u09C7 \u09B8\u09CD\u0995\u09CD\u09AF\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8",
|
|
386
|
+
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",
|
|
387
|
+
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",
|
|
316
388
|
titleApprove: "\u0986\u09AA\u09A8\u09BE\u09B0 \u09AB\u09CB\u09A8\u09C7 \u0985\u09A8\u09C1\u09AE\u09CB\u09A6\u09A8 \u0995\u09B0\u09C1\u09A8",
|
|
317
389
|
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",
|
|
390
|
+
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",
|
|
318
391
|
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",
|
|
319
392
|
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",
|
|
320
393
|
waiting: "\u09B8\u09CD\u0995\u09CD\u09AF\u09BE\u09A8\u09C7\u09B0 \u0985\u09AA\u09C7\u0995\u09CD\u09B7\u09BE\u09AF\u09BC",
|
|
@@ -325,13 +398,18 @@ var TRANSLATIONS = {
|
|
|
325
398
|
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",
|
|
326
399
|
cancel: "\u09AC\u09BE\u09A4\u09BF\u09B2",
|
|
327
400
|
close: "\u09AC\u09A8\u09CD\u09A7",
|
|
328
|
-
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"
|
|
401
|
+
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",
|
|
402
|
+
buttonContinue: "ZOREAL \u09A6\u09BF\u09AF\u09BC\u09C7 \u099A\u09BE\u09B2\u09BF\u09AF\u09BC\u09C7 \u09AF\u09BE\u09A8",
|
|
403
|
+
openApp: "ZOREAL ID \u0996\u09C1\u09B2\u09C1\u09A8"
|
|
329
404
|
},
|
|
330
405
|
// Bosanski
|
|
331
406
|
bs: {
|
|
332
407
|
title: "Skenirajte za prijavu",
|
|
408
|
+
titleIdentify: "Skenirajte da potvrdite svoj identitet",
|
|
409
|
+
titlePresence: "Skenirajte da doka\u017Eete da ste stvarna osoba",
|
|
333
410
|
titleApprove: "Odobrite na svom telefonu",
|
|
334
411
|
bodyScan: "Skenirajte kamerom svog telefona ili aplikacijom ZOREAL ID.",
|
|
412
|
+
bodyLink: "Odobrite ovu prijavu u aplikaciji ZOREAL ID na ovom telefonu.",
|
|
335
413
|
bodyApprove: "Odobrite prijavu u aplikaciji ZOREAL ID.",
|
|
336
414
|
bodyEnrolling: "Zavr\u0161ite pode\u0161avanje ZOREAL ID-a na svom telefonu, a zatim odobrite prijavu.",
|
|
337
415
|
waiting: "\u010Ceka se skeniranje",
|
|
@@ -342,13 +420,18 @@ var TRANSLATIONS = {
|
|
|
342
420
|
noIdBody: "Skenirajte isti kod da preuzmete aplikaciju i besplatno ga napravite. Traje samo minutu.",
|
|
343
421
|
cancel: "Otka\u017Ei",
|
|
344
422
|
close: "Zatvori",
|
|
345
|
-
qrAlt: "QR kod za prijavu putem ZOREAL-a"
|
|
423
|
+
qrAlt: "QR kod za prijavu putem ZOREAL-a",
|
|
424
|
+
buttonContinue: "Nastavi sa ZOREAL-om",
|
|
425
|
+
openApp: "Otvori ZOREAL ID"
|
|
346
426
|
},
|
|
347
427
|
// Čeština
|
|
348
428
|
cs: {
|
|
349
429
|
title: "P\u0159ihlaste se naskenov\xE1n\xEDm",
|
|
430
|
+
titleIdentify: "Naskenujte pro ov\u011B\u0159en\xED toto\u017Enosti",
|
|
431
|
+
titlePresence: "Naskenujte a proka\u017Ete, \u017Ee jste skute\u010Dn\xFD \u010Dlov\u011Bk",
|
|
350
432
|
titleApprove: "Potvr\u010Fte v telefonu",
|
|
351
433
|
bodyScan: "Naskenujte fotoapar\xE1tem telefonu nebo aplikac\xED ZOREAL ID.",
|
|
434
|
+
bodyLink: "Schvalte toto p\u0159ihl\xE1\u0161en\xED v aplikaci ZOREAL ID na tomto telefonu.",
|
|
352
435
|
bodyApprove: "Potvr\u010Fte p\u0159ihl\xE1\u0161en\xED v aplikaci ZOREAL ID.",
|
|
353
436
|
bodyEnrolling: "Dokon\u010Dete nastaven\xED ZOREAL ID v telefonu a pot\xE9 potvr\u010Fte p\u0159ihl\xE1\u0161en\xED.",
|
|
354
437
|
waiting: "\u010Cek\xE1n\xED na naskenov\xE1n\xED",
|
|
@@ -359,13 +442,18 @@ var TRANSLATIONS = {
|
|
|
359
442
|
noIdBody: "Naskenov\xE1n\xEDm stejn\xE9ho k\xF3du si st\xE1hnete aplikaci a zdarma vytvo\u0159\xEDte ZOREAL ID. Zabere to jen minutu.",
|
|
360
443
|
cancel: "Zru\u0161it",
|
|
361
444
|
close: "Zav\u0159\xEDt",
|
|
362
|
-
qrAlt: "QR k\xF3d pro p\u0159ihl\xE1\u0161en\xED pomoc\xED ZOREAL"
|
|
445
|
+
qrAlt: "QR k\xF3d pro p\u0159ihl\xE1\u0161en\xED pomoc\xED ZOREAL",
|
|
446
|
+
buttonContinue: "Pokra\u010Dovat se ZOREAL",
|
|
447
|
+
openApp: "Otev\u0159\xEDt ZOREAL ID"
|
|
363
448
|
},
|
|
364
449
|
// Dansk
|
|
365
450
|
da: {
|
|
366
451
|
title: "Scan for at logge ind",
|
|
452
|
+
titleIdentify: "Scan for at bekr\xE6fte din identitet",
|
|
453
|
+
titlePresence: "Scan for at bevise, at du er et rigtigt menneske",
|
|
367
454
|
titleApprove: "Godkend p\xE5 din telefon",
|
|
368
455
|
bodyScan: "Scan med telefonens kamera eller ZOREAL ID-appen.",
|
|
456
|
+
bodyLink: "Godkend dette login i ZOREAL ID-appen p\xE5 denne telefon.",
|
|
369
457
|
bodyApprove: "Godkend login i din ZOREAL ID-app.",
|
|
370
458
|
bodyEnrolling: "F\xE6rdigg\xF8r ops\xE6tningen af ZOREAL ID p\xE5 din telefon, og godkend derefter login.",
|
|
371
459
|
waiting: "Venter p\xE5 scanning",
|
|
@@ -376,13 +464,18 @@ var TRANSLATIONS = {
|
|
|
376
464
|
noIdBody: "Scan den samme kode for at hente appen og oprette et gratis. Det tager kun et minut.",
|
|
377
465
|
cancel: "Annuller",
|
|
378
466
|
close: "Luk",
|
|
379
|
-
qrAlt: "QR-kode til at logge ind med ZOREAL"
|
|
467
|
+
qrAlt: "QR-kode til at logge ind med ZOREAL",
|
|
468
|
+
buttonContinue: "Forts\xE6t med ZOREAL",
|
|
469
|
+
openApp: "\xC5bn ZOREAL ID"
|
|
380
470
|
},
|
|
381
471
|
// Ελληνικά
|
|
382
472
|
el: {
|
|
383
473
|
title: "\u03A3\u03AC\u03C1\u03C9\u03C3\u03B7 \u03B3\u03B9\u03B1 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7",
|
|
474
|
+
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",
|
|
475
|
+
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",
|
|
384
476
|
titleApprove: "\u0388\u03B3\u03BA\u03C1\u03B9\u03C3\u03B7 \u03B1\u03C0\u03CC \u03C4\u03BF \u03BA\u03B9\u03BD\u03B7\u03C4\u03CC \u03C3\u03B1\u03C2",
|
|
385
477
|
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.",
|
|
478
|
+
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.",
|
|
386
479
|
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.",
|
|
387
480
|
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.",
|
|
388
481
|
waiting: "\u0391\u03BD\u03B1\u03BC\u03BF\u03BD\u03AE \u03C3\u03AC\u03C1\u03C9\u03C3\u03B7\u03C2",
|
|
@@ -393,13 +486,18 @@ var TRANSLATIONS = {
|
|
|
393
486
|
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.",
|
|
394
487
|
cancel: "\u0386\u03BA\u03C5\u03C1\u03BF",
|
|
395
488
|
close: "\u039A\u03BB\u03B5\u03AF\u03C3\u03B9\u03BC\u03BF",
|
|
396
|
-
qrAlt: "\u039A\u03C9\u03B4\u03B9\u03BA\u03CC\u03C2 QR \u03B3\u03B9\u03B1 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7 \u03BC\u03B5 ZOREAL"
|
|
489
|
+
qrAlt: "\u039A\u03C9\u03B4\u03B9\u03BA\u03CC\u03C2 QR \u03B3\u03B9\u03B1 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7 \u03BC\u03B5 ZOREAL",
|
|
490
|
+
buttonContinue: "\u03A3\u03C5\u03BD\u03AD\u03C7\u03B5\u03B9\u03B1 \u03BC\u03B5 ZOREAL",
|
|
491
|
+
openApp: "\u0386\u03BD\u03BF\u03B9\u03B3\u03BC\u03B1 ZOREAL ID"
|
|
397
492
|
},
|
|
398
493
|
// Español (LA)
|
|
399
494
|
"es-419": {
|
|
400
495
|
title: "Escanea para iniciar sesi\xF3n",
|
|
496
|
+
titleIdentify: "Escanea para verificar tu identidad",
|
|
497
|
+
titlePresence: "Escanea para demostrar que eres una persona real",
|
|
401
498
|
titleApprove: "Aprueba desde tu celular",
|
|
402
499
|
bodyScan: "Escanea con la c\xE1mara de tu celular o con la app ZOREAL ID.",
|
|
500
|
+
bodyLink: "Aprueba este inicio de sesi\xF3n en la app ZOREAL ID de este tel\xE9fono.",
|
|
403
501
|
bodyApprove: "Aprueba el inicio de sesi\xF3n en tu app ZOREAL ID.",
|
|
404
502
|
bodyEnrolling: "Termina de configurar ZOREAL ID en tu celular y luego aprueba el inicio de sesi\xF3n.",
|
|
405
503
|
waiting: "Esperando escaneo",
|
|
@@ -410,13 +508,18 @@ var TRANSLATIONS = {
|
|
|
410
508
|
noIdBody: "Escanea el mismo c\xF3digo para descargar la app y crear uno gratis. Solo toma un minuto.",
|
|
411
509
|
cancel: "Cancelar",
|
|
412
510
|
close: "Cerrar",
|
|
413
|
-
qrAlt: "C\xF3digo QR para iniciar sesi\xF3n con ZOREAL"
|
|
511
|
+
qrAlt: "C\xF3digo QR para iniciar sesi\xF3n con ZOREAL",
|
|
512
|
+
buttonContinue: "Continuar con ZOREAL",
|
|
513
|
+
openApp: "Abrir ZOREAL ID"
|
|
414
514
|
},
|
|
415
515
|
// Suomi
|
|
416
516
|
fi: {
|
|
417
517
|
title: "Kirjaudu sis\xE4\xE4n skannaamalla",
|
|
518
|
+
titleIdentify: "Vahvista henkil\xF6llisyytesi skannaamalla",
|
|
519
|
+
titlePresence: "Todista skannaamalla, ett\xE4 olet oikea ihminen",
|
|
418
520
|
titleApprove: "Hyv\xE4ksy puhelimessasi",
|
|
419
521
|
bodyScan: "Skannaa puhelimesi kameralla tai ZOREAL ID -sovelluksella.",
|
|
522
|
+
bodyLink: "Hyv\xE4ksy t\xE4m\xE4 kirjautuminen ZOREAL ID -sovelluksessa t\xE4ll\xE4 puhelimella.",
|
|
420
523
|
bodyApprove: "Hyv\xE4ksy kirjautuminen ZOREAL ID -sovelluksessasi.",
|
|
421
524
|
bodyEnrolling: "Viimeistele ZOREAL ID -sovelluksen k\xE4ytt\xF6\xF6notto puhelimellasi ja hyv\xE4ksy sitten kirjautuminen.",
|
|
422
525
|
waiting: "Odotetaan skannausta",
|
|
@@ -427,13 +530,18 @@ var TRANSLATIONS = {
|
|
|
427
530
|
noIdBody: "Skannaa sama koodi ladataksesi sovelluksen ja luodaksesi tunnuksen ilmaiseksi. Se vie vain minuutin.",
|
|
428
531
|
cancel: "Peruuta",
|
|
429
532
|
close: "Sulje",
|
|
430
|
-
qrAlt: "QR-koodi ZOREAL-kirjautumista varten"
|
|
533
|
+
qrAlt: "QR-koodi ZOREAL-kirjautumista varten",
|
|
534
|
+
buttonContinue: "Jatka ZOREALilla",
|
|
535
|
+
openApp: "Avaa ZOREAL ID"
|
|
431
536
|
},
|
|
432
537
|
// עברית
|
|
433
538
|
he: {
|
|
434
539
|
title: "\u05E1\u05E8\u05D5\u05E7 \u05DB\u05D3\u05D9 \u05DC\u05D4\u05EA\u05D7\u05D1\u05E8",
|
|
540
|
+
titleIdentify: "\u05E1\u05E8\u05D5\u05E7 \u05DB\u05D3\u05D9 \u05DC\u05D0\u05DE\u05EA \u05D0\u05EA \u05D6\u05D4\u05D5\u05EA\u05DA",
|
|
541
|
+
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",
|
|
435
542
|
titleApprove: "\u05D0\u05E9\u05E8 \u05D1\u05D8\u05DC\u05E4\u05D5\u05DF \u05E9\u05DC\u05DA",
|
|
436
543
|
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.",
|
|
544
|
+
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.",
|
|
437
545
|
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.",
|
|
438
546
|
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.",
|
|
439
547
|
waiting: "\u05DE\u05DE\u05EA\u05D9\u05DF \u05DC\u05E1\u05E8\u05D9\u05E7\u05D4",
|
|
@@ -444,13 +552,18 @@ var TRANSLATIONS = {
|
|
|
444
552
|
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.",
|
|
445
553
|
cancel: "\u05D1\u05D9\u05D8\u05D5\u05DC",
|
|
446
554
|
close: "\u05E1\u05D2\u05D5\u05E8",
|
|
447
|
-
qrAlt: "\u05E7\u05D5\u05D3 QR \u05DC\u05D4\u05EA\u05D7\u05D1\u05E8\u05D5\u05EA \u05E2\u05DD ZOREAL"
|
|
555
|
+
qrAlt: "\u05E7\u05D5\u05D3 QR \u05DC\u05D4\u05EA\u05D7\u05D1\u05E8\u05D5\u05EA \u05E2\u05DD ZOREAL",
|
|
556
|
+
buttonContinue: "\u05D4\u05DE\u05E9\u05DA \u05E2\u05DD ZOREAL",
|
|
557
|
+
openApp: "\u05E4\u05EA\u05D7 \u05D0\u05EA ZOREAL ID"
|
|
448
558
|
},
|
|
449
559
|
// Hrvatski
|
|
450
560
|
hr: {
|
|
451
561
|
title: "Skenirajte za prijavu",
|
|
562
|
+
titleIdentify: "Skenirajte za potvrdu identiteta",
|
|
563
|
+
titlePresence: "Skenirajte kako biste dokazali da ste stvarna osoba",
|
|
452
564
|
titleApprove: "Odobrite na svom mobitelu",
|
|
453
565
|
bodyScan: "Skenirajte kamerom svog mobitela ili aplikacijom ZOREAL ID.",
|
|
566
|
+
bodyLink: "Odobrite ovu prijavu u aplikaciji ZOREAL ID na ovom telefonu.",
|
|
454
567
|
bodyApprove: "Odobrite prijavu u aplikaciji ZOREAL ID.",
|
|
455
568
|
bodyEnrolling: "Dovr\u0161ite postavljanje ZOREAL ID-a na svom mobitelu, a zatim odobrite prijavu.",
|
|
456
569
|
waiting: "\u010Ceka se skeniranje",
|
|
@@ -461,13 +574,18 @@ var TRANSLATIONS = {
|
|
|
461
574
|
noIdBody: "Skenirajte isti kod da preuzmete aplikaciju i besplatno ga izradite. Traje samo minutu.",
|
|
462
575
|
cancel: "Odustani",
|
|
463
576
|
close: "Zatvori",
|
|
464
|
-
qrAlt: "QR kod za prijavu putem ZOREAL-a"
|
|
577
|
+
qrAlt: "QR kod za prijavu putem ZOREAL-a",
|
|
578
|
+
buttonContinue: "Nastavi sa ZOREAL-om",
|
|
579
|
+
openApp: "Otvori ZOREAL ID"
|
|
465
580
|
},
|
|
466
581
|
// Magyar
|
|
467
582
|
hu: {
|
|
468
583
|
title: "Bejelentkez\xE9s beolvas\xE1ssal",
|
|
584
|
+
titleIdentify: "Olvassa be a szem\xE9lyazonoss\xE1ga igazol\xE1s\xE1hoz",
|
|
585
|
+
titlePresence: "Olvassa be annak igazol\xE1s\xE1hoz, hogy val\xF3di ember",
|
|
469
586
|
titleApprove: "J\xF3v\xE1hagy\xE1s a telefonj\xE1n",
|
|
470
587
|
bodyScan: "Olvassa be a telefonja kamer\xE1j\xE1val, vagy a ZOREAL ID alkalmaz\xE1ssal.",
|
|
588
|
+
bodyLink: "Hagyja j\xF3v\xE1 ezt a bejelentkez\xE9st a ZOREAL ID alkalmaz\xE1sban ezen a telefonon.",
|
|
471
589
|
bodyApprove: "Hagyja j\xF3v\xE1 a bejelentkez\xE9st a ZOREAL ID alkalmaz\xE1sban.",
|
|
472
590
|
bodyEnrolling: "Fejezze be a ZOREAL ID be\xE1ll\xEDt\xE1s\xE1t a telefonj\xE1n, majd hagyja j\xF3v\xE1 a bejelentkez\xE9st.",
|
|
473
591
|
waiting: "V\xE1rakoz\xE1s beolvas\xE1sra",
|
|
@@ -478,13 +596,18 @@ var TRANSLATIONS = {
|
|
|
478
596
|
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.",
|
|
479
597
|
cancel: "M\xE9gse",
|
|
480
598
|
close: "Bez\xE1r\xE1s",
|
|
481
|
-
qrAlt: "QR-k\xF3d a ZOREAL-lal val\xF3 bejelentkez\xE9shez"
|
|
599
|
+
qrAlt: "QR-k\xF3d a ZOREAL-lal val\xF3 bejelentkez\xE9shez",
|
|
600
|
+
buttonContinue: "Folytat\xE1s a ZOREAL-lal",
|
|
601
|
+
openApp: "ZOREAL ID megnyit\xE1sa"
|
|
482
602
|
},
|
|
483
603
|
// Bahasa Indonesia
|
|
484
604
|
id: {
|
|
485
605
|
title: "Pindai untuk masuk",
|
|
606
|
+
titleIdentify: "Pindai untuk memverifikasi identitas Anda",
|
|
607
|
+
titlePresence: "Pindai untuk membuktikan bahwa Anda manusia sungguhan",
|
|
486
608
|
titleApprove: "Setujui di ponsel Anda",
|
|
487
609
|
bodyScan: "Pindai dengan kamera ponsel atau aplikasi ZOREAL ID.",
|
|
610
|
+
bodyLink: "Setujui masuk ini di aplikasi ZOREAL ID pada ponsel ini.",
|
|
488
611
|
bodyApprove: "Setujui proses masuk di aplikasi ZOREAL ID Anda.",
|
|
489
612
|
bodyEnrolling: "Selesaikan pengaturan ZOREAL ID di ponsel Anda, lalu setujui proses masuk.",
|
|
490
613
|
waiting: "Menunggu pemindaian",
|
|
@@ -495,13 +618,18 @@ var TRANSLATIONS = {
|
|
|
495
618
|
noIdBody: "Pindai kode yang sama untuk mengunduh aplikasi dan membuat akun secara gratis. Hanya butuh waktu satu menit.",
|
|
496
619
|
cancel: "Batal",
|
|
497
620
|
close: "Tutup",
|
|
498
|
-
qrAlt: "Kode QR untuk masuk dengan ZOREAL"
|
|
621
|
+
qrAlt: "Kode QR untuk masuk dengan ZOREAL",
|
|
622
|
+
buttonContinue: "Lanjutkan dengan ZOREAL",
|
|
623
|
+
openApp: "Buka ZOREAL ID"
|
|
499
624
|
},
|
|
500
625
|
// Italiano
|
|
501
626
|
it: {
|
|
502
627
|
title: "Scansiona per accedere",
|
|
628
|
+
titleIdentify: "Scansiona per verificare la tua identit\xE0",
|
|
629
|
+
titlePresence: "Scansiona per dimostrare di essere una persona reale",
|
|
503
630
|
titleApprove: "Approva sul tuo telefono",
|
|
504
631
|
bodyScan: "Scansiona con la fotocamera del telefono o con l'app ZOREAL ID.",
|
|
632
|
+
bodyLink: "Approva questo accesso nell'app ZOREAL ID su questo telefono.",
|
|
505
633
|
bodyApprove: "Approva l'accesso nell'app ZOREAL ID.",
|
|
506
634
|
bodyEnrolling: "Completa la configurazione di ZOREAL ID sul telefono, poi approva l'accesso.",
|
|
507
635
|
waiting: "In attesa della scansione",
|
|
@@ -512,13 +640,18 @@ var TRANSLATIONS = {
|
|
|
512
640
|
noIdBody: "Scansiona lo stesso codice per scaricare l'app e crearne uno gratis. Basta un minuto.",
|
|
513
641
|
cancel: "Annulla",
|
|
514
642
|
close: "Chiudi",
|
|
515
|
-
qrAlt: "Codice QR per accedere con ZOREAL"
|
|
643
|
+
qrAlt: "Codice QR per accedere con ZOREAL",
|
|
644
|
+
buttonContinue: "Continua con ZOREAL",
|
|
645
|
+
openApp: "Apri ZOREAL ID"
|
|
516
646
|
},
|
|
517
647
|
// Bahasa Melayu
|
|
518
648
|
ms: {
|
|
519
649
|
title: "Imbas untuk log masuk",
|
|
650
|
+
titleIdentify: "Imbas untuk mengesahkan identiti anda",
|
|
651
|
+
titlePresence: "Imbas untuk membuktikan anda manusia sebenar",
|
|
520
652
|
titleApprove: "Luluskan di telefon anda",
|
|
521
653
|
bodyScan: "Imbas dengan kamera telefon atau aplikasi ZOREAL ID.",
|
|
654
|
+
bodyLink: "Luluskan log masuk ini dalam aplikasi ZOREAL ID pada telefon ini.",
|
|
522
655
|
bodyApprove: "Luluskan log masuk dalam aplikasi ZOREAL ID anda.",
|
|
523
656
|
bodyEnrolling: "Selesaikan persediaan ZOREAL ID di telefon anda, kemudian luluskan log masuk.",
|
|
524
657
|
waiting: "Menunggu imbasan",
|
|
@@ -529,13 +662,18 @@ var TRANSLATIONS = {
|
|
|
529
662
|
noIdBody: "Imbas kod yang sama untuk memuat turun aplikasi dan cipta satu secara percuma. Hanya mengambil masa seminit.",
|
|
530
663
|
cancel: "Batal",
|
|
531
664
|
close: "Tutup",
|
|
532
|
-
qrAlt: "Kod QR untuk log masuk dengan ZOREAL"
|
|
665
|
+
qrAlt: "Kod QR untuk log masuk dengan ZOREAL",
|
|
666
|
+
buttonContinue: "Teruskan dengan ZOREAL",
|
|
667
|
+
openApp: "Buka ZOREAL ID"
|
|
533
668
|
},
|
|
534
669
|
// Nederlands
|
|
535
670
|
nl: {
|
|
536
671
|
title: "Scan om in te loggen",
|
|
672
|
+
titleIdentify: "Scan om je identiteit te verifi\xEBren",
|
|
673
|
+
titlePresence: "Scan om te bewijzen dat je een echt mens bent",
|
|
537
674
|
titleApprove: "Keur goed op je telefoon",
|
|
538
675
|
bodyScan: "Scan met de camera van je telefoon of de ZOREAL ID-app.",
|
|
676
|
+
bodyLink: "Keur deze aanmelding goed in de ZOREAL ID-app op deze telefoon.",
|
|
539
677
|
bodyApprove: "Keur de aanmelding goed in je ZOREAL ID-app.",
|
|
540
678
|
bodyEnrolling: "Rond het instellen van ZOREAL ID op je telefoon af en keur daarna de aanmelding goed.",
|
|
541
679
|
waiting: "Wachten op scan",
|
|
@@ -546,13 +684,18 @@ var TRANSLATIONS = {
|
|
|
546
684
|
noIdBody: "Scan dezelfde code om de app te downloaden en gratis een account aan te maken. Dit duurt maar een minuut.",
|
|
547
685
|
cancel: "Annuleren",
|
|
548
686
|
close: "Sluiten",
|
|
549
|
-
qrAlt: "QR-code om in te loggen met ZOREAL"
|
|
687
|
+
qrAlt: "QR-code om in te loggen met ZOREAL",
|
|
688
|
+
buttonContinue: "Doorgaan met ZOREAL",
|
|
689
|
+
openApp: "ZOREAL ID openen"
|
|
550
690
|
},
|
|
551
691
|
// Norsk
|
|
552
692
|
no: {
|
|
553
693
|
title: "Skann for \xE5 logge inn",
|
|
694
|
+
titleIdentify: "Skann for \xE5 bekrefte identiteten din",
|
|
695
|
+
titlePresence: "Skann for \xE5 bevise at du er et ekte menneske",
|
|
554
696
|
titleApprove: "Godkjenn p\xE5 telefonen din",
|
|
555
697
|
bodyScan: "Skann med telefonens kamera eller ZOREAL ID-appen.",
|
|
698
|
+
bodyLink: "Godkjenn denne innloggingen i ZOREAL ID-appen p\xE5 denne telefonen.",
|
|
556
699
|
bodyApprove: "Godkjenn innloggingen i ZOREAL ID-appen din.",
|
|
557
700
|
bodyEnrolling: "Fullf\xF8r oppsettet av ZOREAL ID p\xE5 telefonen din, og godkjenn deretter innloggingen.",
|
|
558
701
|
waiting: "Venter p\xE5 skanning",
|
|
@@ -563,13 +706,18 @@ var TRANSLATIONS = {
|
|
|
563
706
|
noIdBody: "Skann den samme koden for \xE5 laste ned appen og opprette en gratis. Det tar bare et minutt.",
|
|
564
707
|
cancel: "Avbryt",
|
|
565
708
|
close: "Lukk",
|
|
566
|
-
qrAlt: "QR-kode for \xE5 logge inn med ZOREAL"
|
|
709
|
+
qrAlt: "QR-kode for \xE5 logge inn med ZOREAL",
|
|
710
|
+
buttonContinue: "Fortsett med ZOREAL",
|
|
711
|
+
openApp: "\xC5pne ZOREAL ID"
|
|
567
712
|
},
|
|
568
713
|
// Polski
|
|
569
714
|
pl: {
|
|
570
715
|
title: "Zeskanuj, aby si\u0119 zalogowa\u0107",
|
|
716
|
+
titleIdentify: "Zeskanuj, aby zweryfikowa\u0107 swoj\u0105 to\u017Csamo\u015B\u0107",
|
|
717
|
+
titlePresence: "Zeskanuj, aby udowodni\u0107, \u017Ce jeste\u015B prawdziwym cz\u0142owiekiem",
|
|
571
718
|
titleApprove: "Zatwierd\u017A w telefonie",
|
|
572
719
|
bodyScan: "Zeskanuj aparatem telefonu lub aplikacj\u0105 ZOREAL ID.",
|
|
720
|
+
bodyLink: "Zatwierd\u017A to logowanie w aplikacji ZOREAL ID na tym telefonie.",
|
|
573
721
|
bodyApprove: "Zatwierd\u017A logowanie w aplikacji ZOREAL ID.",
|
|
574
722
|
bodyEnrolling: "Doko\u0144cz konfiguracj\u0119 ZOREAL ID w telefonie, a nast\u0119pnie zatwierd\u017A logowanie.",
|
|
575
723
|
waiting: "Czekanie na skan",
|
|
@@ -580,13 +728,18 @@ var TRANSLATIONS = {
|
|
|
580
728
|
noIdBody: "Zeskanuj ten sam kod, aby pobra\u0107 aplikacj\u0119 i bezp\u0142atnie utworzy\u0107 ZOREAL ID. Zajmie to tylko minut\u0119.",
|
|
581
729
|
cancel: "Anuluj",
|
|
582
730
|
close: "Zamknij",
|
|
583
|
-
qrAlt: "Kod QR do logowania za pomoc\u0105 ZOREAL"
|
|
731
|
+
qrAlt: "Kod QR do logowania za pomoc\u0105 ZOREAL",
|
|
732
|
+
buttonContinue: "Kontynuuj z ZOREAL",
|
|
733
|
+
openApp: "Otw\xF3rz ZOREAL ID"
|
|
584
734
|
},
|
|
585
735
|
// Português (BR)
|
|
586
736
|
"pt-br": {
|
|
587
737
|
title: "Escaneie para entrar",
|
|
738
|
+
titleIdentify: "Escaneie para verificar sua identidade",
|
|
739
|
+
titlePresence: "Escaneie para provar que voc\xEA \xE9 uma pessoa real",
|
|
588
740
|
titleApprove: "Aprove no seu celular",
|
|
589
741
|
bodyScan: "Escaneie com a c\xE2mera do seu celular ou com o app ZOREAL ID.",
|
|
742
|
+
bodyLink: "Aprove este login no app ZOREAL ID neste celular.",
|
|
590
743
|
bodyApprove: "Aprove o login no app ZOREAL ID.",
|
|
591
744
|
bodyEnrolling: "Termine de configurar o ZOREAL ID no seu celular e depois aprove o login.",
|
|
592
745
|
waiting: "Aguardando escaneamento",
|
|
@@ -597,13 +750,18 @@ var TRANSLATIONS = {
|
|
|
597
750
|
noIdBody: "Escaneie o mesmo c\xF3digo para baixar o app e criar um de gra\xE7a. Leva s\xF3 um minuto.",
|
|
598
751
|
cancel: "Cancelar",
|
|
599
752
|
close: "Fechar",
|
|
600
|
-
qrAlt: "C\xF3digo QR para entrar com ZOREAL"
|
|
753
|
+
qrAlt: "C\xF3digo QR para entrar com ZOREAL",
|
|
754
|
+
buttonContinue: "Continuar com ZOREAL",
|
|
755
|
+
openApp: "Abrir ZOREAL ID"
|
|
601
756
|
},
|
|
602
757
|
// Română
|
|
603
758
|
ro: {
|
|
604
759
|
title: "Scana\u021Bi pentru conectare",
|
|
760
|
+
titleIdentify: "Scana\u021Bi pentru a v\u0103 verifica identitatea",
|
|
761
|
+
titlePresence: "Scana\u021Bi pentru a dovedi c\u0103 sunte\u021Bi o persoan\u0103 real\u0103",
|
|
605
762
|
titleApprove: "Aproba\u021Bi de pe telefon",
|
|
606
763
|
bodyScan: "Scana\u021Bi cu camera telefonului sau cu aplica\u021Bia ZOREAL ID.",
|
|
764
|
+
bodyLink: "Aproba\u021Bi aceast\u0103 conectare \xEEn aplica\u021Bia ZOREAL ID de pe acest telefon.",
|
|
607
765
|
bodyApprove: "Aproba\u021Bi conectarea \xEEn aplica\u021Bia ZOREAL ID.",
|
|
608
766
|
bodyEnrolling: "Finaliza\u021Bi configurarea ZOREAL ID pe telefon, apoi aproba\u021Bi conectarea.",
|
|
609
767
|
waiting: "Se a\u0219teapt\u0103 scanarea",
|
|
@@ -614,13 +772,18 @@ var TRANSLATIONS = {
|
|
|
614
772
|
noIdBody: "Scana\u021Bi acela\u0219i cod pentru a desc\u0103rca aplica\u021Bia \u0219i a crea unul gratuit. Dureaz\u0103 doar un minut.",
|
|
615
773
|
cancel: "Anuleaz\u0103",
|
|
616
774
|
close: "\xCEnchide",
|
|
617
|
-
qrAlt: "Cod QR pentru conectare cu ZOREAL"
|
|
775
|
+
qrAlt: "Cod QR pentru conectare cu ZOREAL",
|
|
776
|
+
buttonContinue: "Continua\u021Bi cu ZOREAL",
|
|
777
|
+
openApp: "Deschide\u021Bi ZOREAL ID"
|
|
618
778
|
},
|
|
619
779
|
// Српски
|
|
620
780
|
sr: {
|
|
621
781
|
title: "\u0421\u043A\u0435\u043D\u0438\u0440\u0430\u0458\u0442\u0435 \u0437\u0430 \u043F\u0440\u0438\u0458\u0430\u0432\u0443",
|
|
782
|
+
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",
|
|
783
|
+
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",
|
|
622
784
|
titleApprove: "\u041E\u0434\u043E\u0431\u0440\u0438\u0442\u0435 \u043D\u0430 \u0441\u0432\u043E\u043C \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0443",
|
|
623
785
|
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.",
|
|
786
|
+
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.",
|
|
624
787
|
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.",
|
|
625
788
|
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.",
|
|
626
789
|
waiting: "\u0427\u0435\u043A\u0430 \u0441\u0435 \u0441\u043A\u0435\u043D\u0438\u0440\u0430\u045A\u0435",
|
|
@@ -631,13 +794,18 @@ var TRANSLATIONS = {
|
|
|
631
794
|
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.",
|
|
632
795
|
cancel: "\u041E\u0442\u043A\u0430\u0436\u0438",
|
|
633
796
|
close: "\u0417\u0430\u0442\u0432\u043E\u0440\u0438",
|
|
634
|
-
qrAlt: "QR \u043A\u043E\u0434 \u0437\u0430 \u043F\u0440\u0438\u0458\u0430\u0432\u0443 \u043F\u0440\u0435\u043A\u043E ZOREAL-\u0430"
|
|
797
|
+
qrAlt: "QR \u043A\u043E\u0434 \u0437\u0430 \u043F\u0440\u0438\u0458\u0430\u0432\u0443 \u043F\u0440\u0435\u043A\u043E ZOREAL-\u0430",
|
|
798
|
+
buttonContinue: "\u041D\u0430\u0441\u0442\u0430\u0432\u0438 \u0441\u0430 ZOREAL-\u043E\u043C",
|
|
799
|
+
openApp: "\u041E\u0442\u0432\u043E\u0440\u0438 ZOREAL ID"
|
|
635
800
|
},
|
|
636
801
|
// ไทย
|
|
637
802
|
th: {
|
|
638
803
|
title: "\u0E2A\u0E41\u0E01\u0E19\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E02\u0E49\u0E32\u0E2A\u0E39\u0E48\u0E23\u0E30\u0E1A\u0E1A",
|
|
804
|
+
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",
|
|
805
|
+
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",
|
|
639
806
|
titleApprove: "\u0E2D\u0E19\u0E38\u0E21\u0E31\u0E15\u0E34\u0E1A\u0E19\u0E42\u0E17\u0E23\u0E28\u0E31\u0E1E\u0E17\u0E4C\u0E02\u0E2D\u0E07\u0E04\u0E38\u0E13",
|
|
640
807
|
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",
|
|
808
|
+
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",
|
|
641
809
|
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",
|
|
642
810
|
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",
|
|
643
811
|
waiting: "\u0E23\u0E2D\u0E01\u0E32\u0E23\u0E2A\u0E41\u0E01\u0E19",
|
|
@@ -648,13 +816,18 @@ var TRANSLATIONS = {
|
|
|
648
816
|
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",
|
|
649
817
|
cancel: "\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01",
|
|
650
818
|
close: "\u0E1B\u0E34\u0E14",
|
|
651
|
-
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"
|
|
819
|
+
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",
|
|
820
|
+
buttonContinue: "\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E15\u0E48\u0E2D\u0E14\u0E49\u0E27\u0E22 ZOREAL",
|
|
821
|
+
openApp: "\u0E40\u0E1B\u0E34\u0E14 ZOREAL ID"
|
|
652
822
|
},
|
|
653
823
|
// Tagalog
|
|
654
824
|
tl: {
|
|
655
825
|
title: "I-scan para mag-sign in",
|
|
826
|
+
titleIdentify: "I-scan para i-verify ang iyong pagkakakilanlan",
|
|
827
|
+
titlePresence: "I-scan para patunayang tunay kang tao",
|
|
656
828
|
titleApprove: "I-approve sa iyong telepono",
|
|
657
829
|
bodyScan: "I-scan gamit ang camera ng iyong telepono o ang ZOREAL ID app.",
|
|
830
|
+
bodyLink: "Aprubahan ang pag-sign in na ito sa ZOREAL ID app sa teleponong ito.",
|
|
658
831
|
bodyApprove: "I-approve ang login sa iyong ZOREAL ID app.",
|
|
659
832
|
bodyEnrolling: "Tapusin muna ang pag-set up ng ZOREAL ID sa iyong telepono, pagkatapos ay i-approve ang login.",
|
|
660
833
|
waiting: "Naghihintay ng scan",
|
|
@@ -665,13 +838,18 @@ var TRANSLATIONS = {
|
|
|
665
838
|
noIdBody: "I-scan ang parehong code para i-download ang app at gumawa ng iyong ZOREAL ID nang libre. Isang minuto lang ito.",
|
|
666
839
|
cancel: "Kanselahin",
|
|
667
840
|
close: "Isara",
|
|
668
|
-
qrAlt: "QR code para mag-sign in gamit ang ZOREAL"
|
|
841
|
+
qrAlt: "QR code para mag-sign in gamit ang ZOREAL",
|
|
842
|
+
buttonContinue: "Magpatuloy gamit ang ZOREAL",
|
|
843
|
+
openApp: "Buksan ang ZOREAL ID"
|
|
669
844
|
},
|
|
670
845
|
// Türkçe
|
|
671
846
|
tr: {
|
|
672
847
|
title: "Giri\u015F i\xE7in taray\u0131n",
|
|
848
|
+
titleIdentify: "Kimli\u011Finizi do\u011Frulamak i\xE7in taray\u0131n",
|
|
849
|
+
titlePresence: "Ger\xE7ek bir insan oldu\u011Funuzu kan\u0131tlamak i\xE7in taray\u0131n",
|
|
673
850
|
titleApprove: "Telefonunuzdan onaylay\u0131n",
|
|
674
851
|
bodyScan: "Telefonunuzun kameras\u0131yla veya ZOREAL ID uygulamas\u0131yla taray\u0131n.",
|
|
852
|
+
bodyLink: "Bu giri\u015Fi bu telefondaki ZOREAL ID uygulamas\u0131nda onaylay\u0131n.",
|
|
675
853
|
bodyApprove: "Giri\u015Fi ZOREAL ID uygulaman\u0131zdan onaylay\u0131n.",
|
|
676
854
|
bodyEnrolling: "Telefonunuzda ZOREAL ID kurulumunu tamamlay\u0131n, ard\u0131ndan giri\u015Fi onaylay\u0131n.",
|
|
677
855
|
waiting: "Tarama bekleniyor",
|
|
@@ -682,13 +860,18 @@ var TRANSLATIONS = {
|
|
|
682
860
|
noIdBody: "Uygulamay\u0131 indirmek ve \xFCcretsiz bir tane olu\u015Fturmak i\xE7in ayn\u0131 kodu taray\u0131n. Sadece bir dakikan\u0131z\u0131 al\u0131r.",
|
|
683
861
|
cancel: "\u0130ptal",
|
|
684
862
|
close: "Kapat",
|
|
685
|
-
qrAlt: "ZOREAL ile giri\u015F yapmak i\xE7in QR kodu"
|
|
863
|
+
qrAlt: "ZOREAL ile giri\u015F yapmak i\xE7in QR kodu",
|
|
864
|
+
buttonContinue: "ZOREAL ile devam et",
|
|
865
|
+
openApp: "ZOREAL ID'yi a\xE7"
|
|
686
866
|
},
|
|
687
867
|
// Українська
|
|
688
868
|
uk: {
|
|
689
869
|
title: "\u0421\u043A\u0430\u043D\u0443\u0439\u0442\u0435 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0443",
|
|
870
|
+
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",
|
|
871
|
+
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",
|
|
690
872
|
titleApprove: "\u041F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u044C\u0442\u0435 \u043D\u0430 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0456",
|
|
691
873
|
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.",
|
|
874
|
+
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.",
|
|
692
875
|
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.",
|
|
693
876
|
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.",
|
|
694
877
|
waiting: "\u041E\u0447\u0456\u043A\u0443\u0432\u0430\u043D\u043D\u044F \u0441\u043A\u0430\u043D\u0443\u0432\u0430\u043D\u043D\u044F",
|
|
@@ -699,13 +882,18 @@ var TRANSLATIONS = {
|
|
|
699
882
|
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.",
|
|
700
883
|
cancel: "\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438",
|
|
701
884
|
close: "\u0417\u0430\u043A\u0440\u0438\u0442\u0438",
|
|
702
|
-
qrAlt: "QR-\u043A\u043E\u0434 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0443 \u0447\u0435\u0440\u0435\u0437 ZOREAL"
|
|
885
|
+
qrAlt: "QR-\u043A\u043E\u0434 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0443 \u0447\u0435\u0440\u0435\u0437 ZOREAL",
|
|
886
|
+
buttonContinue: "\u041F\u0440\u043E\u0434\u043E\u0432\u0436\u0438\u0442\u0438 \u0437 ZOREAL",
|
|
887
|
+
openApp: "\u0412\u0456\u0434\u043A\u0440\u0438\u0442\u0438 ZOREAL ID"
|
|
703
888
|
},
|
|
704
889
|
// اردو
|
|
705
890
|
ur: {
|
|
706
891
|
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",
|
|
892
|
+
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",
|
|
893
|
+
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",
|
|
707
894
|
titleApprove: "\u0627\u067E\u0646\u06D2 \u0641\u0648\u0646 \u067E\u0631 \u0645\u0646\u0638\u0648\u0631\u06CC \u062F\u06CC\u06BA",
|
|
708
895
|
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",
|
|
896
|
+
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",
|
|
709
897
|
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",
|
|
710
898
|
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",
|
|
711
899
|
waiting: "\u0627\u0633\u06A9\u06CC\u0646 \u06A9\u0627 \u0627\u0646\u062A\u0638\u0627\u0631",
|
|
@@ -716,13 +904,18 @@ var TRANSLATIONS = {
|
|
|
716
904
|
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",
|
|
717
905
|
cancel: "\u0645\u0646\u0633\u0648\u062E \u06A9\u0631\u06CC\u06BA",
|
|
718
906
|
close: "\u0628\u0646\u062F \u06A9\u0631\u06CC\u06BA",
|
|
719
|
-
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"
|
|
907
|
+
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",
|
|
908
|
+
buttonContinue: "ZOREAL \u06A9\u06D2 \u0633\u0627\u062A\u06BE \u062C\u0627\u0631\u06CC \u0631\u06A9\u06BE\u06CC\u06BA",
|
|
909
|
+
openApp: "ZOREAL ID \u06A9\u06BE\u0648\u0644\u06CC\u06BA"
|
|
720
910
|
},
|
|
721
911
|
// Tiếng Việt
|
|
722
912
|
vi: {
|
|
723
913
|
title: "Qu\xE9t \u0111\u1EC3 \u0111\u0103ng nh\u1EADp",
|
|
914
|
+
titleIdentify: "Qu\xE9t \u0111\u1EC3 x\xE1c minh danh t\xEDnh c\u1EE7a b\u1EA1n",
|
|
915
|
+
titlePresence: "Qu\xE9t \u0111\u1EC3 ch\u1EE9ng minh b\u1EA1n l\xE0 ng\u01B0\u1EDDi th\u1EADt",
|
|
724
916
|
titleApprove: "Ph\xEA duy\u1EC7t tr\xEAn \u0111i\u1EC7n tho\u1EA1i c\u1EE7a b\u1EA1n",
|
|
725
917
|
bodyScan: "Qu\xE9t b\u1EB1ng camera \u0111i\u1EC7n tho\u1EA1i ho\u1EB7c \u1EE9ng d\u1EE5ng ZOREAL ID.",
|
|
918
|
+
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.",
|
|
726
919
|
bodyApprove: "Ph\xEA duy\u1EC7t \u0111\u0103ng nh\u1EADp trong \u1EE9ng d\u1EE5ng ZOREAL ID c\u1EE7a b\u1EA1n.",
|
|
727
920
|
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.",
|
|
728
921
|
waiting: "\u0110ang ch\u1EDD qu\xE9t m\xE3",
|
|
@@ -733,7 +926,9 @@ var TRANSLATIONS = {
|
|
|
733
926
|
noIdBody: "Qu\xE9t c\xF9ng m\xE3 n\xE0y \u0111\u1EC3 t\u1EA3i \u1EE9ng d\u1EE5ng v\xE0 t\u1EA1o t\xE0i kho\u1EA3n mi\u1EC5n ph\xED. Ch\u1EC9 m\u1EA5t m\u1ED9t ph\xFAt.",
|
|
734
927
|
cancel: "H\u1EE7y",
|
|
735
928
|
close: "\u0110\xF3ng",
|
|
736
|
-
qrAlt: "M\xE3 QR \u0111\u1EC3 \u0111\u0103ng nh\u1EADp b\u1EB1ng ZOREAL"
|
|
929
|
+
qrAlt: "M\xE3 QR \u0111\u1EC3 \u0111\u0103ng nh\u1EADp b\u1EB1ng ZOREAL",
|
|
930
|
+
buttonContinue: "Ti\u1EBFp t\u1EE5c v\u1EDBi ZOREAL",
|
|
931
|
+
openApp: "M\u1EDF ZOREAL ID"
|
|
737
932
|
}
|
|
738
933
|
};
|
|
739
934
|
var RTL = /* @__PURE__ */ new Set(["ar", "he", "iw", "ur"]);
|
|
@@ -807,6 +1002,22 @@ function interpolate(template, time) {
|
|
|
807
1002
|
return template.replace("{time}", time);
|
|
808
1003
|
}
|
|
809
1004
|
|
|
1005
|
+
// src/intent.ts
|
|
1006
|
+
var SIGN_IN_SCOPES = /* @__PURE__ */ new Set(["openid", "email", "profile.name"]);
|
|
1007
|
+
function resolveIntent(intent, scope, acrValues) {
|
|
1008
|
+
if (intent) return intent;
|
|
1009
|
+
const scopes = (scope ?? "openid").split(/\s+/).filter(Boolean);
|
|
1010
|
+
if (scopes.some((s) => !SIGN_IN_SCOPES.has(s))) return "identify";
|
|
1011
|
+
const acr = typeof acrValues === "string" ? acrValues.split(/\s+/) : acrValues ?? [];
|
|
1012
|
+
if (scopes.every((s) => s === "openid") && acr.includes("zoreal.live")) return "presence";
|
|
1013
|
+
return "sign-in";
|
|
1014
|
+
}
|
|
1015
|
+
function titleFor(t, intent) {
|
|
1016
|
+
if (intent === "identify") return t.titleIdentify;
|
|
1017
|
+
if (intent === "presence") return t.titlePresence;
|
|
1018
|
+
return t.title;
|
|
1019
|
+
}
|
|
1020
|
+
|
|
810
1021
|
// src/styles.ts
|
|
811
1022
|
var PREFIX = "zrl";
|
|
812
1023
|
var cx = (name) => `${PREFIX}-${name}`;
|
|
@@ -1038,12 +1249,58 @@ var CSS = `
|
|
|
1038
1249
|
dim glow. Paused rather than removed, so it does not jump back to its start
|
|
1039
1250
|
on the way out. */
|
|
1040
1251
|
.${PREFIX}-qr-well[data-spent="true"] .${PREFIX}-qr-beam::after,
|
|
1041
|
-
.${PREFIX}-qr-well[data-spent="true"] .${PREFIX}-qr-beam-glow-band::after
|
|
1252
|
+
.${PREFIX}-qr-well[data-spent="true"] .${PREFIX}-qr-beam-glow-band::after,
|
|
1253
|
+
.${PREFIX}-link-well[data-ready="true"] .${PREFIX}-qr-beam::after,
|
|
1254
|
+
.${PREFIX}-link-well[data-ready="true"] .${PREFIX}-qr-beam-glow-band::after {
|
|
1042
1255
|
animation-play-state: paused;
|
|
1043
1256
|
opacity: 0;
|
|
1044
1257
|
}
|
|
1045
|
-
.${PREFIX}-qr-well[data-spent="true"] .${PREFIX}-qr-beam::before
|
|
1046
|
-
.${PREFIX}-
|
|
1258
|
+
.${PREFIX}-qr-well[data-spent="true"] .${PREFIX}-qr-beam::before,
|
|
1259
|
+
.${PREFIX}-link-well[data-ready="true"] .${PREFIX}-qr-beam::before { opacity: 0.55; }
|
|
1260
|
+
.${PREFIX}-qr-well[data-spent="true"] .${PREFIX}-qr-beam-glow-band::before,
|
|
1261
|
+
.${PREFIX}-link-well[data-ready="true"] .${PREFIX}-qr-beam-glow-band::before { opacity: 0.7; }
|
|
1262
|
+
|
|
1263
|
+
/* Same device: no code to scan. A round well with the mark carries the same
|
|
1264
|
+
light while the sign-in is being created, and settles once the link below
|
|
1265
|
+
it is ready to tap. A circle keeps the sweep even all the way round. */
|
|
1266
|
+
.${PREFIX}-link-well {
|
|
1267
|
+
position: relative;
|
|
1268
|
+
display: grid;
|
|
1269
|
+
place-items: center;
|
|
1270
|
+
box-sizing: border-box;
|
|
1271
|
+
width: 112px;
|
|
1272
|
+
height: 112px;
|
|
1273
|
+
margin: 20px auto 0;
|
|
1274
|
+
border: 1px solid var(--zrl-line);
|
|
1275
|
+
border-radius: 999px;
|
|
1276
|
+
background: var(--zrl-surface-sunken);
|
|
1277
|
+
--zrl-radius: 56px;
|
|
1278
|
+
--zrl-beam-time: 4s;
|
|
1279
|
+
}
|
|
1280
|
+
.${PREFIX}-link-well svg { position: relative; }
|
|
1281
|
+
|
|
1282
|
+
/* The control that opens the app: a real link, because a browser hands a
|
|
1283
|
+
link to an app only from a tap. It has no address until the sign-in
|
|
1284
|
+
exists, and reads as disabled until then. */
|
|
1285
|
+
.${PREFIX}-open {
|
|
1286
|
+
display: block;
|
|
1287
|
+
box-sizing: border-box;
|
|
1288
|
+
width: 100%;
|
|
1289
|
+
margin: 20px 0 0;
|
|
1290
|
+
padding: 12px 16px;
|
|
1291
|
+
border-radius: 12px;
|
|
1292
|
+
background: var(--zrl-accent);
|
|
1293
|
+
color: #ffffff;
|
|
1294
|
+
font: inherit;
|
|
1295
|
+
font-size: 15px;
|
|
1296
|
+
font-weight: 600;
|
|
1297
|
+
text-align: center;
|
|
1298
|
+
text-decoration: none;
|
|
1299
|
+
cursor: pointer;
|
|
1300
|
+
transition: opacity 200ms ease-out, transform 150ms ease-out;
|
|
1301
|
+
}
|
|
1302
|
+
.${PREFIX}-open:active { transform: scale(0.99); }
|
|
1303
|
+
.${PREFIX}-open[aria-disabled="true"] { opacity: 0.45; cursor: default; pointer-events: none; }
|
|
1047
1304
|
|
|
1048
1305
|
.${PREFIX}-qr {
|
|
1049
1306
|
display: block;
|
|
@@ -1153,7 +1410,11 @@ var CSS = `
|
|
|
1153
1410
|
margin: 6px 0 0;
|
|
1154
1411
|
font-size: 12px;
|
|
1155
1412
|
color: var(--zrl-ink-mute);
|
|
1413
|
+
text-decoration: none;
|
|
1414
|
+
border-radius: 6px;
|
|
1415
|
+
transition: color 150ms ease-out;
|
|
1156
1416
|
}
|
|
1417
|
+
.${PREFIX}-secured:hover { color: var(--zrl-ink); }
|
|
1157
1418
|
|
|
1158
1419
|
.${PREFIX}-close {
|
|
1159
1420
|
position: absolute;
|
|
@@ -1217,7 +1478,7 @@ function ensureStyles() {
|
|
|
1217
1478
|
}
|
|
1218
1479
|
|
|
1219
1480
|
// src/PairingModal.tsx
|
|
1220
|
-
import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
1481
|
+
import { Fragment, jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
1221
1482
|
var DEFAULT_PAIRING_TIMEOUT_MS = 12e4;
|
|
1222
1483
|
var URGENT_SECONDS = 20;
|
|
1223
1484
|
function mmss(totalSeconds) {
|
|
@@ -1240,7 +1501,8 @@ function PairingModal({
|
|
|
1240
1501
|
onCancel,
|
|
1241
1502
|
locale,
|
|
1242
1503
|
theme = "auto",
|
|
1243
|
-
timeoutMs = DEFAULT_PAIRING_TIMEOUT_MS
|
|
1504
|
+
timeoutMs = DEFAULT_PAIRING_TIMEOUT_MS,
|
|
1505
|
+
intent = "sign-in"
|
|
1244
1506
|
}) {
|
|
1245
1507
|
const t = strings(locale);
|
|
1246
1508
|
const titleId = useId();
|
|
@@ -1248,9 +1510,11 @@ function PairingModal({
|
|
|
1248
1510
|
const deadlineRef = useRef(0);
|
|
1249
1511
|
const [remaining, setRemaining] = useState(Math.round(timeoutMs / 1e3));
|
|
1250
1512
|
const settled = state.status === "claimed" || state.status === "enrolling";
|
|
1513
|
+
const linkMode = state.appLink === true;
|
|
1514
|
+
const ready = linkMode && Boolean(state.pairUrl);
|
|
1251
1515
|
const [frameUrl, setFrameUrl] = useState(qrUrl);
|
|
1252
1516
|
useEffect(() => {
|
|
1253
|
-
if (settled || frameUrl === qrUrl) return;
|
|
1517
|
+
if (linkMode || settled || frameUrl === qrUrl) return;
|
|
1254
1518
|
let abandoned = false;
|
|
1255
1519
|
const next = new Image();
|
|
1256
1520
|
next.onload = () => {
|
|
@@ -1264,7 +1528,7 @@ function PairingModal({
|
|
|
1264
1528
|
next.onload = null;
|
|
1265
1529
|
next.onerror = null;
|
|
1266
1530
|
};
|
|
1267
|
-
}, [qrUrl, settled, frameUrl]);
|
|
1531
|
+
}, [qrUrl, settled, frameUrl, linkMode]);
|
|
1268
1532
|
const onCancelRef = useRef(onCancel);
|
|
1269
1533
|
onCancelRef.current = onCancel;
|
|
1270
1534
|
useEffect(() => {
|
|
@@ -1298,7 +1562,7 @@ function PairingModal({
|
|
|
1298
1562
|
};
|
|
1299
1563
|
}, []);
|
|
1300
1564
|
if (typeof document === "undefined") return null;
|
|
1301
|
-
const body = state.status === "enrolling" ? t.bodyEnrolling : settled ? t.bodyApprove : t.bodyScan;
|
|
1565
|
+
const body = state.status === "enrolling" ? t.bodyEnrolling : settled ? t.bodyApprove : linkMode ? t.bodyLink : t.bodyScan;
|
|
1302
1566
|
return createPortal(
|
|
1303
1567
|
/* @__PURE__ */ jsx3("div", { className: `${cx("root")} ${cx("scrim")}`, "data-theme": theme, onClick: onCancel, children: /* @__PURE__ */ jsxs3(
|
|
1304
1568
|
"div",
|
|
@@ -1313,15 +1577,32 @@ function PairingModal({
|
|
|
1313
1577
|
/* @__PURE__ */ jsx3("button", { ref: closeRef, type: "button", className: cx("close"), "aria-label": t.close, onClick: onCancel, children: /* @__PURE__ */ jsx3(IconClose, {}) }),
|
|
1314
1578
|
/* @__PURE__ */ jsxs3("div", { className: cx("body"), children: [
|
|
1315
1579
|
/* @__PURE__ */ jsx3(ZorealLockup, { height: 44, className: cx("lockup") }),
|
|
1316
|
-
/* @__PURE__ */ jsx3("h2", { id: titleId, className: cx("title"), children: settled ? t.titleApprove : t
|
|
1580
|
+
/* @__PURE__ */ jsx3("h2", { id: titleId, className: cx("title"), children: settled ? t.titleApprove : titleFor(t, intent) }),
|
|
1317
1581
|
/* @__PURE__ */ jsx3("p", { className: cx("body-text"), children: body }),
|
|
1318
|
-
/* @__PURE__ */ jsxs3(
|
|
1582
|
+
linkMode ? /* @__PURE__ */ jsxs3(Fragment, { children: [
|
|
1583
|
+
/* @__PURE__ */ jsxs3("div", { className: cx("link-well"), "data-ready": ready, children: [
|
|
1584
|
+
/* @__PURE__ */ jsx3("span", { className: cx("qr-beam-glow"), "aria-hidden": true, children: /* @__PURE__ */ jsx3("span", { className: cx("qr-beam-glow-band") }) }),
|
|
1585
|
+
/* @__PURE__ */ jsx3("span", { className: cx("qr-beam"), "aria-hidden": true }),
|
|
1586
|
+
/* @__PURE__ */ jsx3(ZorealMark, { size: 48 })
|
|
1587
|
+
] }),
|
|
1588
|
+
/* @__PURE__ */ jsx3(
|
|
1589
|
+
"a",
|
|
1590
|
+
{
|
|
1591
|
+
className: cx("open"),
|
|
1592
|
+
href: ready ? state.pairUrl : void 0,
|
|
1593
|
+
target: "_blank",
|
|
1594
|
+
rel: "noopener",
|
|
1595
|
+
"aria-disabled": ready ? void 0 : true,
|
|
1596
|
+
children: t.openApp
|
|
1597
|
+
}
|
|
1598
|
+
)
|
|
1599
|
+
] }) : /* @__PURE__ */ jsxs3("div", { className: cx("qr-well"), "data-spent": settled, children: [
|
|
1319
1600
|
/* @__PURE__ */ jsx3("span", { className: cx("qr-beam-glow"), "aria-hidden": true, children: /* @__PURE__ */ jsx3("span", { className: cx("qr-beam-glow-band") }) }),
|
|
1320
1601
|
/* @__PURE__ */ jsx3("span", { className: cx("qr-beam"), "aria-hidden": true }),
|
|
1321
1602
|
/* @__PURE__ */ jsx3("img", { className: cx("qr"), "data-spent": settled, src: frameUrl, alt: t.qrAlt, width: 180, height: 180 }),
|
|
1322
1603
|
settled && /* @__PURE__ */ jsx3("span", { className: cx("qr-overlay"), children: /* @__PURE__ */ jsx3("span", { className: cx("qr-badge"), children: /* @__PURE__ */ jsx3(IconPhone, {}) }) })
|
|
1323
1604
|
] }),
|
|
1324
|
-
/* @__PURE__ */ jsxs3("div", { className: cx("status"), children: [
|
|
1605
|
+
(!linkMode || settled) && /* @__PURE__ */ jsxs3("div", { className: cx("status"), children: [
|
|
1325
1606
|
/* @__PURE__ */ jsxs3("span", { className: cx("dot"), children: [
|
|
1326
1607
|
/* @__PURE__ */ jsx3("i", {}),
|
|
1327
1608
|
/* @__PURE__ */ jsx3("i", {})
|
|
@@ -1330,13 +1611,13 @@ function PairingModal({
|
|
|
1330
1611
|
] }),
|
|
1331
1612
|
/* @__PURE__ */ jsx3("p", { className: cx("timer"), "data-urgent": remaining <= URGENT_SECONDS, children: interpolate(t.expiresIn, mmss(remaining)) })
|
|
1332
1613
|
] }),
|
|
1333
|
-
/* @__PURE__ */ jsxs3("div", { className: cx("help"), children: [
|
|
1614
|
+
!linkMode && /* @__PURE__ */ jsxs3("div", { className: cx("help"), children: [
|
|
1334
1615
|
/* @__PURE__ */ jsx3("p", { className: cx("help-title"), children: t.noIdTitle }),
|
|
1335
1616
|
/* @__PURE__ */ jsx3("p", { className: cx("help-body"), children: t.noIdBody })
|
|
1336
1617
|
] }),
|
|
1337
1618
|
/* @__PURE__ */ jsxs3("div", { className: cx("footer"), children: [
|
|
1338
1619
|
/* @__PURE__ */ jsx3("button", { type: "button", className: cx("cancel"), onClick: onCancel, children: t.cancel }),
|
|
1339
|
-
/* @__PURE__ */ jsxs3("
|
|
1620
|
+
/* @__PURE__ */ jsxs3("a", { className: cx("secured"), href: "https://zoreal.com", target: "_blank", rel: "noopener", children: [
|
|
1340
1621
|
/* @__PURE__ */ jsx3(IconShield, {}),
|
|
1341
1622
|
t.secured
|
|
1342
1623
|
] })
|
|
@@ -1377,6 +1658,7 @@ function ZorealOAuthProvider({
|
|
|
1377
1658
|
{
|
|
1378
1659
|
state: pairing.state,
|
|
1379
1660
|
qrUrl: pairing.qrUrl,
|
|
1661
|
+
intent: pairing.intent,
|
|
1380
1662
|
onCancel: pairing.cancel,
|
|
1381
1663
|
locale,
|
|
1382
1664
|
theme,
|
|
@@ -1628,7 +1910,20 @@ function useZorealFlow(options) {
|
|
|
1628
1910
|
const nonce = generateState();
|
|
1629
1911
|
const display = resolveDisplay(opts.display);
|
|
1630
1912
|
const useAppLink = display === "link";
|
|
1913
|
+
const intent = resolveIntent(opts.intent, opts.scope, opts.acr_values);
|
|
1631
1914
|
try {
|
|
1915
|
+
if (useAppLink) {
|
|
1916
|
+
const cancel = () => {
|
|
1917
|
+
controller.abort();
|
|
1918
|
+
publishRef.current?.(null);
|
|
1919
|
+
};
|
|
1920
|
+
publishRef.current?.({
|
|
1921
|
+
state: { status: "pending", appLink: true, intent, cancel },
|
|
1922
|
+
qrUrl: "",
|
|
1923
|
+
intent,
|
|
1924
|
+
cancel
|
|
1925
|
+
});
|
|
1926
|
+
}
|
|
1632
1927
|
const started = await startPairing(issuer, {
|
|
1633
1928
|
client_id: clientId,
|
|
1634
1929
|
scope: opts.scope ?? "openid",
|
|
@@ -1658,6 +1953,7 @@ function useZorealFlow(options) {
|
|
|
1658
1953
|
const surface = {
|
|
1659
1954
|
pairUrl: started.pair_url,
|
|
1660
1955
|
appLink: useAppLink,
|
|
1956
|
+
intent,
|
|
1661
1957
|
cancel,
|
|
1662
1958
|
// The app link has no QR and therefore no cadence to report.
|
|
1663
1959
|
...useAppLink ? null : { qrRefreshSeconds }
|
|
@@ -1672,13 +1968,8 @@ function useZorealFlow(options) {
|
|
|
1672
1968
|
cancel
|
|
1673
1969
|
};
|
|
1674
1970
|
setPairing(active);
|
|
1675
|
-
|
|
1676
|
-
publishRef.current?.({ state: active.state, qrUrl, cancel });
|
|
1677
|
-
}
|
|
1971
|
+
publishRef.current?.({ state: active.state, qrUrl, intent, cancel });
|
|
1678
1972
|
opts.onPairingStateChange?.(active.state);
|
|
1679
|
-
if (useAppLink) {
|
|
1680
|
-
window.location.assign(started.pair_url);
|
|
1681
|
-
}
|
|
1682
1973
|
code = await pollUntilApproved(
|
|
1683
1974
|
issuer,
|
|
1684
1975
|
started.request_id,
|
|
@@ -1688,9 +1979,7 @@ function useZorealFlow(options) {
|
|
|
1688
1979
|
setPairing(
|
|
1689
1980
|
(p) => p && p.requestId === started.request_id ? { ...p, qrUrl, state: enriched } : p
|
|
1690
1981
|
);
|
|
1691
|
-
|
|
1692
|
-
publishRef.current?.({ state: enriched, qrUrl, cancel });
|
|
1693
|
-
}
|
|
1982
|
+
publishRef.current?.({ state: enriched, qrUrl, intent, cancel });
|
|
1694
1983
|
opts.onPairingStateChange?.(enriched);
|
|
1695
1984
|
},
|
|
1696
1985
|
controller.signal,
|
|
@@ -1764,7 +2053,7 @@ function useZorealLogin(options) {
|
|
|
1764
2053
|
// src/ZorealLogin.tsx
|
|
1765
2054
|
import { jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
1766
2055
|
var TEXTS = {
|
|
1767
|
-
continue_with:
|
|
2056
|
+
continue_with: null,
|
|
1768
2057
|
signin_with: "Sign in with ZOREAL",
|
|
1769
2058
|
signup_with: "Sign up with ZOREAL",
|
|
1770
2059
|
signin: "Sign in",
|
|
@@ -1791,6 +2080,8 @@ function ZorealLogin(props) {
|
|
|
1791
2080
|
flow = "browser-direct",
|
|
1792
2081
|
...request
|
|
1793
2082
|
} = props;
|
|
2083
|
+
const { locale } = useZorealOAuth();
|
|
2084
|
+
const label = TEXTS[text] ?? strings(locale).buttonContinue;
|
|
1794
2085
|
const { login } = useZorealFlow({
|
|
1795
2086
|
...request,
|
|
1796
2087
|
flow,
|
|
@@ -1829,7 +2120,7 @@ function ZorealLogin(props) {
|
|
|
1829
2120
|
},
|
|
1830
2121
|
children: [
|
|
1831
2122
|
/* @__PURE__ */ jsx5(ZorealMark, { size: Math.round(s.font * 1.25) }),
|
|
1832
|
-
type === "standard" &&
|
|
2123
|
+
type === "standard" && label
|
|
1833
2124
|
]
|
|
1834
2125
|
}
|
|
1835
2126
|
) });
|
|
@@ -1881,6 +2172,7 @@ export {
|
|
|
1881
2172
|
ZorealOAuthProvider,
|
|
1882
2173
|
hasGrantedAllScopesZoreal,
|
|
1883
2174
|
hasGrantedAnyScopeZoreal,
|
|
2175
|
+
resolveIntent,
|
|
1884
2176
|
useZorealAutoLogin,
|
|
1885
2177
|
useZorealLogin,
|
|
1886
2178
|
useZorealOAuth,
|