@agent-native/core 0.159.3 → 0.159.5

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.
@@ -8,6 +8,7 @@
8
8
  */
9
9
  import { getLocaleInitScript } from "../localization/server.js";
10
10
  import { DEFAULT_LOCALE, LOCALE_METADATA, LOCALE_STORAGE_KEY, SUPPORTED_LOCALES, } from "../localization/shared.js";
11
+ import { NATIVE_AUTH_COPY } from "../shared/auth-copy.js";
11
12
  import { docsUrl } from "../shared/docs-url.js";
12
13
  import { PASSWORD_MAX_LENGTH, PASSWORD_MIN_LENGTH, } from "../shared/password-policy.js";
13
14
  import { signInJourneyInlineScript } from "../shared/sign-in-journey.js";
@@ -60,6 +61,7 @@ function isBuilderPreviewLocalDevEnabled() {
60
61
  return value === "1" || value === "true";
61
62
  }
62
63
  const EN_AUTH_COPY = {
64
+ ...NATIVE_AUTH_COPY["en-US"],
63
65
  languageLabel: "Language",
64
66
  systemLanguage: "System",
65
67
  pageTitleSignIn: "Sign in",
@@ -75,24 +77,11 @@ const EN_AUTH_COPY = {
75
77
  finishAccountSubtitle: "Finish creating your account",
76
78
  resetPasswordSubtitle: "Reset your password",
77
79
  upgradeCopy: "Continue signing in to attach this app to your account and migrate local data.",
78
- googleButton: "Sign in with Google",
79
- dividerOr: "or",
80
80
  createAccount: "Create account",
81
- signIn: "Sign in",
82
- email: "Email",
83
- password: "Password",
84
- confirmPassword: "Confirm password",
85
81
  passwordMinPlaceholder: `At least ${PASSWORD_MIN_LENGTH} characters`,
86
82
  confirmPasswordPlaceholder: "Confirm password",
87
- enterPasswordPlaceholder: "Enter password",
88
83
  magicLinkTitle: "Welcome",
89
84
  magicLinkSubtitle: "Create an account or sign in",
90
- sendMagicLink: "Continue",
91
- magicLinkSent: "Check your email",
92
- magicLinkSentCopy: "We sent a secure sign-in link to",
93
- magicLinkFailed: "We couldn't send a sign-in link. Check your email and try again.",
94
- usePasswordInstead: "Use a password instead",
95
- backToMagicLink: "Use a sign-in link instead",
96
85
  signupProgress: "Signup progress",
97
86
  progressAccount: "Account",
98
87
  progressVerify: "Verify",
@@ -103,8 +92,6 @@ const EN_AUTH_COPY = {
103
92
  verificationNote: "You can keep this tab open. If it has not refreshed after you come back, use Continue.",
104
93
  continue: "Continue",
105
94
  resendEmail: "Resend email",
106
- back: "Back",
107
- forgotPassword: "Forgot password?",
108
95
  sendResetLink: "Send reset link",
109
96
  backToSignIn: "Back to sign in",
110
97
  localNotePrefix: "Your account is stored in this app's own DB",
@@ -119,14 +106,12 @@ const EN_AUTH_COPY = {
119
106
  useOwnGoogleClient: "Use your own Google OAuth client:",
120
107
  copyCommand: "Copy command",
121
108
  copied: "Copied",
122
- close: "Close",
123
109
  closeGoogleChoices: "Close Google sign-in choices",
124
110
  legalPrefix: "By signing up, you accept our",
125
111
  legalTerms: "Terms",
126
112
  legalConnector: "and",
127
113
  legalPrivacy: "Privacy Policy",
128
114
  legalSuffix: ".",
129
- invalidEmail: "Enter a valid email address, like you@example.com.",
130
115
  signInToContinue: "Sign in to continue.",
131
116
  finishSignInFailed: "We couldn't finish signing you in. Please sign in manually.",
132
117
  enterPasswordAfterVerification: "Enter your password after verifying your email.",
@@ -134,9 +119,7 @@ const EN_AUTH_COPY = {
134
119
  stillWaitingVerification: "Still waiting on verification. Click the link in your email, then try Continue again.",
135
120
  checkVerificationFailed: "We couldn't check your verification status. Please try again.",
136
121
  verificationLinkInvalid: "This verification link is invalid or expired. Request a new one.",
137
- checking: "Checking...",
138
122
  checkingVerification: "Checking your verification...",
139
- sending: "Sending...",
140
123
  sent: "Sent",
141
124
  sentVerification: "Sent a fresh verification link.",
142
125
  resendVerificationFailed: "We couldn't resend the verification email. Please try again.",
@@ -150,17 +133,14 @@ const EN_AUTH_COPY = {
150
133
  emailVerifiedSignIn: "Email verified. Sign in to continue.",
151
134
  resetEmailSent: "If that email exists, a reset link is on its way.",
152
135
  resetEmailFailed: "We couldn't send a password reset email. Check your email and try again.",
153
- signingIn: "Signing in…",
154
- invalidLogin: "The email or password is incorrect.",
155
136
  googleNotConfigured: "Google sign-in is not available right now.",
156
- failedToConnect: "We couldn't connect. Please try again.",
157
137
  migrateLocalFallback: "Continue signing in to migrate local data.",
158
138
  googlePopupHelp: "Allow popups for this site and try again",
159
- googleNeverFinished: "Google sign-in did not finish. Check the Google OAuth redirect URI and server logs for [agent-native][google-oauth].",
160
139
  };
161
140
  const AUTH_LOCALE_COPY = {
162
141
  "en-US": EN_AUTH_COPY,
163
142
  "zh-CN": {
143
+ ...NATIVE_AUTH_COPY["zh-CN"],
164
144
  languageLabel: "语言",
165
145
  systemLanguage: "系统",
166
146
  pageTitleSignIn: "登录",
@@ -176,24 +156,11 @@ const AUTH_LOCALE_COPY = {
176
156
  finishAccountSubtitle: "完成账户创建",
177
157
  resetPasswordSubtitle: "重置你的密码",
178
158
  upgradeCopy: "继续登录,将此应用关联到你的账户并迁移本地数据。",
179
- googleButton: "使用 Google 登录",
180
- dividerOr: "或",
181
159
  createAccount: "创建账户",
182
- signIn: "登录",
183
- email: "电子邮箱",
184
- password: "密码",
185
- confirmPassword: "确认密码",
186
160
  passwordMinPlaceholder: `至少 ${PASSWORD_MIN_LENGTH} 个字符`,
187
161
  confirmPasswordPlaceholder: "确认密码",
188
- enterPasswordPlaceholder: "输入密码",
189
162
  magicLinkTitle: "欢迎",
190
163
  magicLinkSubtitle: "创建账户或登录",
191
- sendMagicLink: "继续",
192
- magicLinkSent: "检查你的邮箱",
193
- magicLinkSentCopy: "我们已向以下邮箱发送安全登录链接:",
194
- magicLinkFailed: "无法发送登录链接。",
195
- usePasswordInstead: "改用密码",
196
- backToMagicLink: "改用登录链接",
197
164
  signupProgress: "注册进度",
198
165
  progressAccount: "账户",
199
166
  progressVerify: "验证",
@@ -204,8 +171,6 @@ const AUTH_LOCALE_COPY = {
204
171
  verificationNote: "你可以保持此标签页打开。如果回来后没有自动刷新,请点击继续。",
205
172
  continue: "继续",
206
173
  resendEmail: "重新发送邮件",
207
- back: "返回",
208
- forgotPassword: "忘记密码?",
209
174
  sendResetLink: "发送重置链接",
210
175
  backToSignIn: "返回登录",
211
176
  localNotePrefix: "你的账户存储在此应用自己的数据库中",
@@ -220,14 +185,12 @@ const AUTH_LOCALE_COPY = {
220
185
  useOwnGoogleClient: "使用你自己的 Google OAuth 客户端:",
221
186
  copyCommand: "复制命令",
222
187
  copied: "已复制",
223
- close: "关闭",
224
188
  closeGoogleChoices: "关闭 Google 登录选项",
225
189
  legalPrefix: "注册即表示你接受我们的",
226
190
  legalTerms: "条款",
227
191
  legalConnector: "和",
228
192
  legalPrivacy: "隐私政策",
229
193
  legalSuffix: "。",
230
- invalidEmail: "请输入有效邮箱地址,例如 you@example.com。",
231
194
  signInToContinue: "登录以继续。",
232
195
  finishSignInFailed: "无法自动完成登录。",
233
196
  enterPasswordAfterVerification: "验证邮箱后请输入密码。",
@@ -235,9 +198,7 @@ const AUTH_LOCALE_COPY = {
235
198
  stillWaitingVerification: "仍在等待验证。请点击邮件中的链接,然后再次点击继续。",
236
199
  checkVerificationFailed: "无法检查验证状态。请重试。",
237
200
  verificationLinkInvalid: "此验证链接无效或已过期。请重新请求一个。",
238
- checking: "正在检查...",
239
201
  checkingVerification: "正在检查验证状态...",
240
- sending: "正在发送...",
241
202
  sent: "已发送",
242
203
  sentVerification: "新的验证链接已发送。",
243
204
  resendVerificationFailed: "无法重新发送验证邮件。",
@@ -251,15 +212,12 @@ const AUTH_LOCALE_COPY = {
251
212
  emailVerifiedSignIn: "邮箱已验证。请登录以继续。",
252
213
  resetEmailSent: "如果该邮箱存在,重置链接已在发送途中。",
253
214
  resetEmailFailed: "无法发送重置邮件。",
254
- signingIn: "正在登录…",
255
- invalidLogin: "邮箱或密码无效",
256
215
  googleNotConfigured: "Google OAuth 未配置。",
257
- failedToConnect: "连接失败。请重试。",
258
216
  migrateLocalFallback: "继续登录以迁移本地数据。",
259
217
  googlePopupHelp: "请允许此网站弹出窗口后重试",
260
- googleNeverFinished: "Google 登录未完成。请检查 Google OAuth 重定向 URI 和服务器日志中的 [agent-native][google-oauth]。",
261
218
  },
262
219
  "zh-TW": {
220
+ ...NATIVE_AUTH_COPY["zh-TW"],
263
221
  languageLabel: "語言",
264
222
  systemLanguage: "系統",
265
223
  pageTitleSignIn: "登入",
@@ -275,24 +233,11 @@ const AUTH_LOCALE_COPY = {
275
233
  finishAccountSubtitle: "完成帳號建立",
276
234
  resetPasswordSubtitle: "重設你的密碼",
277
235
  upgradeCopy: "繼續登入,將此應用程式連結到你的帳號並遷移本機資料。",
278
- googleButton: "使用 Google 登入",
279
- dividerOr: "或",
280
236
  createAccount: "建立帳號",
281
- signIn: "登入",
282
- email: "電子郵件",
283
- password: "密碼",
284
- confirmPassword: "確認密碼",
285
237
  passwordMinPlaceholder: `至少 ${PASSWORD_MIN_LENGTH} 個字元`,
286
238
  confirmPasswordPlaceholder: "確認密碼",
287
- enterPasswordPlaceholder: "輸入密碼",
288
239
  magicLinkTitle: "歡迎",
289
240
  magicLinkSubtitle: "建立帳戶或登入",
290
- sendMagicLink: "繼續",
291
- magicLinkSent: "檢查你的電子郵件",
292
- magicLinkSentCopy: "我們已向以下電子郵件寄送安全登入連結:",
293
- magicLinkFailed: "無法寄送登入連結。",
294
- usePasswordInstead: "改用密碼",
295
- backToMagicLink: "改用登入連結",
296
241
  signupProgress: "註冊進度",
297
242
  progressAccount: "帳號",
298
243
  progressVerify: "驗證",
@@ -303,8 +248,6 @@ const AUTH_LOCALE_COPY = {
303
248
  verificationNote: "你可以保持此分頁開啟。如果回來後沒有自動重新整理,請點擊繼續。",
304
249
  continue: "繼續",
305
250
  resendEmail: "重新寄送郵件",
306
- back: "返回",
307
- forgotPassword: "忘記密碼?",
308
251
  sendResetLink: "寄送重設連結",
309
252
  backToSignIn: "返回登入",
310
253
  localNotePrefix: "你的帳號儲存在此應用程式自己的資料庫中",
@@ -319,14 +262,12 @@ const AUTH_LOCALE_COPY = {
319
262
  useOwnGoogleClient: "使用你自己的 Google OAuth 用戶端:",
320
263
  copyCommand: "複製指令",
321
264
  copied: "已複製",
322
- close: "關閉",
323
265
  closeGoogleChoices: "關閉 Google 登入選項",
324
266
  legalPrefix: "註冊即表示你接受我們的",
325
267
  legalTerms: "條款",
326
268
  legalConnector: "和",
327
269
  legalPrivacy: "隱私權政策",
328
270
  legalSuffix: "。",
329
- invalidEmail: "請輸入有效的電子郵件地址,例如 you@example.com。",
330
271
  signInToContinue: "登入以繼續。",
331
272
  finishSignInFailed: "無法自動完成登入。",
332
273
  enterPasswordAfterVerification: "驗證電子郵件後請輸入密碼。",
@@ -334,9 +275,7 @@ const AUTH_LOCALE_COPY = {
334
275
  stillWaitingVerification: "仍在等待驗證。請點擊郵件中的連結,然後再次點擊繼續。",
335
276
  checkVerificationFailed: "無法檢查驗證狀態。請重試。",
336
277
  verificationLinkInvalid: "此驗證連結無效或已過期。請重新索取。",
337
- checking: "正在檢查...",
338
278
  checkingVerification: "正在檢查驗證狀態...",
339
- sending: "正在寄送...",
340
279
  sent: "已送出",
341
280
  sentVerification: "新的驗證連結已送出。",
342
281
  resendVerificationFailed: "無法重新寄送驗證郵件。",
@@ -350,15 +289,12 @@ const AUTH_LOCALE_COPY = {
350
289
  emailVerifiedSignIn: "電子郵件已驗證。請登入以繼續。",
351
290
  resetEmailSent: "如果該電子郵件存在,重設連結已在寄送途中。",
352
291
  resetEmailFailed: "無法寄送重設郵件。",
353
- signingIn: "正在登入...",
354
- invalidLogin: "電子郵件或密碼無效",
355
292
  googleNotConfigured: "Google OAuth 尚未設定。",
356
- failedToConnect: "連線失敗。請重試。",
357
293
  migrateLocalFallback: "繼續登入以遷移本機資料。",
358
294
  googlePopupHelp: "請允許此網站開啟彈出式視窗後重試",
359
- googleNeverFinished: "Google 登入未完成。請檢查 Google OAuth 重新導向 URI,以及伺服器記錄中的 [agent-native][google-oauth]。",
360
295
  },
361
296
  "es-ES": {
297
+ ...NATIVE_AUTH_COPY["es-ES"],
362
298
  languageLabel: "Idioma",
363
299
  systemLanguage: "Sistema",
364
300
  pageTitleSignIn: "Iniciar sesión",
@@ -374,24 +310,11 @@ const AUTH_LOCALE_COPY = {
374
310
  finishAccountSubtitle: "Termina de crear tu cuenta",
375
311
  resetPasswordSubtitle: "Restablece tu contraseña",
376
312
  upgradeCopy: "Sigue iniciando sesión para conectar esta app a tu cuenta y migrar datos locales.",
377
- googleButton: "Iniciar sesión con Google",
378
- dividerOr: "o",
379
313
  createAccount: "Crear cuenta",
380
- signIn: "Iniciar sesión",
381
- email: "Email",
382
- password: "Contraseña",
383
- confirmPassword: "Confirmar contraseña",
384
314
  passwordMinPlaceholder: `Al menos ${PASSWORD_MIN_LENGTH} caracteres`,
385
315
  confirmPasswordPlaceholder: "Confirmar contraseña",
386
- enterPasswordPlaceholder: "Introduce la contraseña",
387
316
  magicLinkTitle: "Bienvenido",
388
317
  magicLinkSubtitle: "Crea una cuenta o inicia sesión",
389
- sendMagicLink: "Continuar",
390
- magicLinkSent: "Revisa tu email",
391
- magicLinkSentCopy: "Enviamos un enlace seguro a",
392
- magicLinkFailed: "No se pudo enviar el enlace de inicio de sesión.",
393
- usePasswordInstead: "Usar una contraseña",
394
- backToMagicLink: "Usar un enlace de inicio de sesión",
395
318
  signupProgress: "Progreso de registro",
396
319
  progressAccount: "Cuenta",
397
320
  progressVerify: "Verificar",
@@ -402,8 +325,6 @@ const AUTH_LOCALE_COPY = {
402
325
  verificationNote: "Puedes dejar esta pestaña abierta. Si no se actualiza al volver, usa Continuar.",
403
326
  continue: "Continuar",
404
327
  resendEmail: "Reenviar email",
405
- back: "Volver",
406
- forgotPassword: "¿Olvidaste tu contraseña?",
407
328
  sendResetLink: "Enviar enlace de restablecimiento",
408
329
  backToSignIn: "Volver a iniciar sesión",
409
330
  localNotePrefix: "Tu cuenta se almacena en la propia base de datos de esta app",
@@ -418,14 +339,12 @@ const AUTH_LOCALE_COPY = {
418
339
  useOwnGoogleClient: "Usa tu propio cliente de Google OAuth:",
419
340
  copyCommand: "Copiar comando",
420
341
  copied: "Copiado",
421
- close: "Cerrar",
422
342
  closeGoogleChoices: "Cerrar opciones de inicio con Google",
423
343
  legalPrefix: "Al registrarte, aceptas nuestros",
424
344
  legalTerms: "Términos",
425
345
  legalConnector: "y",
426
346
  legalPrivacy: "Política de privacidad",
427
347
  legalSuffix: ".",
428
- invalidEmail: "Introduce un email válido, como you@example.com.",
429
348
  signInToContinue: "Inicia sesión para continuar.",
430
349
  finishSignInFailed: "No se pudo completar el inicio automáticamente.",
431
350
  enterPasswordAfterVerification: "Introduce tu contraseña después de verificar tu email.",
@@ -433,9 +352,7 @@ const AUTH_LOCALE_COPY = {
433
352
  stillWaitingVerification: "Aún esperamos la verificación. Haz clic en el enlace del email y luego prueba Continuar de nuevo.",
434
353
  checkVerificationFailed: "No se pudo comprobar la verificación. Inténtalo de nuevo.",
435
354
  verificationLinkInvalid: "Este enlace de verificación no es válido o ha caducado. Solicita uno nuevo.",
436
- checking: "Comprobando...",
437
355
  checkingVerification: "Comprobando tu verificación...",
438
- sending: "Enviando...",
439
356
  sent: "Enviado",
440
357
  sentVerification: "Se envió un nuevo enlace de verificación.",
441
358
  resendVerificationFailed: "No se pudo reenviar el email de verificación.",
@@ -449,15 +366,12 @@ const AUTH_LOCALE_COPY = {
449
366
  emailVerifiedSignIn: "Email verificado. Inicia sesión para continuar.",
450
367
  resetEmailSent: "Si ese email existe, el enlace de restablecimiento está en camino.",
451
368
  resetEmailFailed: "No se pudo enviar el email de restablecimiento.",
452
- signingIn: "Iniciando sesión…",
453
- invalidLogin: "Email o contraseña no válidos",
454
369
  googleNotConfigured: "Google OAuth no está configurado.",
455
- failedToConnect: "No se pudo conectar. Inténtalo de nuevo.",
456
370
  migrateLocalFallback: "Sigue iniciando sesión para migrar datos locales.",
457
371
  googlePopupHelp: "Permite ventanas emergentes para este sitio e inténtalo de nuevo",
458
- googleNeverFinished: "El inicio de sesión con Google no terminó. Comprueba el URI de redirección de Google OAuth y los logs del servidor para [agent-native][google-oauth].",
459
372
  },
460
373
  "fr-FR": {
374
+ ...NATIVE_AUTH_COPY["fr-FR"],
461
375
  languageLabel: "Langue",
462
376
  systemLanguage: "Système",
463
377
  pageTitleSignIn: "Connexion",
@@ -473,24 +387,11 @@ const AUTH_LOCALE_COPY = {
473
387
  finishAccountSubtitle: "Terminez la création de votre compte",
474
388
  resetPasswordSubtitle: "Réinitialisez votre mot de passe",
475
389
  upgradeCopy: "Continuez la connexion pour associer cette app à votre compte et migrer les données locales.",
476
- googleButton: "Se connecter avec Google",
477
- dividerOr: "ou",
478
390
  createAccount: "Créer un compte",
479
- signIn: "Connexion",
480
- email: "E-mail",
481
- password: "Mot de passe",
482
- confirmPassword: "Confirmer le mot de passe",
483
391
  passwordMinPlaceholder: `Au moins ${PASSWORD_MIN_LENGTH} caractères`,
484
392
  confirmPasswordPlaceholder: "Confirmer le mot de passe",
485
- enterPasswordPlaceholder: "Saisir le mot de passe",
486
393
  magicLinkTitle: "Bienvenue",
487
394
  magicLinkSubtitle: "Créez un compte ou connectez-vous",
488
- sendMagicLink: "Continuer",
489
- magicLinkSent: "Vérifiez votre e-mail",
490
- magicLinkSentCopy: "Nous avons envoyé un lien sécurisé à",
491
- magicLinkFailed: "Impossible d'envoyer le lien de connexion.",
492
- usePasswordInstead: "Utiliser un mot de passe",
493
- backToMagicLink: "Utiliser un lien de connexion",
494
395
  signupProgress: "Progression de l'inscription",
495
396
  progressAccount: "Compte",
496
397
  progressVerify: "Vérifier",
@@ -501,8 +402,6 @@ const AUTH_LOCALE_COPY = {
501
402
  verificationNote: "Vous pouvez garder cet onglet ouvert. S'il ne s'actualise pas à votre retour, utilisez Continuer.",
502
403
  continue: "Continuer",
503
404
  resendEmail: "Renvoyer l'e-mail",
504
- back: "Retour",
505
- forgotPassword: "Mot de passe oublié ?",
506
405
  sendResetLink: "Envoyer le lien de réinitialisation",
507
406
  backToSignIn: "Retour à la connexion",
508
407
  localNotePrefix: "Votre compte est stocké dans la base de données propre à cette app",
@@ -517,14 +416,12 @@ const AUTH_LOCALE_COPY = {
517
416
  useOwnGoogleClient: "Utilisez votre propre client Google OAuth :",
518
417
  copyCommand: "Copier la commande",
519
418
  copied: "Copié",
520
- close: "Fermer",
521
419
  closeGoogleChoices: "Fermer les choix de connexion Google",
522
420
  legalPrefix: "En vous inscrivant, vous acceptez nos",
523
421
  legalTerms: "Conditions",
524
422
  legalConnector: "et",
525
423
  legalPrivacy: "Politique de confidentialité",
526
424
  legalSuffix: ".",
527
- invalidEmail: "Saisissez une adresse e-mail valide, comme you@example.com.",
528
425
  signInToContinue: "Connectez-vous pour continuer.",
529
426
  finishSignInFailed: "Impossible de terminer la connexion automatiquement.",
530
427
  enterPasswordAfterVerification: "Saisissez votre mot de passe après avoir vérifié votre e-mail.",
@@ -532,9 +429,7 @@ const AUTH_LOCALE_COPY = {
532
429
  stillWaitingVerification: "La vérification est toujours en attente. Cliquez sur le lien dans votre e-mail, puis réessayez Continuer.",
533
430
  checkVerificationFailed: "Impossible de vérifier l'état. Veuillez réessayer.",
534
431
  verificationLinkInvalid: "Ce lien de vérification est invalide ou expiré. Demandez-en un nouveau.",
535
- checking: "Vérification...",
536
432
  checkingVerification: "Vérification en cours...",
537
- sending: "Envoi...",
538
433
  sent: "Envoyé",
539
434
  sentVerification: "Nouveau lien de vérification envoyé.",
540
435
  resendVerificationFailed: "Impossible de renvoyer l'e-mail de vérification.",
@@ -548,15 +443,12 @@ const AUTH_LOCALE_COPY = {
548
443
  emailVerifiedSignIn: "E-mail vérifié. Connectez-vous pour continuer.",
549
444
  resetEmailSent: "Si cet e-mail existe, un lien de réinitialisation est en route.",
550
445
  resetEmailFailed: "Impossible d'envoyer l'e-mail de réinitialisation.",
551
- signingIn: "Connexion…",
552
- invalidLogin: "E-mail ou mot de passe invalide",
553
446
  googleNotConfigured: "Google OAuth n'est pas configuré.",
554
- failedToConnect: "Connexion impossible. Veuillez réessayer.",
555
447
  migrateLocalFallback: "Continuez la connexion pour migrer les données locales.",
556
448
  googlePopupHelp: "Autorisez les fenêtres pop-up pour ce site et réessayez",
557
- googleNeverFinished: "La connexion Google n'a pas abouti. Vérifiez l'URI de redirection Google OAuth et les logs serveur pour [agent-native][google-oauth].",
558
449
  },
559
450
  "de-DE": {
451
+ ...NATIVE_AUTH_COPY["de-DE"],
560
452
  languageLabel: "Sprache",
561
453
  systemLanguage: "System",
562
454
  pageTitleSignIn: "Anmelden",
@@ -572,24 +464,11 @@ const AUTH_LOCALE_COPY = {
572
464
  finishAccountSubtitle: "Schließe die Kontoerstellung ab",
573
465
  resetPasswordSubtitle: "Setze dein Passwort zurück",
574
466
  upgradeCopy: "Melde dich weiter an, um diese App mit deinem Konto zu verbinden und lokale Daten zu migrieren.",
575
- googleButton: "Mit Google anmelden",
576
- dividerOr: "oder",
577
467
  createAccount: "Konto erstellen",
578
- signIn: "Anmelden",
579
- email: "E-Mail",
580
- password: "Passwort",
581
- confirmPassword: "Passwort bestätigen",
582
468
  passwordMinPlaceholder: `Mindestens ${PASSWORD_MIN_LENGTH} Zeichen`,
583
469
  confirmPasswordPlaceholder: "Passwort bestätigen",
584
- enterPasswordPlaceholder: "Passwort eingeben",
585
470
  magicLinkTitle: "Willkommen",
586
471
  magicLinkSubtitle: "Konto erstellen oder anmelden",
587
- sendMagicLink: "Weiter",
588
- magicLinkSent: "Prüfe deine E-Mail",
589
- magicLinkSentCopy: "Wir haben einen sicheren Anmeldelink gesendet an",
590
- magicLinkFailed: "Anmeldelink konnte nicht gesendet werden.",
591
- usePasswordInstead: "Stattdessen Passwort verwenden",
592
- backToMagicLink: "Stattdessen Anmeldelink verwenden",
593
472
  signupProgress: "Registrierungsfortschritt",
594
473
  progressAccount: "Konto",
595
474
  progressVerify: "Prüfen",
@@ -600,8 +479,6 @@ const AUTH_LOCALE_COPY = {
600
479
  verificationNote: "Du kannst diesen Tab geöffnet lassen. Wenn er nach deiner Rückkehr nicht aktualisiert wird, nutze Weiter.",
601
480
  continue: "Weiter",
602
481
  resendEmail: "E-Mail erneut senden",
603
- back: "Zurück",
604
- forgotPassword: "Passwort vergessen?",
605
482
  sendResetLink: "Reset-Link senden",
606
483
  backToSignIn: "Zurück zur Anmeldung",
607
484
  localNotePrefix: "Dein Konto wird in der eigenen Datenbank dieser App gespeichert",
@@ -616,14 +493,12 @@ const AUTH_LOCALE_COPY = {
616
493
  useOwnGoogleClient: "Eigenen Google-OAuth-Client verwenden:",
617
494
  copyCommand: "Befehl kopieren",
618
495
  copied: "Kopiert",
619
- close: "Schließen",
620
496
  closeGoogleChoices: "Google-Anmeldeoptionen schließen",
621
497
  legalPrefix: "Mit der Registrierung akzeptierst du unsere",
622
498
  legalTerms: "Bedingungen",
623
499
  legalConnector: "und",
624
500
  legalPrivacy: "Datenschutzrichtlinie",
625
501
  legalSuffix: ".",
626
- invalidEmail: "Gib eine gültige E-Mail-Adresse ein, z. B. you@example.com.",
627
502
  signInToContinue: "Melde dich an, um fortzufahren.",
628
503
  finishSignInFailed: "Die Anmeldung konnte nicht automatisch abgeschlossen werden.",
629
504
  enterPasswordAfterVerification: "Gib dein Passwort ein, nachdem du deine E-Mail bestätigt hast.",
@@ -631,9 +506,7 @@ const AUTH_LOCALE_COPY = {
631
506
  stillWaitingVerification: "Die Bestätigung steht noch aus. Klicke auf den Link in deiner E-Mail und versuche Weiter erneut.",
632
507
  checkVerificationFailed: "Bestätigung konnte nicht geprüft werden. Bitte erneut versuchen.",
633
508
  verificationLinkInvalid: "Dieser Bestätigungslink ist ungültig oder abgelaufen. Fordere einen neuen an.",
634
- checking: "Prüfen...",
635
509
  checkingVerification: "Bestätigung wird geprüft...",
636
- sending: "Senden...",
637
510
  sent: "Gesendet",
638
511
  sentVerification: "Ein neuer Bestätigungslink wurde gesendet.",
639
512
  resendVerificationFailed: "Bestätigungs-E-Mail konnte nicht erneut gesendet werden.",
@@ -647,15 +520,12 @@ const AUTH_LOCALE_COPY = {
647
520
  emailVerifiedSignIn: "E-Mail bestätigt. Melde dich an, um fortzufahren.",
648
521
  resetEmailSent: "Falls diese E-Mail existiert, ist ein Reset-Link unterwegs.",
649
522
  resetEmailFailed: "Reset-E-Mail konnte nicht gesendet werden.",
650
- signingIn: "Anmeldung…",
651
- invalidLogin: "E-Mail oder Passwort ungültig",
652
523
  googleNotConfigured: "Google OAuth ist nicht konfiguriert.",
653
- failedToConnect: "Verbindung fehlgeschlagen. Bitte erneut versuchen.",
654
524
  migrateLocalFallback: "Melde dich weiter an, um lokale Daten zu migrieren.",
655
525
  googlePopupHelp: "Erlaube Pop-ups für diese Website und versuche es erneut",
656
- googleNeverFinished: "Die Google-Anmeldung wurde nicht abgeschlossen. Prüfe die Google-OAuth-Redirect-URI und Serverlogs für [agent-native][google-oauth].",
657
526
  },
658
527
  "ja-JP": {
528
+ ...NATIVE_AUTH_COPY["ja-JP"],
659
529
  languageLabel: "言語",
660
530
  systemLanguage: "システム",
661
531
  pageTitleSignIn: "サインイン",
@@ -671,24 +541,11 @@ const AUTH_LOCALE_COPY = {
671
541
  finishAccountSubtitle: "アカウント作成を完了",
672
542
  resetPasswordSubtitle: "パスワードをリセットします",
673
543
  upgradeCopy: "サインインを続けて、このアプリをアカウントに接続し、ローカルデータを移行します。",
674
- googleButton: "Google でサインイン",
675
- dividerOr: "または",
676
544
  createAccount: "アカウントを作成",
677
- signIn: "サインイン",
678
- email: "メール",
679
- password: "パスワード",
680
- confirmPassword: "パスワードを確認",
681
545
  passwordMinPlaceholder: `${PASSWORD_MIN_LENGTH} 文字以上`,
682
546
  confirmPasswordPlaceholder: "パスワードを確認",
683
- enterPasswordPlaceholder: "パスワードを入力",
684
547
  magicLinkTitle: "ようこそ",
685
548
  magicLinkSubtitle: "アカウントを作成するかサインインしてください",
686
- sendMagicLink: "続行",
687
- magicLinkSent: "メールを確認してください",
688
- magicLinkSentCopy: "安全なサインインリンクを送信しました:",
689
- magicLinkFailed: "サインインリンクを送信できませんでした。",
690
- usePasswordInstead: "パスワードを使用する",
691
- backToMagicLink: "サインインリンクを使用する",
692
549
  signupProgress: "登録の進行状況",
693
550
  progressAccount: "アカウント",
694
551
  progressVerify: "確認",
@@ -699,8 +556,6 @@ const AUTH_LOCALE_COPY = {
699
556
  verificationNote: "このタブは開いたままで構いません。戻っても更新されない場合は、続行を押してください。",
700
557
  continue: "続行",
701
558
  resendEmail: "メールを再送信",
702
- back: "戻る",
703
- forgotPassword: "パスワードをお忘れですか?",
704
559
  sendResetLink: "リセットリンクを送信",
705
560
  backToSignIn: "サインインに戻る",
706
561
  localNotePrefix: "アカウントはこのアプリ自身の DB に保存されます",
@@ -715,14 +570,12 @@ const AUTH_LOCALE_COPY = {
715
570
  useOwnGoogleClient: "自分の Google OAuth クライアントを使用:",
716
571
  copyCommand: "コマンドをコピー",
717
572
  copied: "コピーしました",
718
- close: "閉じる",
719
573
  closeGoogleChoices: "Google サインインの選択肢を閉じる",
720
574
  legalPrefix: "登録すると、以下に同意したものとみなされます:",
721
575
  legalTerms: "利用規約",
722
576
  legalConnector: "および",
723
577
  legalPrivacy: "プライバシーポリシー",
724
578
  legalSuffix: "。",
725
- invalidEmail: "you@example.com のような有効なメールアドレスを入力してください。",
726
579
  signInToContinue: "続行するにはサインインしてください。",
727
580
  finishSignInFailed: "サインインを自動で完了できませんでした。",
728
581
  enterPasswordAfterVerification: "メールを確認した後、パスワードを入力してください。",
@@ -730,9 +583,7 @@ const AUTH_LOCALE_COPY = {
730
583
  stillWaitingVerification: "まだ確認待ちです。メール内のリンクをクリックしてから、もう一度続行してください。",
731
584
  checkVerificationFailed: "確認状態をチェックできませんでした。もう一度お試しください。",
732
585
  verificationLinkInvalid: "この確認リンクは無効か期限切れです。新しいリンクをリクエストしてください。",
733
- checking: "確認中...",
734
586
  checkingVerification: "確認状態をチェック中...",
735
- sending: "送信中...",
736
587
  sent: "送信済み",
737
588
  sentVerification: "新しい確認リンクを送信しました。",
738
589
  resendVerificationFailed: "確認メールを再送信できませんでした。",
@@ -746,15 +597,12 @@ const AUTH_LOCALE_COPY = {
746
597
  emailVerifiedSignIn: "メールを確認しました。続行するにはサインインしてください。",
747
598
  resetEmailSent: "そのメールが存在する場合、リセットリンクを送信しました。",
748
599
  resetEmailFailed: "リセットメールを送信できませんでした。",
749
- signingIn: "サインイン中…",
750
- invalidLogin: "メールまたはパスワードが正しくありません",
751
600
  googleNotConfigured: "Google OAuth が設定されていません。",
752
- failedToConnect: "接続できませんでした。もう一度お試しください。",
753
601
  migrateLocalFallback: "サインインを続けてローカルデータを移行します。",
754
602
  googlePopupHelp: "このサイトのポップアップを許可してから、もう一度お試しください",
755
- googleNeverFinished: "Google サインインが完了しませんでした。Google OAuth リダイレクト URI と [agent-native][google-oauth] のサーバーログを確認してください。",
756
603
  },
757
604
  "ko-KR": {
605
+ ...NATIVE_AUTH_COPY["ko-KR"],
758
606
  languageLabel: "언어",
759
607
  systemLanguage: "시스템",
760
608
  pageTitleSignIn: "로그인",
@@ -770,24 +618,11 @@ const AUTH_LOCALE_COPY = {
770
618
  finishAccountSubtitle: "계정 생성을 완료하세요",
771
619
  resetPasswordSubtitle: "비밀번호를 재설정하세요",
772
620
  upgradeCopy: "계속 로그인하여 이 앱을 계정에 연결하고 로컬 데이터를 마이그레이션하세요.",
773
- googleButton: "Google로 로그인",
774
- dividerOr: "또는",
775
621
  createAccount: "계정 만들기",
776
- signIn: "로그인",
777
- email: "이메일",
778
- password: "비밀번호",
779
- confirmPassword: "비밀번호 확인",
780
622
  passwordMinPlaceholder: `${PASSWORD_MIN_LENGTH}자 이상`,
781
623
  confirmPasswordPlaceholder: "비밀번호 확인",
782
- enterPasswordPlaceholder: "비밀번호 입력",
783
624
  magicLinkTitle: "환영합니다",
784
625
  magicLinkSubtitle: "계정을 만들거나 로그인하세요",
785
- sendMagicLink: "계속",
786
- magicLinkSent: "이메일을 확인하세요",
787
- magicLinkSentCopy: "안전한 로그인 링크를 보냈습니다:",
788
- magicLinkFailed: "로그인 링크를 보낼 수 없습니다.",
789
- usePasswordInstead: "비밀번호 사용",
790
- backToMagicLink: "로그인 링크 사용",
791
626
  signupProgress: "가입 진행 상황",
792
627
  progressAccount: "계정",
793
628
  progressVerify: "확인",
@@ -798,8 +633,6 @@ const AUTH_LOCALE_COPY = {
798
633
  verificationNote: "이 탭을 열어 두어도 됩니다. 돌아온 뒤 새로고침되지 않으면 계속을 누르세요.",
799
634
  continue: "계속",
800
635
  resendEmail: "이메일 다시 보내기",
801
- back: "뒤로",
802
- forgotPassword: "비밀번호를 잊으셨나요?",
803
636
  sendResetLink: "재설정 링크 보내기",
804
637
  backToSignIn: "로그인으로 돌아가기",
805
638
  localNotePrefix: "계정은 이 앱의 자체 DB에 저장됩니다",
@@ -814,14 +647,12 @@ const AUTH_LOCALE_COPY = {
814
647
  useOwnGoogleClient: "내 Google OAuth 클라이언트 사용:",
815
648
  copyCommand: "명령 복사",
816
649
  copied: "복사됨",
817
- close: "닫기",
818
650
  closeGoogleChoices: "Google 로그인 선택 닫기",
819
651
  legalPrefix: "가입하면 다음에 동의하게 됩니다:",
820
652
  legalTerms: "약관",
821
653
  legalConnector: "및",
822
654
  legalPrivacy: "개인정보 처리방침",
823
655
  legalSuffix: ".",
824
- invalidEmail: "you@example.com 같은 올바른 이메일 주소를 입력하세요.",
825
656
  signInToContinue: "계속하려면 로그인하세요.",
826
657
  finishSignInFailed: "자동으로 로그인을 완료할 수 없습니다.",
827
658
  enterPasswordAfterVerification: "이메일을 확인한 후 비밀번호를 입력하세요.",
@@ -829,9 +660,7 @@ const AUTH_LOCALE_COPY = {
829
660
  stillWaitingVerification: "아직 확인을 기다리고 있습니다. 이메일의 링크를 클릭한 뒤 계속을 다시 눌러주세요.",
830
661
  checkVerificationFailed: "확인 상태를 확인할 수 없습니다. 다시 시도하세요.",
831
662
  verificationLinkInvalid: "이 인증 링크가 유효하지 않거나 만료되었습니다. 새 링크를 요청하세요.",
832
- checking: "확인 중...",
833
663
  checkingVerification: "확인 상태 확인 중...",
834
- sending: "보내는 중...",
835
664
  sent: "보냄",
836
665
  sentVerification: "새 확인 링크를 보냈습니다.",
837
666
  resendVerificationFailed: "확인 이메일을 다시 보낼 수 없습니다.",
@@ -845,15 +674,12 @@ const AUTH_LOCALE_COPY = {
845
674
  emailVerifiedSignIn: "이메일 확인됨. 계속하려면 로그인하세요.",
846
675
  resetEmailSent: "해당 이메일이 있으면 재설정 링크가 발송됩니다.",
847
676
  resetEmailFailed: "재설정 이메일을 보낼 수 없습니다.",
848
- signingIn: "로그인 중…",
849
- invalidLogin: "이메일 또는 비밀번호가 올바르지 않습니다",
850
677
  googleNotConfigured: "Google OAuth가 구성되지 않았습니다.",
851
- failedToConnect: "연결하지 못했습니다. 다시 시도하세요.",
852
678
  migrateLocalFallback: "계속 로그인하여 로컬 데이터를 마이그레이션하세요.",
853
679
  googlePopupHelp: "이 사이트의 팝업을 허용한 뒤 다시 시도하세요",
854
- googleNeverFinished: "Google 로그인이 완료되지 않았습니다. Google OAuth 리디렉션 URI와 [agent-native][google-oauth] 서버 로그를 확인하세요.",
855
680
  },
856
681
  "pt-BR": {
682
+ ...NATIVE_AUTH_COPY["pt-BR"],
857
683
  languageLabel: "Idioma",
858
684
  systemLanguage: "Sistema",
859
685
  pageTitleSignIn: "Entrar",
@@ -869,24 +695,11 @@ const AUTH_LOCALE_COPY = {
869
695
  finishAccountSubtitle: "Finalize a criação da sua conta",
870
696
  resetPasswordSubtitle: "Redefina sua senha",
871
697
  upgradeCopy: "Continue entrando para conectar este app à sua conta e migrar dados locais.",
872
- googleButton: "Entrar com Google",
873
- dividerOr: "ou",
874
698
  createAccount: "Criar conta",
875
- signIn: "Entrar",
876
- email: "Email",
877
- password: "Senha",
878
- confirmPassword: "Confirmar senha",
879
699
  passwordMinPlaceholder: `Pelo menos ${PASSWORD_MIN_LENGTH} caracteres`,
880
700
  confirmPasswordPlaceholder: "Confirmar senha",
881
- enterPasswordPlaceholder: "Digite a senha",
882
701
  magicLinkTitle: "Bem-vindo",
883
702
  magicLinkSubtitle: "Crie uma conta ou entre",
884
- sendMagicLink: "Continuar",
885
- magicLinkSent: "Confira seu email",
886
- magicLinkSentCopy: "Enviamos um link seguro para",
887
- magicLinkFailed: "Não foi possível enviar o link de acesso.",
888
- usePasswordInstead: "Usar uma senha",
889
- backToMagicLink: "Usar um link de acesso",
890
703
  signupProgress: "Progresso do cadastro",
891
704
  progressAccount: "Conta",
892
705
  progressVerify: "Verificar",
@@ -897,8 +710,6 @@ const AUTH_LOCALE_COPY = {
897
710
  verificationNote: "Você pode manter esta aba aberta. Se ela não atualizar quando você voltar, use Continuar.",
898
711
  continue: "Continuar",
899
712
  resendEmail: "Reenviar email",
900
- back: "Voltar",
901
- forgotPassword: "Esqueceu a senha?",
902
713
  sendResetLink: "Enviar link de redefinição",
903
714
  backToSignIn: "Voltar para entrar",
904
715
  localNotePrefix: "Sua conta fica armazenada no banco de dados próprio deste app",
@@ -913,14 +724,12 @@ const AUTH_LOCALE_COPY = {
913
724
  useOwnGoogleClient: "Use seu próprio cliente Google OAuth:",
914
725
  copyCommand: "Copiar comando",
915
726
  copied: "Copiado",
916
- close: "Fechar",
917
727
  closeGoogleChoices: "Fechar opções de login com Google",
918
728
  legalPrefix: "Ao se cadastrar, você aceita nossos",
919
729
  legalTerms: "Termos",
920
730
  legalConnector: "e",
921
731
  legalPrivacy: "Política de Privacidade",
922
732
  legalSuffix: ".",
923
- invalidEmail: "Digite um email válido, como you@example.com.",
924
733
  signInToContinue: "Entre para continuar.",
925
734
  finishSignInFailed: "Não foi possível concluir o login automaticamente.",
926
735
  enterPasswordAfterVerification: "Digite sua senha depois de verificar seu email.",
@@ -928,9 +737,7 @@ const AUTH_LOCALE_COPY = {
928
737
  stillWaitingVerification: "Ainda estamos aguardando a verificação. Clique no link do email e tente Continuar novamente.",
929
738
  checkVerificationFailed: "Não foi possível verificar. Tente novamente.",
930
739
  verificationLinkInvalid: "Este link de verificação é inválido ou expirou. Solicite um novo.",
931
- checking: "Verificando...",
932
740
  checkingVerification: "Verificando sua confirmação...",
933
- sending: "Enviando...",
934
741
  sent: "Enviado",
935
742
  sentVerification: "Enviamos um novo link de verificação.",
936
743
  resendVerificationFailed: "Não foi possível reenviar o email de verificação.",
@@ -944,15 +751,12 @@ const AUTH_LOCALE_COPY = {
944
751
  emailVerifiedSignIn: "Email verificado. Entre para continuar.",
945
752
  resetEmailSent: "Se esse email existir, um link de redefinição está a caminho.",
946
753
  resetEmailFailed: "Não foi possível enviar o email de redefinição.",
947
- signingIn: "Entrando…",
948
- invalidLogin: "Email ou senha inválidos",
949
754
  googleNotConfigured: "Google OAuth não está configurado.",
950
- failedToConnect: "Não foi possível conectar. Tente novamente.",
951
755
  migrateLocalFallback: "Continue entrando para migrar dados locais.",
952
756
  googlePopupHelp: "Permita pop-ups para este site e tente novamente",
953
- googleNeverFinished: "O login com Google não terminou. Confira o URI de redirecionamento do Google OAuth e os logs do servidor para [agent-native][google-oauth].",
954
757
  },
955
758
  "hi-IN": {
759
+ ...NATIVE_AUTH_COPY["hi-IN"],
956
760
  languageLabel: "भाषा",
957
761
  systemLanguage: "सिस्टम",
958
762
  pageTitleSignIn: "साइन इन",
@@ -968,24 +772,11 @@ const AUTH_LOCALE_COPY = {
968
772
  finishAccountSubtitle: "अपना खाता बनाना पूरा करें",
969
773
  resetPasswordSubtitle: "अपना पासवर्ड रीसेट करें",
970
774
  upgradeCopy: "इस ऐप को अपने खाते से जोड़ने और स्थानीय डेटा माइग्रेट करने के लिए साइन इन जारी रखें।",
971
- googleButton: "Google से साइन इन करें",
972
- dividerOr: "या",
973
775
  createAccount: "खाता बनाएं",
974
- signIn: "साइन इन",
975
- email: "ईमेल",
976
- password: "पासवर्ड",
977
- confirmPassword: "पासवर्ड की पुष्टि करें",
978
776
  passwordMinPlaceholder: `कम से कम ${PASSWORD_MIN_LENGTH} अक्षर`,
979
777
  confirmPasswordPlaceholder: "पासवर्ड की पुष्टि करें",
980
- enterPasswordPlaceholder: "पासवर्ड दर्ज करें",
981
778
  magicLinkTitle: "स्वागत है",
982
779
  magicLinkSubtitle: "खाता बनाएं या साइन इन करें",
983
- sendMagicLink: "जारी रखें",
984
- magicLinkSent: "अपना ईमेल देखें",
985
- magicLinkSentCopy: "हमने सुरक्षित साइन-इन लिंक यहां भेजा है:",
986
- magicLinkFailed: "साइन-इन लिंक नहीं भेजा जा सका।",
987
- usePasswordInstead: "पासवर्ड का उपयोग करें",
988
- backToMagicLink: "साइन-इन लिंक का उपयोग करें",
989
780
  signupProgress: "साइनअप प्रगति",
990
781
  progressAccount: "खाता",
991
782
  progressVerify: "सत्यापित करें",
@@ -996,8 +787,6 @@ const AUTH_LOCALE_COPY = {
996
787
  verificationNote: "आप यह टैब खुला रख सकते हैं। वापस आने पर अगर यह refresh नहीं होता है, तो Continue दबाएं।",
997
788
  continue: "जारी रखें",
998
789
  resendEmail: "ईमेल फिर भेजें",
999
- back: "वापस",
1000
- forgotPassword: "पासवर्ड भूल गए?",
1001
790
  sendResetLink: "रीसेट लिंक भेजें",
1002
791
  backToSignIn: "साइन इन पर वापस जाएं",
1003
792
  localNotePrefix: "आपका खाता इस ऐप के अपने DB में संग्रहीत है",
@@ -1012,14 +801,12 @@ const AUTH_LOCALE_COPY = {
1012
801
  useOwnGoogleClient: "अपना Google OAuth client उपयोग करें:",
1013
802
  copyCommand: "कमांड कॉपी करें",
1014
803
  copied: "कॉपी हो गया",
1015
- close: "बंद करें",
1016
804
  closeGoogleChoices: "Google साइन-इन विकल्प बंद करें",
1017
805
  legalPrefix: "साइन अप करके, आप हमारी",
1018
806
  legalTerms: "शर्तें",
1019
807
  legalConnector: "और",
1020
808
  legalPrivacy: "गोपनीयता नीति",
1021
809
  legalSuffix: "स्वीकार करते हैं।",
1022
- invalidEmail: "एक मान्य ईमेल पता दर्ज करें, जैसे you@example.com.",
1023
810
  signInToContinue: "जारी रखने के लिए साइन इन करें।",
1024
811
  finishSignInFailed: "साइन इन अपने आप पूरा नहीं हो सका।",
1025
812
  enterPasswordAfterVerification: "ईमेल सत्यापित करने के बाद अपना पासवर्ड दर्ज करें।",
@@ -1027,9 +814,7 @@ const AUTH_LOCALE_COPY = {
1027
814
  stillWaitingVerification: "सत्यापन का इंतजार है। ईमेल में लिंक खोलें, फिर Continue दोबारा दबाएं।",
1028
815
  checkVerificationFailed: "सत्यापन जांच नहीं हो सकी। कृपया फिर कोशिश करें।",
1029
816
  verificationLinkInvalid: "यह सत्यापन लिंक अमान्य या समाप्त हो गया है। नया लिंक मांगें।",
1030
- checking: "जांच हो रही है...",
1031
817
  checkingVerification: "आपका सत्यापन जांच रहे हैं...",
1032
- sending: "भेजा जा रहा है...",
1033
818
  sent: "भेजा गया",
1034
819
  sentVerification: "नया सत्यापन लिंक भेजा गया।",
1035
820
  resendVerificationFailed: "सत्यापन ईमेल फिर नहीं भेजा जा सका।",
@@ -1043,15 +828,12 @@ const AUTH_LOCALE_COPY = {
1043
828
  emailVerifiedSignIn: "ईमेल सत्यापित। जारी रखने के लिए साइन इन करें।",
1044
829
  resetEmailSent: "अगर वह ईमेल मौजूद है, तो reset लिंक भेजा जा रहा है।",
1045
830
  resetEmailFailed: "रीसेट ईमेल नहीं भेजा जा सका।",
1046
- signingIn: "साइन इन हो रहा है…",
1047
- invalidLogin: "ईमेल या पासवर्ड अमान्य है",
1048
831
  googleNotConfigured: "Google OAuth configured नहीं है।",
1049
- failedToConnect: "कनेक्ट नहीं हो सका। कृपया फिर कोशिश करें।",
1050
832
  migrateLocalFallback: "स्थानीय डेटा माइग्रेट करने के लिए साइन इन जारी रखें।",
1051
833
  googlePopupHelp: "इस साइट के लिए pop-ups allow करें और फिर कोशिश करें",
1052
- googleNeverFinished: "Google साइन इन पूरा नहीं हुआ। Google OAuth redirect URI और [agent-native][google-oauth] के server logs देखें।",
1053
834
  },
1054
835
  "ar-SA": {
836
+ ...NATIVE_AUTH_COPY["ar-SA"],
1055
837
  languageLabel: "اللغة",
1056
838
  systemLanguage: "النظام",
1057
839
  pageTitleSignIn: "تسجيل الدخول",
@@ -1067,24 +849,11 @@ const AUTH_LOCALE_COPY = {
1067
849
  finishAccountSubtitle: "أكمل إنشاء حسابك",
1068
850
  resetPasswordSubtitle: "أعد تعيين كلمة المرور",
1069
851
  upgradeCopy: "تابع تسجيل الدخول لربط هذا التطبيق بحسابك وترحيل البيانات المحلية.",
1070
- googleButton: "تسجيل الدخول باستخدام Google",
1071
- dividerOr: "أو",
1072
852
  createAccount: "إنشاء حساب",
1073
- signIn: "تسجيل الدخول",
1074
- email: "البريد الإلكتروني",
1075
- password: "كلمة المرور",
1076
- confirmPassword: "تأكيد كلمة المرور",
1077
853
  passwordMinPlaceholder: `${PASSWORD_MIN_LENGTH} أحرف على الأقل`,
1078
854
  confirmPasswordPlaceholder: "تأكيد كلمة المرور",
1079
- enterPasswordPlaceholder: "أدخل كلمة المرور",
1080
855
  magicLinkTitle: "مرحبًا",
1081
856
  magicLinkSubtitle: "أنشئ حسابًا أو سجّل الدخول",
1082
- sendMagicLink: "متابعة",
1083
- magicLinkSent: "تحقق من بريدك الإلكتروني",
1084
- magicLinkSentCopy: "أرسلنا رابط تسجيل دخول آمنًا إلى",
1085
- magicLinkFailed: "تعذر إرسال رابط تسجيل الدخول.",
1086
- usePasswordInstead: "استخدام كلمة مرور بدلًا من ذلك",
1087
- backToMagicLink: "استخدام رابط تسجيل الدخول بدلًا من ذلك",
1088
857
  signupProgress: "تقدم التسجيل",
1089
858
  progressAccount: "الحساب",
1090
859
  progressVerify: "التحقق",
@@ -1095,8 +864,6 @@ const AUTH_LOCALE_COPY = {
1095
864
  verificationNote: "يمكنك إبقاء هذه النافذة مفتوحة. إذا لم يتم التحديث بعد عودتك، استخدم متابعة.",
1096
865
  continue: "متابعة",
1097
866
  resendEmail: "إعادة إرسال البريد",
1098
- back: "رجوع",
1099
- forgotPassword: "هل نسيت كلمة المرور؟",
1100
867
  sendResetLink: "إرسال رابط إعادة التعيين",
1101
868
  backToSignIn: "العودة إلى تسجيل الدخول",
1102
869
  localNotePrefix: "يتم تخزين حسابك في قاعدة بيانات هذا التطبيق",
@@ -1111,14 +878,12 @@ const AUTH_LOCALE_COPY = {
1111
878
  useOwnGoogleClient: "استخدم عميل Google OAuth الخاص بك:",
1112
879
  copyCommand: "نسخ الأمر",
1113
880
  copied: "تم النسخ",
1114
- close: "إغلاق",
1115
881
  closeGoogleChoices: "إغلاق خيارات تسجيل الدخول عبر Google",
1116
882
  legalPrefix: "بالتسجيل، فإنك توافق على",
1117
883
  legalTerms: "الشروط",
1118
884
  legalConnector: "و",
1119
885
  legalPrivacy: "سياسة الخصوصية",
1120
886
  legalSuffix: ".",
1121
- invalidEmail: "أدخل بريدًا إلكترونيًا صالحًا، مثل you@example.com.",
1122
887
  signInToContinue: "سجّل الدخول للمتابعة.",
1123
888
  finishSignInFailed: "تعذر إكمال تسجيل الدخول تلقائيًا.",
1124
889
  enterPasswordAfterVerification: "أدخل كلمة المرور بعد التحقق من بريدك الإلكتروني.",
@@ -1126,9 +891,7 @@ const AUTH_LOCALE_COPY = {
1126
891
  stillWaitingVerification: "ما زلنا ننتظر التحقق. افتح الرابط في بريدك الإلكتروني ثم جرّب متابعة مرة أخرى.",
1127
892
  checkVerificationFailed: "تعذر التحقق من الحالة. حاول مرة أخرى.",
1128
893
  verificationLinkInvalid: "رابط التحقق هذا غير صالح أو منتهي الصلاحية. اطلب رابطًا جديدًا.",
1129
- checking: "جارٍ التحقق...",
1130
894
  checkingVerification: "جارٍ التحقق من حالتك...",
1131
- sending: "جارٍ الإرسال...",
1132
895
  sent: "تم الإرسال",
1133
896
  sentVerification: "تم إرسال رابط تحقق جديد.",
1134
897
  resendVerificationFailed: "تعذر إعادة إرسال رسالة التحقق.",
@@ -1142,13 +905,9 @@ const AUTH_LOCALE_COPY = {
1142
905
  emailVerifiedSignIn: "تم التحقق من البريد. سجّل الدخول للمتابعة.",
1143
906
  resetEmailSent: "إذا كان هذا البريد موجودًا، فسيصل رابط إعادة التعيين.",
1144
907
  resetEmailFailed: "تعذر إرسال بريد إعادة التعيين.",
1145
- signingIn: "جارٍ تسجيل الدخول…",
1146
- invalidLogin: "البريد الإلكتروني أو كلمة المرور غير صحيحة",
1147
908
  googleNotConfigured: "لم يتم إعداد Google OAuth.",
1148
- failedToConnect: "تعذر الاتصال. حاول مرة أخرى.",
1149
909
  migrateLocalFallback: "تابع تسجيل الدخول لترحيل البيانات المحلية.",
1150
910
  googlePopupHelp: "اسمح بالنوافذ المنبثقة لهذا الموقع ثم حاول مرة أخرى",
1151
- googleNeverFinished: "لم يكتمل تسجيل الدخول عبر Google. تحقق من URI إعادة التوجيه في Google OAuth وسجلات الخادم لـ [agent-native][google-oauth].",
1152
911
  },
1153
912
  };
1154
913
  const defaultAuthCopy = AUTH_LOCALE_COPY[DEFAULT_LOCALE];
@@ -2352,14 +2111,14 @@ ${googleOnly ? "" : `\n <div class="divider" id="auth-divider"${i18nAttr("divid
2352
2111
  : ""}
2353
2112
  ${googleOnly
2354
2113
  ? ""
2355
- : `${magicLinkMode ? '\n <form id="magic-link-form" class="form">\n <label for="m-email"' + i18nAttr("email") + ">" + esc(t("email")) + '</label>\n <input id="m-email" type="email" autocomplete="email" autofocus placeholder="you@example.com" required />\n <button type="submit" id="magic-link-submit" class="magic-link-submit"' + i18nAttr("sendMagicLink") + ">" + esc(t("sendMagicLink")) + '</button>\n <p class="msg" id="m-msg"></p>\n' + signupLegalNoteHtml + '\n <p style="margin-top:0.75rem;font-size:0.75rem;text-align:start">\n <a href="#" id="use-password-link" class="link-button auth-mode-link"' + i18nAttr("usePasswordInstead") + ">" + esc(t("usePasswordInstead")) + "</a>\n </p>\n </form>\n" : ""}${magicLinkSuccessHtml} <div class="tabs" id="auth-tabs">
2114
+ : `${magicLinkMode ? '\n <form id="magic-link-form" class="form">\n <label for="m-email"' + i18nAttr("email") + ">" + esc(t("email")) + '</label>\n <input id="m-email" type="email" autocomplete="email" autofocus placeholder="' + esc(t("emailPlaceholder")) + '" required />\n <button type="submit" id="magic-link-submit" class="magic-link-submit"' + i18nAttr("sendMagicLink") + ">" + esc(t("sendMagicLink")) + '</button>\n <p class="msg" id="m-msg"></p>\n' + signupLegalNoteHtml + '\n <p style="margin-top:0.75rem;font-size:0.75rem;text-align:start">\n <a href="#" id="use-password-link" class="link-button auth-mode-link"' + i18nAttr("usePasswordInstead") + ">" + esc(t("usePasswordInstead")) + "</a>\n </p>\n </form>\n" : ""}${magicLinkSuccessHtml} <div class="tabs" id="auth-tabs">
2356
2115
  <button class="tab" data-tab="signup"${i18nAttr("createAccount")}>${esc(t("createAccount"))}</button>
2357
2116
  <button class="tab" data-tab="login"${i18nAttr("signIn")}>${esc(t("signIn"))}</button>
2358
2117
  </div>
2359
2118
 
2360
2119
  <form id="signup-form" class="form">
2361
2120
  <label for="s-email"${i18nAttr("email")}>${esc(t("email"))}</label>
2362
- <input id="s-email" type="email" autocomplete="email" autofocus placeholder="you@example.com" required />
2121
+ <input id="s-email" type="email" autocomplete="email" autofocus placeholder="${esc(t("emailPlaceholder"))}" required />
2363
2122
  <label for="s-pass"${i18nAttr("password")}>${esc(t("password"))}</label>
2364
2123
  <input id="s-pass" type="password" autocomplete="new-password" placeholder="${esc(t("passwordMinPlaceholder"))}"${i18nPlaceholderAttr("passwordMinPlaceholder")} required minlength="${PASSWORD_MIN_LENGTH}" maxlength="${PASSWORD_MAX_LENGTH}" />
2365
2124
  <label for="s-pass2"${i18nAttr("confirmPassword")}>${esc(t("confirmPassword"))}</label>
@@ -2391,7 +2150,7 @@ ${signupLocalModeNoteHtml}
2391
2150
 
2392
2151
  <form id="login-form" class="form">
2393
2152
  <label for="l-email"${i18nAttr("email")}>${esc(t("email"))}</label>
2394
- <input id="l-email" type="email" autocomplete="email" placeholder="you@example.com" required />
2153
+ <input id="l-email" type="email" autocomplete="email" placeholder="${esc(t("emailPlaceholder"))}" required />
2395
2154
  <label for="l-pass"${i18nAttr("password")}>${esc(t("password"))}</label>
2396
2155
  <input id="l-pass" type="password" autocomplete="current-password" placeholder="${esc(t("enterPasswordPlaceholder"))}"${i18nPlaceholderAttr("enterPasswordPlaceholder")} required />
2397
2156
  <button type="submit"${i18nAttr("signIn")}>${esc(t("signIn"))}</button>
@@ -2404,7 +2163,7 @@ ${signupLocalModeNoteHtml}
2404
2163
 
2405
2164
  <form id="forgot-form" class="form">
2406
2165
  <label for="f-email"${i18nAttr("email")}>${esc(t("email"))}</label>
2407
- <input id="f-email" type="email" autocomplete="email" placeholder="you@example.com" required />
2166
+ <input id="f-email" type="email" autocomplete="email" placeholder="${esc(t("emailPlaceholder"))}" required />
2408
2167
  <button type="submit"${i18nAttr("sendResetLink")}>${esc(t("sendResetLink"))}</button>
2409
2168
  <p class="msg" id="f-msg"></p>
2410
2169
  <p style="margin-top:0.75rem;font-size:0.75rem;text-align:center">