create-freakpunch 0.0.0-stage → 0.2.0

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 (216) hide show
  1. package/README.md +24 -3
  2. package/bin/create-freakpunch.mjs +227 -0
  3. package/files/README.md +19 -0
  4. package/files/app.config.ts +50 -0
  5. package/files/locales.ts +10 -0
  6. package/files/registry.ts +17 -0
  7. package/package.json +23 -6
  8. package/template/.dockerignore +17 -0
  9. package/template/.oxlintrc.json +9 -0
  10. package/template/AGENTS.md +6 -0
  11. package/template/BACKEND.md +108 -0
  12. package/template/CLAUDE.md +297 -0
  13. package/template/Dockerfile +19 -0
  14. package/template/_gitignore +26 -0
  15. package/template/components.json +27 -0
  16. package/template/design/COMPONENTS.md +145 -0
  17. package/template/design/DESIGN.md +212 -0
  18. package/template/design/PATTERNS.md +110 -0
  19. package/template/index.html +25 -0
  20. package/template/nginx.conf +32 -0
  21. package/template/package-lock.json +6484 -0
  22. package/template/package.json +51 -0
  23. package/template/public/favicon.svg +1 -0
  24. package/template/public/robots.txt +2 -0
  25. package/template/src/app.config.ts +50 -0
  26. package/template/src/app.roles.ts +24 -0
  27. package/template/src/components/ui/alert-dialog.tsx +181 -0
  28. package/template/src/components/ui/avatar.tsx +116 -0
  29. package/template/src/components/ui/badge.tsx +57 -0
  30. package/template/src/components/ui/breadcrumb.tsx +130 -0
  31. package/template/src/components/ui/button.tsx +58 -0
  32. package/template/src/components/ui/calendar.tsx +277 -0
  33. package/template/src/components/ui/card.tsx +99 -0
  34. package/template/src/components/ui/chart.tsx +370 -0
  35. package/template/src/components/ui/checkbox.tsx +28 -0
  36. package/template/src/components/ui/combobox.tsx +329 -0
  37. package/template/src/components/ui/command.tsx +191 -0
  38. package/template/src/components/ui/dialog.tsx +162 -0
  39. package/template/src/components/ui/dropdown-menu.tsx +271 -0
  40. package/template/src/components/ui/empty.tsx +103 -0
  41. package/template/src/components/ui/field.tsx +236 -0
  42. package/template/src/components/ui/input-group.tsx +263 -0
  43. package/template/src/components/ui/input.tsx +45 -0
  44. package/template/src/components/ui/kbd.tsx +31 -0
  45. package/template/src/components/ui/label.tsx +17 -0
  46. package/template/src/components/ui/pagination.tsx +134 -0
  47. package/template/src/components/ui/popover.tsx +87 -0
  48. package/template/src/components/ui/radio-group.tsx +35 -0
  49. package/template/src/components/ui/select.tsx +204 -0
  50. package/template/src/components/ui/separator.tsx +25 -0
  51. package/template/src/components/ui/sheet.tsx +139 -0
  52. package/template/src/components/ui/sidebar.tsx +741 -0
  53. package/template/src/components/ui/skeleton.tsx +13 -0
  54. package/template/src/components/ui/sonner.tsx +78 -0
  55. package/template/src/components/ui/spinner.tsx +42 -0
  56. package/template/src/components/ui/switch.tsx +29 -0
  57. package/template/src/components/ui/table.tsx +121 -0
  58. package/template/src/components/ui/tabs.tsx +191 -0
  59. package/template/src/components/ui/textarea.tsx +17 -0
  60. package/template/src/components/ui/toggle-group.tsx +94 -0
  61. package/template/src/components/ui/toggle.tsx +48 -0
  62. package/template/src/components/ui/tooltip.tsx +91 -0
  63. package/template/src/core/api/demo.ts +8 -0
  64. package/template/src/core/api/http.ts +76 -0
  65. package/template/src/core/api/mock.ts +88 -0
  66. package/template/src/core/api/rest.ts +67 -0
  67. package/template/src/core/api/types.ts +21 -0
  68. package/template/src/core/audit/audit.service.ts +94 -0
  69. package/template/src/core/audit/hooks.ts +19 -0
  70. package/template/src/core/auth/auth-store.ts +52 -0
  71. package/template/src/core/auth/auth.service.ts +86 -0
  72. package/template/src/core/auth/can.tsx +39 -0
  73. package/template/src/core/auth/dev-role-switcher.tsx +64 -0
  74. package/template/src/core/auth/local-credentials.ts +46 -0
  75. package/template/src/core/auth/permissions.ts +115 -0
  76. package/template/src/core/auth/require-auth.tsx +16 -0
  77. package/template/src/core/auth/require-permission.tsx +24 -0
  78. package/template/src/core/auth/roles.ts +9 -0
  79. package/template/src/core/auth/types.ts +20 -0
  80. package/template/src/core/auth/use-auth.ts +19 -0
  81. package/template/src/core/company/company.service.ts +94 -0
  82. package/template/src/core/company/hooks.ts +40 -0
  83. package/template/src/core/company/password-policy.ts +40 -0
  84. package/template/src/core/company/types.ts +46 -0
  85. package/template/src/core/company/use-app-name.ts +7 -0
  86. package/template/src/core/components/button-link.tsx +14 -0
  87. package/template/src/core/components/confirm-dialog.tsx +116 -0
  88. package/template/src/core/components/data-table/data-table.tsx +297 -0
  89. package/template/src/core/components/data-table/features.ts +24 -0
  90. package/template/src/core/components/data-table/table-header-cell.tsx +13 -0
  91. package/template/src/core/components/data-table/toolbar.tsx +100 -0
  92. package/template/src/core/components/data-table/use-list-url-state.ts +108 -0
  93. package/template/src/core/components/date-picker.tsx +71 -0
  94. package/template/src/core/components/file-attachments.tsx +84 -0
  95. package/template/src/core/components/form-error.tsx +9 -0
  96. package/template/src/core/components/form-page.tsx +93 -0
  97. package/template/src/core/components/image-upload.tsx +86 -0
  98. package/template/src/core/components/page.tsx +75 -0
  99. package/template/src/core/components/phone-input.tsx +58 -0
  100. package/template/src/core/components/search-select.tsx +57 -0
  101. package/template/src/core/components/segmented.tsx +41 -0
  102. package/template/src/core/components/states.tsx +97 -0
  103. package/template/src/core/components/status-badge.tsx +26 -0
  104. package/template/src/core/components/user-avatar.tsx +23 -0
  105. package/template/src/core/config/runtime.ts +16 -0
  106. package/template/src/core/config/types.ts +37 -0
  107. package/template/src/core/i18n/i18n.ts +69 -0
  108. package/template/src/core/i18n/i18next.d.ts +12 -0
  109. package/template/src/core/i18n/keys.ts +37 -0
  110. package/template/src/core/i18n/language-switcher.tsx +45 -0
  111. package/template/src/core/i18n/types.ts +17 -0
  112. package/template/src/core/i18n/use-format.ts +31 -0
  113. package/template/src/core/layout/app-shell.tsx +50 -0
  114. package/template/src/core/layout/app-sidebar.tsx +285 -0
  115. package/template/src/core/layout/command-menu.tsx +117 -0
  116. package/template/src/core/layout/top-bar.tsx +100 -0
  117. package/template/src/core/lib/csv.ts +27 -0
  118. package/template/src/core/lib/format.ts +87 -0
  119. package/template/src/core/lib/phone.ts +50 -0
  120. package/template/src/core/lib/storage.ts +27 -0
  121. package/template/src/core/modules/lazy-page.ts +9 -0
  122. package/template/src/core/modules/navigation.ts +39 -0
  123. package/template/src/core/modules/types.ts +55 -0
  124. package/template/src/core/notifications/hooks.ts +84 -0
  125. package/template/src/core/notifications/notification-center.tsx +251 -0
  126. package/template/src/core/notifications/notifications.service.ts +132 -0
  127. package/template/src/core/notifications/types.ts +70 -0
  128. package/template/src/core/preferences/preferences-store.ts +70 -0
  129. package/template/src/core/setup/setup-gate.tsx +20 -0
  130. package/template/src/core/setup/setup.service.ts +101 -0
  131. package/template/src/core/theme/brand-context.tsx +53 -0
  132. package/template/src/core/theme/brand.ts +29 -0
  133. package/template/src/core/theme/theme-context.tsx +62 -0
  134. package/template/src/core/theme/theme-options.ts +8 -0
  135. package/template/src/core/theme/theme-toggle.tsx +45 -0
  136. package/template/src/core/users/hooks.ts +51 -0
  137. package/template/src/core/users/types.ts +37 -0
  138. package/template/src/core/users/users.service.ts +167 -0
  139. package/template/src/hooks/use-mobile.ts +19 -0
  140. package/template/src/index.css +321 -0
  141. package/template/src/lib/utils.ts +1 -0
  142. package/template/src/locales/en/account.ts +180 -0
  143. package/template/src/locales/en/auth.ts +18 -0
  144. package/template/src/locales/en/common.ts +151 -0
  145. package/template/src/locales/en/company.ts +380 -0
  146. package/template/src/locales/en/dashboard.ts +46 -0
  147. package/template/src/locales/en/errors.ts +18 -0
  148. package/template/src/locales/en/notifications.ts +43 -0
  149. package/template/src/locales/en/settings.ts +25 -0
  150. package/template/src/locales/en/setup.ts +45 -0
  151. package/template/src/locales/index.ts +58 -0
  152. package/template/src/locales/tr/account.ts +184 -0
  153. package/template/src/locales/tr/auth.ts +22 -0
  154. package/template/src/locales/tr/common.ts +154 -0
  155. package/template/src/locales/tr/company.ts +384 -0
  156. package/template/src/locales/tr/dashboard.ts +50 -0
  157. package/template/src/locales/tr/errors.ts +22 -0
  158. package/template/src/locales/tr/notifications.ts +47 -0
  159. package/template/src/locales/tr/settings.ts +29 -0
  160. package/template/src/locales/tr/setup.ts +49 -0
  161. package/template/src/main.tsx +16 -0
  162. package/template/src/modules/locales.ts +10 -0
  163. package/template/src/modules/registry.ts +17 -0
  164. package/template/src/pages/dashboard/dashboard-page.tsx +55 -0
  165. package/template/src/pages/dashboard/quick-actions.tsx +37 -0
  166. package/template/src/pages/login-page.tsx +152 -0
  167. package/template/src/pages/no-access-page.tsx +11 -0
  168. package/template/src/pages/not-found-page.tsx +61 -0
  169. package/template/src/pages/settings/account/account.service.ts +128 -0
  170. package/template/src/pages/settings/account/components/mock-qr.tsx +50 -0
  171. package/template/src/pages/settings/account/components/password-strength.tsx +38 -0
  172. package/template/src/pages/settings/account/components/two-factor-dialog.tsx +140 -0
  173. package/template/src/pages/settings/account/hooks.ts +73 -0
  174. package/template/src/pages/settings/account/notifications-page.tsx +103 -0
  175. package/template/src/pages/settings/account/preferences-page.tsx +157 -0
  176. package/template/src/pages/settings/account/profile-page.tsx +242 -0
  177. package/template/src/pages/settings/account/security-page.tsx +364 -0
  178. package/template/src/pages/settings/account/types.ts +37 -0
  179. package/template/src/pages/settings/company/audit-log-page.tsx +126 -0
  180. package/template/src/pages/settings/company/branding-page.tsx +278 -0
  181. package/template/src/pages/settings/company/components/invite-dialog.tsx +106 -0
  182. package/template/src/pages/settings/company/components/read-only-notice.tsx +13 -0
  183. package/template/src/pages/settings/company/danger-zone-page.tsx +127 -0
  184. package/template/src/pages/settings/company/general-page.tsx +234 -0
  185. package/template/src/pages/settings/company/integrations/api-keys-panel.tsx +170 -0
  186. package/template/src/pages/settings/company/integrations/hooks.ts +37 -0
  187. package/template/src/pages/settings/company/integrations/integrations-page.tsx +57 -0
  188. package/template/src/pages/settings/company/integrations/integrations.service.ts +153 -0
  189. package/template/src/pages/settings/company/integrations/settings-forms.tsx +299 -0
  190. package/template/src/pages/settings/company/integrations/webhooks-panel.tsx +179 -0
  191. package/template/src/pages/settings/company/modules-page.tsx +65 -0
  192. package/template/src/pages/settings/company/roles-page.tsx +116 -0
  193. package/template/src/pages/settings/company/security-policies-page.tsx +164 -0
  194. package/template/src/pages/settings/company/users-page.tsx +262 -0
  195. package/template/src/pages/settings/settings-layout.tsx +57 -0
  196. package/template/src/pages/settings/settings-nav.ts +69 -0
  197. package/template/src/pages/settings/settings-routes.tsx +49 -0
  198. package/template/src/pages/setup-page.tsx +387 -0
  199. package/template/src/providers.tsx +68 -0
  200. package/template/src/router.tsx +59 -0
  201. package/template/tools/check-design.mjs +73 -0
  202. package/template/tools/new-module.mjs +90 -0
  203. package/template/tools/templates/module/api/__id__.mock.ts.tpl +17 -0
  204. package/template/tools/templates/module/api/__id__.service.ts.tpl +51 -0
  205. package/template/tools/templates/module/hooks.ts.tpl +57 -0
  206. package/template/tools/templates/module/index.ts.tpl +44 -0
  207. package/template/tools/templates/module/locales/en.ts.tpl +51 -0
  208. package/template/tools/templates/module/locales/tr.ts.tpl +55 -0
  209. package/template/tools/templates/module/pages/__id__-detail-page.tsx.tpl +103 -0
  210. package/template/tools/templates/module/pages/__id__-form-page.tsx.tpl +121 -0
  211. package/template/tools/templates/module/pages/__id__-list-page.tsx.tpl +234 -0
  212. package/template/tools/templates/module/types.ts.tpl +32 -0
  213. package/template/tsconfig.app.json +32 -0
  214. package/template/tsconfig.json +12 -0
  215. package/template/tsconfig.node.json +23 -0
  216. package/template/vite.config.ts +47 -0
