feat(ui): kart özeti, KMH paneli, taksit seçimi ve kalan taksit iptali

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-05 11:19:17 +03:00
parent cc624af69f
commit 0ad52757ad
7 changed files with 512 additions and 9 deletions
+62
View File
@@ -199,6 +199,9 @@ export const tr = {
cardDueValueDay: "Ayın günü",
cardPaymentAccount: "Ödeme hesabı",
cardPaymentAccountNone: "— Seçilmedi —",
cardMinimumRate: "Asgari ödeme oranı (%)",
cardMinimumRateHint:
"Boş bırakılırsa limit 50.000 TL'nin altındaysa %20, üstündeyse %40 kullanılır.",
},
summary: {
assets: "Varlıklar",
@@ -266,6 +269,11 @@ export const tr = {
remainingOk: "Kalemler toplamı tutara eşit",
fillRemaining: "Kalanı son kaleme ekle",
suggested: "Bu satıcı için son kullanılan kategori ve hesap önerildi.",
installments: "Taksit",
singlePayment: "Peşin",
installmentCount: (n: number) => `${n} taksit`,
installmentHint: (n: number, each: string) =>
`${n} × yaklaşık ${each}; vadesi gelen taksit kendi döneminde otomatik gerçekleşir.`,
},
validation: {
amountPositive: "Tutar sıfırdan büyük olmalı",
@@ -277,6 +285,9 @@ export const tr = {
splitSum: "Kalemlerin toplamı tutara eşit olmalı",
accountInvalid: "Hesap bu hanede yok, arşivli veya size kapalı.",
categoryInvalid: "Kategori bu hanede yok, arşivli veya işlem türüyle uyuşmuyor.",
installmentsMax: "En fazla 36 taksit",
installmentsExpenseOnly: "Taksit yalnızca bölünmemiş kredi kartı giderinde kullanılabilir.",
installmentsCardOnly: "Taksit yalnızca kredi kartı hesabında kullanılabilir.",
},
list: {
empty: "Bu filtrelerle işlem bulunamadı.",
@@ -321,6 +332,7 @@ export const tr = {
updated: "İşlem güncellendi.",
deleted: "İşlem silindi.",
restored: "İşlem geri alındı.",
installmentsCancelled: (n: number) => `${n} kalan taksit iptal edildi.`,
},
deleteTitle: "İşlem silinsin mi?",
deleteDescription:
@@ -348,6 +360,7 @@ export const tr = {
adjustmentReadOnly:
"Mutabakat düzeltmesi düzenlenemez; gerekirse silip mutabakatı yeniden yapın.",
reconciled: "Mutabakatı yapıldı",
cancelInstallments: "Kalan taksitleri iptal et",
readOnly: "İzleyici rolündesiniz; işlem ekleyemezsiniz.",
noAccounts: "İşlem girmek için önce bir hesap gerekli.",
noAccountsLink: "Hesaplara git",
@@ -460,6 +473,55 @@ export const tr = {
upload: "Dosya yüklenemedi.",
},
},
card: {
title: "Kart özeti",
debt: "Toplam borç",
available: "Kullanılabilir limit",
limitOf: (limit: string) => `Limit ${limit}`,
pendingInstallments: (amount: string) => `Gelecek taksitler limitten düşer: ${amount}`,
statementPeriod: "Hesap kesim dönemi",
currentPeriod: "Güncel dönem",
periodRange: (start: string, end: string) => `${start} – ${end}`,
statementDebt: "Dönem borcu",
minimum: (rate: string) => `Asgari ödeme (%${rate})`,
paid: "Ödenen",
remaining: "Kalan",
dueDate: "Son ödeme",
daysLeft: (n: number) =>
n > 0 ? `${n} gün kaldı` : n === 0 ? "Bugün son gün" : `${-n} gün geçti`,
paidInFull: "Dönem borcu ödendi.",
spent: "Harcama",
pay: "Borcu öde",
payDescription: "Kart borcu ödemesi",
upcomingInstallments: "Yaklaşan taksitler",
installmentPeriod: (end: string, due: string, n: number) =>
`${end} kesim · son ödeme ${due} · ${n} taksit`,
noInstallments: "Bekleyen taksit yok.",
planned: "Planlı harcamalar",
history: "Geçmiş ekstreler",
historyHeaders: {
period: "Dönem",
debt: "Borç",
minimum: "Asgari",
paid: "Ödenen",
due: "Son ödeme",
},
},
overdraft: {
title: "Esnek hesap (KMH)",
limit: "KMH limiti",
used: "Kullanılan",
available: "Kullanılabilir KMH",
rate: (rate: string) => `Aylık faiz %${rate}`,
lastPeriod: "Geçen dönem",
currentSoFar: "Bu dönem (şimdiye kadar)",
estimatedInterest: "Tahmini faiz",
averageUsed: (amount: string) => `Ortalama kullanım ${amount}`,
bookInterest: "Faiz kaydı ekle",
booked: "Bu dönemin faiz kaydı girilmiş.",
interestDescription: (range: string) => `KMH faizi (${range})`,
taxNote: "Tahmin vergiler (KKDF/BSMV) hariçtir; banka ekstresindeki tutarı girin.",
},
statement: {
title: "Hesap ekstresi",
back: "Hesaplar",