feat(households): hane seçici, ayarlar, admin hane yönetimi ve hane-yok sayfası

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-05 02:35:01 +03:00
parent de91f2505a
commit 3644e081b1
21 changed files with 1427 additions and 29 deletions
+85
View File
@@ -63,6 +63,87 @@ export const tr = {
label: "Aktif hane",
select: "Hane seçin",
roles: { owner: "Sahip", member: "Üye", viewer: "İzleyici" },
roleHints: {
owner: "Hane ayarları, üyeler ve hesaplar",
member: "İşlem girer, liste ve stok günceller",
viewer: "Yalnızca görüntüler",
},
switched: (name: string) => `Aktif hane: ${name}`,
},
households: {
lastOwner: "Hanenin son sahibi düşürülemez veya çıkarılamaz.",
noHousehold: {
title: "Henüz bir haneye üye değilsiniz",
description:
"Bütçe ve diğer verileri görmek için bir haneye üye olmanız gerekir. Yöneticiden sizi bir haneye eklemesini isteyin.",
adminHint:
"Yönetici olarak Yönetim › Haneler sayfasından hane oluşturabilir ve üye ekleyebilirsiniz.",
adminLink: "Hanelere git",
},
viewerReadOnly: "İzleyici rolündesiniz; bu hanede değişiklik yapamazsınız.",
},
settings: {
title: "Ayarlar",
description: "Aktif hanenin ayarları ve üyeleri.",
household: "Hane",
householdDescription: "Bütçe ve planlama tercihleri tüm hane için geçerlidir.",
ownerOnly: "Bu ayarları yalnızca hane sahipleri değiştirebilir.",
fields: {
name: "Hane adı",
budgetMonthStartDay: "Bütçe ayı başlangıç günü",
budgetMonthStartDayHint:
"1 = takvim ayı. Örneğin 15 seçilirse bütçe ayı her ayın 15. günü başlar.",
installmentBudgetMode: "Taksitlerin bütçeye etkisi",
installmentModes: {
per_installment: "Her taksit kendi ayına",
purchase_month: "Tamamı harcama ayına",
},
dailyPlanMode: "Günlük plan dağıtımı",
dailyPlanModes: {
even: "Değişken bütçe günlere eşit",
previous_month_pattern: "Önceki ayın harcama örüntüsüne göre",
},
includePrivateAccountsInTotals: "“Yalnızca ben” hesapları hane toplamlarına dahil edilsin",
extraStoreSavingThreshold: "Ek mağaza tasarruf eşiği (TL)",
extraStoreSavingThresholdHint:
"Alışveriş planlayıcı, ek bir mağazayı yalnızca tasarruf bu tutarı aşarsa önerir.",
},
saved: "Hane ayarları kaydedildi.",
members: "Üyeler",
membersDescription: "Hane içi roller. Yeni üyeyi yönetici ekler.",
memberActions: (name: string) => `${name} — işlemler`,
changeRole: "Rolü değiştir",
removeMember: "Haneden çıkar",
removeTitle: "Üye haneden çıkarılsın mı?",
removeDescription: (name: string, household: string) =>
`${name}, “${household}” hanesine artık erişemeyecek. Kullanıcı hesabı silinmez.`,
removeConfirm: "Haneden çıkar",
roleChanged: (name: string) => `${name} için rol güncellendi.`,
memberRemoved: (name: string) => `${name} haneden çıkarıldı.`,
banned: "Askıda",
},
adminHouseholds: {
title: "Haneler",
description: "Hane oluşturma, kullanıcıları haneye atama ve hane içi roller.",
newHousehold: "Yeni hane",
createTitle: "Yeni hane",
createDescription: "Hane oluşturulur ve seçilen kullanıcı ilk sahibi olur.",
name: "Hane adı",
owner: "İlk sahip",
selectUser: "Kullanıcı seçin",
created: (name: string) => `${name} hanesi oluşturuldu.`,
members: (n: number) => `${n} üye`,
owners: "Sahipler",
noOwner: "Sahibi yok",
addMember: "Üye ekle",
addMemberTitle: (household: string) => `${household} — üye ekle`,
addMemberDescription: "Kullanıcı zaten üyeyse rolü güncellenir.",
user: "Kullanıcı",
role: "Hane içi rol",
memberAdded: (name: string) => `${name} haneye eklendi.`,
empty: "Henüz hane yok.",
privacyNote:
"Yöneticiler haneleri ve üyelikleri yönetir; üyesi olmadıkları hanenin finansal verisini göremez.",
},
userMenu: {
open: "Kullanıcı menüsü",
@@ -196,6 +277,10 @@ export const tr = {
passwordMin: "Şifre en az 8 karakter olmalı",
passwordMax: "Şifre en fazla 128 karakter olabilir",
banReasonMax: "Neden en fazla 200 karakter olabilir",
householdNameMin: "Hane adı en az 2 karakter olmalı",
householdNameMax: "Hane adı en fazla 80 karakter olabilir",
selectUser: "Bir kullanıcı seçin",
wholeNumber: "Tam sayı girin",
},
errors: {
notFoundTitle: "Sayfa bulunamadı",