@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/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.12";
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 { opacity: 0.55; }
1046
- .${PREFIX}-qr-well[data-spent="true"] .${PREFIX}-qr-beam-glow-band::before { opacity: 0.7; }
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.title }),
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("div", { className: cx("qr-well"), "data-spent": settled, children: [
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("p", { className: cx("secured"), children: [
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
- if (!useAppLink) {
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
- if (!useAppLink) {
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: "Continue with ZOREAL",
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" && TEXTS[text]
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,