@zoreal/oauth2-react 0.2.11 → 0.2.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -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.11";
8
+ var SDK_VERSION = "0.2.13";
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,6 +85,8 @@ 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.",
90
92
  bodyApprove: "Approve the login in your ZOREAL ID app.",
@@ -97,12 +99,15 @@ var en = {
97
99
  noIdBody: "Scan the same code to download the app and create one for free. It only takes a minute.",
98
100
  cancel: "Cancel",
99
101
  close: "Close",
100
- qrAlt: "QR code to sign in with ZOREAL"
102
+ qrAlt: "QR code to sign in with ZOREAL",
103
+ buttonContinue: "Continue with ZOREAL"
101
104
  };
102
105
  var TRANSLATIONS = {
103
106
  en,
104
107
  sv: {
105
108
  title: "Skanna f\xF6r att logga in",
109
+ titleIdentify: "Skanna f\xF6r att verifiera din identitet",
110
+ titlePresence: "Skanna f\xF6r att bevisa att du \xE4r en riktig m\xE4nniska",
106
111
  titleApprove: "Godk\xE4nn p\xE5 telefonen",
107
112
  bodyScan: "Skanna med telefonens kamera eller ZOREAL ID-appen.",
108
113
  bodyApprove: "Godk\xE4nn inloggningen i ZOREAL ID-appen.",
@@ -115,10 +120,13 @@ var TRANSLATIONS = {
115
120
  noIdBody: "Skanna samma kod f\xF6r att ladda ner appen och skapa ett gratis. Det tar bara en minut.",
116
121
  cancel: "Avbryt",
117
122
  close: "St\xE4ng",
118
- qrAlt: "QR-kod f\xF6r att logga in med ZOREAL"
123
+ qrAlt: "QR-kod f\xF6r att logga in med ZOREAL",
124
+ buttonContinue: "Forts\xE4tt med ZOREAL"
119
125
  },
120
126
  es: {
121
127
  title: "Escanea para iniciar sesi\xF3n",
128
+ titleIdentify: "Escanea para verificar tu identidad",
129
+ titlePresence: "Escanea para demostrar que eres una persona real",
122
130
  titleApprove: "Apru\xE9balo en tu tel\xE9fono",
123
131
  bodyScan: "Escanea con la c\xE1mara de tu tel\xE9fono o con la app ZOREAL ID.",
124
132
  bodyApprove: "Aprueba el inicio de sesi\xF3n en tu app ZOREAL ID.",
@@ -131,10 +139,13 @@ var TRANSLATIONS = {
131
139
  noIdBody: "Escanea el mismo c\xF3digo para descargar la app y crear una gratis. Solo toma un minuto.",
132
140
  cancel: "Cancelar",
133
141
  close: "Cerrar",
134
- qrAlt: "C\xF3digo QR para iniciar sesi\xF3n con ZOREAL"
142
+ qrAlt: "C\xF3digo QR para iniciar sesi\xF3n con ZOREAL",
143
+ buttonContinue: "Continuar con ZOREAL"
135
144
  },
136
145
  pt: {
137
146
  title: "Digitalize para entrar",
147
+ titleIdentify: "Digitalize para verificar a sua identidade",
148
+ titlePresence: "Digitalize para provar que \xE9 uma pessoa real",
138
149
  titleApprove: "Aprove no seu telefone",
139
150
  bodyScan: "Digitalize com a c\xE2mara do seu telefone ou com a app ZOREAL ID.",
140
151
  bodyApprove: "Aprove o login no app ZOREAL ID.",
@@ -147,10 +158,13 @@ var TRANSLATIONS = {
147
158
  noIdBody: "Digitalize o mesmo c\xF3digo para baixar o app e criar uma conta gr\xE1tis. Leva s\xF3 um minuto.",
148
159
  cancel: "Cancelar",
149
160
  close: "Fechar",
150
- qrAlt: "C\xF3digo QR para entrar com ZOREAL"
161
+ qrAlt: "C\xF3digo QR para entrar com ZOREAL",
162
+ buttonContinue: "Continuar com ZOREAL"
151
163
  },
152
164
  fr: {
153
165
  title: "Scannez pour vous connecter",
166
+ titleIdentify: "Scannez pour v\xE9rifier votre identit\xE9",
167
+ titlePresence: "Scannez pour prouver que vous \xEAtes bien un humain",
154
168
  titleApprove: "Approuvez sur votre t\xE9l\xE9phone",
155
169
  bodyScan: "Scannez avec l'appareil photo de votre t\xE9l\xE9phone ou l'app ZOREAL ID.",
156
170
  bodyApprove: "Approuvez la connexion dans votre app ZOREAL ID.",
@@ -163,10 +177,13 @@ var TRANSLATIONS = {
163
177
  noIdBody: "Scannez le m\xEAme code pour t\xE9l\xE9charger l'app et en cr\xE9er un gratuitement. Cela prend une minute.",
164
178
  cancel: "Annuler",
165
179
  close: "Fermer",
166
- qrAlt: "Code QR pour se connecter avec ZOREAL"
180
+ qrAlt: "Code QR pour se connecter avec ZOREAL",
181
+ buttonContinue: "Continuer avec ZOREAL"
167
182
  },
168
183
  de: {
169
184
  title: "Zum Anmelden scannen",
185
+ titleIdentify: "Scannen, um Ihre Identit\xE4t zu verifizieren",
186
+ titlePresence: "Scannen, um zu beweisen, dass Sie ein echter Mensch sind",
170
187
  titleApprove: "Auf dem Handy best\xE4tigen",
171
188
  bodyScan: "Mit der Handykamera oder der ZOREAL ID App scannen.",
172
189
  bodyApprove: "Anmeldung in der ZOREAL ID App best\xE4tigen.",
@@ -179,10 +196,13 @@ var TRANSLATIONS = {
179
196
  noIdBody: "Denselben Code scannen, um die App zu laden und kostenlos eine zu erstellen. Dauert nur eine Minute.",
180
197
  cancel: "Abbrechen",
181
198
  close: "Schlie\xDFen",
182
- qrAlt: "QR-Code f\xFCr die Anmeldung mit ZOREAL"
199
+ qrAlt: "QR-Code f\xFCr die Anmeldung mit ZOREAL",
200
+ buttonContinue: "Weiter mit ZOREAL"
183
201
  },
184
202
  ru: {
185
203
  title: "\u041E\u0442\u0441\u043A\u0430\u043D\u0438\u0440\u0443\u0439\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u0432\u043E\u0439\u0442\u0438",
204
+ 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",
205
+ 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
206
  titleApprove: "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u043D\u0430 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0435",
187
207
  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.",
188
208
  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.",
@@ -195,10 +215,13 @@ var TRANSLATIONS = {
195
215
  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
216
  cancel: "\u041E\u0442\u043C\u0435\u043D\u0430",
197
217
  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"
218
+ qrAlt: "QR-\u043A\u043E\u0434 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0430 \u0447\u0435\u0440\u0435\u0437 ZOREAL",
219
+ buttonContinue: "\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C \u0441 ZOREAL"
199
220
  },
200
221
  ja: {
201
222
  title: "\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u30ED\u30B0\u30A4\u30F3",
223
+ titleIdentify: "\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u672C\u4EBA\u78BA\u8A8D",
224
+ titlePresence: "\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u5B9F\u5728\u306E\u4EBA\u7269\u3067\u3042\u308B\u3053\u3068\u3092\u8A3C\u660E",
202
225
  titleApprove: "\u30B9\u30DE\u30FC\u30C8\u30D5\u30A9\u30F3\u3067\u627F\u8A8D",
203
226
  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",
204
227
  bodyApprove: "ZOREAL ID\u30A2\u30D7\u30EA\u3067\u30ED\u30B0\u30A4\u30F3\u3092\u627F\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
@@ -211,10 +234,13 @@ var TRANSLATIONS = {
211
234
  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
235
  cancel: "\u30AD\u30E3\u30F3\u30BB\u30EB",
213
236
  close: "\u9589\u3058\u308B",
214
- qrAlt: "ZOREAL\u3067\u30ED\u30B0\u30A4\u30F3\u3059\u308B\u305F\u3081\u306EQR\u30B3\u30FC\u30C9"
237
+ qrAlt: "ZOREAL\u3067\u30ED\u30B0\u30A4\u30F3\u3059\u308B\u305F\u3081\u306EQR\u30B3\u30FC\u30C9",
238
+ buttonContinue: "ZOREAL\u3067\u7D9A\u884C"
215
239
  },
216
240
  hi: {
217
241
  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",
242
+ 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",
243
+ 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
244
  titleApprove: "\u0905\u092A\u0928\u0947 \u092B\u094B\u0928 \u092A\u0930 \u0938\u094D\u0935\u0940\u0915\u0943\u0924 \u0915\u0930\u0947\u0902",
219
245
  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",
220
246
  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",
@@ -227,10 +253,13 @@ var TRANSLATIONS = {
227
253
  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
254
  cancel: "\u0930\u0926\u094D\u0926 \u0915\u0930\u0947\u0902",
229
255
  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"
256
+ qrAlt: "ZOREAL \u0938\u0947 \u0938\u093E\u0907\u0928 \u0907\u0928 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F QR \u0915\u094B\u0921",
257
+ buttonContinue: "ZOREAL \u0915\u0947 \u0938\u093E\u0925 \u091C\u093E\u0930\u0940 \u0930\u0916\u0947\u0902"
231
258
  },
232
259
  zhs: {
233
260
  title: "\u626B\u7801\u767B\u5F55",
261
+ titleIdentify: "\u626B\u7801\u9A8C\u8BC1\u8EAB\u4EFD",
262
+ titlePresence: "\u626B\u7801\u8BC1\u660E\u60A8\u662F\u771F\u4EBA",
234
263
  titleApprove: "\u5728\u624B\u673A\u4E0A\u6279\u51C6",
235
264
  bodyScan: "\u4F7F\u7528\u624B\u673A\u76F8\u673A\u6216 ZOREAL ID \u5E94\u7528\u626B\u63CF\u3002",
236
265
  bodyApprove: "\u8BF7\u5728 ZOREAL ID \u5E94\u7528\u4E2D\u6279\u51C6\u767B\u5F55\u3002",
@@ -243,10 +272,13 @@ var TRANSLATIONS = {
243
272
  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
273
  cancel: "\u53D6\u6D88",
245
274
  close: "\u5173\u95ED",
246
- qrAlt: "\u4F7F\u7528 ZOREAL \u767B\u5F55\u7684\u4E8C\u7EF4\u7801"
275
+ qrAlt: "\u4F7F\u7528 ZOREAL \u767B\u5F55\u7684\u4E8C\u7EF4\u7801",
276
+ buttonContinue: "\u4F7F\u7528 ZOREAL \u7EE7\u7EED"
247
277
  },
248
278
  zht: {
249
279
  title: "\u6383\u78BC\u767B\u5165",
280
+ titleIdentify: "\u6383\u78BC\u9A57\u8B49\u8EAB\u5206",
281
+ titlePresence: "\u6383\u78BC\u8B49\u660E\u60A8\u662F\u771F\u4EBA",
250
282
  titleApprove: "\u5728\u624B\u6A5F\u4E0A\u6838\u51C6",
251
283
  bodyScan: "\u4F7F\u7528\u624B\u6A5F\u76F8\u6A5F\u6216 ZOREAL ID \u61C9\u7528\u7A0B\u5F0F\u6383\u63CF\u3002",
252
284
  bodyApprove: "\u8ACB\u5728 ZOREAL ID \u61C9\u7528\u7A0B\u5F0F\u4E2D\u6838\u51C6\u767B\u5165\u3002",
@@ -259,10 +291,13 @@ var TRANSLATIONS = {
259
291
  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
292
  cancel: "\u53D6\u6D88",
261
293
  close: "\u95DC\u9589",
262
- qrAlt: "\u4F7F\u7528 ZOREAL \u767B\u5165\u7684 QR code"
294
+ qrAlt: "\u4F7F\u7528 ZOREAL \u767B\u5165\u7684 QR code",
295
+ buttonContinue: "\u4F7F\u7528 ZOREAL \u7E7C\u7E8C"
263
296
  },
264
297
  ar: {
265
298
  title: "\u0627\u0645\u0633\u062D \u0644\u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644",
299
+ titleIdentify: "\u0627\u0645\u0633\u062D \u0644\u0644\u062A\u062D\u0642\u0642 \u0645\u0646 \u0647\u0648\u064A\u062A\u0643",
300
+ 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
301
  titleApprove: "\u0648\u0627\u0641\u0642 \u0639\u0644\u0649 \u0647\u0627\u062A\u0641\u0643",
267
302
  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.",
268
303
  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.",
@@ -275,10 +310,13 @@ var TRANSLATIONS = {
275
310
  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
311
  cancel: "\u0625\u0644\u063A\u0627\u0621",
277
312
  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"
313
+ 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",
314
+ buttonContinue: "\u0627\u0644\u0645\u062A\u0627\u0628\u0639\u0629 \u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645 ZOREAL"
279
315
  },
280
316
  ko: {
281
317
  title: "\uC2A4\uCE94\uD558\uC5EC \uB85C\uADF8\uC778",
318
+ titleIdentify: "\uC2A4\uCE94\uD558\uC5EC \uC2E0\uC6D0 \uD655\uC778",
319
+ titlePresence: "\uC2A4\uCE94\uD558\uC5EC \uC2E4\uC81C \uC0AC\uB78C\uC784\uC744 \uC99D\uBA85",
282
320
  titleApprove: "\uD734\uB300\uD3F0\uC5D0\uC11C \uC2B9\uC778",
283
321
  bodyScan: "\uD734\uB300\uD3F0 \uCE74\uBA54\uB77C \uB610\uB294 ZOREAL ID \uC571\uC73C\uB85C \uC2A4\uCE94\uD558\uC138\uC694.",
284
322
  bodyApprove: "ZOREAL ID \uC571\uC5D0\uC11C \uB85C\uADF8\uC778\uC744 \uC2B9\uC778\uD558\uC138\uC694.",
@@ -291,11 +329,14 @@ var TRANSLATIONS = {
291
329
  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
330
  cancel: "\uCDE8\uC18C",
293
331
  close: "\uB2EB\uAE30",
294
- qrAlt: "ZOREAL\uB85C \uB85C\uADF8\uC778\uD558\uAE30 \uC704\uD55C QR \uCF54\uB4DC"
332
+ qrAlt: "ZOREAL\uB85C \uB85C\uADF8\uC778\uD558\uAE30 \uC704\uD55C QR \uCF54\uB4DC",
333
+ buttonContinue: "ZOREAL\uB85C \uACC4\uC18D"
295
334
  },
296
335
  // Български
297
336
  bg: {
298
337
  title: "\u0421\u043A\u0430\u043D\u0438\u0440\u0430\u0439\u0442\u0435 \u0437\u0430 \u0432\u0445\u043E\u0434",
338
+ 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",
339
+ 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
340
  titleApprove: "\u041F\u043E\u0442\u0432\u044A\u0440\u0434\u0435\u0442\u0435 \u043D\u0430 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u0441\u0438",
300
341
  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.",
301
342
  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.",
@@ -308,11 +349,14 @@ var TRANSLATIONS = {
308
349
  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
350
  cancel: "\u041E\u0442\u043A\u0430\u0437",
310
351
  close: "\u0417\u0430\u0442\u0432\u043E\u0440\u0438",
311
- qrAlt: "QR \u043A\u043E\u0434 \u0437\u0430 \u0432\u0445\u043E\u0434 \u0441\u044A\u0441 ZOREAL"
352
+ qrAlt: "QR \u043A\u043E\u0434 \u0437\u0430 \u0432\u0445\u043E\u0434 \u0441\u044A\u0441 ZOREAL",
353
+ buttonContinue: "\u041F\u0440\u043E\u0434\u044A\u043B\u0436\u0438 \u0441\u044A\u0441 ZOREAL"
312
354
  },
313
355
  // বাংলা
314
356
  bn: {
315
357
  title: "\u09B8\u09BE\u0987\u09A8 \u0987\u09A8 \u0995\u09B0\u09A4\u09C7 \u09B8\u09CD\u0995\u09CD\u09AF\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8",
358
+ 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",
359
+ 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
360
  titleApprove: "\u0986\u09AA\u09A8\u09BE\u09B0 \u09AB\u09CB\u09A8\u09C7 \u0985\u09A8\u09C1\u09AE\u09CB\u09A6\u09A8 \u0995\u09B0\u09C1\u09A8",
317
361
  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",
318
362
  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",
@@ -325,11 +369,14 @@ var TRANSLATIONS = {
325
369
  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
370
  cancel: "\u09AC\u09BE\u09A4\u09BF\u09B2",
327
371
  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"
372
+ 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",
373
+ buttonContinue: "ZOREAL \u09A6\u09BF\u09AF\u09BC\u09C7 \u099A\u09BE\u09B2\u09BF\u09AF\u09BC\u09C7 \u09AF\u09BE\u09A8"
329
374
  },
330
375
  // Bosanski
331
376
  bs: {
332
377
  title: "Skenirajte za prijavu",
378
+ titleIdentify: "Skenirajte da potvrdite svoj identitet",
379
+ titlePresence: "Skenirajte da doka\u017Eete da ste stvarna osoba",
333
380
  titleApprove: "Odobrite na svom telefonu",
334
381
  bodyScan: "Skenirajte kamerom svog telefona ili aplikacijom ZOREAL ID.",
335
382
  bodyApprove: "Odobrite prijavu u aplikaciji ZOREAL ID.",
@@ -342,11 +389,14 @@ var TRANSLATIONS = {
342
389
  noIdBody: "Skenirajte isti kod da preuzmete aplikaciju i besplatno ga napravite. Traje samo minutu.",
343
390
  cancel: "Otka\u017Ei",
344
391
  close: "Zatvori",
345
- qrAlt: "QR kod za prijavu putem ZOREAL-a"
392
+ qrAlt: "QR kod za prijavu putem ZOREAL-a",
393
+ buttonContinue: "Nastavi sa ZOREAL-om"
346
394
  },
347
395
  // Čeština
348
396
  cs: {
349
397
  title: "P\u0159ihlaste se naskenov\xE1n\xEDm",
398
+ titleIdentify: "Naskenujte pro ov\u011B\u0159en\xED toto\u017Enosti",
399
+ titlePresence: "Naskenujte a proka\u017Ete, \u017Ee jste skute\u010Dn\xFD \u010Dlov\u011Bk",
350
400
  titleApprove: "Potvr\u010Fte v telefonu",
351
401
  bodyScan: "Naskenujte fotoapar\xE1tem telefonu nebo aplikac\xED ZOREAL ID.",
352
402
  bodyApprove: "Potvr\u010Fte p\u0159ihl\xE1\u0161en\xED v aplikaci ZOREAL ID.",
@@ -359,11 +409,14 @@ var TRANSLATIONS = {
359
409
  noIdBody: "Naskenov\xE1n\xEDm stejn\xE9ho k\xF3du si st\xE1hnete aplikaci a zdarma vytvo\u0159\xEDte ZOREAL ID. Zabere to jen minutu.",
360
410
  cancel: "Zru\u0161it",
361
411
  close: "Zav\u0159\xEDt",
362
- qrAlt: "QR k\xF3d pro p\u0159ihl\xE1\u0161en\xED pomoc\xED ZOREAL"
412
+ qrAlt: "QR k\xF3d pro p\u0159ihl\xE1\u0161en\xED pomoc\xED ZOREAL",
413
+ buttonContinue: "Pokra\u010Dovat se ZOREAL"
363
414
  },
364
415
  // Dansk
365
416
  da: {
366
417
  title: "Scan for at logge ind",
418
+ titleIdentify: "Scan for at bekr\xE6fte din identitet",
419
+ titlePresence: "Scan for at bevise, at du er et rigtigt menneske",
367
420
  titleApprove: "Godkend p\xE5 din telefon",
368
421
  bodyScan: "Scan med telefonens kamera eller ZOREAL ID-appen.",
369
422
  bodyApprove: "Godkend login i din ZOREAL ID-app.",
@@ -376,11 +429,14 @@ var TRANSLATIONS = {
376
429
  noIdBody: "Scan den samme kode for at hente appen og oprette et gratis. Det tager kun et minut.",
377
430
  cancel: "Annuller",
378
431
  close: "Luk",
379
- qrAlt: "QR-kode til at logge ind med ZOREAL"
432
+ qrAlt: "QR-kode til at logge ind med ZOREAL",
433
+ buttonContinue: "Forts\xE6t med ZOREAL"
380
434
  },
381
435
  // Ελληνικά
382
436
  el: {
383
437
  title: "\u03A3\u03AC\u03C1\u03C9\u03C3\u03B7 \u03B3\u03B9\u03B1 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7",
438
+ 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",
439
+ 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
440
  titleApprove: "\u0388\u03B3\u03BA\u03C1\u03B9\u03C3\u03B7 \u03B1\u03C0\u03CC \u03C4\u03BF \u03BA\u03B9\u03BD\u03B7\u03C4\u03CC \u03C3\u03B1\u03C2",
385
441
  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.",
386
442
  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.",
@@ -393,11 +449,14 @@ var TRANSLATIONS = {
393
449
  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
450
  cancel: "\u0386\u03BA\u03C5\u03C1\u03BF",
395
451
  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"
452
+ qrAlt: "\u039A\u03C9\u03B4\u03B9\u03BA\u03CC\u03C2 QR \u03B3\u03B9\u03B1 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7 \u03BC\u03B5 ZOREAL",
453
+ buttonContinue: "\u03A3\u03C5\u03BD\u03AD\u03C7\u03B5\u03B9\u03B1 \u03BC\u03B5 ZOREAL"
397
454
  },
398
455
  // Español (LA)
399
456
  "es-419": {
400
457
  title: "Escanea para iniciar sesi\xF3n",
458
+ titleIdentify: "Escanea para verificar tu identidad",
459
+ titlePresence: "Escanea para demostrar que eres una persona real",
401
460
  titleApprove: "Aprueba desde tu celular",
402
461
  bodyScan: "Escanea con la c\xE1mara de tu celular o con la app ZOREAL ID.",
403
462
  bodyApprove: "Aprueba el inicio de sesi\xF3n en tu app ZOREAL ID.",
@@ -410,11 +469,14 @@ var TRANSLATIONS = {
410
469
  noIdBody: "Escanea el mismo c\xF3digo para descargar la app y crear uno gratis. Solo toma un minuto.",
411
470
  cancel: "Cancelar",
412
471
  close: "Cerrar",
413
- qrAlt: "C\xF3digo QR para iniciar sesi\xF3n con ZOREAL"
472
+ qrAlt: "C\xF3digo QR para iniciar sesi\xF3n con ZOREAL",
473
+ buttonContinue: "Continuar con ZOREAL"
414
474
  },
415
475
  // Suomi
416
476
  fi: {
417
477
  title: "Kirjaudu sis\xE4\xE4n skannaamalla",
478
+ titleIdentify: "Vahvista henkil\xF6llisyytesi skannaamalla",
479
+ titlePresence: "Todista skannaamalla, ett\xE4 olet oikea ihminen",
418
480
  titleApprove: "Hyv\xE4ksy puhelimessasi",
419
481
  bodyScan: "Skannaa puhelimesi kameralla tai ZOREAL ID -sovelluksella.",
420
482
  bodyApprove: "Hyv\xE4ksy kirjautuminen ZOREAL ID -sovelluksessasi.",
@@ -427,11 +489,14 @@ var TRANSLATIONS = {
427
489
  noIdBody: "Skannaa sama koodi ladataksesi sovelluksen ja luodaksesi tunnuksen ilmaiseksi. Se vie vain minuutin.",
428
490
  cancel: "Peruuta",
429
491
  close: "Sulje",
430
- qrAlt: "QR-koodi ZOREAL-kirjautumista varten"
492
+ qrAlt: "QR-koodi ZOREAL-kirjautumista varten",
493
+ buttonContinue: "Jatka ZOREALilla"
431
494
  },
432
495
  // עברית
433
496
  he: {
434
497
  title: "\u05E1\u05E8\u05D5\u05E7 \u05DB\u05D3\u05D9 \u05DC\u05D4\u05EA\u05D7\u05D1\u05E8",
498
+ titleIdentify: "\u05E1\u05E8\u05D5\u05E7 \u05DB\u05D3\u05D9 \u05DC\u05D0\u05DE\u05EA \u05D0\u05EA \u05D6\u05D4\u05D5\u05EA\u05DA",
499
+ 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
500
  titleApprove: "\u05D0\u05E9\u05E8 \u05D1\u05D8\u05DC\u05E4\u05D5\u05DF \u05E9\u05DC\u05DA",
436
501
  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.",
437
502
  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.",
@@ -444,11 +509,14 @@ var TRANSLATIONS = {
444
509
  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
510
  cancel: "\u05D1\u05D9\u05D8\u05D5\u05DC",
446
511
  close: "\u05E1\u05D2\u05D5\u05E8",
447
- qrAlt: "\u05E7\u05D5\u05D3 QR \u05DC\u05D4\u05EA\u05D7\u05D1\u05E8\u05D5\u05EA \u05E2\u05DD ZOREAL"
512
+ qrAlt: "\u05E7\u05D5\u05D3 QR \u05DC\u05D4\u05EA\u05D7\u05D1\u05E8\u05D5\u05EA \u05E2\u05DD ZOREAL",
513
+ buttonContinue: "\u05D4\u05DE\u05E9\u05DA \u05E2\u05DD ZOREAL"
448
514
  },
449
515
  // Hrvatski
450
516
  hr: {
451
517
  title: "Skenirajte za prijavu",
518
+ titleIdentify: "Skenirajte za potvrdu identiteta",
519
+ titlePresence: "Skenirajte kako biste dokazali da ste stvarna osoba",
452
520
  titleApprove: "Odobrite na svom mobitelu",
453
521
  bodyScan: "Skenirajte kamerom svog mobitela ili aplikacijom ZOREAL ID.",
454
522
  bodyApprove: "Odobrite prijavu u aplikaciji ZOREAL ID.",
@@ -461,11 +529,14 @@ var TRANSLATIONS = {
461
529
  noIdBody: "Skenirajte isti kod da preuzmete aplikaciju i besplatno ga izradite. Traje samo minutu.",
462
530
  cancel: "Odustani",
463
531
  close: "Zatvori",
464
- qrAlt: "QR kod za prijavu putem ZOREAL-a"
532
+ qrAlt: "QR kod za prijavu putem ZOREAL-a",
533
+ buttonContinue: "Nastavi sa ZOREAL-om"
465
534
  },
466
535
  // Magyar
467
536
  hu: {
468
537
  title: "Bejelentkez\xE9s beolvas\xE1ssal",
538
+ titleIdentify: "Olvassa be a szem\xE9lyazonoss\xE1ga igazol\xE1s\xE1hoz",
539
+ titlePresence: "Olvassa be annak igazol\xE1s\xE1hoz, hogy val\xF3di ember",
469
540
  titleApprove: "J\xF3v\xE1hagy\xE1s a telefonj\xE1n",
470
541
  bodyScan: "Olvassa be a telefonja kamer\xE1j\xE1val, vagy a ZOREAL ID alkalmaz\xE1ssal.",
471
542
  bodyApprove: "Hagyja j\xF3v\xE1 a bejelentkez\xE9st a ZOREAL ID alkalmaz\xE1sban.",
@@ -478,11 +549,14 @@ var TRANSLATIONS = {
478
549
  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
550
  cancel: "M\xE9gse",
480
551
  close: "Bez\xE1r\xE1s",
481
- qrAlt: "QR-k\xF3d a ZOREAL-lal val\xF3 bejelentkez\xE9shez"
552
+ qrAlt: "QR-k\xF3d a ZOREAL-lal val\xF3 bejelentkez\xE9shez",
553
+ buttonContinue: "Folytat\xE1s a ZOREAL-lal"
482
554
  },
483
555
  // Bahasa Indonesia
484
556
  id: {
485
557
  title: "Pindai untuk masuk",
558
+ titleIdentify: "Pindai untuk memverifikasi identitas Anda",
559
+ titlePresence: "Pindai untuk membuktikan bahwa Anda manusia sungguhan",
486
560
  titleApprove: "Setujui di ponsel Anda",
487
561
  bodyScan: "Pindai dengan kamera ponsel atau aplikasi ZOREAL ID.",
488
562
  bodyApprove: "Setujui proses masuk di aplikasi ZOREAL ID Anda.",
@@ -495,11 +569,14 @@ var TRANSLATIONS = {
495
569
  noIdBody: "Pindai kode yang sama untuk mengunduh aplikasi dan membuat akun secara gratis. Hanya butuh waktu satu menit.",
496
570
  cancel: "Batal",
497
571
  close: "Tutup",
498
- qrAlt: "Kode QR untuk masuk dengan ZOREAL"
572
+ qrAlt: "Kode QR untuk masuk dengan ZOREAL",
573
+ buttonContinue: "Lanjutkan dengan ZOREAL"
499
574
  },
500
575
  // Italiano
501
576
  it: {
502
577
  title: "Scansiona per accedere",
578
+ titleIdentify: "Scansiona per verificare la tua identit\xE0",
579
+ titlePresence: "Scansiona per dimostrare di essere una persona reale",
503
580
  titleApprove: "Approva sul tuo telefono",
504
581
  bodyScan: "Scansiona con la fotocamera del telefono o con l'app ZOREAL ID.",
505
582
  bodyApprove: "Approva l'accesso nell'app ZOREAL ID.",
@@ -512,11 +589,14 @@ var TRANSLATIONS = {
512
589
  noIdBody: "Scansiona lo stesso codice per scaricare l'app e crearne uno gratis. Basta un minuto.",
513
590
  cancel: "Annulla",
514
591
  close: "Chiudi",
515
- qrAlt: "Codice QR per accedere con ZOREAL"
592
+ qrAlt: "Codice QR per accedere con ZOREAL",
593
+ buttonContinue: "Continua con ZOREAL"
516
594
  },
517
595
  // Bahasa Melayu
518
596
  ms: {
519
597
  title: "Imbas untuk log masuk",
598
+ titleIdentify: "Imbas untuk mengesahkan identiti anda",
599
+ titlePresence: "Imbas untuk membuktikan anda manusia sebenar",
520
600
  titleApprove: "Luluskan di telefon anda",
521
601
  bodyScan: "Imbas dengan kamera telefon atau aplikasi ZOREAL ID.",
522
602
  bodyApprove: "Luluskan log masuk dalam aplikasi ZOREAL ID anda.",
@@ -529,11 +609,14 @@ var TRANSLATIONS = {
529
609
  noIdBody: "Imbas kod yang sama untuk memuat turun aplikasi dan cipta satu secara percuma. Hanya mengambil masa seminit.",
530
610
  cancel: "Batal",
531
611
  close: "Tutup",
532
- qrAlt: "Kod QR untuk log masuk dengan ZOREAL"
612
+ qrAlt: "Kod QR untuk log masuk dengan ZOREAL",
613
+ buttonContinue: "Teruskan dengan ZOREAL"
533
614
  },
534
615
  // Nederlands
535
616
  nl: {
536
617
  title: "Scan om in te loggen",
618
+ titleIdentify: "Scan om je identiteit te verifi\xEBren",
619
+ titlePresence: "Scan om te bewijzen dat je een echt mens bent",
537
620
  titleApprove: "Keur goed op je telefoon",
538
621
  bodyScan: "Scan met de camera van je telefoon of de ZOREAL ID-app.",
539
622
  bodyApprove: "Keur de aanmelding goed in je ZOREAL ID-app.",
@@ -546,11 +629,14 @@ var TRANSLATIONS = {
546
629
  noIdBody: "Scan dezelfde code om de app te downloaden en gratis een account aan te maken. Dit duurt maar een minuut.",
547
630
  cancel: "Annuleren",
548
631
  close: "Sluiten",
549
- qrAlt: "QR-code om in te loggen met ZOREAL"
632
+ qrAlt: "QR-code om in te loggen met ZOREAL",
633
+ buttonContinue: "Doorgaan met ZOREAL"
550
634
  },
551
635
  // Norsk
552
636
  no: {
553
637
  title: "Skann for \xE5 logge inn",
638
+ titleIdentify: "Skann for \xE5 bekrefte identiteten din",
639
+ titlePresence: "Skann for \xE5 bevise at du er et ekte menneske",
554
640
  titleApprove: "Godkjenn p\xE5 telefonen din",
555
641
  bodyScan: "Skann med telefonens kamera eller ZOREAL ID-appen.",
556
642
  bodyApprove: "Godkjenn innloggingen i ZOREAL ID-appen din.",
@@ -563,11 +649,14 @@ var TRANSLATIONS = {
563
649
  noIdBody: "Skann den samme koden for \xE5 laste ned appen og opprette en gratis. Det tar bare et minutt.",
564
650
  cancel: "Avbryt",
565
651
  close: "Lukk",
566
- qrAlt: "QR-kode for \xE5 logge inn med ZOREAL"
652
+ qrAlt: "QR-kode for \xE5 logge inn med ZOREAL",
653
+ buttonContinue: "Fortsett med ZOREAL"
567
654
  },
568
655
  // Polski
569
656
  pl: {
570
657
  title: "Zeskanuj, aby si\u0119 zalogowa\u0107",
658
+ titleIdentify: "Zeskanuj, aby zweryfikowa\u0107 swoj\u0105 to\u017Csamo\u015B\u0107",
659
+ titlePresence: "Zeskanuj, aby udowodni\u0107, \u017Ce jeste\u015B prawdziwym cz\u0142owiekiem",
571
660
  titleApprove: "Zatwierd\u017A w telefonie",
572
661
  bodyScan: "Zeskanuj aparatem telefonu lub aplikacj\u0105 ZOREAL ID.",
573
662
  bodyApprove: "Zatwierd\u017A logowanie w aplikacji ZOREAL ID.",
@@ -580,11 +669,14 @@ var TRANSLATIONS = {
580
669
  noIdBody: "Zeskanuj ten sam kod, aby pobra\u0107 aplikacj\u0119 i bezp\u0142atnie utworzy\u0107 ZOREAL ID. Zajmie to tylko minut\u0119.",
581
670
  cancel: "Anuluj",
582
671
  close: "Zamknij",
583
- qrAlt: "Kod QR do logowania za pomoc\u0105 ZOREAL"
672
+ qrAlt: "Kod QR do logowania za pomoc\u0105 ZOREAL",
673
+ buttonContinue: "Kontynuuj z ZOREAL"
584
674
  },
585
675
  // Português (BR)
586
676
  "pt-br": {
587
677
  title: "Escaneie para entrar",
678
+ titleIdentify: "Escaneie para verificar sua identidade",
679
+ titlePresence: "Escaneie para provar que voc\xEA \xE9 uma pessoa real",
588
680
  titleApprove: "Aprove no seu celular",
589
681
  bodyScan: "Escaneie com a c\xE2mera do seu celular ou com o app ZOREAL ID.",
590
682
  bodyApprove: "Aprove o login no app ZOREAL ID.",
@@ -597,11 +689,14 @@ var TRANSLATIONS = {
597
689
  noIdBody: "Escaneie o mesmo c\xF3digo para baixar o app e criar um de gra\xE7a. Leva s\xF3 um minuto.",
598
690
  cancel: "Cancelar",
599
691
  close: "Fechar",
600
- qrAlt: "C\xF3digo QR para entrar com ZOREAL"
692
+ qrAlt: "C\xF3digo QR para entrar com ZOREAL",
693
+ buttonContinue: "Continuar com ZOREAL"
601
694
  },
602
695
  // Română
603
696
  ro: {
604
697
  title: "Scana\u021Bi pentru conectare",
698
+ titleIdentify: "Scana\u021Bi pentru a v\u0103 verifica identitatea",
699
+ titlePresence: "Scana\u021Bi pentru a dovedi c\u0103 sunte\u021Bi o persoan\u0103 real\u0103",
605
700
  titleApprove: "Aproba\u021Bi de pe telefon",
606
701
  bodyScan: "Scana\u021Bi cu camera telefonului sau cu aplica\u021Bia ZOREAL ID.",
607
702
  bodyApprove: "Aproba\u021Bi conectarea \xEEn aplica\u021Bia ZOREAL ID.",
@@ -614,11 +709,14 @@ var TRANSLATIONS = {
614
709
  noIdBody: "Scana\u021Bi acela\u0219i cod pentru a desc\u0103rca aplica\u021Bia \u0219i a crea unul gratuit. Dureaz\u0103 doar un minut.",
615
710
  cancel: "Anuleaz\u0103",
616
711
  close: "\xCEnchide",
617
- qrAlt: "Cod QR pentru conectare cu ZOREAL"
712
+ qrAlt: "Cod QR pentru conectare cu ZOREAL",
713
+ buttonContinue: "Continua\u021Bi cu ZOREAL"
618
714
  },
619
715
  // Српски
620
716
  sr: {
621
717
  title: "\u0421\u043A\u0435\u043D\u0438\u0440\u0430\u0458\u0442\u0435 \u0437\u0430 \u043F\u0440\u0438\u0458\u0430\u0432\u0443",
718
+ 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",
719
+ 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
720
  titleApprove: "\u041E\u0434\u043E\u0431\u0440\u0438\u0442\u0435 \u043D\u0430 \u0441\u0432\u043E\u043C \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0443",
623
721
  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.",
624
722
  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.",
@@ -631,11 +729,14 @@ var TRANSLATIONS = {
631
729
  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
730
  cancel: "\u041E\u0442\u043A\u0430\u0436\u0438",
633
731
  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"
732
+ qrAlt: "QR \u043A\u043E\u0434 \u0437\u0430 \u043F\u0440\u0438\u0458\u0430\u0432\u0443 \u043F\u0440\u0435\u043A\u043E ZOREAL-\u0430",
733
+ buttonContinue: "\u041D\u0430\u0441\u0442\u0430\u0432\u0438 \u0441\u0430 ZOREAL-\u043E\u043C"
635
734
  },
636
735
  // ไทย
637
736
  th: {
638
737
  title: "\u0E2A\u0E41\u0E01\u0E19\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E40\u0E02\u0E49\u0E32\u0E2A\u0E39\u0E48\u0E23\u0E30\u0E1A\u0E1A",
738
+ 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",
739
+ 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
740
  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
741
  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",
641
742
  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",
@@ -648,11 +749,14 @@ var TRANSLATIONS = {
648
749
  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
750
  cancel: "\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01",
650
751
  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"
752
+ 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",
753
+ buttonContinue: "\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23\u0E15\u0E48\u0E2D\u0E14\u0E49\u0E27\u0E22 ZOREAL"
652
754
  },
653
755
  // Tagalog
654
756
  tl: {
655
757
  title: "I-scan para mag-sign in",
758
+ titleIdentify: "I-scan para i-verify ang iyong pagkakakilanlan",
759
+ titlePresence: "I-scan para patunayang tunay kang tao",
656
760
  titleApprove: "I-approve sa iyong telepono",
657
761
  bodyScan: "I-scan gamit ang camera ng iyong telepono o ang ZOREAL ID app.",
658
762
  bodyApprove: "I-approve ang login sa iyong ZOREAL ID app.",
@@ -665,11 +769,14 @@ var TRANSLATIONS = {
665
769
  noIdBody: "I-scan ang parehong code para i-download ang app at gumawa ng iyong ZOREAL ID nang libre. Isang minuto lang ito.",
666
770
  cancel: "Kanselahin",
667
771
  close: "Isara",
668
- qrAlt: "QR code para mag-sign in gamit ang ZOREAL"
772
+ qrAlt: "QR code para mag-sign in gamit ang ZOREAL",
773
+ buttonContinue: "Magpatuloy gamit ang ZOREAL"
669
774
  },
670
775
  // Türkçe
671
776
  tr: {
672
777
  title: "Giri\u015F i\xE7in taray\u0131n",
778
+ titleIdentify: "Kimli\u011Finizi do\u011Frulamak i\xE7in taray\u0131n",
779
+ titlePresence: "Ger\xE7ek bir insan oldu\u011Funuzu kan\u0131tlamak i\xE7in taray\u0131n",
673
780
  titleApprove: "Telefonunuzdan onaylay\u0131n",
674
781
  bodyScan: "Telefonunuzun kameras\u0131yla veya ZOREAL ID uygulamas\u0131yla taray\u0131n.",
675
782
  bodyApprove: "Giri\u015Fi ZOREAL ID uygulaman\u0131zdan onaylay\u0131n.",
@@ -682,11 +789,14 @@ var TRANSLATIONS = {
682
789
  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
790
  cancel: "\u0130ptal",
684
791
  close: "Kapat",
685
- qrAlt: "ZOREAL ile giri\u015F yapmak i\xE7in QR kodu"
792
+ qrAlt: "ZOREAL ile giri\u015F yapmak i\xE7in QR kodu",
793
+ buttonContinue: "ZOREAL ile devam et"
686
794
  },
687
795
  // Українська
688
796
  uk: {
689
797
  title: "\u0421\u043A\u0430\u043D\u0443\u0439\u0442\u0435 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0443",
798
+ 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",
799
+ 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
800
  titleApprove: "\u041F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u044C\u0442\u0435 \u043D\u0430 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0456",
691
801
  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.",
692
802
  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.",
@@ -699,11 +809,14 @@ var TRANSLATIONS = {
699
809
  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
810
  cancel: "\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438",
701
811
  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"
812
+ qrAlt: "QR-\u043A\u043E\u0434 \u0434\u043B\u044F \u0432\u0445\u043E\u0434\u0443 \u0447\u0435\u0440\u0435\u0437 ZOREAL",
813
+ buttonContinue: "\u041F\u0440\u043E\u0434\u043E\u0432\u0436\u0438\u0442\u0438 \u0437 ZOREAL"
703
814
  },
704
815
  // اردو
705
816
  ur: {
706
817
  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",
818
+ 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",
819
+ 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
820
  titleApprove: "\u0627\u067E\u0646\u06D2 \u0641\u0648\u0646 \u067E\u0631 \u0645\u0646\u0638\u0648\u0631\u06CC \u062F\u06CC\u06BA",
708
821
  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",
709
822
  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",
@@ -716,11 +829,14 @@ var TRANSLATIONS = {
716
829
  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
830
  cancel: "\u0645\u0646\u0633\u0648\u062E \u06A9\u0631\u06CC\u06BA",
718
831
  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"
832
+ 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",
833
+ buttonContinue: "ZOREAL \u06A9\u06D2 \u0633\u0627\u062A\u06BE \u062C\u0627\u0631\u06CC \u0631\u06A9\u06BE\u06CC\u06BA"
720
834
  },
721
835
  // Tiếng Việt
722
836
  vi: {
723
837
  title: "Qu\xE9t \u0111\u1EC3 \u0111\u0103ng nh\u1EADp",
838
+ titleIdentify: "Qu\xE9t \u0111\u1EC3 x\xE1c minh danh t\xEDnh c\u1EE7a b\u1EA1n",
839
+ titlePresence: "Qu\xE9t \u0111\u1EC3 ch\u1EE9ng minh b\u1EA1n l\xE0 ng\u01B0\u1EDDi th\u1EADt",
724
840
  titleApprove: "Ph\xEA duy\u1EC7t tr\xEAn \u0111i\u1EC7n tho\u1EA1i c\u1EE7a b\u1EA1n",
725
841
  bodyScan: "Qu\xE9t b\u1EB1ng camera \u0111i\u1EC7n tho\u1EA1i ho\u1EB7c \u1EE9ng d\u1EE5ng ZOREAL ID.",
726
842
  bodyApprove: "Ph\xEA duy\u1EC7t \u0111\u0103ng nh\u1EADp trong \u1EE9ng d\u1EE5ng ZOREAL ID c\u1EE7a b\u1EA1n.",
@@ -733,7 +849,8 @@ var TRANSLATIONS = {
733
849
  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
850
  cancel: "H\u1EE7y",
735
851
  close: "\u0110\xF3ng",
736
- qrAlt: "M\xE3 QR \u0111\u1EC3 \u0111\u0103ng nh\u1EADp b\u1EB1ng ZOREAL"
852
+ qrAlt: "M\xE3 QR \u0111\u1EC3 \u0111\u0103ng nh\u1EADp b\u1EB1ng ZOREAL",
853
+ buttonContinue: "Ti\u1EBFp t\u1EE5c v\u1EDBi ZOREAL"
737
854
  }
738
855
  };
739
856
  var RTL = /* @__PURE__ */ new Set(["ar", "he", "iw", "ur"]);
@@ -807,6 +924,22 @@ function interpolate(template, time) {
807
924
  return template.replace("{time}", time);
808
925
  }
809
926
 
927
+ // src/intent.ts
928
+ var SIGN_IN_SCOPES = /* @__PURE__ */ new Set(["openid", "email", "profile.name"]);
929
+ function resolveIntent(intent, scope, acrValues) {
930
+ if (intent) return intent;
931
+ const scopes = (scope ?? "openid").split(/\s+/).filter(Boolean);
932
+ if (scopes.some((s) => !SIGN_IN_SCOPES.has(s))) return "identify";
933
+ const acr = typeof acrValues === "string" ? acrValues.split(/\s+/) : acrValues ?? [];
934
+ if (scopes.every((s) => s === "openid") && acr.includes("zoreal.live")) return "presence";
935
+ return "sign-in";
936
+ }
937
+ function titleFor(t, intent) {
938
+ if (intent === "identify") return t.titleIdentify;
939
+ if (intent === "presence") return t.titlePresence;
940
+ return t.title;
941
+ }
942
+
810
943
  // src/styles.ts
811
944
  var PREFIX = "zrl";
812
945
  var cx = (name) => `${PREFIX}-${name}`;
@@ -825,8 +958,20 @@ var LIGHT = `
825
958
  --zrl-accent-ink: #04698a;
826
959
  --zrl-urgent: #b4761a;
827
960
  --zrl-qr-bg: #ffffff;
961
+ --zrl-qr-filter: none;
962
+ --zrl-qr-spent-filter: blur(3px);
963
+ --zrl-qr-blend: normal;
828
964
  --zrl-shadow: 0 1px 2px rgba(16, 18, 27, 0.06), 0 20px 50px -12px rgba(16, 18, 27, 0.3);
829
965
  --zrl-ring: rgba(16, 18, 27, 0.07);
966
+ /* The light on the QR well's edge. Brand blue on both grounds, a lighter
967
+ tint at the head; only its strength is themed, see the dark block. */
968
+ --zrl-beam: #00b4d9;
969
+ --zrl-beam-head: #7fe0f4;
970
+ --zrl-beam-line: 2px;
971
+ --zrl-glow-core: 4px;
972
+ --zrl-glow-reach: 24px;
973
+ --zrl-glow-blur: 8px;
974
+ --zrl-glow-opacity: 0.6;
830
975
  `;
831
976
  var DARK = `
832
977
  --zrl-scrim: rgba(0, 0, 0, 0.62);
@@ -841,12 +986,24 @@ var DARK = `
841
986
  --zrl-accent-soft: #0d3b47;
842
987
  --zrl-accent-ink: #7fdcf0;
843
988
  --zrl-urgent: #e0a952;
844
- /* The QR well stays white in dark mode on purpose: a scanner needs the
845
- quiet-zone contrast, and an inverted QR fails on a good number of phone
846
- cameras. It reads as a deliberate light panel, not a theming miss. */
847
- --zrl-qr-bg: #ffffff;
989
+ /* The code is drawn light on the dark surface: the panel is transparent
990
+ and the image is inverted and screened, so only the modules and the
991
+ mark show. */
992
+ --zrl-qr-bg: transparent;
993
+ --zrl-qr-filter: invert(1);
994
+ --zrl-qr-spent-filter: invert(1) blur(3px);
995
+ --zrl-qr-blend: screen;
848
996
  --zrl-shadow: 0 1px 2px rgba(0, 0, 0, 0.4), 0 20px 50px -12px rgba(0, 0, 0, 0.65);
849
997
  --zrl-ring: rgba(255, 255, 255, 0.1);
998
+ /* A glow that reads on a white card disappears on a dark one: the light
999
+ here is brighter and wider, and its halo reaches further out. */
1000
+ --zrl-beam: #22c8ec;
1001
+ --zrl-beam-head: #c2f3fc;
1002
+ --zrl-beam-line: 3px;
1003
+ --zrl-glow-core: 6px;
1004
+ --zrl-glow-reach: 32px;
1005
+ --zrl-glow-blur: 10px;
1006
+ --zrl-glow-opacity: 0.85;
850
1007
  `;
851
1008
  var CSS = `
852
1009
  .${PREFIX}-root { ${LIGHT} }
@@ -918,16 +1075,10 @@ var CSS = `
918
1075
  border: 1px solid var(--zrl-line);
919
1076
  border-radius: var(--zrl-radius);
920
1077
  background: var(--zrl-qr-bg);
921
- /* The light on the edge takes its shape and colour from here. The colour
922
- is fixed, not themed: the brand blue on both grounds, a lighter tint of
923
- it at the head, no other hue. */
1078
+ /* The light on the edge takes its shape from here and its colour and
1079
+ strength from the theme tokens above. One lap in 4s on every tier. */
924
1080
  --zrl-radius: 16px;
925
- --zrl-beam: #00b4d9;
926
- --zrl-beam-head: #7fe0f4;
927
- --zrl-beam-size: 100px;
928
1081
  --zrl-beam-time: 4s;
929
- --zrl-glow-reach: 20px;
930
- --zrl-glow-core: 3px;
931
1082
  }
932
1083
 
933
1084
  /* The light on the well's edge: a short comet running along the border, with
@@ -940,7 +1091,7 @@ var CSS = `
940
1091
  before 120 and Safari before 15.4; the unprefixed one, declared after it,
941
1092
  wins everywhere else.
942
1093
 
943
- qr-beam keeps a 1px ring on the border line: the comet itself.
1094
+ qr-beam keeps a thin ring on the border line: the comet itself.
944
1095
  qr-beam-glow is the glow: a wide band outside the well that blurs whatever
945
1096
  is inside it, and inside it qr-beam-glow-band keeps a 3px ring with a
946
1097
  second copy of the comet. The blur has to sit on the parent because a
@@ -955,9 +1106,9 @@ var CSS = `
955
1106
  .${PREFIX}-qr-beam-glow,
956
1107
  .${PREFIX}-qr-beam-glow-band {
957
1108
  position: absolute;
958
- inset: -1px;
959
- border: 1px solid transparent;
960
- border-radius: var(--zrl-radius);
1109
+ inset: calc(0px - var(--zrl-beam-line));
1110
+ border: var(--zrl-beam-line) solid transparent;
1111
+ border-radius: calc(var(--zrl-radius) - 1px + var(--zrl-beam-line));
961
1112
  pointer-events: none;
962
1113
  -webkit-mask: linear-gradient(transparent, transparent), linear-gradient(#fff, #fff);
963
1114
  -webkit-mask-clip: padding-box, border-box;
@@ -970,8 +1121,9 @@ var CSS = `
970
1121
  inset: calc(0px - var(--zrl-glow-reach));
971
1122
  border-width: var(--zrl-glow-reach);
972
1123
  border-radius: calc(var(--zrl-radius) - 1px + var(--zrl-glow-reach));
973
- filter: blur(6px);
974
- opacity: 0.7;
1124
+ filter: blur(var(--zrl-glow-blur));
1125
+ opacity: var(--zrl-glow-opacity);
1126
+ will-change: filter;
975
1127
  }
976
1128
  .${PREFIX}-qr-beam-glow-band {
977
1129
  inset: calc(0px - var(--zrl-glow-core));
@@ -994,20 +1146,24 @@ var CSS = `
994
1146
  transition: opacity 400ms cubic-bezier(0.23, 1, 0.32, 1);
995
1147
  }
996
1148
 
997
- /* The moving light. Declared bottom-up: the transform fallback here, and each
998
- @supports block further down replaces it where the browser allows. */
1149
+ /* The moving light: an oversized square carrying a conic sweep, rotated
1150
+ whole. A transform animation runs on the compositor, so the light keeps
1151
+ moving while the page is busy; animating the gradient angle instead
1152
+ repaints every frame on the main thread and stutters. */
999
1153
  .${PREFIX}-qr-beam::after,
1000
1154
  .${PREFIX}-qr-beam-glow-band::after {
1001
1155
  content: '';
1002
1156
  position: absolute;
1003
1157
  inset: -50%;
1004
1158
  background: conic-gradient(
1005
- from var(--zrl-angle, 0deg),
1006
- transparent 0deg 245deg,
1007
- var(--zrl-beam) 332deg 346deg,
1159
+ from 0deg,
1160
+ transparent 0deg 220deg,
1161
+ var(--zrl-beam) 330deg,
1162
+ var(--zrl-beam-head) 348deg,
1008
1163
  transparent 356deg 360deg
1009
1164
  );
1010
- animation: ${PREFIX}-orbit 3s linear infinite;
1165
+ animation: ${PREFIX}-orbit var(--zrl-beam-time) linear infinite;
1166
+ will-change: transform;
1011
1167
  transition: opacity 400ms cubic-bezier(0.23, 1, 0.32, 1);
1012
1168
  }
1013
1169
 
@@ -1027,6 +1183,8 @@ var CSS = `
1027
1183
  width: 100%;
1028
1184
  height: 100%;
1029
1185
  border-radius: 8px;
1186
+ filter: var(--zrl-qr-filter);
1187
+ mix-blend-mode: var(--zrl-qr-blend);
1030
1188
  transition: filter 300ms cubic-bezier(0.23, 1, 0.32, 1),
1031
1189
  opacity 300ms cubic-bezier(0.23, 1, 0.32, 1),
1032
1190
  transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
@@ -1035,7 +1193,7 @@ var CSS = `
1035
1193
  /* Once the code is claimed the QR is spent. Blurring it out rather than
1036
1194
  swapping it keeps one object on screen through the state change, so the eye
1037
1195
  reads a transformation instead of two things trading places. */
1038
- .${PREFIX}-qr[data-spent="true"] { opacity: 0.2; filter: blur(3px); transform: scale(0.96); }
1196
+ .${PREFIX}-qr[data-spent="true"] { opacity: 0.2; filter: var(--zrl-qr-spent-filter); transform: scale(0.96); }
1039
1197
 
1040
1198
  .${PREFIX}-qr-overlay {
1041
1199
  position: absolute;
@@ -1128,7 +1286,11 @@ var CSS = `
1128
1286
  margin: 6px 0 0;
1129
1287
  font-size: 12px;
1130
1288
  color: var(--zrl-ink-mute);
1289
+ text-decoration: none;
1290
+ border-radius: 6px;
1291
+ transition: color 150ms ease-out;
1131
1292
  }
1293
+ .${PREFIX}-secured:hover { color: var(--zrl-ink); }
1132
1294
 
1133
1295
  .${PREFIX}-close {
1134
1296
  position: absolute;
@@ -1164,53 +1326,7 @@ var CSS = `
1164
1326
  70%, 100% { transform: scale(2.6); opacity: 0 }
1165
1327
  }
1166
1328
 
1167
- /* Three ways to move the light, one look at rest.
1168
- Where offset-path takes a rect() (Chrome 116, Firefox 122, Safari 18) the
1169
- comet rides the edge. Before that, a conic gradient turns inside the same
1170
- masks instead: on a registered custom property where @property exists, and
1171
- by rotating an oversized square where it does not, since an untyped custom
1172
- property cannot interpolate and the light would snap once a cycle.
1173
- There is no direct query for @property support. transition-behavior
1174
- shipped after it in every engine (Chrome 117 vs 85, Firefox 129 vs 128,
1175
- Safari 17.4 vs 16.4), so it stands in: a yes is never wrong, and a no only
1176
- sends a capable browser down the transform tier, which looks the same.
1177
- inherits: false so the angle stays on the element that animates it and
1178
- never reaches the host page or the well. */
1179
- @property --zrl-angle {
1180
- syntax: '<angle>';
1181
- inherits: false;
1182
- initial-value: 0deg;
1183
- }
1184
1329
  @keyframes ${PREFIX}-orbit { to { transform: rotate(360deg) } }
1185
- @keyframes ${PREFIX}-orbit-angle { to { --zrl-angle: 360deg } }
1186
- @keyframes ${PREFIX}-beam { to { offset-distance: 100% } }
1187
- @supports (transition-behavior: allow-discrete) {
1188
- .${PREFIX}-qr-beam::after {
1189
- inset: -1px;
1190
- animation-name: ${PREFIX}-orbit-angle;
1191
- }
1192
- .${PREFIX}-qr-beam-glow-band::after {
1193
- inset: calc(0px - var(--zrl-glow-core));
1194
- animation-name: ${PREFIX}-orbit-angle;
1195
- }
1196
- }
1197
- /* The comet: a square that rides the well's edge on a rounded-rect path, its
1198
- anchor a little ahead of centre, turned to face the way it travels, and
1199
- masked down to what its overlay allows. The gradient runs against the
1200
- direction of travel: a light head, the blue body, nothing behind. One lap
1201
- in 4s, linear: continuous motion has no ease. */
1202
- @supports (offset-path: rect(0 auto auto 0)) {
1203
- .${PREFIX}-qr-beam::after,
1204
- .${PREFIX}-qr-beam-glow-band::after {
1205
- inset: auto;
1206
- width: var(--zrl-beam-size);
1207
- height: var(--zrl-beam-size);
1208
- background: linear-gradient(to left, var(--zrl-beam-head), var(--zrl-beam), transparent);
1209
- offset-path: rect(0 auto auto 0 round calc(var(--zrl-radius) - 1px));
1210
- offset-anchor: 60% 50%;
1211
- animation: ${PREFIX}-beam var(--zrl-beam-time) linear infinite;
1212
- }
1213
- }
1214
1330
 
1215
1331
  @media (prefers-reduced-motion: reduce) {
1216
1332
  .${PREFIX}-scrim,
@@ -1261,7 +1377,8 @@ function PairingModal({
1261
1377
  onCancel,
1262
1378
  locale,
1263
1379
  theme = "auto",
1264
- timeoutMs = DEFAULT_PAIRING_TIMEOUT_MS
1380
+ timeoutMs = DEFAULT_PAIRING_TIMEOUT_MS,
1381
+ intent = "sign-in"
1265
1382
  }) {
1266
1383
  const t = strings(locale);
1267
1384
  const titleId = useId();
@@ -1334,7 +1451,7 @@ function PairingModal({
1334
1451
  /* @__PURE__ */ jsx3("button", { ref: closeRef, type: "button", className: cx("close"), "aria-label": t.close, onClick: onCancel, children: /* @__PURE__ */ jsx3(IconClose, {}) }),
1335
1452
  /* @__PURE__ */ jsxs3("div", { className: cx("body"), children: [
1336
1453
  /* @__PURE__ */ jsx3(ZorealLockup, { height: 44, className: cx("lockup") }),
1337
- /* @__PURE__ */ jsx3("h2", { id: titleId, className: cx("title"), children: settled ? t.titleApprove : t.title }),
1454
+ /* @__PURE__ */ jsx3("h2", { id: titleId, className: cx("title"), children: settled ? t.titleApprove : titleFor(t, intent) }),
1338
1455
  /* @__PURE__ */ jsx3("p", { className: cx("body-text"), children: body }),
1339
1456
  /* @__PURE__ */ jsxs3("div", { className: cx("qr-well"), "data-spent": settled, children: [
1340
1457
  /* @__PURE__ */ jsx3("span", { className: cx("qr-beam-glow"), "aria-hidden": true, children: /* @__PURE__ */ jsx3("span", { className: cx("qr-beam-glow-band") }) }),
@@ -1357,7 +1474,7 @@ function PairingModal({
1357
1474
  ] }),
1358
1475
  /* @__PURE__ */ jsxs3("div", { className: cx("footer"), children: [
1359
1476
  /* @__PURE__ */ jsx3("button", { type: "button", className: cx("cancel"), onClick: onCancel, children: t.cancel }),
1360
- /* @__PURE__ */ jsxs3("p", { className: cx("secured"), children: [
1477
+ /* @__PURE__ */ jsxs3("a", { className: cx("secured"), href: "https://zoreal.com", target: "_blank", rel: "noopener", children: [
1361
1478
  /* @__PURE__ */ jsx3(IconShield, {}),
1362
1479
  t.secured
1363
1480
  ] })
@@ -1398,6 +1515,7 @@ function ZorealOAuthProvider({
1398
1515
  {
1399
1516
  state: pairing.state,
1400
1517
  qrUrl: pairing.qrUrl,
1518
+ intent: pairing.intent,
1401
1519
  onCancel: pairing.cancel,
1402
1520
  locale,
1403
1521
  theme,
@@ -1649,6 +1767,7 @@ function useZorealFlow(options) {
1649
1767
  const nonce = generateState();
1650
1768
  const display = resolveDisplay(opts.display);
1651
1769
  const useAppLink = display === "link";
1770
+ const intent = resolveIntent(opts.intent, opts.scope, opts.acr_values);
1652
1771
  try {
1653
1772
  const started = await startPairing(issuer, {
1654
1773
  client_id: clientId,
@@ -1679,6 +1798,7 @@ function useZorealFlow(options) {
1679
1798
  const surface = {
1680
1799
  pairUrl: started.pair_url,
1681
1800
  appLink: useAppLink,
1801
+ intent,
1682
1802
  cancel,
1683
1803
  // The app link has no QR and therefore no cadence to report.
1684
1804
  ...useAppLink ? null : { qrRefreshSeconds }
@@ -1694,7 +1814,7 @@ function useZorealFlow(options) {
1694
1814
  };
1695
1815
  setPairing(active);
1696
1816
  if (!useAppLink) {
1697
- publishRef.current?.({ state: active.state, qrUrl, cancel });
1817
+ publishRef.current?.({ state: active.state, qrUrl, intent, cancel });
1698
1818
  }
1699
1819
  opts.onPairingStateChange?.(active.state);
1700
1820
  if (useAppLink) {
@@ -1710,7 +1830,7 @@ function useZorealFlow(options) {
1710
1830
  (p) => p && p.requestId === started.request_id ? { ...p, qrUrl, state: enriched } : p
1711
1831
  );
1712
1832
  if (!useAppLink) {
1713
- publishRef.current?.({ state: enriched, qrUrl, cancel });
1833
+ publishRef.current?.({ state: enriched, qrUrl, intent, cancel });
1714
1834
  }
1715
1835
  opts.onPairingStateChange?.(enriched);
1716
1836
  },
@@ -1785,7 +1905,7 @@ function useZorealLogin(options) {
1785
1905
  // src/ZorealLogin.tsx
1786
1906
  import { jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
1787
1907
  var TEXTS = {
1788
- continue_with: "Continue with ZOREAL",
1908
+ continue_with: null,
1789
1909
  signin_with: "Sign in with ZOREAL",
1790
1910
  signup_with: "Sign up with ZOREAL",
1791
1911
  signin: "Sign in",
@@ -1812,6 +1932,8 @@ function ZorealLogin(props) {
1812
1932
  flow = "browser-direct",
1813
1933
  ...request
1814
1934
  } = props;
1935
+ const { locale } = useZorealOAuth();
1936
+ const label = TEXTS[text] ?? strings(locale).buttonContinue;
1815
1937
  const { login } = useZorealFlow({
1816
1938
  ...request,
1817
1939
  flow,
@@ -1850,7 +1972,7 @@ function ZorealLogin(props) {
1850
1972
  },
1851
1973
  children: [
1852
1974
  /* @__PURE__ */ jsx5(ZorealMark, { size: Math.round(s.font * 1.25) }),
1853
- type === "standard" && TEXTS[text]
1975
+ type === "standard" && label
1854
1976
  ]
1855
1977
  }
1856
1978
  ) });
@@ -1902,6 +2024,7 @@ export {
1902
2024
  ZorealOAuthProvider,
1903
2025
  hasGrantedAllScopesZoreal,
1904
2026
  hasGrantedAnyScopeZoreal,
2027
+ resolveIntent,
1905
2028
  useZorealAutoLogin,
1906
2029
  useZorealLogin,
1907
2030
  useZorealOAuth,