@jjlmoya/utils-finance 1.18.0 → 1.20.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 +1 -1
- package/src/category/i18n/fr.ts +9 -9
- package/src/category/i18n/ru.ts +4 -4
- package/src/layouts/PreviewLayout.astro +1 -0
- package/src/tests/diacritics_density.test.ts +140 -0
- package/src/tests/inverted_punctuation.test.ts +95 -0
- package/src/tests/no_en_dash.test.ts +70 -0
- package/src/tests/script_density.test.ts +94 -0
- package/src/tool/compoundInterest/i18n/de.ts +4 -4
- package/src/tool/compoundInterest/i18n/fr.ts +9 -9
- package/src/tool/compoundInterest/i18n/it.ts +18 -18
- package/src/tool/compoundInterest/i18n/pl.ts +2 -2
- package/src/tool/compoundInterest/i18n/ru.ts +7 -7
- package/src/tool/compoundInterest/i18n/tr.ts +7 -7
- package/src/tool/compoundInterest/i18n/zh.ts +4 -4
- package/src/tool/courtFeeCalculator/i18n/it.ts +10 -10
- package/src/tool/courtFeeCalculator/i18n/ru.ts +2 -2
- package/src/tool/courtFeeCalculator/i18n/tr.ts +6 -6
- package/src/tool/courtFeeCalculator/spanish-court-fees-calculator.css +47 -2
- package/src/tool/debtSnowball/bibliography.ts +2 -2
- package/src/tool/debtSnowball/i18n/it.ts +2 -2
- package/src/tool/debtSnowball/i18n/pl.ts +1 -1
- package/src/tool/debtSnowball/i18n/tr.ts +1 -1
- package/src/tool/debtSnowball/i18n/zh.ts +1 -1
- package/src/tool/financialFreedom/financial-freedom-calculator.css +89 -0
- package/src/tool/financialFreedom/i18n/en.ts +1 -1
- package/src/tool/financialFreedom/i18n/fr.ts +3 -3
- package/src/tool/financialFreedom/i18n/ru.ts +2 -2
- package/src/tool/financialFreedom/i18n/zh.ts +1 -1
- package/src/tool/financialFreedom/seo.astro +7 -5
- package/src/tool/fireCalculator/i18n/it.ts +14 -14
- package/src/tool/fireCalculator/i18n/ru.ts +6 -6
- package/src/tool/fireCalculator/i18n/tr.ts +6 -6
- package/src/tool/fireCalculator/i18n/zh.ts +3 -3
- package/src/tool/ibanBicSwiftConverter/i18n/fr.ts +1 -1
- package/src/tool/ibanBicSwiftConverter/i18n/it.ts +7 -7
- package/src/tool/ibanBicSwiftConverter/i18n/ru.ts +1 -1
- package/src/tool/ibanBicSwiftConverter/i18n/tr.ts +5 -5
- package/src/tool/ibanBicSwiftConverter/iban-to-bic-swift-converter.css +61 -3
- package/src/tool/inflation/i18n/de.ts +2 -2
- package/src/tool/inflation/i18n/fr.ts +1 -1
- package/src/tool/inflation/i18n/it.ts +32 -32
- package/src/tool/inflation/i18n/nl.ts +7 -7
- package/src/tool/inflation/i18n/pl.ts +2 -2
- package/src/tool/inflation/i18n/pt.ts +2 -2
- package/src/tool/inflation/i18n/ru.ts +6 -6
- package/src/tool/inflation/i18n/sv.ts +3 -3
- package/src/tool/inflation/i18n/tr.ts +14 -14
- package/src/tool/inflation/i18n/zh.ts +2 -2
- package/src/tool/lateInterest/i18n/de.ts +2 -2
- package/src/tool/lateInterest/i18n/es.ts +5 -5
- package/src/tool/lateInterest/i18n/it.ts +14 -14
- package/src/tool/lateInterest/i18n/nl.ts +1 -1
- package/src/tool/lateInterest/i18n/pl.ts +1 -1
- package/src/tool/lateInterest/i18n/pt.ts +1 -1
- package/src/tool/lateInterest/i18n/ru.ts +4 -4
- package/src/tool/lateInterest/i18n/sv.ts +3 -3
- package/src/tool/lateInterest/i18n/tr.ts +7 -7
- package/src/tool/lateInterest/i18n/zh.ts +1 -1
- package/src/tool/legalInterestRate/i18n/it.ts +15 -15
- package/src/tool/legalInterestRate/i18n/ru.ts +1 -1
- package/src/tool/legalInterestRate/i18n/tr.ts +8 -8
- package/src/tool/lotteryOptimizer/i18n/it.ts +7 -7
- package/src/tool/lotteryOptimizer/i18n/pl.ts +1 -1
- package/src/tool/lotteryOptimizer/i18n/ru.ts +4 -4
- package/src/tool/lotteryOptimizer/i18n/tr.ts +4 -4
- package/src/tool/lotteryOptimizer/i18n/zh.ts +3 -3
- package/src/tool/mortgage/i18n/de.ts +1 -1
- package/src/tool/mortgage/i18n/fr.ts +4 -4
- package/src/tool/mortgage/i18n/id.ts +1 -1
- package/src/tool/mortgage/i18n/it.ts +12 -12
- package/src/tool/mortgage/i18n/nl.ts +2 -2
- package/src/tool/mortgage/i18n/pl.ts +1 -1
- package/src/tool/mortgage/i18n/ru.ts +5 -5
- package/src/tool/mortgage/i18n/tr.ts +6 -6
- package/src/tool/mortgage/i18n/zh.ts +1 -1
- package/src/tool/mortgage/mortgage-calculator.css +58 -1
- package/src/tool/percentageCalculator/i18n/de.ts +4 -4
- package/src/tool/percentageCalculator/i18n/en.ts +1 -1
- package/src/tool/percentageCalculator/i18n/es.ts +2 -2
- package/src/tool/percentageCalculator/i18n/fr.ts +2 -2
- package/src/tool/percentageCalculator/i18n/it.ts +22 -22
- package/src/tool/percentageCalculator/i18n/pl.ts +4 -4
- package/src/tool/percentageCalculator/i18n/ru.ts +9 -9
- package/src/tool/percentageCalculator/i18n/tr.ts +18 -18
- package/src/tool/percentageCalculator/i18n/zh.ts +6 -6
- package/src/tool/profitability/i18n/fr.ts +2 -2
- package/src/tool/profitability/i18n/ru.ts +1 -1
- package/src/tool/profitability/i18n/zh.ts +2 -2
- package/src/tool/profitability/profitability-calculator.css +101 -0
- package/src/tool/rentIncreaseCalculator/i18n/it.ts +13 -13
- package/src/tool/rentIncreaseCalculator/i18n/tr.ts +5 -5
- package/src/tool/rentIncreaseCalculator/rent-increase-calculator.css +44 -2
|
@@ -5,7 +5,7 @@ import type { LotteryOptimizerUI } from '../ui';
|
|
|
5
5
|
|
|
6
6
|
const slug = 'piyango-optimize-edici-olasilik-hesaplayici';
|
|
7
7
|
const title = 'Piyango Optimize Edici ve Olasılık Hesaplayıcı';
|
|
8
|
-
const description = 'İspanya Noel Piyangosu, Euromillions ve Bonoloto
|
|
8
|
+
const description = 'İspanya Noel Piyangosu, Euromillions ve Bonoloto\'daki olasılıklarınızı analiz edin. İdeal bilet sayısını ve bahsinizin beklenen değerini hesaplayın.';
|
|
9
9
|
|
|
10
10
|
const faqData = [
|
|
11
11
|
{
|
|
@@ -18,7 +18,7 @@ const faqData = [
|
|
|
18
18
|
},
|
|
19
19
|
{
|
|
20
20
|
question: 'İspanya Noel Piyangosu (El Gordo) oynamak gerçekten mantıklı mı?',
|
|
21
|
-
answer: 'Tamamen matematiksel bir bakış açısıyla, hayır. Toplanan paranın sadece %70
|
|
21
|
+
answer: 'Tamamen matematiksel bir bakış açısıyla, hayır. Toplanan paranın sadece %70\'i dağıtılır. Ancak, büyük ikramiye olasılığı (100.000\'de 1), Euromillions\'tan (140 milyonda 1) çok daha yüksektir.',
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
24
|
question: 'İstatistiklerle şansımı artırabilir miyim?',
|
|
@@ -68,7 +68,7 @@ const gameTranslations = {
|
|
|
68
68
|
},
|
|
69
69
|
nino: {
|
|
70
70
|
name: 'Çocuk Piyangosu (El Niño)',
|
|
71
|
-
description: 'Noel
|
|
71
|
+
description: 'Noel\'e göre amorti olasılığını üç katına çıkarır.',
|
|
72
72
|
},
|
|
73
73
|
euromillones: {
|
|
74
74
|
name: 'Euromillions',
|
|
@@ -76,7 +76,7 @@ const gameTranslations = {
|
|
|
76
76
|
},
|
|
77
77
|
primitiva: {
|
|
78
78
|
name: 'La Primitiva',
|
|
79
|
-
description: 'İspanya
|
|
79
|
+
description: 'İspanya\'nın en eski piyangosu. Zor ama daha ucuz.',
|
|
80
80
|
},
|
|
81
81
|
bonoloto: {
|
|
82
82
|
name: 'Bonoloto',
|
|
@@ -14,7 +14,7 @@ const faqData = [
|
|
|
14
14
|
},
|
|
15
15
|
{
|
|
16
16
|
question: '是买很多不同的号码好,还是买很多张同一个号码好?',
|
|
17
|
-
answer: '
|
|
17
|
+
answer: '如果您是为了中"点儿什么",分散号码会增加您获得小奖的概率。如果您是为了头奖,买一个号码和多个号码对头奖的概率是一样的,但如果中了,奖金会更高。',
|
|
18
18
|
},
|
|
19
19
|
{
|
|
20
20
|
question: '玩西班牙圣诞彩票 (El Gordo) 真的划算吗?',
|
|
@@ -25,7 +25,7 @@ const faqData = [
|
|
|
25
25
|
answer: '不。彩票开奖是独立的随机过程。昨天开出的号码绝对不会影响今天开出的号码。每个号码在每次开奖中的概率都是完全一样的。',
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
|
-
question: '
|
|
28
|
+
question: '对比表中的"难度"是什么意思?',
|
|
29
29
|
answer: '它是衡量赢得头奖难易程度的相对指标。容易(小于 20 万分之一)、困难(小于 2000 万分之一)、极难(大于 2000 万分之一)。',
|
|
30
30
|
},
|
|
31
31
|
];
|
|
@@ -45,7 +45,7 @@ const howToData = [
|
|
|
45
45
|
},
|
|
46
46
|
{
|
|
47
47
|
name: '评估风险/收益',
|
|
48
|
-
text: '
|
|
48
|
+
text: '查看数学期望,以了解统计学上您每投入一欧元相当于"捐献"了多少钱。',
|
|
49
49
|
},
|
|
50
50
|
];
|
|
51
51
|
|
|
@@ -105,7 +105,7 @@ export const content: ToolLocaleContent<MortgageUI> = {
|
|
|
105
105
|
},
|
|
106
106
|
{
|
|
107
107
|
type: 'title',
|
|
108
|
-
text: 'Die
|
|
108
|
+
text: 'Die "Falle" des Annuitätendarlehens: Die Zusammensetzung Ihrer Rate verstehen',
|
|
109
109
|
level: 3,
|
|
110
110
|
},
|
|
111
111
|
{
|
|
@@ -96,7 +96,7 @@ export const content: ToolLocaleContent<MortgageUI> = {
|
|
|
96
96
|
seo: [
|
|
97
97
|
{
|
|
98
98
|
type: 'title',
|
|
99
|
-
text: 'Guide Complet du Crédit Immobilier
|
|
99
|
+
text: 'Guide Complet du Crédit Immobilier: Comprendre l\'Amortissement',
|
|
100
100
|
level: 2,
|
|
101
101
|
},
|
|
102
102
|
{
|
|
@@ -105,7 +105,7 @@ export const content: ToolLocaleContent<MortgageUI> = {
|
|
|
105
105
|
},
|
|
106
106
|
{
|
|
107
107
|
type: 'title',
|
|
108
|
-
text: 'Le "Piège" des Intérêts Prépondérants
|
|
108
|
+
text: 'Le "Piège" des Intérêts Prépondérants: Comprendre Votre Ventilation de Paiement',
|
|
109
109
|
level: 3,
|
|
110
110
|
},
|
|
111
111
|
{
|
|
@@ -132,7 +132,7 @@ export const content: ToolLocaleContent<MortgageUI> = {
|
|
|
132
132
|
},
|
|
133
133
|
{
|
|
134
134
|
type: 'title',
|
|
135
|
-
text: 'Contexte 2026
|
|
135
|
+
text: 'Contexte 2026: Taux Fixe vs Variable',
|
|
136
136
|
level: 3,
|
|
137
137
|
},
|
|
138
138
|
{
|
|
@@ -168,7 +168,7 @@ export const content: ToolLocaleContent<MortgageUI> = {
|
|
|
168
168
|
},
|
|
169
169
|
{
|
|
170
170
|
type: 'tip',
|
|
171
|
-
title: 'Taux Fixe vs Variable
|
|
171
|
+
title: 'Taux Fixe vs Variable: Cela Dépend de Votre Profil',
|
|
172
172
|
html: '<p><strong>Choisissez Taux Fixe si :</strong> Votre budget est serré, vous recherchez la certitude, vous ne tolérez pas les surprises de paiement.</p><p><strong>Choisissez Taux Variable si :</strong> Vous avez un coussin financier, vous croyez que les taux baisseront, votre crédit est petit ou à court terme.</p>',
|
|
173
173
|
},
|
|
174
174
|
],
|
|
@@ -105,7 +105,7 @@ export const content: ToolLocaleContent<MortgageUI> = {
|
|
|
105
105
|
},
|
|
106
106
|
{
|
|
107
107
|
type: 'title',
|
|
108
|
-
text: '
|
|
108
|
+
text: '"Jebakan" Sistem Prancis: Memahami Komposisi Angsuran Anda',
|
|
109
109
|
level: 3,
|
|
110
110
|
},
|
|
111
111
|
{
|
|
@@ -6,13 +6,13 @@ import type { MortgageUI } from '../ui';
|
|
|
6
6
|
const slug = 'mutuo';
|
|
7
7
|
const title = 'Simulatore di Mutuo e Piano di Ammortamento alla Francese';
|
|
8
8
|
const description =
|
|
9
|
-
'Calcola la tua rata mensile del mutuo, scopri quanto pagherai d
|
|
9
|
+
'Calcola la tua rata mensile del mutuo, scopri quanto pagherai d\'interessi e visualizza istantaneamente il tuo piano di ammortamento completo.';
|
|
10
10
|
|
|
11
11
|
const faqData = [
|
|
12
12
|
{
|
|
13
|
-
question: 'Cos
|
|
13
|
+
question: 'Cos\'è il sistema di ammortamento francese?',
|
|
14
14
|
answer:
|
|
15
|
-
'È il sistema più utilizzato. La rata mensile rimane costante, ma all
|
|
15
|
+
'È il sistema più utilizzato. La rata mensile rimane costante, ma all\'inizio paghi quasi solo interessi e pochissimo capitale. Alla fine, avviene il contrario. Per questo estinguere anticipatamente il mutuo è più vantaggioso nei primi anni.',
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
question: 'Tasso fisso o variabile nel 2026?',
|
|
@@ -33,12 +33,12 @@ const faqData = [
|
|
|
33
33
|
|
|
34
34
|
const howToData = [
|
|
35
35
|
{
|
|
36
|
-
name: 'Inserire l
|
|
36
|
+
name: 'Inserire l\'importo del prestito',
|
|
37
37
|
text: 'Scrivi la cifra totale che devi richiedere alla banca (sottraendo i tuoi risparmi versati come anticipo).',
|
|
38
38
|
},
|
|
39
39
|
{
|
|
40
40
|
name: 'Regolare il tasso di interesse',
|
|
41
|
-
text: 'Inserisci il TAN (Tasso Annuo Nominale) offerto dall
|
|
41
|
+
text: 'Inserisci il TAN (Tasso Annuo Nominale) offerto dall\'istituto. Puoi confrontare tra tasso fisso o variabile.',
|
|
42
42
|
},
|
|
43
43
|
{
|
|
44
44
|
name: 'Scegliere la durata del rimborso',
|
|
@@ -46,7 +46,7 @@ const howToData = [
|
|
|
46
46
|
},
|
|
47
47
|
{
|
|
48
48
|
name: 'Analizzare il piano di ammortamento',
|
|
49
|
-
text: 'Controlla mese per mese l
|
|
49
|
+
text: 'Controlla mese per mese l\'evoluzione del tuo debito e quanta parte della tua rata è destinata agli interessi rispetto al capitale.',
|
|
50
50
|
},
|
|
51
51
|
];
|
|
52
52
|
|
|
@@ -105,7 +105,7 @@ export const content: ToolLocaleContent<MortgageUI> = {
|
|
|
105
105
|
},
|
|
106
106
|
{
|
|
107
107
|
type: 'title',
|
|
108
|
-
text: 'La
|
|
108
|
+
text: 'La "Trappola" del Sistema Francese: Capire la Composizione della tua Rata',
|
|
109
109
|
level: 3,
|
|
110
110
|
},
|
|
111
111
|
{
|
|
@@ -115,7 +115,7 @@ export const content: ToolLocaleContent<MortgageUI> = {
|
|
|
115
115
|
{
|
|
116
116
|
type: 'tip',
|
|
117
117
|
title: 'Come si Evolverà la tua Rata',
|
|
118
|
-
html: '<p><strong>All
|
|
118
|
+
html: '<p><strong>All\'inizio (Anni 1-10):</strong> Paghi quasi solo INTERESSI e restituisci pochissimo capitale. Su un mutuo di 250.000€ al 3%, il tuo primo pagamento potrebbe essere per l\'80% composto da interessi.</p><p><strong>A metà (Anni 11-25):</strong> La proporzione si equilibra gradualmente.</p><p><strong>Alla fine (Anni 26-30):</strong> Paghi quasi tutto CAPITALE e pochissimi interessi.</p>',
|
|
119
119
|
},
|
|
120
120
|
{
|
|
121
121
|
type: 'paragraph',
|
|
@@ -128,7 +128,7 @@ export const content: ToolLocaleContent<MortgageUI> = {
|
|
|
128
128
|
},
|
|
129
129
|
{
|
|
130
130
|
type: 'paragraph',
|
|
131
|
-
html: 'La Banca d
|
|
131
|
+
html: 'La Banca d\'Italia raccomanda che il mutuo <strong>non superi il 30-35% del tuo reddito netto mensile</strong>. Se superi questa soglia, aumenti significativamente il rischio di default in caso di imprevisti (perdita del lavoro, malattie, ecc.).',
|
|
132
132
|
},
|
|
133
133
|
{
|
|
134
134
|
type: 'title',
|
|
@@ -137,7 +137,7 @@ export const content: ToolLocaleContent<MortgageUI> = {
|
|
|
137
137
|
},
|
|
138
138
|
{
|
|
139
139
|
type: 'paragraph',
|
|
140
|
-
html: 'Con l
|
|
140
|
+
html: 'Con l\'Euribor fluttuante, scegliere tra <strong>Tasso Fisso</strong> o <strong>Tasso Variabile</strong> è una decisione strategica che può costare migliaia di euro all\'anno.',
|
|
141
141
|
},
|
|
142
142
|
{
|
|
143
143
|
type: 'comparative',
|
|
@@ -145,11 +145,11 @@ export const content: ToolLocaleContent<MortgageUI> = {
|
|
|
145
145
|
items: [
|
|
146
146
|
{
|
|
147
147
|
title: 'Tasso Fisso',
|
|
148
|
-
description: 'Paghi un po
|
|
148
|
+
description: 'Paghi un po\' di più ora, ma dormi sereno sapendo che la tua rata non aumenterà mai.',
|
|
149
149
|
points: [
|
|
150
150
|
'Rata prevedibile per 30 anni',
|
|
151
151
|
'Protezione contro il rialzo dei tassi',
|
|
152
|
-
'Pace mentale in un
|
|
152
|
+
'Pace mentale in un\'economia incerta',
|
|
153
153
|
'Ideale per budget limitati',
|
|
154
154
|
],
|
|
155
155
|
},
|
|
@@ -101,7 +101,7 @@ export const content: ToolLocaleContent<MortgageUI> = {
|
|
|
101
101
|
},
|
|
102
102
|
{
|
|
103
103
|
type: 'paragraph',
|
|
104
|
-
html: 'Een hypotheek is waarschijnlijk de grootste financiële verplichting die u in uw leven aangaat. Begrijpen hoe het aflossingssysteem werkt is cruciaal om slimme beslissingen te nemen die u tienduizenden euro
|
|
104
|
+
html: 'Een hypotheek is waarschijnlijk de grootste financiële verplichting die u in uw leven aangaat. Begrijpen hoe het aflossingssysteem werkt is cruciaal om slimme beslissingen te nemen die u tienduizenden euro\'s kunnen besparen.',
|
|
105
105
|
},
|
|
106
106
|
{
|
|
107
107
|
type: 'title',
|
|
@@ -137,7 +137,7 @@ export const content: ToolLocaleContent<MortgageUI> = {
|
|
|
137
137
|
},
|
|
138
138
|
{
|
|
139
139
|
type: 'paragraph',
|
|
140
|
-
html: 'Met een schommelende rente is de keuze tussen <strong>Vaste Rente</strong> of <strong>Variabele Rente</strong> een strategische beslissing die elk jaar duizenden euro
|
|
140
|
+
html: 'Met een schommelende rente is de keuze tussen <strong>Vaste Rente</strong> of <strong>Variabele Rente</strong> een strategische beslissing die elk jaar duizenden euro\'s kan schelen.',
|
|
141
141
|
},
|
|
142
142
|
{
|
|
143
143
|
type: 'comparative',
|
|
@@ -105,7 +105,7 @@ export const content: ToolLocaleContent<MortgageUI> = {
|
|
|
105
105
|
},
|
|
106
106
|
{
|
|
107
107
|
type: 'title',
|
|
108
|
-
text: '
|
|
108
|
+
text: '"Pułapka" Systemu Francuskiego: Z czego składa się Twoja rata?',
|
|
109
109
|
level: 3,
|
|
110
110
|
},
|
|
111
111
|
{
|
|
@@ -27,7 +27,7 @@ const faqData = [
|
|
|
27
27
|
{
|
|
28
28
|
question: 'Какой процент дохода должен уходить на ипотеку?',
|
|
29
29
|
answer:
|
|
30
|
-
'Общая рекомендация
|
|
30
|
+
'Общая рекомендация - не превышать 30-35% от вашего чистого ежемесячного дохода (включая другие долги). Превышение этого порога значительно повышает риск неплатежеспособности при непредвиденных обстоятельствах.',
|
|
31
31
|
},
|
|
32
32
|
];
|
|
33
33
|
|
|
@@ -46,7 +46,7 @@ const howToData = [
|
|
|
46
46
|
},
|
|
47
47
|
{
|
|
48
48
|
name: 'Проанализируйте график платежей',
|
|
49
|
-
text: 'Просмотрите помесячно, как уменьшается ваш долг и какая часть платежа идет на проценты, а какая
|
|
49
|
+
text: 'Просмотрите помесячно, как уменьшается ваш долг и какая часть платежа идет на проценты, а какая - на погашение основного долга.',
|
|
50
50
|
},
|
|
51
51
|
];
|
|
52
52
|
|
|
@@ -101,11 +101,11 @@ export const content: ToolLocaleContent<MortgageUI> = {
|
|
|
101
101
|
},
|
|
102
102
|
{
|
|
103
103
|
type: 'paragraph',
|
|
104
|
-
html: 'Ипотека
|
|
104
|
+
html: 'Ипотека - это, вероятно, самый большой долг, который вы возьмете в своей жизни. Понимание того, как работает аннуитетная система погашения, крайне важно для принятия разумных решений, которые могут сэкономить вам сотни тысяч рублей.',
|
|
105
105
|
},
|
|
106
106
|
{
|
|
107
107
|
type: 'title',
|
|
108
|
-
text: '
|
|
108
|
+
text: '"Ловушка" аннуитетной системы: состав вашего платежа',
|
|
109
109
|
level: 3,
|
|
110
110
|
},
|
|
111
111
|
{
|
|
@@ -137,7 +137,7 @@ export const content: ToolLocaleContent<MortgageUI> = {
|
|
|
137
137
|
},
|
|
138
138
|
{
|
|
139
139
|
type: 'paragraph',
|
|
140
|
-
html: 'В условиях волатильности выбор между <strong>Фиксированной ставкой</strong> или <strong>Переменной ставкой</strong>
|
|
140
|
+
html: 'В условиях волатильности выбор между <strong>Фиксированной ставкой</strong> или <strong>Переменной ставкой</strong> - это стратегическое решение, которое может стоить сотни тысяч рублей в год.',
|
|
141
141
|
},
|
|
142
142
|
{
|
|
143
143
|
type: 'comparative',
|
|
@@ -15,19 +15,19 @@ const faqData = [
|
|
|
15
15
|
'En yaygın kullanılan sistemdir. Aylık taksit her zaman aynıdır, ancak başlangıçta ödemenizin neredeyse tamamı faize, çok azı ise ana paraya gider. Sonunda ise durum tam tersidir. Bu nedenle erken ödeme yapmak ilk yıllarda daha karlıdır.',
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
|
-
question: '2026
|
|
18
|
+
question: '2026\'da sabit mi yoksa değişken faiz mi tercih edilmeli?',
|
|
19
19
|
answer:
|
|
20
20
|
'Sabit faiz: Şimdi biraz daha fazla ödersiniz ama 30 yıl boyunca huzurla uyursunuz. Değişken faiz: Bugün daha ucuz olabilir, ancak faizler yükselirse taksitleriniz fırlayabilir. Bu, risk toleransınıza bağlıdır.',
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
23
|
question: '10.000 TL erken ödeme yaparsam ne kadar tasarruf ederim?',
|
|
24
24
|
answer:
|
|
25
|
-
'Zamana göre değişir. 200.000 TL
|
|
25
|
+
'Zamana göre değişir. 200.000 TL\'lik %3 faizli bir kredinin 1. yılında ödeme yaparsanız 15.000 TL\'den fazla faiz tasarrufu sağlayabilirsiniz. 20. yılda yaparsanız tasarruf 2.000 TL\'yi zor bulur. Zamanlama kritiktir.',
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
28
|
question: 'Maaşımın yüzde kaçını krediye ayırmalıyım?',
|
|
29
29
|
answer:
|
|
30
|
-
'Genel tavsiye, aylık net gelirinizin %30-35
|
|
30
|
+
'Genel tavsiye, aylık net gelirinizin %30-35\'ini (diğer borçlar dahil) geçmemesidir. Bu eşiğin aşılması, beklenmedik durumlarda temerrüt riskini önemli ölçüde artırır.',
|
|
31
31
|
},
|
|
32
32
|
];
|
|
33
33
|
|
|
@@ -105,12 +105,12 @@ export const content: ToolLocaleContent<MortgageUI> = {
|
|
|
105
105
|
},
|
|
106
106
|
{
|
|
107
107
|
type: 'title',
|
|
108
|
-
text: 'Fransız Sisteminin
|
|
108
|
+
text: 'Fransız Sisteminin "Tuzağı": Taksit Kompozisyonunu Anlamak',
|
|
109
109
|
level: 3,
|
|
110
110
|
},
|
|
111
111
|
{
|
|
112
112
|
type: 'paragraph',
|
|
113
|
-
html: 'Türkiye
|
|
113
|
+
html: 'Türkiye\'deki çoğu kredi <strong>Fransız Amortisman Sistemi</strong> (eşit taksitli) kullanır. Ana özelliği, aylık taksitin her zaman aynı olmasıdır (sabit faiz durumunda), ancak içindeki ana para ve faiz oranları zamanla köklü bir şekilde değişir.',
|
|
114
114
|
},
|
|
115
115
|
{
|
|
116
116
|
type: 'tip',
|
|
@@ -128,7 +128,7 @@ export const content: ToolLocaleContent<MortgageUI> = {
|
|
|
128
128
|
},
|
|
129
129
|
{
|
|
130
130
|
type: 'paragraph',
|
|
131
|
-
html: 'Genel tavsiye, kredi taksitlerinizin <strong>aylık net gelirinizin %30-35
|
|
131
|
+
html: 'Genel tavsiye, kredi taksitlerinizin <strong>aylık net gelirinizin %30-35\'ini geçmemesidir</strong>. Bu eşiğin aşılması, iş kaybı, hastalık gibi durumlarda ödeme zorluğu riskini ciddi şekilde artırır.',
|
|
132
132
|
},
|
|
133
133
|
{
|
|
134
134
|
type: 'title',
|
|
@@ -67,6 +67,14 @@
|
|
|
67
67
|
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
|
|
68
68
|
border: 1px solid var(--mortgage-color-border);
|
|
69
69
|
overflow: hidden;
|
|
70
|
+
width: 100%;
|
|
71
|
+
max-width: 100%;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.mortgage-container *,
|
|
75
|
+
.mortgage-container *::before,
|
|
76
|
+
.mortgage-container *::after {
|
|
77
|
+
box-sizing: border-box;
|
|
70
78
|
}
|
|
71
79
|
|
|
72
80
|
.mortgage-header {
|
|
@@ -79,6 +87,7 @@
|
|
|
79
87
|
display: flex;
|
|
80
88
|
align-items: center;
|
|
81
89
|
gap: 0.75rem;
|
|
90
|
+
min-width: 0;
|
|
82
91
|
}
|
|
83
92
|
|
|
84
93
|
.mortgage-header-icon {
|
|
@@ -101,6 +110,7 @@
|
|
|
101
110
|
font-weight: 700;
|
|
102
111
|
color: var(--mortgage-color-text-primary);
|
|
103
112
|
margin: 0;
|
|
113
|
+
overflow-wrap: anywhere;
|
|
104
114
|
}
|
|
105
115
|
|
|
106
116
|
.mortgage-grid {
|
|
@@ -108,6 +118,7 @@
|
|
|
108
118
|
grid-template-columns: 1fr;
|
|
109
119
|
gap: 0;
|
|
110
120
|
padding: 0;
|
|
121
|
+
min-width: 0;
|
|
111
122
|
}
|
|
112
123
|
|
|
113
124
|
@media (min-width: 1024px) {
|
|
@@ -125,6 +136,7 @@
|
|
|
125
136
|
flex-direction: column;
|
|
126
137
|
gap: 2rem;
|
|
127
138
|
border-right: 1px solid var(--mortgage-color-border);
|
|
139
|
+
min-width: 0;
|
|
128
140
|
}
|
|
129
141
|
|
|
130
142
|
@media (max-width: 1023px) {
|
|
@@ -139,6 +151,7 @@
|
|
|
139
151
|
display: flex;
|
|
140
152
|
flex-direction: column;
|
|
141
153
|
gap: 2.5rem;
|
|
154
|
+
min-width: 0;
|
|
142
155
|
}
|
|
143
156
|
|
|
144
157
|
.mortgage-input-group {
|
|
@@ -271,6 +284,7 @@
|
|
|
271
284
|
font-weight: 900;
|
|
272
285
|
letter-spacing: -0.02em;
|
|
273
286
|
margin-bottom: 0.5rem;
|
|
287
|
+
overflow-wrap: anywhere;
|
|
274
288
|
}
|
|
275
289
|
|
|
276
290
|
.mortgage-payment-duration {
|
|
@@ -335,6 +349,7 @@
|
|
|
335
349
|
font-size: 1.25rem;
|
|
336
350
|
font-weight: 700;
|
|
337
351
|
color: var(--mortgage-color-text-primary);
|
|
352
|
+
overflow-wrap: anywhere;
|
|
338
353
|
}
|
|
339
354
|
|
|
340
355
|
.mortgage-section {
|
|
@@ -379,6 +394,7 @@
|
|
|
379
394
|
text-transform: uppercase;
|
|
380
395
|
letter-spacing: 0.05em;
|
|
381
396
|
color: var(--mortgage-color-text-light);
|
|
397
|
+
gap: 0.75rem;
|
|
382
398
|
}
|
|
383
399
|
|
|
384
400
|
.mortgage-timeline-label-optimized {
|
|
@@ -466,6 +482,7 @@
|
|
|
466
482
|
gap: 1rem;
|
|
467
483
|
font-size: 0.875rem;
|
|
468
484
|
color: var(--mortgage-color-text-secondary);
|
|
485
|
+
min-width: 0;
|
|
469
486
|
}
|
|
470
487
|
|
|
471
488
|
.mortgage-breakdown-item {
|
|
@@ -534,15 +551,55 @@
|
|
|
534
551
|
overflow-x: auto;
|
|
535
552
|
max-height: 500px;
|
|
536
553
|
overflow-y: auto;
|
|
554
|
+
width: 100%;
|
|
537
555
|
}
|
|
538
556
|
|
|
539
557
|
.mortgage-table {
|
|
540
558
|
width: 100%;
|
|
559
|
+
min-width: 560px;
|
|
541
560
|
text-align: left;
|
|
542
561
|
border-collapse: collapse;
|
|
543
562
|
font-size: 0.75rem;
|
|
544
563
|
}
|
|
545
564
|
|
|
565
|
+
@media (max-width: 640px) {
|
|
566
|
+
.mortgage-header,
|
|
567
|
+
.mortgage-left,
|
|
568
|
+
.mortgage-right {
|
|
569
|
+
padding: 1rem;
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
.mortgage-input-row,
|
|
573
|
+
.mortgage-savings-grid {
|
|
574
|
+
grid-template-columns: 1fr;
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
.mortgage-payment-card,
|
|
578
|
+
.mortgage-savings-card {
|
|
579
|
+
padding: 1rem;
|
|
580
|
+
}
|
|
581
|
+
|
|
582
|
+
.mortgage-payment-value {
|
|
583
|
+
font-size: 2rem;
|
|
584
|
+
}
|
|
585
|
+
|
|
586
|
+
.mortgage-timeline-header,
|
|
587
|
+
.mortgage-breakdown-summary,
|
|
588
|
+
.mortgage-table-header {
|
|
589
|
+
align-items: flex-start;
|
|
590
|
+
flex-direction: column;
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
.mortgage-breakdown-bar {
|
|
594
|
+
height: 3rem;
|
|
595
|
+
font-size: 0.625rem;
|
|
596
|
+
}
|
|
597
|
+
|
|
598
|
+
.mortgage-table-container {
|
|
599
|
+
border-radius: 0.75rem;
|
|
600
|
+
}
|
|
601
|
+
}
|
|
602
|
+
|
|
546
603
|
.mortgage-table thead {
|
|
547
604
|
position: sticky;
|
|
548
605
|
top: 0;
|
|
@@ -636,4 +693,4 @@
|
|
|
636
693
|
color: var(--mortgage-color-success);
|
|
637
694
|
text-transform: uppercase;
|
|
638
695
|
letter-spacing: 0.05em;
|
|
639
|
-
}
|
|
696
|
+
}
|
|
@@ -17,7 +17,7 @@ const faqData = [
|
|
|
17
17
|
{
|
|
18
18
|
question: 'Ist er für die Berechnung der Mehrwertsteuer oder von Steuern geeignet?',
|
|
19
19
|
answer:
|
|
20
|
-
'Ja, Block 4 (
|
|
20
|
+
'Ja, Block 4 ("Prozentsatz addieren oder subtrahieren") ist genau für Fälle wie die Anwendung einer MwSt. von 19 % auf einen Basispreis oder die Berechnung einer negativen Einkommensteuer konzipiert.',
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
23
|
question: 'Können Dezimalzahlen und negative Zahlen verarbeitet werden?',
|
|
@@ -38,7 +38,7 @@ const howToData = [
|
|
|
38
38
|
},
|
|
39
39
|
{
|
|
40
40
|
name: 'Geben Sie die Zahlen ein',
|
|
41
|
-
text: 'Füllen Sie die Felder
|
|
41
|
+
text: 'Füllen Sie die Felder "X" und "Y" aus. Machen Sie sich keine Sorgen um die Reihenfolge, der Text jedes Blocks führt Sie visuell.',
|
|
42
42
|
},
|
|
43
43
|
{
|
|
44
44
|
name: 'Kopieren Sie das Sofortergebnis',
|
|
@@ -106,7 +106,7 @@ export const content: ToolLocaleContent<PercentageCalculatorUI> = {
|
|
|
106
106
|
},
|
|
107
107
|
{
|
|
108
108
|
type: 'paragraph',
|
|
109
|
-
html: 'Unser 4 in 1 Prozentrechner gruppiert die am häufigsten nachgefragten Szenarien. Sie müssen nicht mehr bei Google nach
|
|
109
|
+
html: 'Unser 4 in 1 Prozentrechner gruppiert die am häufigsten nachgefragten Szenarien. Sie müssen nicht mehr bei Google nach "wie berechnet man 20 Prozent" oder "Formel zur Prozentrechnung" suchen. Sie haben die vier wesentlichen Operationen an einem Ort, interaktiv und mit sofortigen Ergebnissen.',
|
|
110
110
|
},
|
|
111
111
|
{
|
|
112
112
|
type: 'title',
|
|
@@ -148,7 +148,7 @@ export const content: ToolLocaleContent<PercentageCalculatorUI> = {
|
|
|
148
148
|
},
|
|
149
149
|
{
|
|
150
150
|
type: 'paragraph',
|
|
151
|
-
html: 'Oft blockieren wir, wenn wir große Prozentsätze oder Dezimalzahlen sehen, aber es gibt einige mathematische
|
|
151
|
+
html: 'Oft blockieren wir, wenn wir große Prozentsätze oder Dezimalzahlen sehen, aber es gibt einige mathematische "Tricks", die Ihnen das Leben erleichtern können. Der bekannteste ist die <strong>Reversibilität von Prozentsätzen</strong>.',
|
|
152
152
|
},
|
|
153
153
|
{
|
|
154
154
|
type: 'tip',
|
|
@@ -153,7 +153,7 @@ export const content: ToolLocaleContent<PercentageCalculatorUI> = {
|
|
|
153
153
|
{
|
|
154
154
|
type: 'tip',
|
|
155
155
|
title: 'The Reversibility Trick',
|
|
156
|
-
html: '<p>Did you know that X% of Y equals Y% of X exactly? For example, if you\'re asked to calculate 18% of 50 in your head, it sounds complicated. But flip it around
|
|
156
|
+
html: '<p>Did you know that X% of Y equals Y% of X exactly? For example, if you\'re asked to calculate 18% of 50 in your head, it sounds complicated. But flip it around-50% of 18 is easy: it\'s 9! This works for absolutely any numbers and is an amazing lifesaver in daily calculations.</p>',
|
|
157
157
|
},
|
|
158
158
|
{
|
|
159
159
|
type: 'title',
|
|
@@ -190,12 +190,12 @@ export const content: ToolLocaleContent<PercentageCalculatorUI> = {
|
|
|
190
190
|
ui: {
|
|
191
191
|
labelTitle: 'Calculadora de Porcentajes',
|
|
192
192
|
labelCase1Title: 'Caso 1',
|
|
193
|
-
labelCase1Question: 'Cuánto es el X% de Y?',
|
|
193
|
+
labelCase1Question: '¿Cuánto es el X% de Y?',
|
|
194
194
|
labelCase1Placeholder1: 'X',
|
|
195
195
|
labelCase1Placeholder2: 'Y',
|
|
196
196
|
labelCase1Formula: 'Fórmula: (X / 100) × Y',
|
|
197
197
|
labelCase2Title: 'Caso 2',
|
|
198
|
-
labelCase2Question: 'Qué porcentaje es X de Y?',
|
|
198
|
+
labelCase2Question: '¿Qué porcentaje es X de Y?',
|
|
199
199
|
labelCase2Placeholder1: 'X',
|
|
200
200
|
labelCase2Placeholder2: 'Y',
|
|
201
201
|
labelCase2Formula: 'Fórmula: (X / Y) × 100',
|
|
@@ -92,7 +92,7 @@ export const content: ToolLocaleContent<PercentageCalculatorUI> = {
|
|
|
92
92
|
seo: [
|
|
93
93
|
{
|
|
94
94
|
type: 'title',
|
|
95
|
-
text: 'Calculatrice de Pourcentages 4-en-1
|
|
95
|
+
text: 'Calculatrice de Pourcentages 4-en-1: Maîtrisez les Calculs Rapides',
|
|
96
96
|
level: 2,
|
|
97
97
|
},
|
|
98
98
|
{
|
|
@@ -153,7 +153,7 @@ export const content: ToolLocaleContent<PercentageCalculatorUI> = {
|
|
|
153
153
|
{
|
|
154
154
|
type: 'tip',
|
|
155
155
|
title: 'L\'Astuce de Réversibilité',
|
|
156
|
-
html: '<p>Saviez-vous que X% de Y est exactement égal à Y% de X? Par exemple, si on vous demande de calculer 18% de 50 de tête, cela semble compliqué. Mais inversez-le
|
|
156
|
+
html: '<p>Saviez-vous que X% de Y est exactement égal à Y% de X? Par exemple, si on vous demande de calculer 18% de 50 de tête, cela semble compliqué. Mais inversez-le-50% de 18 est facile: c\'est 9! Cela fonctionne pour absolument tous les nombres et c\'est une astuce incroyable au quotidien.</p>',
|
|
157
157
|
},
|
|
158
158
|
{
|
|
159
159
|
type: 'title',
|