@djangocfg/layouts 2.1.591 → 2.1.593

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.
Files changed (100) hide show
  1. package/package.json +12 -12
  2. package/src/components/errors/ErrorLayout.tsx +1 -164
  3. package/src/components/errors/ErrorsTracker/providers/ErrorTrackingProvider.tsx +1 -100
  4. package/src/components/errors/ErrorsTracker/providers/errorDedupe.ts +101 -0
  5. package/src/components/errors/errorGlyphs.tsx +167 -0
  6. package/src/layouts/AppLayout/BaseApp.tsx +1 -1
  7. package/src/layouts/AppLayout/index.ts +2 -2
  8. package/src/layouts/AuthLayout/AuthLayout.tsx +3 -23
  9. package/src/layouts/AuthLayout/components/shared/AuthTopBar.tsx +1 -1
  10. package/src/layouts/AuthLayout/components/steps/IdentifierStep.tsx +1 -1
  11. package/src/layouts/AuthLayout/layoutContext.ts +25 -0
  12. package/src/layouts/AuthLayout/styles/split-shell.css +0 -1
  13. package/src/layouts/PrivateLayout/PrivateLayout.tsx +37 -26
  14. package/src/layouts/PrivateLayout/README.md +20 -12
  15. package/src/layouts/PrivateLayout/components/PrivateContent.tsx +29 -42
  16. package/src/layouts/PrivateLayout/components/PrivateSidebar.tsx +23 -92
  17. package/src/layouts/PrivateLayout/components/PrivateSidebarAccount.tsx +41 -112
  18. package/src/layouts/PrivateLayout/components/SidebarBody.tsx +45 -0
  19. package/src/layouts/PrivateLayout/components/SidebarBrand.tsx +64 -152
  20. package/src/layouts/PrivateLayout/components/SidebarBrandSwitcher.tsx +2 -30
  21. package/src/layouts/PrivateLayout/components/SidebarNavGroup.tsx +55 -115
  22. package/src/layouts/PrivateLayout/components/SidebarNavItem.tsx +37 -100
  23. package/src/layouts/PrivateLayout/components/SidebarPeek.tsx +34 -0
  24. package/src/layouts/PrivateLayout/components/SidebarResizeHandle.tsx +76 -0
  25. package/src/layouts/PrivateLayout/components/SidebarSlots.tsx +14 -53
  26. package/src/layouts/PrivateLayout/components/index.ts +0 -4
  27. package/src/layouts/PrivateLayout/context.tsx +10 -115
  28. package/src/layouts/PrivateLayout/geometry.ts +17 -0
  29. package/src/layouts/PrivateLayout/hooks/index.ts +2 -1
  30. package/src/layouts/PrivateLayout/hooks/useLayoutVisual.ts +4 -4
  31. package/src/layouts/PrivateLayout/hooks/useSidebarKeyboard.ts +33 -93
  32. package/src/layouts/PrivateLayout/hooks/useSidebarPeek.tsx +151 -0
  33. package/src/layouts/PrivateLayout/hooks/useSidebarWidth.ts +83 -0
  34. package/src/layouts/PrivateLayout/types.ts +13 -20
  35. package/src/layouts/PublicLayout/footers/DefaultFooter/DefaultFooter.tsx +3 -89
  36. package/src/layouts/PublicLayout/footers/DefaultFooter/ThemeModeControl.tsx +90 -0
  37. package/src/layouts/PublicLayout/primitives/DesktopDropdownPortal.tsx +47 -0
  38. package/src/layouts/PublicLayout/primitives/NavControls.tsx +1 -1
  39. package/src/layouts/PublicLayout/primitives/NavDesktopItems.tsx +2 -83
  40. package/src/layouts/PublicLayout/primitives/navDesktopStyles.ts +42 -0
  41. package/src/layouts/PublicLayout/shared/NavbarShell.tsx +4 -171
  42. package/src/layouts/PublicLayout/shared/index.ts +1 -1
  43. package/src/layouts/PublicLayout/shared/navbarShell.types.ts +109 -0
  44. package/src/layouts/PublicLayout/shared/navbarShellStyles.ts +69 -0
  45. package/src/layouts/SettingsLayout/README.md +23 -10
  46. package/src/layouts/SettingsLayout/SettingsDialog.tsx +27 -11
  47. package/src/layouts/SettingsLayout/SettingsForm.tsx +13 -9
  48. package/src/layouts/SettingsLayout/components/AccountMenuButton.tsx +83 -0
  49. package/src/layouts/SettingsLayout/components/ApiKeySection/ApiKeySection.tsx +9 -7
  50. package/src/layouts/SettingsLayout/components/ApiKeySection/context.tsx +6 -41
  51. package/src/layouts/SettingsLayout/components/AvatarSection.tsx +11 -3
  52. package/src/layouts/SettingsLayout/components/SettingsNav.tsx +5 -9
  53. package/src/layouts/SettingsLayout/components/SettingsNavItem.tsx +5 -7
  54. package/src/layouts/SettingsLayout/components/SettingsPanel.tsx +5 -10
  55. package/src/layouts/SettingsLayout/components/SettingsSearch.tsx +5 -3
  56. package/src/layouts/SettingsLayout/components/SettingsShell.tsx +14 -21
  57. package/src/layouts/SettingsLayout/components/TwoFactorSection/TwoFactorSection.tsx +63 -131
  58. package/src/layouts/SettingsLayout/components/TwoFactorSection/TwoFactorSetupDialog.tsx +35 -0
  59. package/src/layouts/SettingsLayout/components/index.ts +0 -1
  60. package/src/layouts/SettingsLayout/context/SettingsContext.tsx +5 -2
  61. package/src/layouts/SettingsLayout/hooks/index.ts +3 -0
  62. package/src/layouts/SettingsLayout/hooks/useAccountMenuItems.ts +69 -0
  63. package/src/layouts/SettingsLayout/hooks/useSettingsDialog.ts +6 -3
  64. package/src/layouts/SettingsLayout/i18n/index.ts +39 -0
  65. package/src/layouts/SettingsLayout/i18n/locales/ar.ts +66 -0
  66. package/src/layouts/SettingsLayout/i18n/locales/da.ts +66 -0
  67. package/src/layouts/SettingsLayout/i18n/locales/de.ts +66 -0
  68. package/src/layouts/SettingsLayout/i18n/locales/en.ts +66 -0
  69. package/src/layouts/SettingsLayout/i18n/locales/es.ts +66 -0
  70. package/src/layouts/SettingsLayout/i18n/locales/fr.ts +66 -0
  71. package/src/layouts/SettingsLayout/i18n/locales/it.ts +66 -0
  72. package/src/layouts/SettingsLayout/i18n/locales/ja.ts +66 -0
  73. package/src/layouts/SettingsLayout/i18n/locales/ko.ts +66 -0
  74. package/src/layouts/SettingsLayout/i18n/locales/nl.ts +66 -0
  75. package/src/layouts/SettingsLayout/i18n/locales/no.ts +66 -0
  76. package/src/layouts/SettingsLayout/i18n/locales/pl.ts +66 -0
  77. package/src/layouts/SettingsLayout/i18n/locales/ptBR.ts +66 -0
  78. package/src/layouts/SettingsLayout/i18n/locales/ru.ts +66 -0
  79. package/src/layouts/SettingsLayout/i18n/locales/sv.ts +66 -0
  80. package/src/layouts/SettingsLayout/i18n/locales/tr.ts +66 -0
  81. package/src/layouts/SettingsLayout/i18n/locales/zh.ts +66 -0
  82. package/src/layouts/SettingsLayout/i18n/types.ts +65 -0
  83. package/src/layouts/SettingsLayout/index.ts +3 -1
  84. package/src/layouts/SettingsLayout/sections/AccountSection.tsx +9 -4
  85. package/src/layouts/SettingsLayout/sections/DeleteAccountRow.tsx +4 -1
  86. package/src/layouts/SettingsLayout/sections/GeneralSection.tsx +25 -0
  87. package/src/layouts/SettingsLayout/sections/PreferencesRows.tsx +13 -5
  88. package/src/layouts/SettingsLayout/sections/builtins.tsx +34 -29
  89. package/src/layouts/SettingsLayout/sections/index.ts +2 -2
  90. package/src/layouts/SettingsLayout/store.ts +12 -0
  91. package/src/layouts/SettingsLayout/types.ts +12 -4
  92. package/src/layouts/_components/locale-switcher/LocaleSwitcher.tsx +1 -1
  93. package/src/layouts/types/layout.types.ts +5 -6
  94. package/src/{layouts/AppLayout → shared}/LayoutI18nProvider.tsx +1 -1
  95. package/src/styles/dashboard.css +10 -0
  96. package/src/layouts/PrivateLayout/density.ts +0 -48
  97. package/src/layouts/PrivateLayout/hooks/useHoverExpand.ts +0 -110
  98. package/src/layouts/PrivateLayout/hooks/useShellVisualState.ts +0 -130
  99. package/src/layouts/SettingsLayout/components/SettingsRailFooter.tsx +0 -74
  100. package/src/layouts/SettingsLayout/sections/SecuritySection.tsx +0 -15
