@jjlmoya/utils-finance 1.4.0 → 1.6.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.
- package/package.json +2 -1
- package/src/tests/faq_count.test.ts +1 -1
- package/src/tests/i18n_coverage.test.ts +36 -0
- package/src/tests/locale_completeness.test.ts +3 -0
- package/src/tests/slug_uniqueness.test.ts +81 -0
- package/src/tests/title_quality.test.ts +1 -1
- package/src/tool/compoundInterest/i18n/de.ts +208 -0
- package/src/tool/compoundInterest/i18n/id.ts +208 -0
- package/src/tool/compoundInterest/i18n/it.ts +208 -0
- package/src/tool/compoundInterest/i18n/ja.ts +207 -0
- package/src/tool/compoundInterest/i18n/ko.ts +207 -0
- package/src/tool/compoundInterest/i18n/nl.ts +208 -0
- package/src/tool/compoundInterest/i18n/pl.ts +208 -0
- package/src/tool/compoundInterest/i18n/pt.ts +208 -0
- package/src/tool/compoundInterest/i18n/ru.ts +208 -0
- package/src/tool/compoundInterest/i18n/sv.ts +208 -0
- package/src/tool/compoundInterest/i18n/tr.ts +208 -0
- package/src/tool/compoundInterest/i18n/zh.ts +202 -0
- package/src/tool/compoundInterest/index.ts +15 -7
- package/src/tool/courtFeeCalculator/i18n/de.ts +152 -0
- package/src/tool/courtFeeCalculator/i18n/fr.ts +1 -1
- package/src/tool/courtFeeCalculator/i18n/id.ts +152 -0
- package/src/tool/courtFeeCalculator/i18n/it.ts +152 -0
- package/src/tool/courtFeeCalculator/i18n/ja.ts +152 -0
- package/src/tool/courtFeeCalculator/i18n/ko.ts +152 -0
- package/src/tool/courtFeeCalculator/i18n/nl.ts +152 -0
- package/src/tool/courtFeeCalculator/i18n/pl.ts +152 -0
- package/src/tool/courtFeeCalculator/i18n/pt.ts +152 -0
- package/src/tool/courtFeeCalculator/i18n/ru.ts +152 -0
- package/src/tool/courtFeeCalculator/i18n/sv.ts +152 -0
- package/src/tool/courtFeeCalculator/i18n/tr.ts +152 -0
- package/src/tool/courtFeeCalculator/i18n/zh.ts +152 -0
- package/src/tool/courtFeeCalculator/index.ts +16 -8
- package/src/tool/debtSnowball/i18n/de.ts +160 -0
- package/src/tool/debtSnowball/i18n/id.ts +160 -0
- package/src/tool/debtSnowball/i18n/it.ts +160 -0
- package/src/tool/debtSnowball/i18n/ja.ts +157 -0
- package/src/tool/debtSnowball/i18n/ko.ts +160 -0
- package/src/tool/debtSnowball/i18n/nl.ts +160 -0
- package/src/tool/debtSnowball/i18n/pl.ts +160 -0
- package/src/tool/debtSnowball/i18n/pt.ts +160 -0
- package/src/tool/debtSnowball/i18n/ru.ts +160 -0
- package/src/tool/debtSnowball/i18n/sv.ts +160 -0
- package/src/tool/debtSnowball/i18n/tr.ts +160 -0
- package/src/tool/debtSnowball/i18n/zh.ts +160 -0
- package/src/tool/debtSnowball/index.ts +17 -9
- package/src/tool/fireCalculator/i18n/de.ts +261 -0
- package/src/tool/fireCalculator/i18n/id.ts +261 -0
- package/src/tool/fireCalculator/i18n/it.ts +261 -0
- package/src/tool/fireCalculator/i18n/ja.ts +261 -0
- package/src/tool/fireCalculator/i18n/ko.ts +261 -0
- package/src/tool/fireCalculator/i18n/nl.ts +261 -0
- package/src/tool/fireCalculator/i18n/pl.ts +261 -0
- package/src/tool/fireCalculator/i18n/pt.ts +261 -0
- package/src/tool/fireCalculator/i18n/ru.ts +261 -0
- package/src/tool/fireCalculator/i18n/sv.ts +261 -0
- package/src/tool/fireCalculator/i18n/tr.ts +261 -0
- package/src/tool/fireCalculator/i18n/zh.ts +261 -0
- package/src/tool/fireCalculator/index.ts +15 -7
- package/src/tool/ibanBicSwiftConverter/i18n/de.ts +128 -0
- package/src/tool/ibanBicSwiftConverter/i18n/id.ts +128 -0
- package/src/tool/ibanBicSwiftConverter/i18n/it.ts +128 -0
- package/src/tool/ibanBicSwiftConverter/i18n/ja.ts +128 -0
- package/src/tool/ibanBicSwiftConverter/i18n/ko.ts +128 -0
- package/src/tool/ibanBicSwiftConverter/i18n/nl.ts +128 -0
- package/src/tool/ibanBicSwiftConverter/i18n/pl.ts +128 -0
- package/src/tool/ibanBicSwiftConverter/i18n/pt.ts +128 -0
- package/src/tool/ibanBicSwiftConverter/i18n/ru.ts +128 -0
- package/src/tool/ibanBicSwiftConverter/i18n/sv.ts +128 -0
- package/src/tool/ibanBicSwiftConverter/i18n/tr.ts +128 -0
- package/src/tool/ibanBicSwiftConverter/i18n/zh.ts +128 -0
- package/src/tool/ibanBicSwiftConverter/index.ts +15 -7
- package/src/tool/inflation/i18n/de.ts +297 -0
- package/src/tool/inflation/i18n/id.ts +297 -0
- package/src/tool/inflation/i18n/it.ts +297 -0
- package/src/tool/inflation/i18n/ja.ts +297 -0
- package/src/tool/inflation/i18n/ko.ts +297 -0
- package/src/tool/inflation/i18n/nl.ts +297 -0
- package/src/tool/inflation/i18n/pl.ts +297 -0
- package/src/tool/inflation/i18n/pt.ts +297 -0
- package/src/tool/inflation/i18n/ru.ts +297 -0
- package/src/tool/inflation/i18n/sv.ts +297 -0
- package/src/tool/inflation/i18n/tr.ts +297 -0
- package/src/tool/inflation/i18n/zh.ts +297 -0
- package/src/tool/inflation/index.ts +17 -9
- package/src/tool/lateInterest/i18n/de.ts +224 -0
- package/src/tool/lateInterest/i18n/id.ts +224 -0
- package/src/tool/lateInterest/i18n/it.ts +224 -0
- package/src/tool/lateInterest/i18n/ja.ts +224 -0
- package/src/tool/lateInterest/i18n/ko.ts +224 -0
- package/src/tool/lateInterest/i18n/nl.ts +224 -0
- package/src/tool/lateInterest/i18n/pl.ts +224 -0
- package/src/tool/lateInterest/i18n/pt.ts +224 -0
- package/src/tool/lateInterest/i18n/ru.ts +224 -0
- package/src/tool/lateInterest/i18n/sv.ts +224 -0
- package/src/tool/lateInterest/i18n/tr.ts +224 -0
- package/src/tool/lateInterest/i18n/zh.ts +224 -0
- package/src/tool/lateInterest/index.ts +17 -9
- package/src/tool/legalInterestRate/i18n/de.ts +143 -0
- package/src/tool/legalInterestRate/i18n/id.ts +143 -0
- package/src/tool/legalInterestRate/i18n/it.ts +143 -0
- package/src/tool/legalInterestRate/i18n/ja.ts +143 -0
- package/src/tool/legalInterestRate/i18n/ko.ts +143 -0
- package/src/tool/legalInterestRate/i18n/nl.ts +143 -0
- package/src/tool/legalInterestRate/i18n/pl.ts +143 -0
- package/src/tool/legalInterestRate/i18n/pt.ts +143 -0
- package/src/tool/legalInterestRate/i18n/ru.ts +143 -0
- package/src/tool/legalInterestRate/i18n/sv.ts +143 -0
- package/src/tool/legalInterestRate/i18n/tr.ts +143 -0
- package/src/tool/legalInterestRate/i18n/zh.ts +143 -0
- package/src/tool/legalInterestRate/index.ts +17 -9
- package/src/tool/lotteryOptimizer/i18n/de.ts +177 -0
- package/src/tool/lotteryOptimizer/i18n/id.ts +177 -0
- package/src/tool/lotteryOptimizer/i18n/it.ts +177 -0
- package/src/tool/lotteryOptimizer/i18n/ja.ts +177 -0
- package/src/tool/lotteryOptimizer/i18n/ko.ts +177 -0
- package/src/tool/lotteryOptimizer/i18n/nl.ts +177 -0
- package/src/tool/lotteryOptimizer/i18n/pl.ts +177 -0
- package/src/tool/lotteryOptimizer/i18n/pt.ts +177 -0
- package/src/tool/lotteryOptimizer/i18n/ru.ts +177 -0
- package/src/tool/lotteryOptimizer/i18n/sv.ts +177 -0
- package/src/tool/lotteryOptimizer/i18n/tr.ts +177 -0
- package/src/tool/lotteryOptimizer/i18n/zh.ts +177 -0
- package/src/tool/lotteryOptimizer/index.ts +17 -9
- package/src/tool/mortgage/i18n/de.ts +223 -0
- package/src/tool/mortgage/i18n/id.ts +219 -0
- package/src/tool/mortgage/i18n/it.ts +223 -0
- package/src/tool/mortgage/i18n/ja.ts +219 -0
- package/src/tool/mortgage/i18n/ko.ts +219 -0
- package/src/tool/mortgage/i18n/nl.ts +219 -0
- package/src/tool/mortgage/i18n/pl.ts +219 -0
- package/src/tool/mortgage/i18n/pt.ts +219 -0
- package/src/tool/mortgage/i18n/ru.ts +219 -0
- package/src/tool/mortgage/i18n/sv.ts +219 -0
- package/src/tool/mortgage/i18n/tr.ts +219 -0
- package/src/tool/mortgage/i18n/zh.ts +219 -0
- package/src/tool/mortgage/index.ts +15 -7
- package/src/tool/percentageCalculator/i18n/de.ts +229 -0
- package/src/tool/percentageCalculator/i18n/id.ts +229 -0
- package/src/tool/percentageCalculator/i18n/it.ts +229 -0
- package/src/tool/percentageCalculator/i18n/ja.ts +229 -0
- package/src/tool/percentageCalculator/i18n/ko.ts +229 -0
- package/src/tool/percentageCalculator/i18n/nl.ts +229 -0
- package/src/tool/percentageCalculator/i18n/pl.ts +229 -0
- package/src/tool/percentageCalculator/i18n/pt.ts +229 -0
- package/src/tool/percentageCalculator/i18n/ru.ts +229 -0
- package/src/tool/percentageCalculator/i18n/sv.ts +229 -0
- package/src/tool/percentageCalculator/i18n/tr.ts +229 -0
- package/src/tool/percentageCalculator/i18n/zh.ts +229 -0
- package/src/tool/percentageCalculator/index.ts +15 -7
- package/src/tool/rentIncreaseCalculator/i18n/de.ts +136 -0
- package/src/tool/rentIncreaseCalculator/i18n/id.ts +136 -0
- package/src/tool/rentIncreaseCalculator/i18n/it.ts +136 -0
- package/src/tool/rentIncreaseCalculator/i18n/ja.ts +136 -0
- package/src/tool/rentIncreaseCalculator/i18n/ko.ts +136 -0
- package/src/tool/rentIncreaseCalculator/i18n/nl.ts +136 -0
- package/src/tool/rentIncreaseCalculator/i18n/pl.ts +136 -0
- package/src/tool/rentIncreaseCalculator/i18n/pt.ts +136 -0
- package/src/tool/rentIncreaseCalculator/i18n/ru.ts +136 -0
- package/src/tool/rentIncreaseCalculator/i18n/sv.ts +136 -0
- package/src/tool/rentIncreaseCalculator/i18n/tr.ts +136 -0
- package/src/tool/rentIncreaseCalculator/i18n/zh.ts +136 -0
- package/src/tool/rentIncreaseCalculator/index.ts +17 -9
- package/src/types.ts +1 -1
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { CourtFeeCalculatorUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'mahkeme-harclari-hesaplayici-ispanya';
|
|
6
|
+
const title = 'Mahkeme Harçları Hesaplayıcı İspanya';
|
|
7
|
+
const description = '10/2012 Sayılı Kanun uyarınca şirketler için İspanyol mahkeme harçlarının tam tutarını hesaplayın. Muafiyetli Model 696 simülatörü.';
|
|
8
|
+
|
|
9
|
+
const faqData = [
|
|
10
|
+
{
|
|
11
|
+
question: 'Şahıslar mahkeme harcı ödemekten muaf mıdır?',
|
|
12
|
+
answer: 'Evet, 2016 yılından bu yana İspanya’da gerçek kişiler tüm yargı kollarında mahkeme harcı ödemekten tamamen muaftır.',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
question: 'Mahkeme harcının maksimum tutarı nedir?',
|
|
16
|
+
answer: 'Değişken miktar maksimum 10.000 euro ile sınırlıdır. Sabit miktar eklendiğinde, prosedür türüne bağlı olarak toplam maksimum tutar daha yüksek olabilir.',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
question: 'Model 696 nedir?',
|
|
20
|
+
answer: 'İspanya Vergi Dairesi’nin (AEAT) yargı yetkisinin kullanılmasına ilişkin harcın beyanı ve ödenmesi için kullanılan resmi formdur.',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
question: 'Ceza davalarında harç ödenir mi?',
|
|
24
|
+
answer: 'Hayır, İspanya’da ceza hukuku kapsamındaki davalar için mahkeme harcı yoktur.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
question: 'Değişken miktar nasıl hesaplanır?',
|
|
28
|
+
answer: 'Değişken miktar, 1 milyon euroya kadar olan dava değerinin %0,5’idir. Bu tutarın üzerindeki kısım için %0,25 uygulanır. Maksimum tutar 10.000 eurodur.',
|
|
29
|
+
},
|
|
30
|
+
];
|
|
31
|
+
|
|
32
|
+
const howToData = [
|
|
33
|
+
{
|
|
34
|
+
name: 'Yükümlü kişiyi seçin',
|
|
35
|
+
text: 'Gerçek kişi (muaf) mi yoksa tüzel kişi (şirket) mi olduğunuzu belirtin.',
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: 'Yargı kolunu ve prosedürü seçin',
|
|
39
|
+
text: 'Yargı kolunu (Hukuk, İdari veya Sosyal) ve prosedür türünü seçin.',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: 'Dava değerini girin',
|
|
43
|
+
text: 'Dava dilekçesinde talep edilen toplam tutarı yazın. Sosyal yargı kolunda bu alan geçerli değildir.',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: 'Dökümü görüntüleyin',
|
|
47
|
+
text: 'Model 696 için sabit, değişken ve toplam harç tutarının otomatik hesaplamasını alın.',
|
|
48
|
+
},
|
|
49
|
+
];
|
|
50
|
+
|
|
51
|
+
const bibliographyData = [
|
|
52
|
+
{
|
|
53
|
+
name: '10/2012 Sayılı Mahkeme Harçları Kanunu (İspanya)',
|
|
54
|
+
url: 'https://www.boe.es/',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
name: 'Mahkeme Harçları Hakkında TC 140/2016 Sayılı Karar',
|
|
58
|
+
url: 'https://www.boe.es/',
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: 'Vergi Dairesi - Model 696',
|
|
62
|
+
url: 'https://sede.agenciatributaria.gob.es/',
|
|
63
|
+
},
|
|
64
|
+
];
|
|
65
|
+
|
|
66
|
+
const seoData = [
|
|
67
|
+
{
|
|
68
|
+
type: 'title',
|
|
69
|
+
text: 'İspanya Mahkeme Harçları Hesaplama 2026: Tam Kılavuz',
|
|
70
|
+
level: 2,
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
type: 'paragraph',
|
|
74
|
+
html: '<strong>Mahkeme Harçları Hesaplayıcı</strong>, 10/2012 Sayılı Kanun uyarınca İspanya’daki yargı yetkisi kullanmanın mali maliyetini hassas bir şekilde belirlemek için tasarlanmış teknik bir araçtır.',
|
|
75
|
+
},
|
|
76
|
+
];
|
|
77
|
+
|
|
78
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
79
|
+
'@context': 'https://schema.org',
|
|
80
|
+
'@type': 'FAQPage',
|
|
81
|
+
mainEntity: faqData.map((item) => ({
|
|
82
|
+
'@type': 'Question',
|
|
83
|
+
name: item.question,
|
|
84
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
85
|
+
})),
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
const howToSchema: WithContext<HowTo> = {
|
|
89
|
+
'@context': 'https://schema.org',
|
|
90
|
+
'@type': 'HowTo',
|
|
91
|
+
name: title,
|
|
92
|
+
description,
|
|
93
|
+
step: howToData.map((step, i) => ({
|
|
94
|
+
'@type': 'HowToStep',
|
|
95
|
+
position: i + 1,
|
|
96
|
+
name: step.name,
|
|
97
|
+
text: step.text,
|
|
98
|
+
})),
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
102
|
+
'@context': 'https://schema.org',
|
|
103
|
+
'@type': 'SoftwareApplication',
|
|
104
|
+
name: title,
|
|
105
|
+
description,
|
|
106
|
+
applicationCategory: 'FinanceApplication',
|
|
107
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
export const content: ToolLocaleContent<CourtFeeCalculatorUI> = {
|
|
111
|
+
slug,
|
|
112
|
+
title,
|
|
113
|
+
description,
|
|
114
|
+
faqTitle: 'Sıkça Sorulan Sorular',
|
|
115
|
+
bibliographyTitle: 'Kaynaklar ve Referanslar',
|
|
116
|
+
ui: {
|
|
117
|
+
labelTitle: 'Mahkeme Harçları Hesaplayıcı',
|
|
118
|
+
labelDescription: 'Yargı koluna ve prosedüre göre Model 696’nın tam tutarını hesaplayın. Şirketler ve profesyoneller için.',
|
|
119
|
+
labelLegalParameters: 'Yasal Parametreler',
|
|
120
|
+
labelEntityType: 'Yükümlü Kişi',
|
|
121
|
+
labelJurisdiction: 'Yargı Kolu',
|
|
122
|
+
labelProcedure: 'Süreç Türü',
|
|
123
|
+
labelClaimAmount: 'Dava Değeri',
|
|
124
|
+
labelEstimatedSettlement: 'Tahmini Hesaplama',
|
|
125
|
+
labelExemptSubject: 'Muaf Kişi',
|
|
126
|
+
labelFixedQuote: 'Sabit Harç (Usul)',
|
|
127
|
+
labelVariableQuote: 'Değişken Harç (%0,5 / %0,25)',
|
|
128
|
+
labelTaxableBase: 'Vergi Matrahı',
|
|
129
|
+
labelCopySettlement: 'Hesaplamayı Kopyala',
|
|
130
|
+
labelEntityJuridica: 'Tüzel Kişi (Limited, Anonim Şirket)',
|
|
131
|
+
labelEntityFisica: 'Gerçek Kişi (Muaf)',
|
|
132
|
+
labelCivilOrder: 'Hukuk Yolu',
|
|
133
|
+
labelAdministrativeOrder: 'İdari Yargı',
|
|
134
|
+
labelSocialOrder: 'Sosyal Yargı (İş Hukuku)',
|
|
135
|
+
labelModel696: 'AEAT Model 696',
|
|
136
|
+
labelOrdinary: 'Olağan Yargılama',
|
|
137
|
+
labelVerbal: 'Sözlü Yargılama / İlamsız Takip',
|
|
138
|
+
labelExecutive: 'İcra Takibi',
|
|
139
|
+
labelAppeal: 'İstinaf',
|
|
140
|
+
labelCassation: 'Temyiz',
|
|
141
|
+
labelAbbreviated: 'Hızlandırılmış Süreç',
|
|
142
|
+
labelSupplication: 'İtiraz',
|
|
143
|
+
currencySymbol: '€',
|
|
144
|
+
currencyCode: 'EUR',
|
|
145
|
+
currencyLocale: 'tr-TR',
|
|
146
|
+
},
|
|
147
|
+
faq: faqData,
|
|
148
|
+
howTo: howToData,
|
|
149
|
+
bibliography: bibliographyData,
|
|
150
|
+
seo: seoData,
|
|
151
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
152
|
+
};
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { CourtFeeCalculatorUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'spanish-court-fees-calculator';
|
|
6
|
+
const title = '西班牙法院税计算器';
|
|
7
|
+
const description = '根据第 10/2012 号法律,计算西班牙企业的准确法院税金额。适用于 Model 696 的模拟器,包含豁免和自动计算功能。';
|
|
8
|
+
|
|
9
|
+
const faqData = [
|
|
10
|
+
{
|
|
11
|
+
question: '个人是否豁免缴纳法院税?',
|
|
12
|
+
answer: '是。自 2016 年起,西班牙的自然人在所有法律领域内都完全豁免缴纳法院税。',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
question: '法院税的最大金额是多少?',
|
|
16
|
+
answer: '可变费用上限为 10,000 欧元。加上固定费用,最高总额可能会更高,具体取决于程序类型。',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
question: '什么是 Model 696?',
|
|
20
|
+
answer: '这是西班牙税务局 (AEAT) 的官方表格,用于自缴诉讼权行使税。',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
question: '刑事案件需要缴纳法院税吗?',
|
|
24
|
+
answer: '不需要。在西班牙,刑事案件的手续不需要缴纳法院税。',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
question: '可变费用是如何计算的?',
|
|
28
|
+
answer: '诉讼金额 100 万欧元以内,可变费用为 0.5%。超过 100 万的部分为 0.25%。上限为 10,000 欧元。',
|
|
29
|
+
},
|
|
30
|
+
];
|
|
31
|
+
|
|
32
|
+
const howToData = [
|
|
33
|
+
{
|
|
34
|
+
name: '选择缴税主体',
|
|
35
|
+
text: '指示您是个人(豁免)还是法人(公司)。个人不支付费用。',
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: '选择管辖与程序',
|
|
39
|
+
text: '选择法律领域(民事、行政争议或社会/劳动)和程序类型。',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: '输入诉讼金额',
|
|
43
|
+
text: '输入诉讼请求的总金额。对于社会/劳动领域,此项不适用。',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: '查看明细',
|
|
47
|
+
text: '自动获取 Model 696 的固定费用、可变费用和总额计算结果。',
|
|
48
|
+
},
|
|
49
|
+
];
|
|
50
|
+
|
|
51
|
+
const bibliographyData = [
|
|
52
|
+
{
|
|
53
|
+
name: '第 10/2012 号法院税法 (BOE)',
|
|
54
|
+
url: 'https://www.boe.es/',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
name: '关于法院税的 TC 140/2016 判决',
|
|
58
|
+
url: 'https://www.boe.es/',
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: '税务局 - Model 696',
|
|
62
|
+
url: 'https://sede.agenciatributaria.gob.es/',
|
|
63
|
+
},
|
|
64
|
+
];
|
|
65
|
+
|
|
66
|
+
const seoData = [
|
|
67
|
+
{
|
|
68
|
+
type: 'title',
|
|
69
|
+
text: '西班牙法院税计算器 2026:完整指南',
|
|
70
|
+
level: 2,
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
type: 'paragraph',
|
|
74
|
+
html: '<strong>法院税计算器</strong>是一款专为准确确定西班牙诉讼权财政成本而设计的技术工具,符合第 10/2012 号法律的规定。',
|
|
75
|
+
},
|
|
76
|
+
];
|
|
77
|
+
|
|
78
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
79
|
+
'@context': 'https://schema.org',
|
|
80
|
+
'@type': 'FAQPage',
|
|
81
|
+
mainEntity: faqData.map((item) => ({
|
|
82
|
+
'@type': 'Question',
|
|
83
|
+
name: item.question,
|
|
84
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
85
|
+
})),
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
const howToSchema: WithContext<HowTo> = {
|
|
89
|
+
'@context': 'https://schema.org',
|
|
90
|
+
'@type': 'HowTo',
|
|
91
|
+
name: title,
|
|
92
|
+
description,
|
|
93
|
+
step: howToData.map((step, i) => ({
|
|
94
|
+
'@type': 'HowToStep',
|
|
95
|
+
position: i + 1,
|
|
96
|
+
name: step.name,
|
|
97
|
+
text: step.text,
|
|
98
|
+
})),
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
102
|
+
'@context': 'https://schema.org',
|
|
103
|
+
'@type': 'SoftwareApplication',
|
|
104
|
+
name: title,
|
|
105
|
+
description,
|
|
106
|
+
applicationCategory: 'FinanceApplication',
|
|
107
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
export const content: ToolLocaleContent<CourtFeeCalculatorUI> = {
|
|
111
|
+
slug,
|
|
112
|
+
title,
|
|
113
|
+
description,
|
|
114
|
+
faqTitle: '常见问题',
|
|
115
|
+
bibliographyTitle: '来源与参考资料',
|
|
116
|
+
ui: {
|
|
117
|
+
labelTitle: '法院税计算器',
|
|
118
|
+
labelDescription: '根据管辖、程序和金额计算 Model 696 的准确金额。适用于西班牙公司和专业人士。',
|
|
119
|
+
labelLegalParameters: '法律参数',
|
|
120
|
+
labelEntityType: '缴税主体',
|
|
121
|
+
labelJurisdiction: '管辖',
|
|
122
|
+
labelProcedure: '程序类型',
|
|
123
|
+
labelClaimAmount: '诉讼金额',
|
|
124
|
+
labelEstimatedSettlement: '预计结算',
|
|
125
|
+
labelExemptSubject: '豁免主体',
|
|
126
|
+
labelFixedQuote: '固定费用(程序)',
|
|
127
|
+
labelVariableQuote: '可变费用 (0.5% / 0.25%)',
|
|
128
|
+
labelTaxableBase: '计税基础',
|
|
129
|
+
labelCopySettlement: '复制结算结果',
|
|
130
|
+
labelEntityJuridica: '法人(有限公司、股份公司)',
|
|
131
|
+
labelEntityFisica: '个人(豁免)',
|
|
132
|
+
labelCivilOrder: '民事领域',
|
|
133
|
+
labelAdministrativeOrder: '行政争议',
|
|
134
|
+
labelSocialOrder: '社会/劳动领域',
|
|
135
|
+
labelModel696: 'AEAT Model 696',
|
|
136
|
+
labelOrdinary: '普通审判',
|
|
137
|
+
labelVerbal: '口头审判 / 督促程序',
|
|
138
|
+
labelExecutive: '执行程序',
|
|
139
|
+
labelAppeal: '上诉',
|
|
140
|
+
labelCassation: '终审上诉',
|
|
141
|
+
labelAbbreviated: '简易程序',
|
|
142
|
+
labelSupplication: '复议请求',
|
|
143
|
+
currencySymbol: '€',
|
|
144
|
+
currencyCode: 'EUR',
|
|
145
|
+
currencyLocale: 'zh-CN',
|
|
146
|
+
},
|
|
147
|
+
faq: faqData,
|
|
148
|
+
howTo: howToData,
|
|
149
|
+
bibliography: bibliographyData,
|
|
150
|
+
seo: seoData,
|
|
151
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
152
|
+
};
|
|
@@ -6,20 +6,28 @@ import type { CourtFeeCalculatorUI } from './ui';
|
|
|
6
6
|
|
|
7
7
|
export type CourtFeeCalculatorLocaleContent = ToolLocaleContent<CourtFeeCalculatorUI>;
|
|
8
8
|
|
|
9
|
-
import { content as es } from './i18n/es';
|
|
10
|
-
import { content as en } from './i18n/en';
|
|
11
|
-
import { content as fr } from './i18n/fr';
|
|
12
|
-
|
|
13
9
|
export const courtFeeCalculator: FinanceToolEntry<CourtFeeCalculatorUI> = {
|
|
14
10
|
id: 'calculadora-tasas-judiciales',
|
|
15
11
|
icons: {
|
|
16
12
|
bg: 'mdi:gavel',
|
|
17
|
-
fg: 'mdi:
|
|
13
|
+
fg: 'mdi:scale-balance',
|
|
18
14
|
},
|
|
19
15
|
i18n: {
|
|
20
|
-
|
|
21
|
-
en:
|
|
22
|
-
|
|
16
|
+
de: () => import('./i18n/de').then((m) => m.content),
|
|
17
|
+
en: () => import('./i18n/en').then((m) => m.content),
|
|
18
|
+
es: () => import('./i18n/es').then((m) => m.content),
|
|
19
|
+
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
20
|
+
id: () => import('./i18n/id').then((m) => m.content),
|
|
21
|
+
it: () => import('./i18n/it').then((m) => m.content),
|
|
22
|
+
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
23
|
+
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
24
|
+
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
25
|
+
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
26
|
+
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
27
|
+
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
28
|
+
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
29
|
+
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
30
|
+
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
23
31
|
},
|
|
24
32
|
};
|
|
25
33
|
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { DebtSnowballUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'schneeball-methode-schuldenrechner';
|
|
6
|
+
const title = 'Schulden Schneeball Rechner: Schuldenabbauplan 2026';
|
|
7
|
+
const description = 'Berechnen Sie Ihr Datum für die finanzielle Freiheit mit der Schneeballmethode von Dave Ramsey. Organisieren Sie Ihre Schulden und visualisieren Sie Ihren Tilgungsplan.';
|
|
8
|
+
|
|
9
|
+
const faqData = [
|
|
10
|
+
{
|
|
11
|
+
question: 'Was ist die Schneeballmethode?',
|
|
12
|
+
answer: 'Es ist eine Strategie zum Schuldenabbau, bei der Schulden in der Reihenfolge vom kleinsten zum größten Saldo abbezahlt werden, unabhängig vom Zinssatz. Sie konzentriert sich auf den psychologischen Erfolg, kleine Konten schnell zu eliminieren.',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
question: 'Warum nicht nach Zinssätzen sortieren (Lawinenmethode)?',
|
|
16
|
+
answer: 'Mathematisch gesehen spart das Abbezahlen der höchsten Zinsen zuerst mehr Geld. Viele Menschen geben jedoch auf, weil sie keine sofortigen Ergebnisse sehen. Der Schneeball priorisiert Motivation: Zu sehen, wie eine Schuld schnell verschwindet, gibt Energie für die großen.',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
question: 'Sollte ich Ersparnisse haben, bevor ich den Plan starte?',
|
|
20
|
+
answer: 'Es wird empfohlen, einen kleinen Notfallfonds (ca. 1.000 €) zu haben, bevor man die Schulden angreift. Dies verhindert, dass man bei unvorhersehbaren Ereignissen wieder die Kreditkarte nutzen muss.',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
question: 'Welche Schulden sollte ich in den Rechner aufnehmen?',
|
|
24
|
+
answer: 'Alle Konsumschulden: Kreditkarten, Privatkredite, Autokredite, überfällige Rechnungen. Hypotheken werden aufgrund ihres Volumens meist für eine spätere Phase aufgehoben.',
|
|
25
|
+
},
|
|
26
|
+
];
|
|
27
|
+
|
|
28
|
+
const howToData = [
|
|
29
|
+
{
|
|
30
|
+
name: 'Schulden auflisten',
|
|
31
|
+
text: 'Listen Sie alle Ihre Schulden mit dem aktuellen Restsaldo und der monatlichen Mindestzahlung auf.',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
name: 'Extra-Budget festlegen',
|
|
35
|
+
text: 'Berechnen Sie, wie viel zusätzliches Geld Sie jeden Monat über die Mindestzahlungen hinaus aufwenden können.',
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: 'Sortieren und Priorisieren',
|
|
39
|
+
text: 'Der Rechner sortiert automatisch vom kleinsten zum größten Saldo. Zahlen Sie das Minimum für alle außer der kleinsten.',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: 'Kaskade ausführen',
|
|
43
|
+
text: 'Wenn die kleinste Schuld getilgt ist, nehmen Sie das gesamte Geld, das Sie dafür aufgewendet haben, und addieren es zur Zahlung der nächsten.',
|
|
44
|
+
},
|
|
45
|
+
];
|
|
46
|
+
|
|
47
|
+
const bibliographyData = [
|
|
48
|
+
{
|
|
49
|
+
name: 'Investopedia — Debt Snowball vs. Debt Avalanche',
|
|
50
|
+
url: 'https://www.investopedia.com/',
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: 'Harvard Business Review — Research on Debt Payoff Strategies',
|
|
54
|
+
url: 'https://hbr.org/',
|
|
55
|
+
},
|
|
56
|
+
];
|
|
57
|
+
|
|
58
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
59
|
+
'@context': 'https://schema.org',
|
|
60
|
+
'@type': 'FAQPage',
|
|
61
|
+
mainEntity: faqData.map((item) => ({
|
|
62
|
+
'@type': 'Question',
|
|
63
|
+
name: item.question,
|
|
64
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
65
|
+
})),
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
const howToSchema: WithContext<HowTo> = {
|
|
69
|
+
'@context': 'https://schema.org',
|
|
70
|
+
'@type': 'HowTo',
|
|
71
|
+
name: title,
|
|
72
|
+
description,
|
|
73
|
+
step: howToData.map((step, i) => ({
|
|
74
|
+
'@type': 'HowToStep',
|
|
75
|
+
position: i + 1,
|
|
76
|
+
name: step.name,
|
|
77
|
+
text: step.text,
|
|
78
|
+
})),
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
82
|
+
'@context': 'https://schema.org',
|
|
83
|
+
'@type': 'SoftwareApplication',
|
|
84
|
+
name: title,
|
|
85
|
+
description,
|
|
86
|
+
applicationCategory: 'FinanceApplication',
|
|
87
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
export const content: ToolLocaleContent<DebtSnowballUI> = {
|
|
91
|
+
slug,
|
|
92
|
+
title,
|
|
93
|
+
description,
|
|
94
|
+
faqTitle: 'Häufig gestellte Fragen',
|
|
95
|
+
faq: faqData,
|
|
96
|
+
bibliographyTitle: 'Referenzen und Quellen',
|
|
97
|
+
bibliography: bibliographyData,
|
|
98
|
+
howTo: howToData,
|
|
99
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
100
|
+
seo: [
|
|
101
|
+
{
|
|
102
|
+
type: 'title',
|
|
103
|
+
text: 'Schulden Schneeball Rechner: Ihr Weg zur Schuldenfreiheit',
|
|
104
|
+
level: 2,
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
type: 'paragraph',
|
|
108
|
+
html: 'Schuldenfrei zu leben ist wie ein Marathon ohne schweren Rucksack. Die <strong>Schneeballmethode</strong> hat sich als eine der effektivsten Strategien erwiesen.',
|
|
109
|
+
},
|
|
110
|
+
],
|
|
111
|
+
ui: {
|
|
112
|
+
labelTitle: 'Totale Freiheit',
|
|
113
|
+
labelDescription: 'Starten Sie Ihren Weg zur finanziellen Freiheit mit der psychologisch effektivsten Methode.',
|
|
114
|
+
labelExtraBudget: 'MONATLICHES EXTRA-BUDGET',
|
|
115
|
+
labelExtraBudgetHelp: 'Zusätzliches Geld über die Mindestzahlungen hinaus.',
|
|
116
|
+
labelSnowballMethod: 'SCHNEEBALL',
|
|
117
|
+
labelAvalancheMethod: 'LAWINE',
|
|
118
|
+
labelAddNewDebt: 'NEUE SCHULD HINZUFÜGEN',
|
|
119
|
+
labelDebtName: 'Name',
|
|
120
|
+
labelDebtNamePlaceholder: 'Z.B. Visa',
|
|
121
|
+
labelDebtBalance: 'WIE VIEL SCHULDEN SIE',
|
|
122
|
+
labelDebtBalancePlaceholder: '0',
|
|
123
|
+
labelMinPayment: 'MINDESTZAHLUNG',
|
|
124
|
+
labelInterestRate: 'ZINSSATZ',
|
|
125
|
+
labelInterestHelp: 'JÄHRLICH',
|
|
126
|
+
labelAddButton: 'ZUM PLAN HINZUFÜGEN',
|
|
127
|
+
labelClearData: 'Einstellungen löschen',
|
|
128
|
+
labelClearDataConfirm: 'Plan leeren?',
|
|
129
|
+
labelDeleteDebt: 'Löschen',
|
|
130
|
+
labelDebtInventory: 'Schuldenliste',
|
|
131
|
+
labelFreedomDate: 'DATUM DER FINANZIELLEN FREIHEIT',
|
|
132
|
+
labelActiveMethod: 'METHODE',
|
|
133
|
+
labelMonthsRemaining: 'VERBLEIBENDE MONATE',
|
|
134
|
+
labelTotalInterest: 'GESAMTINTERESSEN',
|
|
135
|
+
labelTotalPaid: 'GESAMTZAHLUNG',
|
|
136
|
+
labelInterestSaved: 'ZINSERSPARNIS',
|
|
137
|
+
labelYourStrategy: 'Ihre Strategie Schritt für Schritt',
|
|
138
|
+
labelStrategyHelp: 'Jeder Schritt zeigt Ihre Gesamtzahlung an.',
|
|
139
|
+
labelPriority: 'HÖCHSTE PRIORITÄT',
|
|
140
|
+
labelStep: 'SCHRITT',
|
|
141
|
+
labelAfterPaying: 'NACH TILGUNG DER VORHERIGEN',
|
|
142
|
+
labelMonthlyPayment: 'Monatliche Zahlung',
|
|
143
|
+
labelDetailedAmortization: 'Detaillierter Tilgungsplan',
|
|
144
|
+
labelExportCSV: 'Als .CSV exportieren',
|
|
145
|
+
labelDate: 'Datum',
|
|
146
|
+
labelStartingBalance: 'Anfangssaldo',
|
|
147
|
+
labelInterest: 'Zinsen',
|
|
148
|
+
labelAmortization: 'Tilgung',
|
|
149
|
+
labelTotalMonth: 'Monatssumme',
|
|
150
|
+
labelRemaining: 'Verbleibend',
|
|
151
|
+
labelFree: 'FREI',
|
|
152
|
+
labelDebtInfinite: 'UNENDLICHE SCHULDEN',
|
|
153
|
+
labelInvalidInput: 'Gesamtsaldo und Mindestzahlung angeben',
|
|
154
|
+
labelEmptyStateTitle: 'Plan starten',
|
|
155
|
+
labelEmptyStateDescription: 'Ihre Schulden sind nicht für immer. Fügen Sie Ihre Schulden hinzu.',
|
|
156
|
+
currencySymbol: '€',
|
|
157
|
+
currencyCode: 'EUR',
|
|
158
|
+
currencyLocale: 'de-DE',
|
|
159
|
+
},
|
|
160
|
+
};
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { DebtSnowballUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'kalkulator-metode-bola-salju-utang';
|
|
6
|
+
const title = 'Kalkulator Metode Bola Salju Utang: Rencana Pelunasan 2026';
|
|
7
|
+
const description = 'Hitung tanggal kebebasan finansial Anda dengan metode bola salju Dave Ramsey. Atur utang Anda dan visualisasikan rencana pelunasan bulanan gratis.';
|
|
8
|
+
|
|
9
|
+
const faqData = [
|
|
10
|
+
{
|
|
11
|
+
question: 'Apa itu metode bola salju utang?',
|
|
12
|
+
answer: 'Ini adalah strategi pelunasan utang yang memprioritaskan pembayaran utang dari saldo terkecil hingga terbesar, tanpa mempedulikan suku bunga. Metode ini fokus pada kemenangan psikologis dari melunasi akun kecil dengan cepat.',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
question: 'Mengapa tidak mengurutkan berdasarkan suku bunga (Metode Longsor)?',
|
|
16
|
+
answer: 'Secara matematis, melunasi bunga tertinggi terlebih dahulu menghemat lebih banyak uang. Namun, banyak orang menyerah karena tidak melihat hasil segera. Bola Salju memprioritaskan motivasi.',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
question: 'Haruskah saya memiliki tabungan sebelum memulai rencana ini?',
|
|
20
|
+
answer: 'Disarankan untuk memiliki "Dana Darurat Awal" (sekitar 1.000€) sebelum menyerang utang. Ini mencegah Anda menggunakan kartu kredit lagi saat ada keadaan darurat.',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
question: 'Utang apa saja yang harus saya masukkan ke dalam kalkulator?',
|
|
24
|
+
answer: 'Semua utang konsumsi: kartu kredit, pinjaman pribadi, kredit kendaraan, tagihan tertunggak. KPR biasanya ditinggalkan untuk tahap selanjutnya karena jumlahnya yang besar.',
|
|
25
|
+
},
|
|
26
|
+
];
|
|
27
|
+
|
|
28
|
+
const howToData = [
|
|
29
|
+
{
|
|
30
|
+
name: 'Daftarkan utang Anda',
|
|
31
|
+
text: 'Catat semua utang Anda dengan mencantumkan saldo sisa dan pembayaran bulanan minimum.',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
name: 'Tentukan anggaran ekstra',
|
|
35
|
+
text: 'Hitung berapa banyak uang tambahan yang dapat Anda alokasikan setiap bulan di atas pembayaran minimum.',
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: 'Urutkan dan prioritaskan',
|
|
39
|
+
text: 'Kalkulator akan mengurutkan secara otomatis dari saldo terkecil hingga terbesar. Bayar minimum untuk semua kecuali yang terkecil.',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: 'Jalankan kaskade',
|
|
43
|
+
text: 'Setelah utang terkecil lunas, ambil semua uang yang Anda alokasikan untuk itu dan tambahkan ke pembayaran utang berikutnya.',
|
|
44
|
+
},
|
|
45
|
+
];
|
|
46
|
+
|
|
47
|
+
const bibliographyData = [
|
|
48
|
+
{
|
|
49
|
+
name: 'Investopedia — Debt Snowball vs. Debt Avalanche',
|
|
50
|
+
url: 'https://www.investopedia.com/',
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: 'Harvard Business Review — Research on Debt Payoff Strategies',
|
|
54
|
+
url: 'https://hbr.org/',
|
|
55
|
+
},
|
|
56
|
+
];
|
|
57
|
+
|
|
58
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
59
|
+
'@context': 'https://schema.org',
|
|
60
|
+
'@type': 'FAQPage',
|
|
61
|
+
mainEntity: faqData.map((item) => ({
|
|
62
|
+
'@type': 'Question',
|
|
63
|
+
name: item.question,
|
|
64
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
65
|
+
})),
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
const howToSchema: WithContext<HowTo> = {
|
|
69
|
+
'@context': 'https://schema.org',
|
|
70
|
+
'@type': 'HowTo',
|
|
71
|
+
name: title,
|
|
72
|
+
description,
|
|
73
|
+
step: howToData.map((step, i) => ({
|
|
74
|
+
'@type': 'HowToStep',
|
|
75
|
+
position: i + 1,
|
|
76
|
+
name: step.name,
|
|
77
|
+
text: step.text,
|
|
78
|
+
})),
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
82
|
+
'@context': 'https://schema.org',
|
|
83
|
+
'@type': 'SoftwareApplication',
|
|
84
|
+
name: title,
|
|
85
|
+
description,
|
|
86
|
+
applicationCategory: 'FinanceApplication',
|
|
87
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
export const content: ToolLocaleContent<DebtSnowballUI> = {
|
|
91
|
+
slug,
|
|
92
|
+
title,
|
|
93
|
+
description,
|
|
94
|
+
faqTitle: 'Pertanyaan Umum',
|
|
95
|
+
faq: faqData,
|
|
96
|
+
bibliographyTitle: 'Referensi dan Sumber',
|
|
97
|
+
bibliography: bibliographyData,
|
|
98
|
+
howTo: howToData,
|
|
99
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
100
|
+
seo: [
|
|
101
|
+
{
|
|
102
|
+
type: 'title',
|
|
103
|
+
text: 'Kalkulator Utang Metode Bola Salju: Panduan 2026',
|
|
104
|
+
level: 2,
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
type: 'paragraph',
|
|
108
|
+
html: 'Hidup dengan utang itu berat. <strong>Metode bola salju</strong> telah terbukti sebagai salah satu strategi paling efektif untuk mendapatkan kembali kebebasan finansial.',
|
|
109
|
+
},
|
|
110
|
+
],
|
|
111
|
+
ui: {
|
|
112
|
+
labelTitle: 'Kebebasan total',
|
|
113
|
+
labelDescription: 'Mulai perjalanan Anda menuju kebebasan finansial dengan metode yang paling efektif secara psikologis.',
|
|
114
|
+
labelExtraBudget: 'ANGGARAN EKSTRA BULANAN',
|
|
115
|
+
labelExtraBudgetHelp: 'Uang tambahan di atas pembayaran minimum.',
|
|
116
|
+
labelSnowballMethod: 'BOLA SALJU',
|
|
117
|
+
labelAvalancheMethod: 'METODE LONGSOR',
|
|
118
|
+
labelAddNewDebt: 'TAMBAH UTANG BARU',
|
|
119
|
+
labelDebtName: 'Nama',
|
|
120
|
+
labelDebtNamePlaceholder: 'Misal: Visa',
|
|
121
|
+
labelDebtBalance: 'JUMLAH UTANG',
|
|
122
|
+
labelDebtBalancePlaceholder: '0',
|
|
123
|
+
labelMinPayment: 'PEMBAYARAN MINIMUM',
|
|
124
|
+
labelInterestRate: 'SUKU BUNGA',
|
|
125
|
+
labelInterestHelp: 'TAHUNAN',
|
|
126
|
+
labelAddButton: 'TAMBAH KE RENCANA',
|
|
127
|
+
labelClearData: 'Hapus pengaturan',
|
|
128
|
+
labelClearDataConfirm: 'Kosongkan rencana?',
|
|
129
|
+
labelDeleteDebt: 'Hapus',
|
|
130
|
+
labelDebtInventory: 'Daftar Utang',
|
|
131
|
+
labelFreedomDate: 'TANGGAL KEBEBASAN FINANSIAL',
|
|
132
|
+
labelActiveMethod: 'METODE',
|
|
133
|
+
labelMonthsRemaining: 'SISA BULAN',
|
|
134
|
+
labelTotalInterest: 'TOTAL BUNGA',
|
|
135
|
+
labelTotalPaid: 'TOTAL PEMBAYARAN AKHIR',
|
|
136
|
+
labelInterestSaved: 'BUNGA YANG DIHEMAT',
|
|
137
|
+
labelYourStrategy: 'Strategi Anda Langkah demi Langkah',
|
|
138
|
+
labelStrategyHelp: 'Setiap langkah menunjukkan total pembayaran Anda.',
|
|
139
|
+
labelPriority: 'PRIORITAS UTAMA',
|
|
140
|
+
labelStep: 'LANGKAH',
|
|
141
|
+
labelAfterPaying: 'SETELAH MELUNASI SEBELUMNYA',
|
|
142
|
+
labelMonthlyPayment: 'Pembayaran bulanan',
|
|
143
|
+
labelDetailedAmortization: 'Amortisasi Terperinci',
|
|
144
|
+
labelExportCSV: 'Ekspor .CSV',
|
|
145
|
+
labelDate: 'Tanggal',
|
|
146
|
+
labelStartingBalance: 'Saldo Awal',
|
|
147
|
+
labelInterest: 'Bunga',
|
|
148
|
+
labelAmortization: 'Amortisasi',
|
|
149
|
+
labelTotalMonth: 'Total Bulan',
|
|
150
|
+
labelRemaining: 'Sisa',
|
|
151
|
+
labelFree: 'LUNAS',
|
|
152
|
+
labelDebtInfinite: 'UTANG TAK TERHINGGA',
|
|
153
|
+
labelInvalidInput: 'Tentukan saldo total dan pembayaran minimum',
|
|
154
|
+
labelEmptyStateTitle: 'Mulai rencana Anda',
|
|
155
|
+
labelEmptyStateDescription: 'Utang Anda tidak selamanya. Tambahkan utang Anda.',
|
|
156
|
+
currencySymbol: '€',
|
|
157
|
+
currencyCode: 'EUR',
|
|
158
|
+
currencyLocale: 'id-ID',
|
|
159
|
+
},
|
|
160
|
+
};
|