@@ -0,0 +1,184 @@
1
+ import type { Messages } from '@/core/i18n/types'
2
+ import type en from '../en/account'
3
+
4
+ const account: Messages<typeof en> = {
5
+ profile: {
6
+ title: 'Profil',
7
+ description: 'Kişisel bilgileriniz ve ekip arkadaşlarınızın sizi nasıl gördüğü.',
8
+ saved: 'Profil kaydedildi',
9
+ saveFailed: 'Profiliniz kaydedilemedi',
10
+ photo: {
11
+ title: 'Fotoğraf',
12
+ description: 'PNG, JPG veya WebP, en fazla 2 MB.',
13
+ change: 'Fotoğrafı değiştir',
14
+ tooLarge: 'Görsel 2 MB’den büyük.',
15
+ invalidType: 'PNG, JPG, WebP veya SVG bir görsel seçin.',
16
+ },
17
+ personal: {
18
+ title: 'Kişisel bilgiler',
19
+ description: 'Kenar çubuğunda, oluşturduğunuz etkinliklerde ve ekibinize gösterilir.',
20
+ firstName: 'Ad',
21
+ lastName: 'Soyad',
22
+ jobTitle: 'Unvan',
23
+ jobTitlePlaceholder: 'ör. Operasyon sorumlusu',
24
+ },
25
+ contact: {
26
+ title: 'İletişim',
27
+ description: 'E-posta adresinizi değiştirmek, geçerli olmadan önce doğrulama gerektirir.',
28
+ email: 'E-posta',
29
+ phone: 'Telefon',
30
+ phoneHint: 'İsteğe bağlı. Hesap kurtarma için kullanılır.',
31
+ countryCode: 'Ülke kodu',
32
+ phoneInvalid: '{{country}} için geçerli bir telefon numarası girin',
33
+ emailTaken: 'Bu e-posta başka bir hesap tarafından kullanılıyor',
34
+ },
35
+ pending: {
36
+ title: 'Doğrulama bekleniyor',
37
+ description: '<b>{{email}}</b> adresine bir bağlantı gönderdik. Onaylayana kadar mevcut e-postanız geçerli kalır.',
38
+ resend: 'Bağlantıyı tekrar gönder',
39
+ resent: 'Doğrulama bağlantısı {{email}} adresine gönderildi',
40
+ cancel: 'Değişikliği iptal et',
41
+ cancelled: 'E-posta değişikliği iptal edildi',
42
+ simulate: 'Doğrulandı say (demo)',
43
+ verified: 'E-posta {{email}} olarak güncellendi',
44
+ started: 'Değişikliği onaylamak için {{email}} adresini kontrol edin',
45
+ },
46
+ role: {
47
+ title: 'Rol',
48
+ description: 'Bir yönetici tarafından atanır. Neleri görüp değiştirebileceğinizi belirler.',
49
+ },
50
+ },
51
+ security: {
52
+ title: 'Güvenlik',
53
+ description: 'Şifre, iki adımlı doğrulama ve oturum açtığınız cihazlar.',
54
+ password: {
55
+ title: 'Şifre',
56
+ description: 'Son değişiklik: {{when}}.',
57
+ current: 'Mevcut şifre',
58
+ new: 'Yeni şifre',
59
+ confirm: 'Yeni şifreyi onaylayın',
60
+ submit: 'Şifreyi güncelle',
61
+ updated: 'Şifre güncellendi',
62
+ mismatch: 'Şifreler eşleşmiyor',
63
+ sameAsCurrent: 'Mevcut şifrenizden farklı bir şifre seçin',
64
+ wrongCurrent: 'Mevcut şifre hatalı',
65
+ rules: {
66
+ minLength: 'En az {{count}} karakter',
67
+ uppercase: 'Bir büyük harf',
68
+ number: 'Bir rakam',
69
+ symbol: 'Bir sembol',
70
+ },
71
+ notMet: 'Şifre gereksinimleri karşılamıyor',
72
+ strength: {
73
+ label: 'Güç',
74
+ tooWeak: 'Çok zayıf',
75
+ weak: 'Zayıf',
76
+ fair: 'Orta',
77
+ good: 'İyi',
78
+ strong: 'Güçlü',
79
+ },
80
+ show: 'Şifreyi göster',
81
+ hide: 'Şifreyi gizle',
82
+ },
83
+ twoFactor: {
84
+ title: 'İki adımlı doğrulama',
85
+ description: 'Oturum açarken bir doğrulama uygulamasından kod isteyin.',
86
+ enabled: 'Açık',
87
+ disabled: 'Kapalı',
88
+ enabledSince: '{{when}} açıldı',
89
+ required: 'Şirketiniz tarafından zorunlu',
90
+ enable: 'Kur',
91
+ disable: 'Kapat',
92
+ disableConfirmTitle: 'İki adımlı doğrulama kapatılsın mı?',
93
+ disableConfirmDescription: 'Hesabınız yalnızca şifrenizle korunacak.',
94
+ disabledToast: 'İki adımlı doğrulama kapatıldı',
95
+ cannotDisable: 'Şirketiniz iki adımlı doğrulamayı zorunlu tutuyor.',
96
+ dialog: {
97
+ title: 'İki adımlı doğrulamayı kurun',
98
+ scanStep: 'Bu QR kodunu 1Password, Google Authenticator veya Authy gibi bir doğrulama uygulamasıyla tarayın.',
99
+ manual: 'Tarayamıyor musunuz? Bu anahtarı elle girin:',
100
+ qrLabel: 'Doğrulama uygulamanız için QR kod',
101
+ codeLabel: 'Altı haneli kod',
102
+ codeHint: 'Uygulamada gösterilen kodu girin. Demo: herhangi altı rakam çalışır.',
103
+ codeInvalid: 'Altı haneli kodu girin',
104
+ verify: 'Doğrula ve aç',
105
+ recoveryTitle: 'Kurtarma kodlarınızı saklayın',
106
+ recoveryDescription: 'Doğrulama uygulamanıza erişiminizi kaybederseniz her kod bir kez çalışır. Güvenli bir yerde saklayın.',
107
+ copyCodes: 'Kodları kopyala',
108
+ done: 'Tamam',
109
+ enabledToast: 'İki adımlı doğrulama açıldı',
110
+ },
111
+ },
112
+ sessions: {
113
+ title: 'Etkin oturumlar',
114
+ description: 'Hesabınızda şu anda oturum açık olan cihazlar.',
115
+ signOutOthers: 'Diğer oturumları kapat',
116
+ signOutOthersConfirmTitle: 'Diğer tüm oturumlar kapatılsın mı?',
117
+ signOutOthersConfirmDescription: 'Bu cihaz dışındaki tüm cihazların yeniden oturum açması gerekecek.',
118
+ signedOutOthers: 'Diğer oturumlar kapatıldı',
119
+ revoke: 'Oturumu kapat',
120
+ revokeLabel: '{{device}} oturumunu kapat',
121
+ revoked: '{{device}} oturumu kapatıldı',
122
+ current: 'Bu cihaz',
123
+ device: '{{os}} üzerinde {{browser}}',
124
+ lastActive: '{{when}} etkin',
125
+ none: 'Başka etkin oturum yok',
126
+ },
127
+ history: {
128
+ title: 'Son oturum açmalar',
129
+ description: 'Hesabınıza yapılan son oturum açma denemeleri.',
130
+ columns: { when: 'Zaman', device: 'Cihaz', location: 'Konum', ip: 'IP adresi', result: 'Sonuç' },
131
+ success: 'Başarılı',
132
+ failed: 'Başarısız',
133
+ },
134
+ },
135
+ notifications: {
136
+ title: 'Bildirimler',
137
+ description: 'Hangi konularda ve nereden haberdar olacağınızı seçin.',
138
+ saved: 'Bildirim ayarları kaydedildi',
139
+ channels: { event: 'Olay', email: 'E-posta', inApp: 'Uygulama içi' },
140
+ toggle: '{{channel}}: {{event}}',
141
+ groups: {
142
+ account: 'Hesap ve güvenlik',
143
+ team: 'Ekip',
144
+ company: 'Şirket',
145
+ catalog: 'Katalog',
146
+ updates: 'Güncellemeler',
147
+ },
148
+ events: {
149
+ newSignIn: { label: 'Yeni oturum açma', description: 'Biri hesabınızda yeni bir cihazdan oturum açtığında.' },
150
+ passwordChanged: { label: 'Şifre değişikliği', description: 'Şifreniz veya iki adımlı doğrulama ayarlarınız değiştiğinde.' },
151
+ userJoined: { label: 'Ekip değişiklikleri', description: 'Biri davet edildiğinde, katıldığında veya şirketten ayrıldığında.' },
152
+ roleChanged: { label: 'Rol değişiklikleri', description: 'Rolünüz veya izinleriniz değiştiğinde.' },
153
+ settingsChanged: { label: 'Ayar değişiklikleri', description: 'Şirket ayarları, marka veya entegrasyonlar değiştiğinde.' },
154
+ lowStock: { label: 'Düşük stok', description: 'Aktif ürünlerin stoğu azaldığında.' },
155
+ productChanged: { label: 'Ürün değişiklikleri', description: 'Ürünler oluşturulduğunda, düzenlendiğinde veya silindiğinde.' },
156
+ weeklySummary: { label: 'Haftalık özet', description: 'Her pazartesi sabahı kısa bir rapor.' },
157
+ announcements: { label: 'Ürün haberleri', description: 'Yeni özellikler ve ipuçları. Nadiren.' },
158
+ },
159
+ },
160
+ preferences: {
161
+ title: 'Tercihler',
162
+ description: 'Uygulamanın size nasıl görüneceği ve bilgileri nasıl biçimlendireceği. Değişiklikler hemen uygulanır.',
163
+ appearance: { title: 'Görünüm', description: 'Varsayılan olarak sistem ayarınızı izler.' },
164
+ language: { title: 'Dil', description: 'Arayüz, e-postalar ve biçimler için kullanılır.' },
165
+ region: {
166
+ title: 'Tarih ve saat',
167
+ description: 'Tarih ve saatlerin uygulama genelinde nasıl gösterileceği.',
168
+ timeZone: 'Saat dilimi',
169
+ auto: 'Otomatik ({{zone}})',
170
+ dateFormat: 'Tarih biçimi',
171
+ dateAuto: 'Dil varsayılanı ({{example}})',
172
+ example: 'Örnek: {{value}}',
173
+ },
174
+ sidebar: {
175
+ title: 'Kenar çubuğu',
176
+ description: 'Uygulamayı açtığınızda kenar çubuğunun nasıl başlayacağı.',
177
+ remember: 'Son durumu hatırla',
178
+ expanded: 'Açık',
179
+ collapsed: 'Daraltılmış',
180
+ },
181
+ },
182
+ }
183
+
184
+ export default account
@@ -0,0 +1,22 @@
1
+ import type { Messages } from '@/core/i18n/types'
2
+ import type en from '../en/auth'
3
+
4
+ const auth: Messages<typeof en> = {
5
+ signIn: {
6
+ title: 'Oturum aç',
7
+ heading: 'Tekrar hoş geldiniz',
8
+ description: '{{name}} hesabınızla oturum açın',
9
+ email: 'E-posta',
10
+ password: 'Şifre',
11
+ submit: 'Devam et',
12
+ demo: 'Demo modu: her şifre çalışır. Bir rolü denemek için owner@, admin@, editor@ veya viewer@{{domain}} ile oturum açın.',
13
+ invalid: 'E-posta veya şifre hatalı.',
14
+ welcome: 'Hoş geldiniz, {{name}}',
15
+ failed: 'Oturum açılamadı',
16
+ passwordRequired: 'Şifrenizi girin',
17
+ invitationOnly: 'Hesaplar davetle oluşturulur. Çalışma alanınızın bir yöneticisinden sizi davet etmesini isteyin.',
18
+ inactive: 'Bu hesap aktif değil. Bir yöneticiden yeniden etkinleştirmesini isteyin veya önce davetinizi kabul edin.',
19
+ },
20
+ }
21
+
22
+ export default auth
@@ -0,0 +1,154 @@
1
+ import type { Messages } from '@/core/i18n/types'
2
+ import type en from '../en/common'
3
+
4
+ const common: Messages<typeof en> = {
5
+ app: {
6
+ tagline: 'Yönetim şablonu',
7
+ },
8
+ nav: {
9
+ groups: {
10
+ overview: 'Genel bakış',
11
+ catalog: 'Katalog',
12
+ content: 'İçerik',
13
+ system: 'Sistem',
14
+ },
15
+ dashboard: 'Pano',
16
+ settings: 'Ayarlar',
17
+ notFound: 'Bulunamadı',
18
+ noAccess: 'Erişim yok',
19
+ },
20
+ roles: {
21
+ owner: 'Sahip',
22
+ admin: 'Yönetici',
23
+ editor: 'Editör',
24
+ viewer: 'İzleyici',
25
+ },
26
+ plans: {
27
+ personal: 'Kişisel',
28
+ business: 'İşletme',
29
+ team: 'Ekip',
30
+ },
31
+ shell: {
32
+ workspaces: 'Çalışma alanları',
33
+ switchWorkspace: 'Çalışma alanını değiştir',
34
+ addWorkspace: 'Çalışma alanı ekle',
35
+ accountMenu: 'Hesap menüsü',
36
+ profile: 'Profil',
37
+ signOut: 'Çıkış yap',
38
+ search: 'Ara',
39
+ searchShortcut: 'Ara ({{shortcut}})',
40
+ toggleSidebar: 'Kenar çubuğunu aç/kapat',
41
+ breadcrumb: 'Sayfa yolu',
42
+ devRole: 'Geliştirme: rol',
43
+ devRoleHint: 'Yalnızca geliştirme ortamında. Bu roldeki örnek kullanıcıyla oturum açar.',
44
+ devSwitched: '{{name}} olarak oturum açıldı ({{role}})',
45
+ },
46
+ a11y: {
47
+ sidebar: 'Gezinme',
48
+ sidebarDescription: 'Ana gezinme ve hesap menüsü',
49
+ loading: 'Yükleniyor',
50
+ more: 'Daha fazla',
51
+ morePages: 'Diğer sayfalar',
52
+ pagination: 'Sayfalama',
53
+ previous: 'Önceki',
54
+ next: 'Sonraki',
55
+ previousPage: 'Önceki sayfaya git',
56
+ nextPage: 'Sonraki sayfaya git',
57
+ },
58
+ command: {
59
+ title: 'Ara',
60
+ description: 'Bir sayfaya git veya komut çalıştır',
61
+ placeholder: 'Sayfa ve işlem ara…',
62
+ empty: 'Sonuç yok.',
63
+ pages: 'Sayfalar',
64
+ actions: 'İşlemler',
65
+ preferences: 'Tercihler',
66
+ },
67
+ actions: {
68
+ back: 'Geri',
69
+ save: 'Kaydet',
70
+ saveChanges: 'Değişiklikleri kaydet',
71
+ cancel: 'Vazgeç',
72
+ confirm: 'Onayla',
73
+ delete: 'Sil',
74
+ edit: 'Düzenle',
75
+ view: 'Görüntüle',
76
+ retry: 'Tekrar dene',
77
+ clear: 'Temizle',
78
+ close: 'Kapat',
79
+ copy: 'Kopyala',
80
+ copied: 'Kopyalandı',
81
+ continue: 'Devam et',
82
+ upload: 'Yükle',
83
+ remove: 'Kaldır',
84
+ reset: 'Sıfırla',
85
+ discard: 'Vazgeç',
86
+ backToDashboard: 'Panoya dön',
87
+ backHome: 'Ana sayfaya dön',
88
+ },
89
+ states: {
90
+ loading: 'Yükleniyor…',
91
+ emptyTitle: 'Henüz bir şey yok',
92
+ errorTitle: 'Bir şeyler ters gitti',
93
+ errorDescription: 'Lütfen biraz sonra tekrar deneyin.',
94
+ notFoundTitle: 'Bulunamadı',
95
+ notFoundDescription: 'Silinmiş olabilir ya da bağlantı hatalı.',
96
+ readOnly: 'Bu ayarları görüntüleyebilirsiniz ancak değiştiremezsiniz.',
97
+ },
98
+ table: {
99
+ search: 'Ara…',
100
+ noResults: 'Sonuç bulunamadı',
101
+ range: '{{from}}–{{to}} / {{total}} {{noun}}',
102
+ results: 'sonuç',
103
+ rows: 'Satır',
104
+ rowsPerPage: 'Sayfa başına satır',
105
+ page: '{{page}} / {{count}}',
106
+ previousPage: 'Önceki sayfa',
107
+ nextPage: 'Sonraki sayfa',
108
+ actions: 'İşlemler',
109
+ actionsFor: '{{name}} için işlemler',
110
+ selected: '{{count}} seçili',
111
+ clearSelection: 'Seçimi temizle',
112
+ selectAll: 'Bu sayfadaki tüm satırları seç',
113
+ selectRow: 'Satırı seç',
114
+ },
115
+ fields: {
116
+ pickDate: 'Tarih seçin',
117
+ search: 'Ara…',
118
+ addFiles: 'Dosya ekle',
119
+ removeFile: '{{name}} dosyasını kaldır',
120
+ },
121
+ form: {
122
+ unsaved: 'Kaydedilmemiş değişiklikleriniz var',
123
+ optional: 'İsteğe bağlı',
124
+ },
125
+ confirm: {
126
+ typeToConfirm: 'Onaylamak için <b>{{value}}</b> yazın.',
127
+ typeToConfirmLabel: 'Onay metni',
128
+ },
129
+ theme: {
130
+ label: 'Tema',
131
+ change: 'Temayı değiştir',
132
+ light: 'Açık',
133
+ dark: 'Koyu',
134
+ system: 'Sistem',
135
+ command: '{{theme}} tema',
136
+ },
137
+ language: {
138
+ label: 'Dil',
139
+ change: 'Dili değiştir',
140
+ },
141
+ validation: {
142
+ required: 'Bu alan zorunludur',
143
+ email: 'Geçerli bir e-posta adresi girin',
144
+ minChars: 'En az {{min}} karakter kullanın',
145
+ maxChars: '{{max}} karakterden kısa tutun',
146
+ number: 'Bir sayı girin',
147
+ integer: 'Yalnızca tam sayı',
148
+ nonNegative: 'Negatif olamaz',
149
+ max: 'En fazla {{max, number}} olabilir',
150
+ choose: 'Bir seçenek belirleyin',
151
+ },
152
+ }
153
+
154
+ export default common