@@ -0,0 +1,66 @@
1
+ import type { SettingsCopy } from '../types';
2
+
3
+ export const ko: SettingsCopy = {
4
+ nav: {
5
+ title: "설정",
6
+ platform: "플랫폼",
7
+ account: "계정",
8
+ preferences: "환경설정",
9
+ apiKeys: "API 키",
10
+ apiKeysDescription: "프로그래밍 방식 접근을 위한 키를 만들고 관리하세요.",
11
+ },
12
+ prefs: {
13
+ general: "일반",
14
+ other: "기타",
15
+ language: "언어",
16
+ timeZone: "시간대",
17
+ theme: "테마",
18
+ },
19
+ account: {
20
+ dangerZone: "위험 구역",
21
+ deleteAccountDescription: "계정과 관련된 모든 데이터를 영구적으로 삭제합니다.",
22
+ changeAvatar: "아바타 변경",
23
+ },
24
+ search: {
25
+ clear: "검색어 지우기",
26
+ },
27
+ security: {
28
+ title: "보안",
29
+ twoFactor: "2단계 인증",
30
+ on: "켜짐",
31
+ off: "꺼짐 · 로그인 시 두 번째 단계를 추가합니다",
32
+ checking: "확인 중…",
33
+ unavailable: "사용할 수 없음",
34
+ turnOn: "켜기",
35
+ turnOff: "끄기",
36
+ setupTitle: "2단계 인증 설정",
37
+ setupHint: "인증 앱(Google Authenticator, Authy 등)으로 QR 코드를 스캔하세요",
38
+ cancel: "취소",
39
+ deviceAdded: "{{date}}에 추가됨",
40
+ devicePrimary: "기본",
41
+ disableTitle: "2단계 인증을 해제하시겠습니까?",
42
+ disableHint: "확인하려면 인증 앱의 6자리 코드를 입력하세요. 계정의 보안이 낮아집니다.",
43
+ disabling: "해제 중…",
44
+ disable: "2단계 인증 해제",
45
+ },
46
+ apiKey: {
47
+ title: "API 키",
48
+ description: "프로그래밍 방식 접근을 위한 개인 API 키",
49
+ created: "생성일",
50
+ reissued: "마지막 재발급",
51
+ neverReissued: "재발급한 적 없음",
52
+ regenerate: "API 키 재발급",
53
+ confirmRegenerate: "확인하려면 클릭",
54
+ regenerating: "재발급 중…",
55
+ regenerated: "API 키가 재발급되었습니다",
56
+ failedToRegenerate: "API 키를 재발급하지 못했습니다",
57
+ done: "완료",
58
+ test: "API 키 테스트",
59
+ testing: "테스트 중…",
60
+ testSuccess: "API 키가 유효합니다",
61
+ testFailed: "API 키 테스트에 실패했습니다",
62
+ keyRow: "API 키",
63
+ active: "활성",
64
+ freshKey: "새 API 키입니다. 지금 복사하세요. 이 페이지를 떠나면 가려집니다.",
65
+ },
66
+ };
@@ -0,0 +1,66 @@
1
+ import type { SettingsCopy } from '../types';
2
+
3
+ export const nl: SettingsCopy = {
4
+ nav: {
5
+ title: "Instellingen",
6
+ platform: "Platform",
7
+ account: "Account",
8
+ preferences: "Voorkeuren",
9
+ apiKeys: "API-sleutels",
10
+ apiKeysDescription: "Maak en beheer sleutels voor programmatische toegang.",
11
+ },
12
+ prefs: {
13
+ general: "Algemeen",
14
+ other: "Overig",
15
+ language: "Taal",
16
+ timeZone: "Tijdzone",
17
+ theme: "Thema",
18
+ },
19
+ account: {
20
+ dangerZone: "Gevarenzone",
21
+ deleteAccountDescription: "Verwijder je account en alle bijbehorende gegevens definitief.",
22
+ changeAvatar: "Avatar wijzigen",
23
+ },
24
+ search: {
25
+ clear: "Zoekopdracht wissen",
26
+ },
27
+ security: {
28
+ title: "Beveiliging",
29
+ twoFactor: "Tweestapsverificatie",
30
+ on: "Aan",
31
+ off: "Uit · voegt een tweede stap toe bij het inloggen",
32
+ checking: "Controleren…",
33
+ unavailable: "Niet beschikbaar",
34
+ turnOn: "Inschakelen",
35
+ turnOff: "Uitschakelen",
36
+ setupTitle: "Tweestapsverificatie instellen",
37
+ setupHint: "Scan de QR-code met je authenticator-app (Google Authenticator, Authy, enz.)",
38
+ cancel: "Annuleren",
39
+ deviceAdded: "Toegevoegd op {{date}}",
40
+ devicePrimary: "Primair",
41
+ disableTitle: "Tweestapsverificatie uitschakelen?",
42
+ disableHint: "Voer ter bevestiging de 6-cijferige code uit je authenticator-app in. Je account wordt hierdoor minder veilig.",
43
+ disabling: "Uitschakelen…",
44
+ disable: "2FA uitschakelen",
45
+ },
46
+ apiKey: {
47
+ title: "API-sleutel",
48
+ description: "Je persoonlijke API-sleutel voor programmatische toegang",
49
+ created: "Aangemaakt",
50
+ reissued: "Laatst opnieuw uitgegeven",
51
+ neverReissued: "Nooit opnieuw uitgegeven",
52
+ regenerate: "API-sleutel opnieuw genereren",
53
+ confirmRegenerate: "Klik om te bevestigen",
54
+ regenerating: "Opnieuw genereren…",
55
+ regenerated: "API-sleutel opnieuw gegenereerd",
56
+ failedToRegenerate: "API-sleutel opnieuw genereren mislukt",
57
+ done: "Klaar",
58
+ test: "API-sleutel testen",
59
+ testing: "Testen…",
60
+ testSuccess: "API-sleutel is geldig",
61
+ testFailed: "API-sleuteltest mislukt",
62
+ keyRow: "API-sleutel",
63
+ active: "Actief",
64
+ freshKey: "Dit is je nieuwe API-sleutel: kopieer hem nu. Hij wordt verborgen zodra je deze pagina verlaat.",
65
+ },
66
+ };
@@ -0,0 +1,66 @@
1
+ import type { SettingsCopy } from '../types';
2
+
3
+ export const no: SettingsCopy = {
4
+ nav: {
5
+ title: "Innstillinger",
6
+ platform: "Plattform",
7
+ account: "Konto",
8
+ preferences: "Innstillinger",
9
+ apiKeys: "API-nøkler",
10
+ apiKeysDescription: "Opprett og administrer nøkler for programmatisk tilgang.",
11
+ },
12
+ prefs: {
13
+ general: "Generelt",
14
+ other: "Annet",
15
+ language: "Språk",
16
+ timeZone: "Tidssone",
17
+ theme: "Tema",
18
+ },
19
+ account: {
20
+ dangerZone: "Faresone",
21
+ deleteAccountDescription: "Slett kontoen din og alle tilknyttede data permanent.",
22
+ changeAvatar: "Bytt avatar",
23
+ },
24
+ search: {
25
+ clear: "Tøm søk",
26
+ },
27
+ security: {
28
+ title: "Sikkerhet",
29
+ twoFactor: "Tofaktorautentisering",
30
+ on: "På",
31
+ off: "Av · legger til et ekstra trinn ved pålogging",
32
+ checking: "Sjekker…",
33
+ unavailable: "Utilgjengelig",
34
+ turnOn: "Slå på",
35
+ turnOff: "Slå av",
36
+ setupTitle: "Sett opp tofaktorautentisering",
37
+ setupHint: "Skann QR-koden med autentiseringsappen din (Google Authenticator, Authy osv.)",
38
+ cancel: "Avbryt",
39
+ deviceAdded: "Lagt til {{date}}",
40
+ devicePrimary: "Primær",
41
+ disableTitle: "Slå av tofaktorautentisering?",
42
+ disableHint: "Skriv inn den 6-sifrede koden fra autentiseringsappen din for å bekrefte. Kontoen din blir mindre sikker.",
43
+ disabling: "Slår av…",
44
+ disable: "Slå av 2FA",
45
+ },
46
+ apiKey: {
47
+ title: "API-nøkkel",
48
+ description: "Din personlige API-nøkkel for programmatisk tilgang",
49
+ created: "Opprettet",
50
+ reissued: "Sist utstedt på nytt",
51
+ neverReissued: "Aldri utstedt på nytt",
52
+ regenerate: "Generer API-nøkkel på nytt",
53
+ confirmRegenerate: "Klikk for å bekrefte",
54
+ regenerating: "Genererer på nytt…",
55
+ regenerated: "API-nøkkelen ble generert på nytt",
56
+ failedToRegenerate: "Kunne ikke generere API-nøkkelen på nytt",
57
+ done: "Ferdig",
58
+ test: "Test API-nøkkel",
59
+ testing: "Tester…",
60
+ testSuccess: "API-nøkkelen er gyldig",
61
+ testFailed: "API-nøkkeltesten mislyktes",
62
+ keyRow: "API-nøkkel",
63
+ active: "Aktiv",
64
+ freshKey: "Dette er den nye API-nøkkelen din – kopier den nå. Den skjules når du forlater siden.",
65
+ },
66
+ };
@@ -0,0 +1,66 @@
1
+ import type { SettingsCopy } from '../types';
2
+
3
+ export const pl: SettingsCopy = {
4
+ nav: {
5
+ title: "Ustawienia",
6
+ platform: "Platforma",
7
+ account: "Konto",
8
+ preferences: "Preferencje",
9
+ apiKeys: "Klucze API",
10
+ apiKeysDescription: "Twórz klucze dostępu programistycznego i zarządzaj nimi.",
11
+ },
12
+ prefs: {
13
+ general: "Ogólne",
14
+ other: "Inne",
15
+ language: "Język",
16
+ timeZone: "Strefa czasowa",
17
+ theme: "Motyw",
18
+ },
19
+ account: {
20
+ dangerZone: "Strefa zagrożenia",
21
+ deleteAccountDescription: "Trwale usuń konto i wszystkie powiązane dane.",
22
+ changeAvatar: "Zmień awatar",
23
+ },
24
+ search: {
25
+ clear: "Wyczyść wyszukiwanie",
26
+ },
27
+ security: {
28
+ title: "Bezpieczeństwo",
29
+ twoFactor: "Uwierzytelnianie dwuskładnikowe",
30
+ on: "Włączone",
31
+ off: "Wyłączone · dodaje drugi krok przy logowaniu",
32
+ checking: "Sprawdzanie…",
33
+ unavailable: "Niedostępne",
34
+ turnOn: "Włącz",
35
+ turnOff: "Wyłącz",
36
+ setupTitle: "Skonfiguruj uwierzytelnianie dwuskładnikowe",
37
+ setupHint: "Zeskanuj kod QR aplikacją uwierzytelniającą (Google Authenticator, Authy itp.)",
38
+ cancel: "Anuluj",
39
+ deviceAdded: "Dodano {{date}}",
40
+ devicePrimary: "Główne",
41
+ disableTitle: "Wyłączyć uwierzytelnianie dwuskładnikowe?",
42
+ disableHint: "Wpisz 6-cyfrowy kod z aplikacji uwierzytelniającej, aby potwierdzić. Konto będzie mniej bezpieczne.",
43
+ disabling: "Wyłączanie…",
44
+ disable: "Wyłącz 2FA",
45
+ },
46
+ apiKey: {
47
+ title: "Klucz API",
48
+ description: "Twój osobisty klucz API do dostępu programistycznego",
49
+ created: "Utworzono",
50
+ reissued: "Ostatnio wygenerowany ponownie",
51
+ neverReissued: "Nigdy nie generowany ponownie",
52
+ regenerate: "Wygeneruj klucz API ponownie",
53
+ confirmRegenerate: "Kliknij, aby potwierdzić",
54
+ regenerating: "Generowanie…",
55
+ regenerated: "Klucz API wygenerowany ponownie",
56
+ failedToRegenerate: "Nie udało się ponownie wygenerować klucza API",
57
+ done: "Gotowe",
58
+ test: "Przetestuj klucz API",
59
+ testing: "Testowanie…",
60
+ testSuccess: "Klucz API jest prawidłowy",
61
+ testFailed: "Test klucza API nie powiódł się",
62
+ keyRow: "Klucz API",
63
+ active: "Aktywny",
64
+ freshKey: "To Twój nowy klucz API – skopiuj go teraz. Po opuszczeniu tej strony zostanie ukryty.",
65
+ },
66
+ };
@@ -0,0 +1,66 @@
1
+ import type { SettingsCopy } from '../types';
2
+
3
+ export const ptBR: SettingsCopy = {
4
+ nav: {
5
+ title: "Configurações",
6
+ platform: "Plataforma",
7
+ account: "Conta",
8
+ preferences: "Preferências",
9
+ apiKeys: "Chaves de API",
10
+ apiKeysDescription: "Crie e gerencie chaves para acesso programático.",
11
+ },
12
+ prefs: {
13
+ general: "Geral",
14
+ other: "Outros",
15
+ language: "Idioma",
16
+ timeZone: "Fuso horário",
17
+ theme: "Tema",
18
+ },
19
+ account: {
20
+ dangerZone: "Zona de perigo",
21
+ deleteAccountDescription: "Exclua permanentemente sua conta e todos os dados associados.",
22
+ changeAvatar: "Alterar avatar",
23
+ },
24
+ search: {
25
+ clear: "Limpar pesquisa",
26
+ },
27
+ security: {
28
+ title: "Segurança",
29
+ twoFactor: "Autenticação em duas etapas",
30
+ on: "Ativada",
31
+ off: "Desativada · adiciona uma segunda etapa ao entrar",
32
+ checking: "Verificando…",
33
+ unavailable: "Indisponível",
34
+ turnOn: "Ativar",
35
+ turnOff: "Desativar",
36
+ setupTitle: "Configurar a autenticação em duas etapas",
37
+ setupHint: "Escaneie o código QR com seu app autenticador (Google Authenticator, Authy etc.)",
38
+ cancel: "Cancelar",
39
+ deviceAdded: "Adicionado em {{date}}",
40
+ devicePrimary: "Principal",
41
+ disableTitle: "Desativar a autenticação em duas etapas?",
42
+ disableHint: "Digite o código de 6 dígitos do seu app autenticador para confirmar. Sua conta ficará menos segura.",
43
+ disabling: "Desativando…",
44
+ disable: "Desativar 2FA",
45
+ },
46
+ apiKey: {
47
+ title: "Chave de API",
48
+ description: "Sua chave de API pessoal para acesso programático",
49
+ created: "Criada",
50
+ reissued: "Última regeneração",
51
+ neverReissued: "Nunca regenerada",
52
+ regenerate: "Regenerar chave de API",
53
+ confirmRegenerate: "Clique para confirmar",
54
+ regenerating: "Regenerando…",
55
+ regenerated: "Chave de API regenerada",
56
+ failedToRegenerate: "Falha ao regenerar a chave de API",
57
+ done: "Concluído",
58
+ test: "Testar chave de API",
59
+ testing: "Testando…",
60
+ testSuccess: "A chave de API é válida",
61
+ testFailed: "Falha no teste da chave de API",
62
+ keyRow: "Chave de API",
63
+ active: "Ativa",
64
+ freshKey: "Esta é sua nova chave de API: copie-a agora. Ela será ocultada quando você sair desta página.",
65
+ },
66
+ };
@@ -0,0 +1,66 @@
1
+ import type { SettingsCopy } from '../types';
2
+
3
+ export const ru: SettingsCopy = {
4
+ nav: {
5
+ title: "Настройки",
6
+ platform: "Платформа",
7
+ account: "Аккаунт",
8
+ preferences: "Параметры",
9
+ apiKeys: "API-ключи",
10
+ apiKeysDescription: "Создавайте ключи и управляйте ими для программного доступа.",
11
+ },
12
+ prefs: {
13
+ general: "Общие",
14
+ other: "Прочее",
15
+ language: "Язык",
16
+ timeZone: "Часовой пояс",
17
+ theme: "Тема",
18
+ },
19
+ account: {
20
+ dangerZone: "Опасная зона",
21
+ deleteAccountDescription: "Безвозвратно удалить аккаунт и все связанные данные.",
22
+ changeAvatar: "Сменить аватар",
23
+ },
24
+ search: {
25
+ clear: "Очистить поиск",
26
+ },
27
+ security: {
28
+ title: "Безопасность",
29
+ twoFactor: "Двухфакторная аутентификация",
30
+ on: "Включена",
31
+ off: "Выключена · добавляет второй шаг при входе",
32
+ checking: "Проверяем…",
33
+ unavailable: "Недоступно",
34
+ turnOn: "Включить",
35
+ turnOff: "Выключить",
36
+ setupTitle: "Настройка двухфакторной аутентификации",
37
+ setupHint: "Отсканируйте QR-код в приложении-аутентификаторе (Google Authenticator, Authy и т. д.)",
38
+ cancel: "Отмена",
39
+ deviceAdded: "Добавлено {{date}}",
40
+ devicePrimary: "Основное",
41
+ disableTitle: "Отключить двухфакторную аутентификацию?",
42
+ disableHint: "Введите 6-значный код из приложения-аутентификатора для подтверждения. Аккаунт станет менее защищённым.",
43
+ disabling: "Отключаем…",
44
+ disable: "Отключить 2FA",
45
+ },
46
+ apiKey: {
47
+ title: "API-ключ",
48
+ description: "Ваш личный API-ключ для программного доступа",
49
+ created: "Создан",
50
+ reissued: "Последний перевыпуск",
51
+ neverReissued: "Не перевыпускался",
52
+ regenerate: "Перевыпустить API-ключ",
53
+ confirmRegenerate: "Нажмите для подтверждения",
54
+ regenerating: "Перевыпускаем…",
55
+ regenerated: "API-ключ перевыпущен",
56
+ failedToRegenerate: "Не удалось перевыпустить API-ключ",
57
+ done: "Готово",
58
+ test: "Проверить API-ключ",
59
+ testing: "Проверяем…",
60
+ testSuccess: "API-ключ действителен",
61
+ testFailed: "Проверка API-ключа не пройдена",
62
+ keyRow: "API-ключ",
63
+ active: "Активен",
64
+ freshKey: "Это ваш новый API-ключ — скопируйте его сейчас. Когда вы покинете страницу, он будет скрыт.",
65
+ },
66
+ };
@@ -0,0 +1,66 @@
1
+ import type { SettingsCopy } from '../types';
2
+
3
+ export const sv: SettingsCopy = {
4
+ nav: {
5
+ title: "Inställningar",
6
+ platform: "Plattform",
7
+ account: "Konto",
8
+ preferences: "Inställningar",
9
+ apiKeys: "API-nycklar",
10
+ apiKeysDescription: "Skapa och hantera nycklar för programmatisk åtkomst.",
11
+ },
12
+ prefs: {
13
+ general: "Allmänt",
14
+ other: "Övrigt",
15
+ language: "Språk",
16
+ timeZone: "Tidszon",
17
+ theme: "Tema",
18
+ },
19
+ account: {
20
+ dangerZone: "Farozon",
21
+ deleteAccountDescription: "Radera ditt konto och all tillhörande data permanent.",
22
+ changeAvatar: "Byt avatar",
23
+ },
24
+ search: {
25
+ clear: "Rensa sökning",
26
+ },
27
+ security: {
28
+ title: "Säkerhet",
29
+ twoFactor: "Tvåfaktorsautentisering",
30
+ on: "På",
31
+ off: "Av · lägger till ett andra steg vid inloggning",
32
+ checking: "Kontrollerar…",
33
+ unavailable: "Ej tillgänglig",
34
+ turnOn: "Slå på",
35
+ turnOff: "Slå av",
36
+ setupTitle: "Ställ in tvåfaktorsautentisering",
37
+ setupHint: "Skanna QR-koden med din autentiseringsapp (Google Authenticator, Authy m.fl.)",
38
+ cancel: "Avbryt",
39
+ deviceAdded: "Lades till {{date}}",
40
+ devicePrimary: "Primär",
41
+ disableTitle: "Stänga av tvåfaktorsautentisering?",
42
+ disableHint: "Ange den 6-siffriga koden från din autentiseringsapp för att bekräfta. Ditt konto blir mindre säkert.",
43
+ disabling: "Stänger av…",
44
+ disable: "Stäng av 2FA",
45
+ },
46
+ apiKey: {
47
+ title: "API-nyckel",
48
+ description: "Din personliga API-nyckel för programmatisk åtkomst",
49
+ created: "Skapad",
50
+ reissued: "Senast återutfärdad",
51
+ neverReissued: "Aldrig återutfärdad",
52
+ regenerate: "Skapa API-nyckel på nytt",
53
+ confirmRegenerate: "Klicka för att bekräfta",
54
+ regenerating: "Skapar på nytt…",
55
+ regenerated: "API-nyckeln skapades på nytt",
56
+ failedToRegenerate: "Det gick inte att skapa API-nyckeln på nytt",
57
+ done: "Klar",
58
+ test: "Testa API-nyckel",
59
+ testing: "Testar…",
60
+ testSuccess: "API-nyckeln är giltig",
61
+ testFailed: "API-nyckeltestet misslyckades",
62
+ keyRow: "API-nyckel",
63
+ active: "Aktiv",
64
+ freshKey: "Det här är din nya API-nyckel – kopiera den nu. Den döljs när du lämnar sidan.",
65
+ },
66
+ };
@@ -0,0 +1,66 @@
1
+ import type { SettingsCopy } from '../types';
2
+
3
+ export const tr: SettingsCopy = {
4
+ nav: {
5
+ title: "Ayarlar",
6
+ platform: "Platform",
7
+ account: "Hesap",
8
+ preferences: "Tercihler",
9
+ apiKeys: "API anahtarları",
10
+ apiKeysDescription: "Programatik erişim için anahtarlar oluşturun ve yönetin.",
11
+ },
12
+ prefs: {
13
+ general: "Genel",
14
+ other: "Diğer",
15
+ language: "Dil",
16
+ timeZone: "Saat dilimi",
17
+ theme: "Tema",
18
+ },
19
+ account: {
20
+ dangerZone: "Tehlikeli bölge",
21
+ deleteAccountDescription: "Hesabınızı ve ilişkili tüm verileri kalıcı olarak silin.",
22
+ changeAvatar: "Avatarı değiştir",
23
+ },
24
+ search: {
25
+ clear: "Aramayı temizle",
26
+ },
27
+ security: {
28
+ title: "Güvenlik",
29
+ twoFactor: "İki adımlı doğrulama",
30
+ on: "Açık",
31
+ off: "Kapalı · oturum açarken ikinci bir adım ekler",
32
+ checking: "Kontrol ediliyor…",
33
+ unavailable: "Kullanılamıyor",
34
+ turnOn: "Aç",
35
+ turnOff: "Kapat",
36
+ setupTitle: "İki adımlı doğrulamayı ayarla",
37
+ setupHint: "QR kodunu kimlik doğrulama uygulamanızla (Google Authenticator, Authy vb.) tarayın",
38
+ cancel: "İptal",
39
+ deviceAdded: "{{date}} tarihinde eklendi",
40
+ devicePrimary: "Birincil",
41
+ disableTitle: "İki adımlı doğrulama kapatılsın mı?",
42
+ disableHint: "Onaylamak için kimlik doğrulama uygulamanızdaki 6 haneli kodu girin. Bu, hesabınızı daha az güvenli hale getirir.",
43
+ disabling: "Kapatılıyor…",
44
+ disable: "2FA'yı kapat",
45
+ },
46
+ apiKey: {
47
+ title: "API anahtarı",
48
+ description: "Programatik erişim için kişisel API anahtarınız",
49
+ created: "Oluşturuldu",
50
+ reissued: "Son yenileme",
51
+ neverReissued: "Hiç yenilenmedi",
52
+ regenerate: "API anahtarını yeniden oluştur",
53
+ confirmRegenerate: "Onaylamak için tıklayın",
54
+ regenerating: "Yeniden oluşturuluyor…",
55
+ regenerated: "API anahtarı yeniden oluşturuldu",
56
+ failedToRegenerate: "API anahtarı yeniden oluşturulamadı",
57
+ done: "Bitti",
58
+ test: "API anahtarını test et",
59
+ testing: "Test ediliyor…",
60
+ testSuccess: "API anahtarı geçerli",
61
+ testFailed: "API anahtarı testi başarısız oldu",
62
+ keyRow: "API anahtarı",
63
+ active: "Etkin",
64
+ freshKey: "Bu yeni API anahtarınız: şimdi kopyalayın. Bu sayfadan ayrıldığınızda gizlenecek.",
65
+ },
66
+ };
@@ -0,0 +1,66 @@
1
+ import type { SettingsCopy } from '../types';
2
+
3
+ export const zh: SettingsCopy = {
4
+ nav: {
5
+ title: "设置",
6
+ platform: "平台",
7
+ account: "账户",
8
+ preferences: "偏好设置",
9
+ apiKeys: "API 密钥",
10
+ apiKeysDescription: "创建并管理用于程序化访问的密钥。",
11
+ },
12
+ prefs: {
13
+ general: "常规",
14
+ other: "其他",
15
+ language: "语言",
16
+ timeZone: "时区",
17
+ theme: "主题",
18
+ },
19
+ account: {
20
+ dangerZone: "危险区域",
21
+ deleteAccountDescription: "永久删除您的账户及所有相关数据。",
22
+ changeAvatar: "更换头像",
23
+ },
24
+ search: {
25
+ clear: "清除搜索",
26
+ },
27
+ security: {
28
+ title: "安全",
29
+ twoFactor: "双重身份验证",
30
+ on: "已开启",
31
+ off: "已关闭 · 登录时增加第二步验证",
32
+ checking: "检查中…",
33
+ unavailable: "不可用",
34
+ turnOn: "开启",
35
+ turnOff: "关闭",
36
+ setupTitle: "设置双重身份验证",
37
+ setupHint: "使用您的验证器应用(Google Authenticator、Authy 等)扫描二维码",
38
+ cancel: "取消",
39
+ deviceAdded: "添加于 {{date}}",
40
+ devicePrimary: "主要",
41
+ disableTitle: "要关闭双重身份验证吗?",
42
+ disableHint: "请输入验证器应用中的 6 位验证码以确认。这会降低账户的安全性。",
43
+ disabling: "正在关闭…",
44
+ disable: "关闭双重验证",
45
+ },
46
+ apiKey: {
47
+ title: "API 密钥",
48
+ description: "用于程序化访问的个人 API 密钥",
49
+ created: "创建时间",
50
+ reissued: "上次重新签发",
51
+ neverReissued: "从未重新签发",
52
+ regenerate: "重新生成 API 密钥",
53
+ confirmRegenerate: "点击确认",
54
+ regenerating: "正在重新生成…",
55
+ regenerated: "API 密钥已重新生成",
56
+ failedToRegenerate: "重新生成 API 密钥失败",
57
+ done: "完成",
58
+ test: "测试 API 密钥",
59
+ testing: "测试中…",
60
+ testSuccess: "API 密钥有效",
61
+ testFailed: "API 密钥测试失败",
62
+ keyRow: "API 密钥",
63
+ active: "有效",
64
+ freshKey: "这是您的新 API 密钥,请立即复制。离开此页面后将被隐藏。",
65
+ },
66
+ };
@@ -0,0 +1,65 @@
1
+ /** Built-in Settings strings. English is the schema of record; `{{name}}` is filled by `fill`. */
2
+ export interface SettingsCopy {
3
+ nav: {
4
+ title: string;
5
+ platform: string;
6
+ account: string;
7
+ preferences: string;
8
+ apiKeys: string;
9
+ apiKeysDescription: string;
10
+ };
11
+ prefs: {
12
+ general: string;
13
+ other: string;
14
+ language: string;
15
+ timeZone: string;
16
+ theme: string;
17
+ };
18
+ account: {
19
+ dangerZone: string;
20
+ deleteAccountDescription: string;
21
+ changeAvatar: string;
22
+ };
23
+ search: {
24
+ clear: string;
25
+ };
26
+ security: {
27
+ title: string;
28
+ twoFactor: string;
29
+ on: string;
30
+ off: string;
31
+ checking: string;
32
+ unavailable: string;
33
+ turnOn: string;
34
+ turnOff: string;
35
+ setupTitle: string;
36
+ setupHint: string;
37
+ cancel: string;
38
+ deviceAdded: string;
39
+ devicePrimary: string;
40
+ disableTitle: string;
41
+ disableHint: string;
42
+ disabling: string;
43
+ disable: string;
44
+ };
45
+ apiKey: {
46
+ title: string;
47
+ description: string;
48
+ created: string;
49
+ reissued: string;
50
+ neverReissued: string;
51
+ regenerate: string;
52
+ confirmRegenerate: string;
53
+ regenerating: string;
54
+ regenerated: string;
55
+ failedToRegenerate: string;
56
+ done: string;
57
+ test: string;
58
+ testing: string;
59
+ testSuccess: string;
60
+ testFailed: string;
61
+ keyRow: string;
62
+ active: string;
63
+ freshKey: string;
64
+ };
65
+ }