@djangocfg/i18n 2.1.114 → 2.1.116

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@djangocfg/i18n",
3
- "version": "2.1.114",
3
+ "version": "2.1.116",
4
4
  "description": "Lightweight i18n library for @djangocfg packages with built-in translations for English, Russian, and Korean",
5
5
  "keywords": [
6
6
  "i18n",
@@ -59,7 +59,7 @@
59
59
  "react": "^18.0.0 || ^19.0.0"
60
60
  },
61
61
  "devDependencies": {
62
- "@djangocfg/typescript-config": "^2.1.114",
62
+ "@djangocfg/typescript-config": "^2.1.116",
63
63
  "@types/react": "^19.1.0",
64
64
  "eslint": "^9.37.0",
65
65
  "typescript": "^5.9.3"
package/src/locales/en.ts CHANGED
@@ -237,6 +237,104 @@ export const en: I18nTranslations = {
237
237
  authRequired: 'Authentication Required',
238
238
  pleaseSignIn: 'Please sign in to continue',
239
239
  goToSignIn: 'Go to Sign In',
240
+
241
+ // Identifier step
242
+ identifier: {
243
+ title: 'Sign in',
244
+ subtitle: {
245
+ email: 'Enter your email to continue',
246
+ phone: 'Enter your phone number to continue',
247
+ },
248
+ placeholder: {
249
+ email: 'email@example.com',
250
+ phone: 'Enter your phone number',
251
+ },
252
+ button: 'Continue',
253
+ oauth: {
254
+ github: 'Continue with GitHub',
255
+ },
256
+ channel: {
257
+ email: 'Email',
258
+ phone: 'Phone',
259
+ },
260
+ },
261
+
262
+ // OTP step
263
+ otp: {
264
+ title: 'Enter code',
265
+ subtitle: 'We sent a code to',
266
+ button: 'Verify',
267
+ resend: 'Resend code',
268
+ changeEmail: 'Change email',
269
+ changePhone: 'Change phone',
270
+ },
271
+
272
+ // Two-factor step
273
+ twoFactor: {
274
+ title: 'Two-factor authentication',
275
+ subtitle: {
276
+ totp: 'Enter the 6-digit code from your authenticator',
277
+ backup: 'Enter one of your backup codes',
278
+ },
279
+ placeholder: {
280
+ backup: 'XXXXXXXX',
281
+ },
282
+ button: 'Verify',
283
+ toggle: {
284
+ toBackup: 'Use backup code',
285
+ toTotp: 'Use authenticator app',
286
+ },
287
+ },
288
+
289
+ // 2FA Setup
290
+ setup: {
291
+ loading: {
292
+ title: 'Setting up...',
293
+ button: 'Loading',
294
+ },
295
+ qrCode: {
296
+ title: 'Set up 2FA',
297
+ subtitle: 'Scan this QR code with your authenticator app',
298
+ manualEntry: "Can't scan? Enter manually",
299
+ confirmPrompt: 'Enter the 6-digit code to confirm',
300
+ button: 'Enable 2FA',
301
+ skip: 'Skip for now',
302
+ },
303
+ complete: {
304
+ title: '2FA enabled',
305
+ subtitle: 'Save these backup codes securely',
306
+ instruction: 'Each code can only be used once',
307
+ copyAll: 'Copy all codes',
308
+ copied: 'Copied',
309
+ done: 'Done',
310
+ },
311
+ },
312
+
313
+ // Success
314
+ success: {
315
+ message: 'Signed in successfully',
316
+ },
317
+
318
+ // Shared
319
+ terms: {
320
+ agree: 'I agree to the',
321
+ and: 'and',
322
+ terms: 'Terms',
323
+ privacy: 'Privacy Policy',
324
+ },
325
+ divider: {
326
+ or: 'or',
327
+ },
328
+ footer: {
329
+ terms: 'Terms',
330
+ privacy: 'Privacy',
331
+ support: 'Support',
332
+ },
333
+
334
+ // Dev mode
335
+ dev: {
336
+ anyCodeWorks: 'Dev Mode: Any code works',
337
+ },
240
338
  },
241
339
 
242
340
  chat: {
package/src/locales/ko.ts CHANGED
@@ -237,6 +237,104 @@ export const ko: I18nTranslations = {
237
237
  authRequired: '인증 필요',
238
238
  pleaseSignIn: '계속하려면 로그인하세요',
239
239
  goToSignIn: '로그인으로 이동',
240
+
241
+ // Identifier step
242
+ identifier: {
243
+ title: '로그인',
244
+ subtitle: {
245
+ email: '계속하려면 이메일을 입력하세요',
246
+ phone: '계속하려면 전화번호를 입력하세요',
247
+ },
248
+ placeholder: {
249
+ email: 'email@example.com',
250
+ phone: '전화번호 입력',
251
+ },
252
+ button: '계속',
253
+ oauth: {
254
+ github: 'GitHub로 계속',
255
+ },
256
+ channel: {
257
+ email: '이메일',
258
+ phone: '전화',
259
+ },
260
+ },
261
+
262
+ // OTP step
263
+ otp: {
264
+ title: '코드 입력',
265
+ subtitle: '코드를 전송했습니다:',
266
+ button: '확인',
267
+ resend: '코드 재전송',
268
+ changeEmail: '이메일 변경',
269
+ changePhone: '전화번호 변경',
270
+ },
271
+
272
+ // Two-factor step
273
+ twoFactor: {
274
+ title: '2단계 인증',
275
+ subtitle: {
276
+ totp: '인증 앱의 6자리 코드를 입력하세요',
277
+ backup: '백업 코드 중 하나를 입력하세요',
278
+ },
279
+ placeholder: {
280
+ backup: 'XXXXXXXX',
281
+ },
282
+ button: '확인',
283
+ toggle: {
284
+ toBackup: '백업 코드 사용',
285
+ toTotp: '인증 앱 사용',
286
+ },
287
+ },
288
+
289
+ // 2FA Setup
290
+ setup: {
291
+ loading: {
292
+ title: '설정 중...',
293
+ button: '로딩',
294
+ },
295
+ qrCode: {
296
+ title: '2FA 설정',
297
+ subtitle: '인증 앱으로 QR 코드를 스캔하세요',
298
+ manualEntry: '스캔이 안 되나요? 수동으로 입력하세요',
299
+ confirmPrompt: '확인을 위해 6자리 코드를 입력하세요',
300
+ button: '2FA 활성화',
301
+ skip: '나중에',
302
+ },
303
+ complete: {
304
+ title: '2FA 활성화됨',
305
+ subtitle: '백업 코드를 안전하게 보관하세요',
306
+ instruction: '각 코드는 한 번만 사용할 수 있습니다',
307
+ copyAll: '모든 코드 복사',
308
+ copied: '복사됨',
309
+ done: '완료',
310
+ },
311
+ },
312
+
313
+ // Success
314
+ success: {
315
+ message: '로그인 성공',
316
+ },
317
+
318
+ // Shared
319
+ terms: {
320
+ agree: '동의합니다:',
321
+ and: '및',
322
+ terms: '이용약관',
323
+ privacy: '개인정보처리방침',
324
+ },
325
+ divider: {
326
+ or: '또는',
327
+ },
328
+ footer: {
329
+ terms: '이용약관',
330
+ privacy: '개인정보',
331
+ support: '지원',
332
+ },
333
+
334
+ // Dev mode
335
+ dev: {
336
+ anyCodeWorks: '개발 모드: 아무 코드나 사용 가능',
337
+ },
240
338
  },
241
339
 
242
340
  chat: {
package/src/locales/ru.ts CHANGED
@@ -237,6 +237,104 @@ export const ru: I18nTranslations = {
237
237
  authRequired: 'Требуется авторизация',
238
238
  pleaseSignIn: 'Пожалуйста, войдите для продолжения',
239
239
  goToSignIn: 'Перейти к входу',
240
+
241
+ // Identifier step
242
+ identifier: {
243
+ title: 'Вход',
244
+ subtitle: {
245
+ email: 'Введите email для продолжения',
246
+ phone: 'Введите номер телефона для продолжения',
247
+ },
248
+ placeholder: {
249
+ email: 'email@example.com',
250
+ phone: 'Введите номер телефона',
251
+ },
252
+ button: 'Продолжить',
253
+ oauth: {
254
+ github: 'Войти через GitHub',
255
+ },
256
+ channel: {
257
+ email: 'Email',
258
+ phone: 'Телефон',
259
+ },
260
+ },
261
+
262
+ // OTP step
263
+ otp: {
264
+ title: 'Введите код',
265
+ subtitle: 'Мы отправили код на',
266
+ button: 'Подтвердить',
267
+ resend: 'Отправить повторно',
268
+ changeEmail: 'Изменить email',
269
+ changePhone: 'Изменить телефон',
270
+ },
271
+
272
+ // Two-factor step
273
+ twoFactor: {
274
+ title: 'Двухфакторная аутентификация',
275
+ subtitle: {
276
+ totp: 'Введите 6-значный код из приложения-аутентификатора',
277
+ backup: 'Введите один из резервных кодов',
278
+ },
279
+ placeholder: {
280
+ backup: 'XXXXXXXX',
281
+ },
282
+ button: 'Подтвердить',
283
+ toggle: {
284
+ toBackup: 'Использовать резервный код',
285
+ toTotp: 'Использовать приложение',
286
+ },
287
+ },
288
+
289
+ // 2FA Setup
290
+ setup: {
291
+ loading: {
292
+ title: 'Настройка...',
293
+ button: 'Загрузка',
294
+ },
295
+ qrCode: {
296
+ title: 'Настройка 2FA',
297
+ subtitle: 'Отсканируйте QR-код приложением-аутентификатором',
298
+ manualEntry: 'Не можете сканировать? Введите вручную',
299
+ confirmPrompt: 'Введите 6-значный код для подтверждения',
300
+ button: 'Включить 2FA',
301
+ skip: 'Пропустить',
302
+ },
303
+ complete: {
304
+ title: '2FA включена',
305
+ subtitle: 'Сохраните резервные коды в безопасном месте',
306
+ instruction: 'Каждый код можно использовать только один раз',
307
+ copyAll: 'Копировать все коды',
308
+ copied: 'Скопировано',
309
+ done: 'Готово',
310
+ },
311
+ },
312
+
313
+ // Success
314
+ success: {
315
+ message: 'Вход выполнен успешно',
316
+ },
317
+
318
+ // Shared
319
+ terms: {
320
+ agree: 'Я принимаю',
321
+ and: 'и',
322
+ terms: 'Условия',
323
+ privacy: 'Политику конфиденциальности',
324
+ },
325
+ divider: {
326
+ or: 'или',
327
+ },
328
+ footer: {
329
+ terms: 'Условия',
330
+ privacy: 'Конфиденциальность',
331
+ support: 'Поддержка',
332
+ },
333
+
334
+ // Dev mode
335
+ dev: {
336
+ anyCodeWorks: 'Режим разработки: подойдёт любой код',
337
+ },
240
338
  },
241
339
 
242
340
  chat: {
package/src/types.ts CHANGED
@@ -302,6 +302,99 @@ export interface I18nTranslations {
302
302
  authRequired: string
303
303
  pleaseSignIn: string
304
304
  goToSignIn: string
305
+ /** Identifier step */
306
+ identifier: {
307
+ title: string
308
+ subtitle: {
309
+ email: string
310
+ phone: string
311
+ }
312
+ placeholder: {
313
+ email: string
314
+ phone: string
315
+ }
316
+ button: string
317
+ oauth: {
318
+ github: string
319
+ }
320
+ channel: {
321
+ email: string
322
+ phone: string
323
+ }
324
+ }
325
+ /** OTP step */
326
+ otp: {
327
+ title: string
328
+ subtitle: string
329
+ button: string
330
+ resend: string
331
+ changeEmail: string
332
+ changePhone: string
333
+ }
334
+ /** Two-factor step */
335
+ twoFactor: {
336
+ title: string
337
+ subtitle: {
338
+ totp: string
339
+ backup: string
340
+ }
341
+ placeholder: {
342
+ backup: string
343
+ }
344
+ button: string
345
+ toggle: {
346
+ toBackup: string
347
+ toTotp: string
348
+ }
349
+ }
350
+ /** Setup step */
351
+ setup: {
352
+ loading: {
353
+ title: string
354
+ button: string
355
+ }
356
+ qrCode: {
357
+ title: string
358
+ subtitle: string
359
+ manualEntry: string
360
+ confirmPrompt: string
361
+ button: string
362
+ skip: string
363
+ }
364
+ complete: {
365
+ title: string
366
+ subtitle: string
367
+ instruction: string
368
+ copyAll: string
369
+ copied: string
370
+ done: string
371
+ }
372
+ }
373
+ /** Success message */
374
+ success: {
375
+ message: string
376
+ }
377
+ /** Terms checkbox */
378
+ terms: {
379
+ agree: string
380
+ and: string
381
+ terms: string
382
+ privacy: string
383
+ }
384
+ /** Divider */
385
+ divider: {
386
+ or: string
387
+ }
388
+ /** Footer */
389
+ footer: {
390
+ terms: string
391
+ privacy: string
392
+ support: string
393
+ }
394
+ /** Dev mode */
395
+ dev: {
396
+ anyCodeWorks: string
397
+ }
305
398
  }
306
399
 
307
400
  /** MCP Chat */