diff --git a/public/locales/ar.json b/public/locales/ar.json
index bb06e0e..c319ce2 100644
--- a/public/locales/ar.json
+++ b/public/locales/ar.json
@@ -609,7 +609,15 @@
"newCategoryTitle": "فئة جديدة",
"newCategoryPlaceholder": "اسم الفئة",
"newSubcategoryTitle": "فئة فرعية جديدة",
- "newSubcategoryPlaceholder": "اسم الفئة الفرعية"
+ "newSubcategoryPlaceholder": "اسم الفئة الفرعية",
+ "loanStatusFilterLabel": "فلتر حالة القرض",
+ "loanStatusActive": "نشطة",
+ "loanStatusPaid": "مدفوعة",
+ "loanStatusAll": "الكل",
+ "loanTransactions": "معاملات القرض",
+ "loanInstallmentNumber": "القسط {{number}} من {{total}}",
+ "loanReportTitle": "تقرير القرض",
+ "loanNoTransactions": "لم يتم تسجيل أي دفعات بعد."
},
"settings": {
"title": "الإعدادات",
diff --git a/public/locales/de.json b/public/locales/de.json
index 8600a5d..11793da 100644
--- a/public/locales/de.json
+++ b/public/locales/de.json
@@ -634,7 +634,15 @@
"newCategoryTitle": "Neue Kategorie",
"newCategoryPlaceholder": "Kategoriename",
"newSubcategoryTitle": "Neue Unterkategorie",
- "newSubcategoryPlaceholder": "Name der Unterkategorie"
+ "newSubcategoryPlaceholder": "Name der Unterkategorie",
+ "loanStatusFilterLabel": "Darlehensstatus filtern",
+ "loanStatusActive": "Aktiv",
+ "loanStatusPaid": "Bezahlt",
+ "loanStatusAll": "Alle",
+ "loanTransactions": "Darlehenstransaktionen",
+ "loanInstallmentNumber": "Rate {{number}} von {{total}}",
+ "loanReportTitle": "Darlehensbericht",
+ "loanNoTransactions": "Noch keine Zahlungen erfasst."
},
"settings": {
"title": "Einstellungen",
diff --git a/public/locales/el.json b/public/locales/el.json
index 84cce00..f570d37 100644
--- a/public/locales/el.json
+++ b/public/locales/el.json
@@ -609,7 +609,15 @@
"newCategoryTitle": "Νέα κατηγορία",
"newCategoryPlaceholder": "Όνομα κατηγορίας",
"newSubcategoryTitle": "Νέα υποκατηγορία",
- "newSubcategoryPlaceholder": "Όνομα υποκατηγορίας"
+ "newSubcategoryPlaceholder": "Όνομα υποκατηγορίας",
+ "loanStatusFilterLabel": "Φίλτρο κατάστασης δανείων",
+ "loanStatusActive": "Ενεργά",
+ "loanStatusPaid": "Πληρωμένα",
+ "loanStatusAll": "Όλα",
+ "loanTransactions": "Συναλλαγές δανείου",
+ "loanInstallmentNumber": "Δόση {{number}} από {{total}}",
+ "loanReportTitle": "Αναφορά δανείου",
+ "loanNoTransactions": "Δεν έχουν καταγραφεί πληρωμές ακόμα."
},
"settings": {
"title": "Ρυθμίσεις",
diff --git a/public/locales/en.json b/public/locales/en.json
index 0e65b43..d11437c 100644
--- a/public/locales/en.json
+++ b/public/locales/en.json
@@ -609,7 +609,15 @@
"newCategoryTitle": "New category",
"newCategoryPlaceholder": "Category name",
"newSubcategoryTitle": "New subcategory",
- "newSubcategoryPlaceholder": "Subcategory name"
+ "newSubcategoryPlaceholder": "Subcategory name",
+ "loanStatusFilterLabel": "Loan status filter",
+ "loanStatusActive": "Active",
+ "loanStatusPaid": "Paid",
+ "loanStatusAll": "All",
+ "loanTransactions": "Loan transactions",
+ "loanInstallmentNumber": "Installment {{number}} of {{total}}",
+ "loanReportTitle": "Loan report",
+ "loanNoTransactions": "No payments recorded yet."
},
"settings": {
"title": "Settings",
diff --git a/public/locales/es.json b/public/locales/es.json
index 00bdbc1..26e044e 100644
--- a/public/locales/es.json
+++ b/public/locales/es.json
@@ -609,7 +609,15 @@
"newCategoryTitle": "Nueva categoría",
"newCategoryPlaceholder": "Nombre de la categoría",
"newSubcategoryTitle": "Nueva subcategoría",
- "newSubcategoryPlaceholder": "Nombre de la subcategoría"
+ "newSubcategoryPlaceholder": "Nombre de la subcategoría",
+ "loanStatusFilterLabel": "Filtro de estado de préstamos",
+ "loanStatusActive": "Activos",
+ "loanStatusPaid": "Pagados",
+ "loanStatusAll": "Todos",
+ "loanTransactions": "Transacciones del préstamo",
+ "loanInstallmentNumber": "Cuota {{number}} de {{total}}",
+ "loanReportTitle": "Informe del préstamo",
+ "loanNoTransactions": "Aún no hay pagos registrados."
},
"settings": {
"title": "Ajustes",
diff --git a/public/locales/fr.json b/public/locales/fr.json
index bd02cdf..e1e3438 100644
--- a/public/locales/fr.json
+++ b/public/locales/fr.json
@@ -609,7 +609,15 @@
"newCategoryTitle": "Nouvelle catégorie",
"newCategoryPlaceholder": "Nom de la catégorie",
"newSubcategoryTitle": "Nouvelle sous-catégorie",
- "newSubcategoryPlaceholder": "Nom de la sous-catégorie"
+ "newSubcategoryPlaceholder": "Nom de la sous-catégorie",
+ "loanStatusFilterLabel": "Filtre de statut des prêts",
+ "loanStatusActive": "Actifs",
+ "loanStatusPaid": "Payés",
+ "loanStatusAll": "Tous",
+ "loanTransactions": "Transactions du prêt",
+ "loanInstallmentNumber": "Échéance {{number}} sur {{total}}",
+ "loanReportTitle": "Rapport du prêt",
+ "loanNoTransactions": "Aucun paiement enregistré."
},
"settings": {
"title": "Paramètres",
diff --git a/public/locales/hi.json b/public/locales/hi.json
index 12d81b9..91df594 100644
--- a/public/locales/hi.json
+++ b/public/locales/hi.json
@@ -609,7 +609,15 @@
"newCategoryTitle": "नई श्रेणी",
"newCategoryPlaceholder": "श्रेणी का नाम",
"newSubcategoryTitle": "नई उपश्रेणी",
- "newSubcategoryPlaceholder": "उपश्रेणी का नाम"
+ "newSubcategoryPlaceholder": "उपश्रेणी का नाम",
+ "loanStatusFilterLabel": "उधार स्थिति फ़िल्टर",
+ "loanStatusActive": "सक्रिय",
+ "loanStatusPaid": "चुकाया गया",
+ "loanStatusAll": "सभी",
+ "loanTransactions": "उधार लेन-देन",
+ "loanInstallmentNumber": "{{total}} में से किस्त {{number}}",
+ "loanReportTitle": "उधार रिपोर्ट",
+ "loanNoTransactions": "अभी कोई भुगतान दर्ज नहीं है।"
},
"settings": {
"title": "सेटिंग्स",
diff --git a/public/locales/it.json b/public/locales/it.json
index c5925a6..cc01c3a 100644
--- a/public/locales/it.json
+++ b/public/locales/it.json
@@ -609,7 +609,15 @@
"newCategoryTitle": "Nuova categoria",
"newCategoryPlaceholder": "Nome categoria",
"newSubcategoryTitle": "Nuova sottocategoria",
- "newSubcategoryPlaceholder": "Nome sottocategoria"
+ "newSubcategoryPlaceholder": "Nome sottocategoria",
+ "loanStatusFilterLabel": "Filtro stato prestiti",
+ "loanStatusActive": "Attivi",
+ "loanStatusPaid": "Pagati",
+ "loanStatusAll": "Tutti",
+ "loanTransactions": "Movimenti del prestito",
+ "loanInstallmentNumber": "Rata {{number}} di {{total}}",
+ "loanReportTitle": "Report del prestito",
+ "loanNoTransactions": "Nessun pagamento registrato."
},
"settings": {
"title": "Impostazioni",
diff --git a/public/locales/ja.json b/public/locales/ja.json
index e9936dd..bcc9bc6 100644
--- a/public/locales/ja.json
+++ b/public/locales/ja.json
@@ -609,7 +609,15 @@
"newCategoryTitle": "新しいカテゴリ",
"newCategoryPlaceholder": "カテゴリ名",
"newSubcategoryTitle": "新しいサブカテゴリ",
- "newSubcategoryPlaceholder": "サブカテゴリ名"
+ "newSubcategoryPlaceholder": "サブカテゴリ名",
+ "loanStatusFilterLabel": "貸付ステータスフィルター",
+ "loanStatusActive": "進行中",
+ "loanStatusPaid": "完済",
+ "loanStatusAll": "すべて",
+ "loanTransactions": "貸付取引",
+ "loanInstallmentNumber": "{{total}} 回中 {{number}} 回目",
+ "loanReportTitle": "貸付レポート",
+ "loanNoTransactions": "返済はまだ記録されていません。"
},
"settings": {
"title": "設定",
diff --git a/public/locales/pt.json b/public/locales/pt.json
index 7e8130b..783ca78 100644
--- a/public/locales/pt.json
+++ b/public/locales/pt.json
@@ -609,7 +609,15 @@
"newCategoryTitle": "Nova categoria",
"newCategoryPlaceholder": "Nome da categoria",
"newSubcategoryTitle": "Nova subcategoria",
- "newSubcategoryPlaceholder": "Nome da subcategoria"
+ "newSubcategoryPlaceholder": "Nome da subcategoria",
+ "loanStatusFilterLabel": "Filtro de status dos empréstimos",
+ "loanStatusActive": "Ativos",
+ "loanStatusPaid": "Pagos",
+ "loanStatusAll": "Todos",
+ "loanTransactions": "Transações do empréstimo",
+ "loanInstallmentNumber": "Parcela {{number}} de {{total}}",
+ "loanReportTitle": "Relatório do empréstimo",
+ "loanNoTransactions": "Nenhum pagamento registrado ainda."
},
"settings": {
"title": "Configurações",
diff --git a/public/locales/ru.json b/public/locales/ru.json
index e82839a..7dac1a0 100644
--- a/public/locales/ru.json
+++ b/public/locales/ru.json
@@ -609,7 +609,15 @@
"newCategoryTitle": "Новая категория",
"newCategoryPlaceholder": "Название категории",
"newSubcategoryTitle": "Новая подкатегория",
- "newSubcategoryPlaceholder": "Название подкатегории"
+ "newSubcategoryPlaceholder": "Название подкатегории",
+ "loanStatusFilterLabel": "Фильтр статуса займов",
+ "loanStatusActive": "Активные",
+ "loanStatusPaid": "Оплаченные",
+ "loanStatusAll": "Все",
+ "loanTransactions": "Операции займа",
+ "loanInstallmentNumber": "Платёж {{number}} из {{total}}",
+ "loanReportTitle": "Отчёт по займу",
+ "loanNoTransactions": "Платежи ещё не записаны."
},
"settings": {
"title": "Настройки",
diff --git a/public/locales/sv.json b/public/locales/sv.json
index 2433464..d3c9234 100644
--- a/public/locales/sv.json
+++ b/public/locales/sv.json
@@ -609,7 +609,15 @@
"newCategoryTitle": "Ny kategori",
"newCategoryPlaceholder": "Kategorinamn",
"newSubcategoryTitle": "Ny underkategori",
- "newSubcategoryPlaceholder": "Underkategorinamn"
+ "newSubcategoryPlaceholder": "Underkategorinamn",
+ "loanStatusFilterLabel": "Filter för lånestatus",
+ "loanStatusActive": "Aktiva",
+ "loanStatusPaid": "Betalda",
+ "loanStatusAll": "Alla",
+ "loanTransactions": "Lånetransaktioner",
+ "loanInstallmentNumber": "Delbetalning {{number}} av {{total}}",
+ "loanReportTitle": "Lånrapport",
+ "loanNoTransactions": "Inga betalningar registrerade ännu."
},
"settings": {
"title": "Inställningar",
diff --git a/public/locales/tr.json b/public/locales/tr.json
index 21d8586..6eba08c 100644
--- a/public/locales/tr.json
+++ b/public/locales/tr.json
@@ -609,7 +609,15 @@
"newCategoryTitle": "Yeni kategori",
"newCategoryPlaceholder": "Kategori adı",
"newSubcategoryTitle": "Yeni alt kategori",
- "newSubcategoryPlaceholder": "Alt kategori adı"
+ "newSubcategoryPlaceholder": "Alt kategori adı",
+ "loanStatusFilterLabel": "Borç durumu filtresi",
+ "loanStatusActive": "Aktif",
+ "loanStatusPaid": "Ödendi",
+ "loanStatusAll": "Tümü",
+ "loanTransactions": "Borç işlemleri",
+ "loanInstallmentNumber": "{{total}} taksitten {{number}}.",
+ "loanReportTitle": "Borç raporu",
+ "loanNoTransactions": "Henüz ödeme kaydedilmedi."
},
"settings": {
"title": "Ayarlar",
diff --git a/public/locales/uk.json b/public/locales/uk.json
index 7c5d60c..f41aeae 100644
--- a/public/locales/uk.json
+++ b/public/locales/uk.json
@@ -609,7 +609,15 @@
"newCategoryTitle": "Нова категорія",
"newCategoryPlaceholder": "Назва категорії",
"newSubcategoryTitle": "Нова підкатегорія",
- "newSubcategoryPlaceholder": "Назва підкатегорії"
+ "newSubcategoryPlaceholder": "Назва підкатегорії",
+ "loanStatusFilterLabel": "Фільтр статусу позик",
+ "loanStatusActive": "Активні",
+ "loanStatusPaid": "Сплачені",
+ "loanStatusAll": "Усі",
+ "loanTransactions": "Операції позики",
+ "loanInstallmentNumber": "Платіж {{number}} з {{total}}",
+ "loanReportTitle": "Звіт по позиці",
+ "loanNoTransactions": "Платежі ще не записано."
},
"settings": {
"title": "Налаштування",
diff --git a/public/locales/zh.json b/public/locales/zh.json
index 59204a9..285a9d4 100644
--- a/public/locales/zh.json
+++ b/public/locales/zh.json
@@ -609,7 +609,15 @@
"newCategoryTitle": "新类别",
"newCategoryPlaceholder": "类别名称",
"newSubcategoryTitle": "新子类别",
- "newSubcategoryPlaceholder": "子类别名称"
+ "newSubcategoryPlaceholder": "子类别名称",
+ "loanStatusFilterLabel": "借款状态筛选",
+ "loanStatusActive": "进行中",
+ "loanStatusPaid": "已还清",
+ "loanStatusAll": "全部",
+ "loanTransactions": "借款交易",
+ "loanInstallmentNumber": "第 {{number}} / {{total}} 期",
+ "loanReportTitle": "借款报告",
+ "loanNoTransactions": "尚未记录还款。"
},
"settings": {
"title": "设置",
diff --git a/public/pages/budget.js b/public/pages/budget.js
index ef7f8bf..5259966 100644
--- a/public/pages/budget.js
+++ b/public/pages/budget.js
@@ -127,6 +127,7 @@ let state = {
loans: { loans: [], summary: { active_count: 0, remaining_amount: 0, remaining_installments: 0 } },
activeTab: 'budget',
loanFilterId: null,
+ loanStatusFilter: 'active',
currency: 'EUR',
meta: { expenseCategories: [], incomeCategories: [], expenseSubcategories: {} },
};
@@ -486,7 +487,7 @@ function renderLoansDashboard() {
if (!loans.length) return '';
const summary = state.loans?.summary ?? {};
- const activeLoans = loans.filter((loan) => loan.status === 'active');
+ const visibleLoans = filteredLoans();
return `